web-dev-qa-db-ja.com

マルチモニター上のFbpanel:画面ごとに表示されたアプリケーションをフィルターする方法?

以前の questionArkadiusz Drabczyk からの回答に基づいて、3つのモニターのそれぞれに1つずつ、fbpanelの3つの異なるインスタンスを設定しました。

これは私がfbpanelを起動する方法です:

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

3つのプロファイルleftcenterおよびrightはmy ~/.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つのモニターすべてからの)すべてのアプリケーションが含まれています。したがって、3つのモニター用に1つのtaskbarがあります。

私の3つのtaskbarごとに1つのfbpanelsが欲しいのですが、現在左側のモニターを占有しているアプリケーションのみが左側のfbpanelのタスクバーにあります。

したがって、基本的には、アプリケーションウィンドウから中央のモニターを左のモニターに移動すると、現在中央のfbpanelのタスクバーに「ドッキング」されているアプリケーションが左のfbpanelのタスクバーに移動するはずです。

これが可能かどうかはわかりません。

私のセットアップの詳細:

fbpanelopenboxを使用していますが、私のOSはDebian Busterです。 fbpanelパッケージを再コンパイルできれば、問題が解決します。

5
Martin Vegter

Fbpanel

Fbpanel のプラグイン taskbar はそのような機能を実装していません(これは プラグインのソース を確認した後に確認されます)。

利用可能な唯一のオプションは、次のように定義されています。

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.

ソースにパッチを適用しない場合、唯一の可能性は、異なる画面で異なる仮想デスクトップを使用して(各画面に仮想デスクトップを割り当て)、オプションshowalldesksをfalseに設定することです3つのfbpanelのそれぞれについて、そのようなソリューション(画面ごとの仮想デスクトップ)について詳しく説明します here および here

また、他の issues / request が結果なしで上流に作成されることにも注意してください。

代替案:

余談ですが、LXDEに関する他の質問 here および here を読んでくださいこれらの理由で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
3
intika