IceWM

出自 ArchWiki

根据 Wikipedia

IceWM 是一个用于 X Window System 图形基础设施的窗口管理器,由 Marko Maček 编写。它完全使用 C++ 编写,并根据 GNU Lesser General Public License 的条款发布。它在内存和 CPU 使用方面相对轻量级,并带有主题,使其能够模仿 Windows 95、OS/2、Motif 和其他图形用户界面的 UI。

安装

安装 icewm 软件包。

安装 icewm-gitAUR 软件包以获取 开发版本

启动

使用 xinit 运行 icewm,或 icewm-session 以同时运行 icewmbg 和 icewmtray。

注意: icewm-sessionstartup 脚本工作所必需的。

配置

默认配置的更改可以在系统范围内(在 /etc/icewm/ 中)或在用户特定的基础上(在 ~/.config/icewm/ 中)进行。

要更改您的 icewm 配置使其与默认配置不同,请将默认配置文件从 /usr/share/icewm/ 复制到 ~/.config/icewm/,例如

$ cp -r /usr/share/icewm/ ~/.config/icewm/
  • preferences 是 IceWM 的核心配置文件。
  • menu 控制 IceWM 应用程序菜单的内容。
  • keys 允许用户自定义键盘快捷键。
  • toolbar 任务栏上的启动器图标行。
  • winoptions 单个应用程序的行为。
  • theme 主题路径/名称。
  • startup 启动时执行的脚本或命令(必须是可执行的)。
  • shutdown 关闭时执行的脚本或命令。

自动启动

startup 脚本不是由 icewm 软件包提供的,因此您需要创建它,添加您希望在 IceWM 会话启动时运行的程序的命令,并使其可执行

注意: 安装系统托盘小程序 的启动命令必须以 sleep 1 && 开头,否则 IceWM 将创建一个难看的黑色窗口,阻止其退出;在这种情况下,请在任务栏上使用 xkill。

以下是 IceWM 启动脚本的示例,它在 IceWM 会话中启动 network-manager-appletXScreenSaver

~/.config/icewm/startup
#!/bin/sh

# start network manager
    sleep 1 &&
    nm-applet &

# enable bluetooth applet
    sleep 1 &&
    blueman-applet &

# enable screensaver
    xscreensaver -nosplash &

# start redshift
    redshift &

# allow notifications
    /usr/lib/notification-daemon-1.0/notification-daemon &
    
# enable lockscreen
    exec xautolock -detectsleep -time 15 -locker "i3lock -n -i /home/user/lockscreen.png" -killtime 20 -killer "systemctl suspend" #lock after inactivity and then sleep

生成菜单项

来自官方仓库的 menumaker 是一个 Python 脚本,它可以根据系统中安装的内容自动填充您的应用程序菜单。虽然这可能会导致菜单中填充许多不需要的应用程序,但它仍然可能比手动编辑菜单配置文件更可取。运行 MenuMaker 时,使用 -f 标志覆盖现有菜单文件

$ mmaker -f icewm

您可以通过使用 mmaker 命令运行以下开关来避免使用基于终端的应用程序(如 alsamixer)填充菜单:--no-legacy--no-debian。例如

$ mmaker -f --no-legacy --no-debian icewm

或者,您可以使用 xdg-menu 生成菜单。请参阅 xdg-menu#IceWM 部分。

主题

少量主题包含在 icewm 软件包中。这些主题可以通过 icewm-extra-themesAUR 软件包中提供的主题进行补充。更多主题可以从 box-look.org 下载。

桌面图标

文件管理器(如 PCManFMroxAUR)可以管理壁纸并添加桌面图标。或者,您可以安装 Idesk,这是一个也可以向桌面添加图标的小程序。

技巧与窍门

合成

IceWM 不是一个合成窗口管理器。如果您需要在 IceWM 中使用合成,您可以选择使用独立的合成管理器,如 XcompmgrPicom

故障排除

没有开始菜单图标 (Intel 显卡)

如果您正在使用带有 Intel 显卡的 IceWM,您可能会发现任务栏中的开始菜单没有图标。这是由于 xf86-video-intel 驱动程序最近的更改造成的,这意味着默认情况下使用新的但相当不稳定的 SNA 加速后端。要解决开始菜单问题(和其他可能的图形故障),您需要切换回旧的 UXA 后端。请参阅以下文章:Intel graphics#AccelMethod

PCManFM 管理桌面时无法注销

如果您使用 PCManFM 来管理桌面,您可能会发现 IceWM 注销按钮不再工作。作为一种解决方法,您可以定义一个注销命令。这应该允许您在 PCManFM 管理桌面时注销。要执行此操作,请取消注释 LogoutCommand

~/.config/icewm/preferences
LogoutCommand="pkill -u username"

注销菜单中没有关机或重启选项

  • 已定义注销命令

如果已定义注销命令,则关机和重启命令将被忽略。如果您希望注销菜单中有关机和重启选项,则您不得定义注销命令。

  • 未定义注销命令

如果您已定义关机和重启命令(如 systemctl poweroffsystemctl reboot),并且您未定义注销命令,但您仍然发现注销菜单中没有关机或重启选项,请更新到 icewm 1.3.8-2。有关更多信息,请参阅 FS#37884

参见