Description

This is an implementation of PaperWM-like scrollable 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 might be of interest.

On each workspace, windows are arranged in a row. By default, two of the windows in the row are visible at a time, and you can move left and right in the row to display other windows. Opening a new window pushes one of the visible windows off the screen to make room, and closing a window pulls in a window to fill the space. You can reorder the windows.

There is a display of the row of workspaces in the bar, e.g.  ‡ ‡ ‡ ‡ . Here, the focused workspace has four windows, and the middle two are the ones currently visible. If the third window has focus and we open another window, then the second window will be pushed off to make room, and we will get  ‡ ‡ ‡ ‡ ‡ . The third window remains visible, but moves to the left side of the display.

There are commands to change the number of visible windows; toggle monocle mode, in which the focused window occupies all visible columns; and jump to a fresh workspace, which means a new, empty workspace occurring immediately after the currently focused workspace. E.g. if you have two workspaces, 1 2 and you request a fresh workspace, the second workspace will be renamed out of the way, leaving you with 2 3 and no windows visible.

Video demo

Installation

You can install papersway and its dependencies from CPAN.

E.g. with cpanminus (available in distro repositories),

% cpanm App::papersway

and then add $HOME/perl5/bin to your PATH environment variable.

On Debian 13 or later & Ubuntu 24.10 or later, apt-get install papersway.

Usage

Usage instructions, including sample key bindings, are maintained in papersway(1).

Bug reports, patches etc.

Please see CONTRIBUTING, included in the source tree, for information regarding the reporting of bugs and submission of patches/pull requests.

See also

License

Copyright © 2019–2024 Sean Whitton

papersway is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

papersway is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with papersway. If not, see <https://www.gnu.org/licenses/>.