-
Notifications
You must be signed in to change notification settings - Fork 1.1k
i3 Migration Guide
Aaron edited this page Oct 24, 2024
·
89 revisions
Sway is almost a drop-in replacement for i3, but you may have to make a few changes to get everything working correctly. Here are a few common ones:
- Use the
output
command to configure outputs instead of xrandr - Use the
output
command to configure your wallpaper instead of feh - Use the
input
command to configure input devices - Replace usage of
i3
specific programs with the equivalent sway tools:-
i3-msg
→swaymsg
-
i3lock
→swaylock
-
i3-nagbar
→swaynag
-
i3bar
→swaybar
-
i3status
→ Alternative bar content generators
-
- Sway handles quotes slightly differently - commands are handled more like shell commands
- To emulate
xset dpms force off
, useswayidle timeout 600 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"'
then runpkill -USR1 swayidle
to trigger timeout immediately.
Sway does not support X logical font description (XLFD) configuration strings. Instead it uses Pango, and one can use pango-list | grep [fontname]
to confirm the correct font name. Pango, as of version 1.44, does not support older bitmap fonts (BFD), although it does support bitmap-only OTF fonts.
- xbacklight (backlight management) → brightnessctl
- dunst (notification daemon) → dunst (supports wayland) / mako / fnott / swaync
- feh (wallpaper setting) → sway output configuration, see
man 5 sway-output
(oroguriswww, which supports animated wallpapers), wbg - scrot (screenshot) → grim + slurp (or grimshot, which wraps around both).
- picom / compton / xcompmgr (compositor) → built in
- unclutter (hiding cursor after some time) →
seat <name> hide_cursor <timeout>
- xbanish (hiding cursor on keypress) →
seat <name> hide_cursor when-typing enable
- xclip / xsel (clipboard copy/paste) → wl-clipboard, wlsnarf wl-clipboard-rs, wayclip
- clipster / etc. (clipboard manager) → cliphist, wl-clipboard-history
- xdotool → wtype, wlrctl,
swaymsg seat <seat> cursor …
, dotool, ydotool - xrandr →
swaymsg output …
, wlr-randr - arandr (GUI to configure outputs) → wdisplays
- autorandr → kanshi
- screenkey (screencast tool to display your keys) → wshowkeys, showmethekey
- X11 forwarding → waypipe
- xev → wev
- xmodmap → custom keymap file, interception-tools
- xprop → wlprop
- xob → wob
-
dmenu → wmenu, mew, bemenu, fuzzel, gmenu, wldash
-
bemenu: To use the same color scheme used in dmenu, use
bemenu-run -p "" --tb "#285577" --hb "#285577" --tf "#eeeeee" --hf "#eeeeee" --nf "#bbbbbb"
-
bemenu: To use the same color scheme used in dmenu, use
- rofi → wofi, rofi patch
- ffmpeg x11grab (screen recorder) → wf-recorder, txproto
- VNC → wayvnc
- Redshift → gammastep, wlsunset
- slock → waylock, wlock
- kbdd (per-window keyboard layout) → swaykbdd
- sxhkd (an X daemon that reacts to input events by executing commands), shkd (a simple hotkey daemon for the Linux console. ) → swhkd
- synergy (client) → waynergy
- (n)sxiv (image viewer) → imv
- FAQ
- Differences from i3
- The man pages (start with
man sway
)