在 Openbox 的默认环境下,按下 <Alt+Tab> 会使用 Action "NextWindow"
若维持按下 Alt 的状态,则会循环选择已开启的 Window,
在放开 Alt 时则会使用 <finalactions>。相关 keybind 如下:
<keybind key="A-Tab">
<action name="NextWindow">
<allDesktops>yes</allDesktops>
<finalactions>
<action name="focus"/>
<action name="raise"/>
</finalactions>
</action>
</keybind>
通常我习惯在按压 Alt 的状态下,使用快捷键<Alt-q>来关掉视窗:
<keybind key="A-q">
<action name="Close"/>
</keybind>
最近我想要加入一项功能:
若是视窗的 class 是 CONFIRM_BEFORE_CLOSE,则再关掉前先用 dialog 询问使用者。
因此我把原本的快捷键<Alt-q>改成如下设定:
<keybind key="A-q">
<action name="Execute">
<command>
sh -c '
current_window=$(xdotool getactivewindow);
if [ $(xdotool getwindowclassname $current_window) = CONFIRM_BEFORE_CLOSE ]; then
zenity