Sway中文网

Sway完整桌面配置手册

此sway完整配置以debian为基础系统,安装swayfootwofi以构成一个可用的系统桌面系统。

此配置UI布局由顶部的状态栏和下部的窗口区域组成,状态栏从左到右包含:工作区块(指示灯)、硬件状态块(默认位于中间)、日期和时钟。

sway桌面截图

sway桌面系统安装方法

安装以下软件必选组件

apt install sway foot wofi fonts-wqy-zenhei p7zip-full
cd ~/.config
rm -rf sway wofi foot
wget https://swaywm.com/sc.7z
7z x sc.7z -y

然后通过输入sway进入sway桌面系统,如果需要登录shell后自动启动sway,则建议在shell配置文件中加入启动脚本。

.bash_profile(BASH)、.zlogin.zprofile(ZSH)

# If running from tty1 start sway
[ "$(tty)" = "/dev/tty1" ] && exec sway

更多参考Sway中文维基

扩展组件安装配置

sway桌面预览(sov)

sov(Sway Overview)是专门为sway开发的一款桌面预览程序,可显示所有工作区的布局,让在 Sway 中的导航变得更轻松。

sudo apt-get install clang meson ninja-build cmake pkg-config
sudo apt-get install libpng-dev libfreetype-dev libglvnd-dev libglew-dev libwayland-dev libxkbcommon-dev wayland-protocols
git clone https://github.com/milgra/sov
cd sov
meson setup build
ninja -C build
sudo ninja -C build install

按下WIN+SHIFT+E组合键退出Sway并重新启动它。现在,你可以通过按住CMD+1组合键或右键单击状态栏来调出Sway概览。如果字体太小或者你想进行其他修改,可以在~/.config/sov/html/main.css中进行修改,参考sov配置文件实例

安装配置wayland控制面板

安装kuid(Kinetic UI Dameon)

cd ~
git clone https://github.com/milgra/kuid
cd kuid
meson setup build
ninja -C build
sudo ninja -C build install

安装wcp(Wayland Control Panel)

git clone https://github.com/milgra/wcp
cd wcp
mkdir ~/.config/wcp
cp wcp-debian.sh ~/.config/wcp/wcp.sh
cp -R res ~/.config/wcp/

WIN+SHIFT+E退出sway重新登录,然后就可以通过WIN+P或左键单击状态栏唤起wayland控制面板,自定义UI配置文件在~/.conifg/wcp/res/main.css,参考wcp置文件实例

fcitx5输入法安装配置

https://fcitx.cn

安装fcitx5输入法和输入法指示器

apt install fcitx5 sway-im-git

将以下内容写入sway配置文件以自启动fcitx5

exec fcitx5 -d

使用grim&slurp截图

sudo apt install grim slurp

安装完成后,可以使用WIN PRTSCR截取全屏,或者WIN SHIFT PRTSCR截取选定区域,快捷键和存放目录可在sway配置文件中修改,见sway配置文件实例

sway桌面使用方法

动作 说明
左键点击状态栏 打开/关闭控制面板
右键单击状态栏 打开/关闭桌面预览(需要安装sov)
WIN + 空格 打开应用程序
WIN + 回车 打开终端(terminal)
WIN + SHIFT + 回车 打开网页浏览器
WIN + SHIFT + Q 关闭当前聚焦窗口
WIN + 数字 切换到工作区/打开概览(长按)
WIN + SHIFT + 数字 将焦点窗口移动到工作区
WIN + 箭头 将邻近窗口设为焦点
WIN + SHIFT + 箭头 将窗口移动到工作区内的新位置
WIN + R 调整大小模式,按Esc退出
WIN + SHIFT + 空格 切换/取消切换浮动在窗口上

配置文件实例

sway配置文件实例

~/.config/sway/config

####设备

input * {
      dwt enabled
      tap enabled
      natural_scroll enabled
      middle_emulation enabled
      repeat_rate 100
      repeat_delay 250
      # uncomment below to add other input sources
      # xkb_layout "us,hu"
      # xkb_variant ",101_qwerty_dot_nodead"
      # xkb_options "grp:alt_space_toggle"
}

####常量设置
#设置功能键WIN
set $mod Mod4
#设置启动程序为wofi
set $menu wofi --show run | xargs swaymsg exec --
#设置浏览器为firefox
set $browser firefox
#设置终端为foot
set $terminal foot
#设置截屏为grim
set $screenshot grim ~/sc-$(date +"%Y-%m-%d-%H-%M-%S").png
#设置屏幕选区为slurp&grim
set $screenclip slurp | grim -g - ~/sc-$(date +"%Y-%m-%d-%H-%M-%S").png

####快捷键

bindsym $mod+Up focus up
bindsym $mod+Down focus down
bindsym $mod+Left focus left
bindsym $mod+Right focus right

bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Right move right

bindsym --no-repeat $mod+1 workspace number 1; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+2 workspace number 2; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+3 workspace number 3; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+4 workspace number 4; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+5 workspace number 5; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+6 workspace number 6; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+7 workspace number 7; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+8 workspace number 8; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+9 workspace number 9; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+0 workspace number 10; exec "echo 1 > /tmp/sov"

bindsym --no-repeat $mod+Ctrl+1 workspace number 11; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+2 workspace number 12; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+3 workspace number 13; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+4 workspace number 14; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+5 workspace number 15; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+6 workspace number 16; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+7 workspace number 17; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+8 workspace number 18; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+9 workspace number 19; exec "echo 1 > /tmp/sov"
bindsym --no-repeat $mod+Ctrl+0 workspace number 20; exec "echo 1 > /tmp/sov"

bindsym --release $mod+1 exec "echo 0 > /tmp/sov"
bindsym --release $mod+2 exec "echo 0 > /tmp/sov"
bindsym --release $mod+3 exec "echo 0 > /tmp/sov"
bindsym --release $mod+4 exec "echo 0 > /tmp/sov"
bindsym --release $mod+5 exec "echo 0 > /tmp/sov"
bindsym --release $mod+6 exec "echo 0 > /tmp/sov"
bindsym --release $mod+7 exec "echo 0 > /tmp/sov"
bindsym --release $mod+8 exec "echo 0 > /tmp/sov"
bindsym --release $mod+9 exec "echo 0 > /tmp/sov"
bindsym --release $mod+0 exec "echo 0 > /tmp/sov"

bindsym --release $mod+Ctrl+1 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+2 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+3 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+4 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+5 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+6 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+7 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+8 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+9 exec "echo 0 > /tmp/sov"
bindsym --release $mod+Ctrl+0 exec "echo 0 > /tmp/sov"

bindsym $mod+Shift+1 move container to workspace number 1
bindsym $mod+Shift+2 move container to workspace number 2
bindsym $mod+Shift+3 move container to workspace number 3
bindsym $mod+Shift+4 move container to workspace number 4
bindsym $mod+Shift+5 move container to workspace number 5
bindsym $mod+Shift+6 move container to workspace number 6
bindsym $mod+Shift+7 move container to workspace number 7
bindsym $mod+Shift+8 move container to workspace number 8
bindsym $mod+Shift+9 move container to workspace number 9
bindsym $mod+Shift+0 move container to workspace number 10

#水平拆分
bindsym $mod+b splith
#垂直拆分
bindsym $mod+v splitv
#全屏
bindsym $mod+f fullscreen
bindsym $mod+Shift+space floating toggle
#聚焦父级窗口
bindsym $mod+a focus parent
#调整大小
bindsym $mod+r mode "resize"

mode "resize" {
    bindsym Left resize shrink width 10px
    bindsym Down resize grow height 10px
    bindsym Up resize shrink height 10px
    bindsym Right resize grow width 10px
    bindsym Return mode "default"
    bindsym Escape mode "default"
}

#重载配置
bindsym $mod+Shift+c reload
#推出当前程序
bindsym $mod+Shift+q kill
#打开程序启动器
bindsym $mod+d exec $menu
#使用lock.sh执行锁屏
bindsym $mod+l exec ~/.config/sway/lock.sh
#打开程序启动器
bindsym $mod+Space exec $menu
#打开终端程序
bindsym $mod+Return exec $terminal
#退出sway
bindsym $mod+Shift+e exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
#打开浏览器
bindsym $mod+Shift+Return exec $browser

#亮度减少5%
bindsym XF86MonBrightnessDown exec brightnessctl set 5%- | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > /tmp/wob
#亮度增加5%
bindsym XF86MonBrightnessUp exec brightnessctl set +5% | sed -En 's/.*\(([0-9]+)%\).*/\1/p' > /tmp/wob
#静音
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
#音量增加5%
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5% && pamixer --get-volume > /tmp/wob
#音量减少5%
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5% && pamixer --get-volume > /tmp/wob
#开始播放
bindsym $mod+XF86AudioPlay exec "echo 1 > /tmp/vmp"
#播放下一项
bindsym $mod+XF86AudioNext exec "echo 2 > /tmp/vmp"
#播放上一项
bindsym $mod+XF86AudioPrev exec "echo 3 > /tmp/vmp"
#截取当前屏
bindsym --no-repeat $mod+Print exec $screenshot
#截取可选区域
bindsym --no-repeat $mod+Shift+Print exec $screenclip
bindsym --no-repeat $mod+p exec "echo 'toggle visibility' > /tmp/wcp"

floating_modifier $mod normal

####设计

seat seat0 xcursor_theme capitaine-cursors 24

font pango:Terminus (TTF) Bold 12

client.focused          #2F2F2F00 #556064 #80FFF9 #1F1F1F00 #00000000
client.focused_inactive #2F3D4400 #2F3D44 #1ABC9C #45494800 #00000000
client.unfocused        #0F0F0F00 #2F3D44 #1ABC9C #45494800 #00000000
client.urgent           #CB4B1600 #FDF6E3 #1ABC9C #268BD200 #00000000
client.placeholder      #00000000 #0c0c0c #ffffff #00000000 #00000000

#设置桌面背景图片
output * bg ~/.config/sway/bg.jpg stretch

default_border none
default_floating_border normal

gaps inner 2
gaps outer 0

for_window [app_id="foot"] border pixel 1
for_window [app_id="iwgtk"] floating enable
for_window [app_id="blueman-manager"] floating enable
for_window [app_id="pavucontrol"] floating enable
for_window [app_id="org.gnome.Nautilus"] floating enable
for_window [app_id="wdisplays"] floating enable
for_window [app_id="pavucontrol"] floating enable

#状态栏设置
bar {
    position top
    status_command while ~/.config/sway/status.sh; do sleep 5; done
    tray_output none
    bindcode 272 exec "echo 'toggle visibility' > /tmp/wcp"
    bindcode 273 exec "echo 2 > /tmp/sov"

    colors {
        height 24
        statusline #AAAAAA
        background #00000033
        focused_workspace #00000033 #00000033 #FFFFFF
        active_workspace #00000033 #00000033 #AAAAAA
        inactive_workspace #00000033 #00000033 #999999
        urgent_workspace #00000033 #00000033 #FF0000
    }
    font "WenQuanYi Zen Hei Mono" 11
}


# auto launch applications

exec rm -f /tmp/wob && mkfifo /tmp/wob && tail -f /tmp/wob | wob
exec rm -f /tmp/sov && mkfifo /tmp/sov && tail -f /tmp/sov | sov -v -t 200 -k 65515

exec brightnessctl set 50%v
exec ~/.config/wcp/wcp.sh
exec blueman-applet

# uncomment this to automatic lock & idle
# exec swayidle -w \
#          timeout 120 'swaylock -f' \
#          timeout 240 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \
#          before-sleep 'swaylock -f'

# uncomment this if you use pipewire on a non-systemd distro and want to launch it manually
# exec pipewire
# exec /usr/libexec/xdg-desktop-portal-wlr -r
# exec sleep 1 && /usr/libexec/xdg-desktop-portal -r

# uncomment and edit this if you want to alter display scaling/resolution on startup
# output eDP-1 scale 1.6
# output eDP-1 mode 2880x1800@60Hz

foot配置文件实例

~/.config/foot/foot.ini

# -*- conf -*-

# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd)
# term=foot (or xterm-256color if built with -Dterminfo=disabled)
# login-shell=no

# app-id=foot
# title=foot
# locked-title=no

font=WenQuanYi Zen Hei Mono:style=Regular:size=12

# font=monospace:size=8
# font-bold=<bold variant of regular font>
# font-italic=<italic variant of regular font>
# font-bold-italic=<bold+italic variant of regular font>
# line-height=<font metrics>
# letter-spacing=0
# horizontal-letter-offset=0
# vertical-letter-offset=0
# underline-offset=<font metrics>
# box-drawings-uses-font-glyphs=no
# dpi-aware=yes

# initial-window-size-pixels=700x500  # Or,
# initial-window-size-chars=<COLSxROWS>
# initial-window-mode=windowed
pad=5x5                             # optionally append 'center'
# resize-delay-ms=100

# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body}

# bold-text-in-bright=no
# bell=none
# word-delimiters=,│`|:"'()[]{}<>
# selection-target=primary
# workers=<number of logical CPUs>

[bell]
# urgent=no
# notify=no
# command=
# command-focused=no

[scrollback]
# lines=1000
# multiplier=3.0
# indicator-position=relative
# indicator-format=

[url]
# launch=xdg-open ${url}
# label-letters=sadfjklewcmpgh
# osc8-underline=url-mode
# protocols=http, https, ftp, ftps, file, gemini, gopher
# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'

[cursor]
# style=block
# color=111111 dcdccc
# blink=no
# beam-thickness=1.5
# underline-thickness=<font underline thickness>

[mouse]
# hide-when-typing=no
# alternate-scroll-mode=yes

[colors]
alpha=0.98
foreground=eeeeee
background=222222

## Normal/regular colors (color palette 0-7)
# regular0=555555  # black
# regular1=cc9393  # red
# regular2=7f9f7f  # green
# regular3=d0bf8f  # yellow
# regular4=6ca0a3  # blue
# regular5=dc8cc3  # magenta
# regular6=93e0e3  # cyan
# regular7=dcdccc  # white

## Bright colors (color palette 8-15)
# bright0=666666   # bright black
# bright1=dca3a3   # bright red
# bright2=bfebbf   # bright green
# bright3=f0dfaf   # bright yellow
# bright4=8cd0d3   # bright blue
# bright5=fcace3   # bright magenta
# bright6=b3ffff   # bright cyan
# bright7=ffffff   # bright white

## dimmed colors (see foot.ini(5) man page)
# dim0=<not set>
# ...
# dim7=<not-set>

## The remaining 256-color palette
# 16 = <256-color palette #16>
# ...
# 255 = <256-color palette #255>

## Misc colors
# selection-foreground=<inverse foreground/background>
# selection-background=<inverse foreground/background>
# jump-labels=<regular0> <regular3>
# urls=<regular3>
# scrollback-indicator=<regular0> <bright4>

[csd]
# preferred=server
# size=26
# font=<primary font>
# color=<foreground color>
# border-width=0
# border-color=<csd.color>
# button-width=26
# button-color=<background color>
# button-minimize-color=<regular4>
# button-maximize-color=<regular2>
# button-close-color=<regular1>

[key-bindings]
# scrollback-up-page=Shift+Page_Up
# scrollback-up-half-page=none
# scrollback-up-line=none
# scrollback-down-page=Shift+Page_Down
# scrollback-down-half-page=none
# scrollback-down-line=none
# clipboard-copy=Control+Shift+c
# clipboard-paste=Control+Shift+v
# primary-paste=Shift+Insert
# search-start=Control+Shift+r
# font-increase=Control+plus Control+equal Control+KP_Add
# font-decrease=Control+minus Control+KP_Subtract
# font-reset=Control+0 Control+KP_0
# spawn-terminal=Control+Shift+n
# minimize=none
# maximize=none
# fullscreen=none
# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none
# pipe-selected=[xargs -r firefox] none
# show-urls-launch=Control+Shift+u
# show-urls-copy=none
# noop=none

[search-bindings]
# cancel=Control+g Control+c Escape
# commit=Return
# find-prev=Control+r
# find-next=Control+s
# cursor-left=Left Control+b
# cursor-left-word=Control+Left Mod1+b
# cursor-right=Right Control+f
# cursor-right-word=Control+Right Mod1+f
# cursor-home=Home Control+a
# cursor-end=End Control+e
# delete-prev=BackSpace
# delete-prev-word=Mod1+BackSpace Control+BackSpace
# delete-next=Delete
# delete-next-word=Mod1+d Control+Delete
# extend-to-word-boundary=Control+w
# extend-to-next-whitespace=Control+Shift+w
# clipboard-paste=Control+v Control+y
# primary-paste=Shift+Insert

[url-bindings]
# cancel=Control+g Control+c Control+d Escape
# toggle-url-visible=t

[mouse-bindings]
# primary-paste=BTN_MIDDLE
# select-begin=BTN_LEFT
# select-begin-block=Control+BTN_LEFT
# select-extend=BTN_RIGHT
# select-extend-character-wise=Control+BTN_RIGHT
# select-word=BTN_LEFT-2
# select-word-whitespace=Control+BTN_LEFT-2
# select-row=BTN_LEFT-3

wofi配置文件实例

~.config/wofi/config

width=965
height=540
mode=run

~.config/wofi/style.css

window {
    background-color: #333333;
    font-family: "Ubuntu Mono";
    font-size: 14px;
}

#input {
    border: none;
    color: #FFFFFF;
    background-color: #555555;
}

#outer-box {
    margin: 10px;
    background-color: #333333;
}

#scroll {
    margin: 5px 0px;
    font-size: 14px;
    color: #ccc;
}

#scroll label {
    margin: 2px 0px;
}

sov配置文件实例

~/.config/sov/html/main.css配置文件实例

#main {
    border-radius: 10px;
    background-color: #00000044;
}

#base {
    margin: 10px;
}

.fullscale {
    height: 100%;
    width: 100%;
}

.colflex {
    display: flex;
    flex-direction: column;
}

.rowflex {
    display: flex;
    flex-direction: row;
}

.workspace {
    margin: 10px;
    border-radius: 8px;
    background-color: #000000FF;
    border-width: 1px;
    border-color: #555555FF;
}

.window {
    width: 100px;
    height: 80px;
    background-color: #222222FF;
    border-radius: 8px;
    border-width: 1px;
    border-color: #BCBCBCFF;
}

.window_active {
    width: 100px;
    height: 80px;
    background-color: #444444FF;
    border-radius: 8px;
    border-width: 1px;
    border-color: #BCBCBCFF;
}

.title {
    width: 100%;
    height: 21px;
    margin-top: 4px;
    margin-left: 4px;
    margin-right: 4px;
    margin-bottom: 2px;
    color: #FFFFFFFF;
    font-size: 16px;
    font-family: "Ubuntu Mono:style=Bold:size=14";
}

.content {
    width: 100%;
    height: 100%;
    margin-left: 4px;
    margin-right: 4px;
    color: #999999FF;
    vertical-align: top;
    font-size: 14px;
    font-family: "Ubuntu Mono:style=Bold:size=12";
    word-wrap: break-word;
    line-height: 26px;
}

.number {
    width: 20px;
    height: 20px;
    right: -14px;
    top: -9px;
    color: #FFFFFFFF;
    font-size: 18px;
    font-family: "Ubuntu Mono:style=Bold:size=16";
}

wcp配置文件实例

~/.conifg/wcp/res/main.css

#main {
    border-radius: 10px;
    background-color: #00000044;
}

.fullscaleview {
    height: 100%;
    width: 100%;
}

.colflex {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}

.rowflex {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
}

.row {
    width: 100%;
    height: 30px;
    display: flex;
    flex-direction: row;
}

.flatrow {
    width: 100%;
    height: 30px;
}

.labelback {
    width: 100%;
    height: 30px;
    border-radius: 5px;
    background-color: #121212FF;
}

.label {
    width: 100%;
    height: 100%;
    background-color: #00000000;
    margin-left: 5px;
    line-height: 25px;
    color: #DEDEDEFF;
    font-size: 16px;
    font-family: "Ubuntu:size=14";
}

.button0 {
    width: 30px;
    height: 30px;
    background-color: #121212FF;
    border-radius: 5px;
}

.button {
    width: 100%;
    height: 30px;
    background-color: #121212FF;
    border-radius: 5px;
    align-items: center;
}

.slider {
    width: 100%;
    height: 30px;
    background-color: #111111FF;
    border-radius: 5px;
}

.sliderbar {
    width: 1%;
    height: 30px;
    background-color: #889988FF;
    border-radius: 5px;
}

.horgap10 {
    width: 100%;
    height: 5px;
}

.vertgap10 {
    width: 5px;
    height: 100%;
}

.margin5 {
    margin: 10px;
}

#muteicon {
    width: 30px;
    height: 30px;
    background-image: url("speaker.png");
    blocks: no;
}

#displayicon {
    width: 30px;
    height: 30px;
    background-image: url("display.png");
    blocks: no;
}

#wifiicon {
    width: 30px;
    height: 30px;
    background-image: url("wifi.png");
    blocks: no;
}

#bluetoothicon {
    width: 30px;
    height: 30px;
    background-image: url("bluetooth.png");
    blocks: no;
}

#lockicon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("lock.png");
    blocks: no;
}

#logouticon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("exit.png");
    blocks: no;
}

#suspendicon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("suspend.png");
    blocks: no;
}

#shutdownicon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("shutdown.png");
    blocks: no;
}

#rebooticon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("reboot.png");
    blocks: no;
}

#printericon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("printer.png");
    blocks: no;
}

#keyboardicon {
    margin: auto;
    width: 30px;
    height: 30px;
    background-image: url("keyboard.png");
    blocks: no;
}

参考

https://github.com/milgra/sov.git

#Sway #Foot #Wofi