如何在 dwm 中强制应用程序退出全屏?

如何在 dwm 中强制应用程序退出全屏?

我有一个没有全屏设置的应用程序,它占据了整个屏幕,这真的很烦人。我正在寻找一种可以将应用程序变成窗口的方法。

答案1

如果问题在于dwm将其全屏显示以填充图块,您可以在config.h默认情况下告诉它浮动。

这是在以下位置完成的rules[]

static const Rule rules[] = {
    /* class      instance    title       tags mask     isfloating   monitor */
    { "Gimp",     NULL,       NULL,       0,            1,           -1 },
    { "vlc",      NULL,       NULL,       0,            1,           -1 },
    { "feh",      NULL,       NULL,       0,            1,           -1 },
    { "Firefox",  NULL,       NULL,       1 << 8,       0,           -1 },
};

正如您在我的例子中看到的Gimpvlc并且feh始终以浮动模式打开(isfl),防止它们填充整个图块(并且还为我滑动其余窗口)。

要找出应放在第一列(类)中以告诉窗口管理器它是哪个窗口的名称,您可以使用该xprop工具。示例Gimp

$ xprop

[...]

WM_PROTOCOLS(ATOM): protocols  WM_DELETE_WINDOW, WM_TAKE_FOCUS, _NET_WM_PING, _NET_WM_SYNC_REQUEST
WM_CLASS(STRING) = "gimp", "Gimp"
WM_ICON_NAME(STRING) = "GNU Image Manipulation Program"
_NET_WM_ICON_NAME(UTF8_STRING) = "GNU Image Manipulation Program"
WM_NAME(STRING) = "GNU Image Manipulation Program"
_NET_WM_NAME(UTF8_STRING) = "GNU Image Manipulation Program"

请注意,运行时xprop,光标将成为触发器,以便您可以单击目标窗口,在本例中为窗口Gimp

xprop我们对的输出感兴趣的变量WM_CLASS(STRING)具有结构WM_CLASS(STRING) = instance, class。在上面的例子中,WM_CLASS(STRING) = "gimp", "Gimp"我们需要Class( Gimp),这就是我们将在rules[].

相关内容