我希望 dwm 在按下退出热键时正常关闭所有窗口。我喜欢 Unity 的行为:它显示拒绝注销的窗口列表(例如,未保存更改的编辑器),并且在解决所有问题并关闭应用程序之前不注销。默认情况下,dwm 只会结束 X 会话并终止所有正在运行的应用程序。
我正在考虑编写一个脚本,该脚本将检索所有窗口的列表,正常关闭它们并等待它们的进程完成。但我甚至不知道如何关闭窗口。我知道的唯一方法是使用 wmctrl,而此实用程序不适用于 dwm。
答案1
您可能需要从 X11 会话管理器中启动 dwm
这是使用 Gnome 显示管理器 (GDM) 的一种方法
将以下内容添加到/usr/share/xsessions/dwm.desktop
[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=This session starts dwm
Exec=/usr/local/bin/dwm-start
Type=Application
在以下位置创建新文件在/usr/local/bin/dwm-start具有 755 个权限。
#!/bin/sh
# You can add other programs to set the background, add autoloading
# and add autoload for USB and such here
# Make sure you start dwm last as it never returns control to this script
exec /usr/local/bin/dwm > /dev/null
如果您的计算机上的 GDM 配置正确,您应该会在登录屏幕的会话菜单中看到一个新的 dwm 条目。