这个问题与我问的另一个问题有关如何在 Xfce 中执行程序并使其使用除默认主题之外的另一个 xfwm4 主题?
然而,我现在试图得到一个适用于任何桌面的答案 - 或者换句话说 - 每个桌面都有一个答案,而不仅仅是 Xfce。在这里,我试图解决与上一个问题相同的问题:允许用户抓住窗口边框来调整大小,即使他们使用超薄边框,即使他们不知道桌面使用的热键抓住窗口边框。
我想从 bash 脚本打开一个窗口,并将窗口的标题设置为调整大小用...。在我的桌面上将是使用 Alt+F8 调整大小。我正在编写一个主要用 bash 编写的应用程序,它要求用户调整透明窗口的大小。许多人都有一个带有非常薄的窗口边框的主题,当与透明的内部相结合时,几乎不可能用鼠标抓取。我希望用户能够使用鼠标调整窗口大小,而不必费力抓住边框。我也在 Xfce 论坛上发布了这个问题,因为我个人正在使用 Xfce。从那里,我得到了一个适合我的 Xfce 解决方案,但我想要一个通用的解决方案。
从下面的评论中,我发现没有通用的解决方案,因此我希望有尽可能多的可用解决方案,每个桌面一个。我已经有了 Xfce,并且希望其他桌面的专家用户能够为这些桌面提供答案。
这是 Xfce 的解决方案,全部在 bash 中:
$ xfconf-query -c xfce4-keyboard-shortcuts -lv | grep resize_window_key | \
grep custom | cut -d' ' -f1 | sed -e 's/.*\///g'
因为我使用 python 代码来创建透明窗口Python - 如何使用 gtk.Window 但不使用 Gtk 制作透明窗口,我实际上只是使用了 xconf-query,然后将其完整输出提供给 python 脚本,以使用正则表达式来匹配我正在寻找的匹配。到目前为止,我实际上是这样做的:
重击代码:
all_keys=`xfconf-query -c xfce4-keyboard-shortcuts -lv`
python2 /usr/share/silentcast/transparent_window.py \""$all_keys"\" & \
transparentPID=$!
Python代码:
import os,sys,re
...
self.set_title("PID:" + str(os.getpid()) + " Resize with " + self.get_resize_hotkey(str(sys.argv[1])))
....
def get_resize_hotkey(self, all_hotkeys):
try:
resize_hotkey=re.search('(?<=custom\/)<.+>\w*(?=.+resize_window_key)', all_hotkeys).group()
except AttributeError:
resize_hotkey=""
return resize_hotkey
我正在寻找全部在 bash 中或部分在 bash 中部分在 python 中的解决方案,这将为我提供用户的键绑定(如果有),以便用鼠标抓取活动窗口的边框以调整大小。
答案1
在 Unity 上,默认的窗口调整大小快捷键是Alt+ F8。您可以通过运行以下命令来检查:
gsettings get org.gnome.desktop.wm.keybindings begin-resize
默认值为['<Alt>F8']
.
我也检查了 KDE,但他们没有我能找到的用于调整窗口大小的键盘快捷键。