X11

多台顯示器上的 Fbpanel:如何過濾每個螢幕顯示的應用程序?

  • June 3, 2020

根據我之前來自Arkadiusz Drabczyk的問題和回答,我設置了 3 個不同的 fbpanel 實例,為我的 3 個監視器中的每一個單獨設置一個:

這就是我啟動 fbpanel 的方式:

fbpanel -x 0 --profile left &
fbpanel -x 1 --profile center &
fbpanel -x 2 --profile right &

這 3 個配置文件leftcenterright在我的~/.config/fbpanel/. 配置文件center包含taskbar外掛的定義,即目前打開的活動視窗在選項卡上可見,並且可以在 (alt+tab) 或“最小化”之間切換

Plugin {
type = taskbar
expand = true
config {
   ShowIconified = true
   ShowMapped = true
   ShowAllDesks = false
   tooltips = true
   IconsOnly = false
   MaxTaskWidth = 150
}

但是taskbar中央監視器包含所有應用程序(來自所有 3 個監視器)。所以我有一個taskbar3 顯示器。

我想taskbar為我的 3 中的每一個設置一個fbpanels,其中只有目前佔用左側監視器的應用程序將位於左側 fbpanel 的工作列上,依此類推

所以基本上,如果我將應用程序視窗窗體中心監視器移動到左側監視器,則目前“停靠”在中心 fbpanel 工作列上的應用程序應該移動到左側 fbpanel 工作列。

我不知道這是否可能。

我的設置的更多詳細資訊:

我在使用fbpanelopenbox我的作業系統是 Debian Buster。fbpanel如果可以解決我的問題,我很樂意重新編譯包。

面板

Fbpanel的外掛工作列沒有實現這樣的功能(這在查看外掛的原始碼後得到確認)。

唯一可用的選項定義如下:

XCG(xc, "tooltips", &tb->tooltips, enum, bool_enum);
XCG(xc, "iconsonly", &tb->icons_only, enum, bool_enum);
XCG(xc, "acceptskippager", &tb->accept_skip_pager, enum, bool_enum);
XCG(xc, "showiconified", &tb->show_iconified, enum, bool_enum);
XCG(xc, "showalldesks", &tb->show_all_desks, enum, bool_enum);
XCG(xc, "showmapped", &tb->show_mapped, enum, bool_enum);
XCG(xc, "usemousewheel", &tb->use_mouse_wheel, enum, bool_enum);
XCG(xc, "useurgencyhint", &tb->use_urgency_hint, enum, bool_enum);
XCG(xc, "maxtaskwidth", &tb->task_width_max, int);

可用的選項沒有很好的記錄,但這裡有一些描述:

ShowIconified = true # Displays icons on the windows.
ShowMapped = true # If false here, only windows that are minimized are shown.
ShowAllDesks = false # Show the windows of all virtual desktops.
tooltips = true # Displays the complete title of the window when hovering it.
IconsOnly = false # Displays only the icons of the windows and nothing else.
MaxTaskWidth = 150 # Specifies the maximum width of a window in the taskbar.

在不修補源的情況下,唯一的可能性是在不同的螢幕上使用不同的虛擬桌面(為每個螢幕分配一個虛擬桌面),然後將showalldesks3 個 fbpanels 中的每一個的選項設置為 false,這樣的解決方案(每個螢幕的虛擬桌面)是在這里這裡詳細討論。

另請注意,其他問題/請求是在沒有結果的情況下向上游提出的。

備擇方案:

作為旁注,在這里這裡閱讀您關於 LXDE 的其他問題,我猜您出於這些原因退出使用 LXDE,但過去的那些問題似乎有解決方案。

大多數像 XFCE/LXDE 這樣的輕量級桌面面板都支持所需的功能(僅顯示目前螢幕的視窗任務),並且可以在沒有完整的原生環境的情況下單獨使用;以及您目前的 Openbox 設置(與您使用 Fbpanel 的方式相同)。

以下是可以獨立使用的面板的非詳盡列表:

XFCE 面板

## install the panel and its dependency
apt-get install xfce4-panel

## start the panel alone
xfce4-panel

LXDE 面板

## install the panel and its dependency
apt-get install lxpanel

## start the panel alone
lxpanel

LXQT面板

## install the panel and its dependency
apt-get install lxqt-panel

## start the panel alone
lxqt-panel

引用自:https://unix.stackexchange.com/questions/583504