Bạn có thể chuyển đổi giữa các cửa sổ trong một ứng dụng trong Openbox không?


Câu trả lời:


13

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

Cảm ơn bạn! Nếu bạn muốn sử dụng Alt-backspace làm phím chuyển đổi, hãy sử dụng `<keybind key =" A-grave ">`
cayhorstmann

FYI: Bất cứ ai chạy cài đặt ArchLinux tối thiểu có thể sẽ cần phải cài đặt wmctrlxorg-xprop.
Brad Johnson

1

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.


1

Bạn có thể chuyển đổi giữa bất kỳ cửa sổ hoặc ứng dụng đang mở nào bằng cách nhấn alt và tab. Ngay cả khi có hai cửa sổ mở của cùng một chương trình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.