What does HackerNews think of PaperWM?

Tiled scrollable window management for Gnome Shell

Language: JavaScript

Have you seen PaperWM [1]? It runs on top of GNOME as an extension, so you get all the benefits of a fully fledged and supported DE, and it is quite a well done implementation. I've been using it for a few months now, works very good.

[1]: https://github.com/paperwm/PaperWM

I use a small USB switcher box to let me control my personal machine and my work machine at the same desk. I also use a keyboard that lets me flip a switch to change between Mac/Windows layouts. It has been very helpful to let me cleanly separate work from leisure, without having to give up the ergonomics of my desk setup. The friction to switch is low enough that I don't feel tempted to keep work related stuff on my personal machine.

I used to have dual monitors, but now I use a super ultrawide 32:9 monitor. It required learning to use window managers since most OS's don't support multitasking setups like that, but I can use layouts now that I couldn't before. I also use PaperWM[1] with it and it feels particularly effective on ultrawides.

[1]: https://github.com/paperwm/PaperWM

I noticed in one of your comments in this thread that you are looking for new ideas for UI. As other commenters have said, you might be interested in tiling window managers like i3 [0] or sway [1]. They really are a gem for productivity and sometimes for the eye [2].

However, I love the concept of a scrollable window manager like PaperWM [3]. When I had a smaller screen (24" 16:9) I complained a lot about the unused space on my screen. With PaperWM I was finally happy with its dimensions, because I could have a huge IDE on the left and a small part of terminal on the right. This way I could see if something was being printed to the terminal, while my editor took up 80% of the screen.

[0]: https://i3wm.org/

[1]: https://swaywm.org/

[2]: https://www.reddit.com/r/unixporn/

[3]: https://github.com/paperwm/PaperWM

This is reminiscent of Gnome's PaperWM [0]. Not a Gnome user and just had the chance to try it for less than an hour, but the experience in my head sounded better than it was in reality - though was more of 'unexpected behavior' things than faults in the concept.

I think this approach tries to solve the 'cramming too much windows in a single virtual desktop' that sometimes can be felt with tiling WMs. For example, when I'm drawing something in Krita I'd want to see some references of what I'm drawing - I'd just scroll a bit to unveil an adjacent Falkon window to browse some images on the internet, do some strokes and scroll back to Krita's window - without having to resize it in half.

[0] https://github.com/paperwm/PaperWM

For gnome there is an excellent tool called PaperWM[1] that provides fantastic window tiling and customization. [1] https://github.com/paperwm/PaperWM
I can not have any sympathy for Gnome as long as it keeps breaking extensions and any other form of customization.

Pure Gnome is not great for me. Gnome could be, but if any fix I apply will inevitably break, it simply isn't something I want to spend time on.

I am very interested in something like Material Shell (1) or PaperWM (2) both inspired by 10gui (3), but if the Gnome foundation layer will keep shaking anything above itself, I just do not want to bother with it.

(1) https://material-shell.com/

(2) https://github.com/paperwm/PaperWM

(3) https://web.archive.org/web/20140414061316/http://10gui.com/

https://github.com/paperwm/PaperWM for Gnome is just like that, it's a wonderful concept.
I'm the minority but as someone who uses PaperWM (horizontal scrolling tiling wm) 16:9 is ideal for me

But I get it, not for most people but then again my desktop is 21:9

https://github.com/paperwm/PaperWM

>16:9 screens are cramped

I think this depends on the screen size. Small screen, yes, because you mostly use apps full screen. Large screen, no because you can run side-by side

I have configured i3 to be a bootleg version of PaperWM[0]. Everything tabbed by default. Alt+h & Alt+l switch windows in the current workspace and Alt+j & Alt+k switch workspaces. I can still flip to tiling mode if I need to see things side by side but I find myself rarely needing to. I have really poor vision so my use case is going to be different than most but this works super well for me. I'm only ever a couple keystrokes away from whatever I need to see.

[0]https://github.com/paperwm/PaperWM

> The ability for one window to float over another was a later innovation and is of course more difficult to implement.

I find it funny, because I would say I have seen more floating window manager, when I was browsing GitHub, so I assume it is also quite easy to create a new one from scratch. Such floating VMs usually have 200-1000 LOC and die after 1 month after initial commit. Recently, xwm has been on HN [0] and it is small in terms of SLOC. There is smaller one called tinywm[1]. When we would compare them to i3[2] and sway, we can see they have thousand times larger codebase but they also bring a lot more features.

I keep my fingers crossed for more sophisticated WMs like PaperWM[3], which is "tiled scrollable window manager" to take off. They might synthesize ideas from floating and tiling managers and provide a better tool to manage windows on a screen.

[0]: https://github.com/mcpcpc/xwm

[1]: https://github.com/mackstann/tinywm

[2]: https://github.com/i3/i3

[3]: https://github.com/paperwm/PaperWM

For those who enjoy experimenting with window managers, might I suggest PaperWM for your next experiment?

Instead of fitting all your windows within your monitor's boundaries, PaperWM sets all windows to take full height and gives you an infinite horizontal axis to arrange them on. I'm thoroughly enjoying it and vastly prefer it to tiling and floating windows

https://github.com/paperwm/PaperWM

Shameless plug: https://github.com/paperwm/PaperWM/ Gets rid of window overlap, but doesn't force all windows to be fully visible at the same time.
Could you expand what do you mean by "ChromiumOS vibe" (ELI5)? Do you look for a i3 inside GNOME Shell?

PaperWM[0] is an example of a tiled scrolling (window) manager based on GNOME SDK (Mutter) that runs in GNOME session.

[0]: https://github.com/paperwm/PaperWM

Yes, the scrollable tiling concept looks really similar to our approach: https://github.com/paperwm/PaperWM/ (except "stack" seems to be restricted to webpages?)
Why did you not use guile-wm https://github.com/mwitmer/guile-wm?

I love the idea of a wm calculus I hope that it comes to life somehow.

What I can recommend you to look at, not sure it is very on-topic, is related to layouting is cassowary and constraint-based layout systems, autolayout is one of them, along the browser layout engine like css grid and flexbox.

A question to finish: what do you think of https://github.com/paperwm/PaperWM?

The tiling mechanics[1] looks very similar to our gnome-shell plugin: https://github.com/paperwm/PaperWM (we also allow vertical tiling and mixing floating windows)

To my knowledge there's no any other tiling window manager that implements this mechanic(?) Ie. traditional tiling WMs force all windows in a workspace to fit within the monitor.

This mockup (and paperwm) organize the windows in a non-overlapping strip that is allowed to extend beyond the left and right monitor edges. This allows for a nice spatial map.

Say my monitor has room for two windows but I need to use 3 windows. With a tiled strip this workflow is quite nice: (| indicates the monitor edges, AA window content of window A, etc. ^ marks the active window)

    C|AAB|
      ^^
     
     |CAA|B
      ^
A tabbed tiling achieve something similar: eg. put A and C in a tabbed frame, but then it's not simple to view A and C at the same time.

It's also possible to define more specialized operations: When one window is primarily used for input and two mostly for viewing (eg. editor, documentation, code-artifact) I use the following setup:

   |AAB|C
    ^^
   
   |AAC|B
    ^^
A workspace grid (a couple windows per workspace) also gives a spatial map, but does not allow to look at windows from different workspace at the same time.

In addition we have a floating layer that can easily be toggled. Useful for windows I need access to from a large number of places (across workspaces, etc.)

We also implement touch-pad gestures to switch workspace and scroll the tiling left/right (only on wayland)

[1] https://desktopneo.com/#panels

Our gnome-shell plugin https://github.com/paperwm/PaperWM implements a similar tiling mechanism. Although we allow mixing tiled and floating windows.

Things like "minimize" and "pin" are on the road map.

Our gnome-shell plugin https://github.com/paperwm/PaperWM actually implements the tiling aspect of this mockup. Although we allow partially visible windows and mixing tiled and floating windows.