Có thể thiết lập một liên kết phím trong Openbox để chuyển đổi giữa các cửa sổ đang mở trong một ứng dụng không? Giống như bạn có thể trong gnome 3 với alt + [phím trên Tab].
Có thể thiết lập một liên kết phím trong Openbox để chuyển đổi giữa các cửa sổ đang mở trong một ứng dụng không? Giống như bạn có thể trong gnome 3 với alt + [phím trên Tab].
Câu trả lời:
Tôi đã thực hiện chức năng này bằng cách sử dụng wmctrl.
Phần có liên quan trong RC.xml của openbox:
<keybind key="A-space">
<action name="execute">
<execute>wmctrl-switch-by-application</execute>
</action>
</keybind>
bên dưới là mã trong wmctrl-switch-by-application:
# taken from /unix/26546/can-you-switch-between-windows-within-an-application-in-openbox
# taken from: http://www.st0ne.at/?q=node/58
# get id of the focused window
active_win_id=$(xprop -root | grep '^_NET_ACTIVE_W' | awk -F'# 0x' '{print $2}')
# get window manager class of current window
win_class=$(wmctrl -x -l | grep $active_win_id | awk '{print $2 " " $3}' )
# get list of all windows matching with the class above
win_list=$(wmctrl -x -l | grep -- "$win_class" | awk '{print $1}' )
# get next window to focus on
switch_to=$(echo $win_list | sed s/.*$active_win_id// | awk '{print $1}')
# if the current window is the last in the list ... take the first one
if [ -z "$switch_to" ];then
switch_to=$(echo $win_list | awk '{print $1}')
fi
# switch to window
wmctrl -i -a $switch_to
wmctrl
và xorg-xprop
.
Bạn có thể chuyển đổi giữa các cửa sổ của tất cả các máy tính để bàn, hoặc thậm chí bao gồm cả bảng và bảng của máy tính để bàn, như được mô tả trong trang Hành động Openbox , nhưng dường như không có cách nào để chuyển đổi giữa các cửa sổ của cùng một ứng dụng.