NAME
papersway - PaperWM-like scrollable tiling window management for Sway/i3wm
VERSION
version 2.001
SYNOPSIS
papersway [--i3status] [--cols=N] [--debug]
DESCRIPTION
This is an implementation of PaperWM-like scrollable tiling window management for Sway/i3wm. If you like Sway/i3wm's commitments to stability, avoiding scope creep etc. but dislike the window management model, papersway is an alternative.
OPTIONS
- --i3status
-
Start a background instance of i3status, filter and print its output.
- --cols=N
-
Set the number of columns on a new workspace. The default, and minimum, is 2.
- --debug
-
Enable some debug printing and don't hide Sway's workspace buttons.
USAGE
Here we discuss how to integrate papersway into your existing Sway/i3wm configuration file, usually found at ~/.config/sway/config or ~/.config/i3/config, as appropriate.
Activation
The recommended way to activate papersway is by using it as your bar command:
bar {
status_command papersway --i3status
# [ .. further bar options .. ]
}
This ensures that you can see a visual representation of your paper workspaces, which will be useful while getting the hang of papersway.
Binding keys
Here are some sample bindings to get you started.
set
$mod
Mod4
bindsym
$mod
+Left
exec
papersway-msg focus left
bindsym
$mod
+Down focus down
bindsym
$mod
+Up focus up
bindsym
$mod
+Right
exec
papersway-msg focus right
bindsym
$mod
+Shift+Left
exec
papersway-msg move left
bindsym
$mod
+Shift+Down move down
bindsym
$mod
+Shift+Up move up
bindsym
$mod
+Shift+Right move
exec
papersway-msg move right
bindsym
$mod
+f
exec
papersway-msg width toggle
bindsym
$mod
+o
exec
papersway-msg other-column
bindsym
$mod
+a
exec
papersway-msg fresh-workspace
bindsym
$mod
+n
exec
papersway-msg fresh-workspace
send
bindsym
$mod
+t
exec
papersway-msg fresh-workspace take
bindsym
$mod
+b
exec
papersway-msg bury-workspace
bindsym
$mod
+e
exec
papersway-msg absorb-expel left
bindsym
$mod
+r
exec
papersway-msg absorb-expel right
bindsym
$mod
+minus
exec
papersway-msg cols decr
bindsym
$mod
+equal
exec
papersway-msg cols incr
bindsym
$mod
+u
exec
papersway-msg workspace prev
bindsym
$mod
+i
exec
papersway-msg workspace
next
bindsym
$mod
+Shift+u
exec
papersway-msg move-to-workspace prev
bindsym
$mod
+Shift+i
exec
papersway-msg move-to-workspace
next
bindsym
$mod
+c [con_mark=caffeinated] inhibit_idle none; \
inhibit_idle
open
, mark caffeinated
bindsym
$mod
+Shift+c [con_mark=caffeinated] inhibit_idle none, \
mark --toggle caffeinated
for_window [con_mark=caffeinated] inhibit_idle
open
Delete any bindings you have for the split, splith, splitv, splitt, layout, focus parent and focus child commands, to avoid confusion (on the parts of both yourself and of papersway).
Other configuration
Set focus_wrapping to no.
Leave workspace_layout with its default value, default.
SEE ALSO
https://github.com/paperwm/PaperWM, i3status(1), sway(5)
AUTHOR
Sean Whitton <spwhitton@spwhitton.name>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2019-2025 by Sean Whitton <spwhitton@spwhitton.name>.
This is free software, licensed under:
The GNU General Public License, Version 3, June 2007