首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多显示器面板:如何过滤每个屏幕上显示的应用程序?

多显示器面板:如何过滤每个屏幕上显示的应用程序?
EN

Unix & Linux用户
提问于 2020-04-30 08:46:48
回答 1查看 311关注 0票数 5

基于我之前的问题阿卡迪乌斯·德拉布奇克的答案,我已经设置了3个不同的fbpanel实例,分别用于我的3个监视器:

我就是这样开始fbpanel的:

代码语言:javascript
复制
fbpanel -x 0 --profile left &
fbpanel -x 1 --profile center &
fbpanel -x 2 --profile right &

3个配置文件leftcenterright都是在my ~/.config/fbpanel/中定义的。profile center包含taskbar插件的定义,即当前打开的活动窗口在选项卡上可见,可以在(alt+tab)或“最小化”之间切换。

代码语言:javascript
复制
Plugin {
type = taskbar
expand = true
config {
    ShowIconified = true
    ShowMapped = true
    ShowAllDesks = false
    tooltips = true
    IconsOnly = false
    MaxTaskWidth = 150
}

但是中心监视器上的taskbar包含所有应用程序(来自所有3个监视器)。因此,我有一个taskbar为3个显示器。

我想为我的3 taskbar中的每一个设置一个fbpanels,其中只有当前占用左监视器的应用程序才会位于左fbpanel的任务栏上,依此类推。

因此,基本上,如果我将应用程序窗口从中心监视器移动到左侧监视器,当前应用程序“停靠”在中心fbpanel的任务栏上,则应该移动到左fbpanel的任务栏。

我不知道这是否可能。

关于我的设置的更多细节:

我在openbox中使用D15,我的操作系统是Debian。如果能解决我的问题,我很乐意重新编译fbpanel包。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2020-06-01 11:49:42

Fbpanel

Fbpanel的S插件任务栏没有实现这样的功能(这是在审查了插件源之后确认的)。

唯一可用的选项定义如下:

代码语言:javascript
复制
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);

可用的选项没有很好的文档记录,但以下是一些说明:

代码语言:javascript
复制
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.

Without修补源代码的唯一可能性是在不同的屏幕上使用不同的虚拟桌面(为每个屏幕分配一个虚拟桌面),然后为3个fbpanels中的每一个设置 showalldesks <#>to false选项,这样的解决方案(每个屏幕上的虚拟桌面)将在这里这里中详细讨论。

还请注意,其他问题/请求是上游的,没有结果。

Alternatives:

作为附带说明,阅读有关LXDE 这里这里的其他问题,我想您可能是出于这些原因放弃使用LXDE的,但是过去的那些问题似乎有解决方案。

大多数轻量级桌面面板(如XFCE/LXDE )支持所需的功能(只显示当前屏幕的窗口任务),并且可以单独使用,而不需要完整的本机环境;以及当前的Openbox设置(与使用Fbpanel的方式相同)。

以下是可以独立使用的非详尽的面板列表:

XFCE面板

代码语言:javascript
复制
## install the panel and its dependency
apt-get install xfce4-panel

## start the panel alone
xfce4-panel

LXDE面板

代码语言:javascript
复制
## install the panel and its dependency
apt-get install lxpanel

## start the panel alone
lxpanel

LXQT面板

代码语言:javascript
复制
## install the panel and its dependency
apt-get install lxqt-panel

## start the panel alone
lxqt-panel
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/583504

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档