我希望 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 條目。