5

How do I make the "Always on Visible Workspace" option persist across Suspend, login, and reboot? I use this option daily with the same few app windows. The "AoVW" option resets to off -- the default -- with every Suspend or logout.

Similar askubuntu Q&A are for other desktops, wms or use cases. I'm GNOME V40.4.0 X11 on Ubuntu 21.10. I've seen this on previous versions of all those.

Recursive lists of gsettings for org.gnome.shell, org.gnome.desktop.wm.preferences and other schema have brought No Joy so far for "Always on Visible Workspace" key:values. I'll update here with my findings there.

Optimally, I would also 0) Set default per application at launch and 1) Set default per VSCode workspace at launch [stretchGoal]

Many thanks for your time and attention. AoVM Option

2 Answers 2

3

Annoyingly, many linux desktops do not offer such control. However, because you choose to remain on Xorg, devilspie2 will help you out. That is a small daemon that watches the creation of windows, and can do something with it the moment it is created.

One defines rules in configuration files under ~/.config/devilspie2. For example, this will maximize any window with "Mozilla Firefox" in the window title:

if (string.match(get_window_name(), "Mozilla Firefox")) then
    maximize();
end

You will want stick_window().

Documentation is scarce to find on the internet, but the best documentation is hidden on your system in the file /usr/share/doc/devilspie2/README.gz.

3
  • Excellent -- Many thanks. I've installed devilspie2, created ~/.config/devilspie2/moz.lua with your example and FF maximized when I called devilspie2 from shell. vsc.lua hits my [stretchGoal] ` if (string.match(get_window_name(), "ToDo (Workspace")) then stick_window(); end ` I appreciate your time and will call yours the Answer. devilspie2 appears to be explicitly setting option values when it's seeing them set otherwise rather than actually defaulting or persisting these options. I'll have follow-up Q w/r/t if that's more than an academic distinction.
    – smcnally
    Apr 8, 2022 at 23:43
  • Devilspie indeed dynamically sets the options as a window matching the rules is being created.
    – vanadium
    Apr 9, 2022 at 8:40
  • devilspie2 continues to deliver. Thanks again @vanadium for introducing it. I've shared some code and context and hope it helps others. Code Context
    – smcnally
    Oct 15, 2022 at 2:00
0

Another Window Session Manager seems to promise something like that and might do the trick:

  • Restore window state, including Always on Top, Always on Visible Workspace and maximization

I am currently evaluating it.

https://extensions.gnome.org/extension/4709/another-window-session-manager/

3
  • Thanks for this recommendation and I hope you've found something that's working for you. Any updates re your evaluation of Another Window Session Manager? devilspie2 has surpassed my expectations. It met my basic needs right away with assistance from @vanadium on this question. It's lightweight[0] and behaves as expected. The documentation is spectacular. Its #lua scripting makes sense to me. This combination gives me confidence to explore and experiment. The more time I've spent with it, the more it gives back. [0]It's consuming .04% CPU and 23MB RAM at the moment
    – smcnally
    Jun 1, 2023 at 21:02
  • ... and I need to update this brief config cookbook: smcnally.github.io/kb/devilspie2
    – smcnally
    Jun 1, 2023 at 21:03
  • It seems to work, but it's not perfect. Windows are not exactly on the same monitor/workspace, but it's usable. What I was aiming for, was persisnting the 'Always on visible workspace' for few apps and that works well. I've tried devilspie2 but it didn't work for me at all, is it even compatible with wayland ?
    – smido
    Jun 7, 2023 at 9:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .