首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置WM_CLASS (使用wnck、xprop或其他东西)

设置WM_CLASS (使用wnck、xprop或其他东西)
EN

Stack Overflow用户
提问于 2016-04-15 15:12:58
回答 3查看 5.1K关注 0票数 3

我试图将多个Chrome独立窗口分组在Ubuntu14.04中的同一个发射器下。在WM_CLASS文件中指定多个.desktop变量似乎是不可能的(参见关于这个答案的注释)。

我遇到的第一个解决方案是,在短时间延迟之后,使用xprop将额外窗口的WM_CLASS更改为与选择的主窗口相同。如果我不指定要在命令行中更改哪个窗口,让它给我一个交叉窗口,然后单击“任性”窗口,并使用如下命令进行操作,这是可行的:

代码语言:javascript
复制
xprop -f WM_CLASS 8s -set WM_CLASS crx_kphgejagakmceapfinpoopapfdnkkepf

(从对同一问题的回答中得不到太多的理解)

它获得了新的WM_CLASS,Ubuntu立即将其重新组合到所选的启动程序下,而不是Chrome。

但是,尽管所有外观的窗口都有非常简单的名称Todoist (这是标题栏上显示的,而xprop | grep -i name给出的是

代码语言:javascript
复制
WM_NAME(UTF8_STRING) = "Todoist"
_NET_WM_NAME(UTF8_STRING) = "Todoist"
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"

所以,我决定不能信任X道具。

相反,我发现我可以使用python包wnck来访问这个窗口,按照某种方式:

代码语言:javascript
复制
import wnck
todoist = [w for w in wnck.screen.get_defaults().get_windows()
           if 'todoist' in w.get_name().lower()][0]

因此,如何使用此对象todoist更改基础WM_CLASS

我意识到这完全是一个xy问题,所以我愿意接受完全不同的方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-09-08 16:36:48

WM_CLASS名称和类的元组xprop不能设置接受多个值的属性(或者说只能设置第一个值)。我没有找到任何工具可以做到这一点,并最终写了这个小c脚本。如果您愿意的话,您可能可以使用python将其转换为Python (我通常会这样做,但由于完全缺乏文档而望而却步)。

票数 4
EN

Stack Overflow用户

发布于 2020-11-11 20:33:00

Fmstrat@github 指出 that xdotool (男人)可以这样做:

代码语言:javascript
复制
apt install -y xdotool
xdotool search --name "Title of App" set_window --class "New WM Class"
票数 3
EN

Stack Overflow用户

发布于 2021-12-02 11:14:26

在使用名称时找到了答案。

我使用window类在桌面上显示窗口列表,并使用类的右侧获取应用程序名称,如:

代码语言:javascript
复制
 0x0320002c  0 Navigator.Firefox     LSA-XPS-13-9310 Messages pour le Web - Mozilla Firefox

将显示"Firefox“

然而,团队正在使用类名中的一个空格:

代码语言:javascript
复制
0x04800005  0 microsoft teams - preview.Microsoft Teams - Preview  LSA-XPS-13-9310 Microsoft Teams

所以我的任务栏根本没有显示名字。

我用:

代码语言:javascript
复制
xdotool search --name "Teams" set_window --class "Microsoft"
xdotool search --name "Teams" set_window --classname "Teams"

要同时修改类的右和左部分,由xprop:WM_CLASS(STRING) = "Microsoft", "Teams"这样我的任务栏就可以工作了以如下方式显示。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36650865

复制
相关文章

相似问题

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