Author Topic: Multiple monitors, or Virtual Desktops, or KDE Activities, or something else?  (Read 649 times)

0 Members and 1 Guest are viewing this topic.

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 4010
  • Country: ro
When I work on something I found myself with too many windows and programs open at the same time, many webpages, manuals, IDEs, spreadsheets, schematics and so on.  A single monitor can became crowdy and messy very fast.

At first I've start adding more monitors, but it seems that adding monitors is not that useful, and they only increase the mess, now adding uncomfortable sitting positions.  Moving the mouse and the attention between many monitors comes at a cost, it is not flawless, at least for me it isn't.

Then I've upgraded to a high resolution and big size monitor 4k/32'' only to discover that pixels are too small without a ~1.5x zoom, so not as much gain as I hoped in terms of working area.

Then some years ago I've moved to Linux, where virtual desktops are the norm, IMO a better approach than multiple monitors on the desk, then I've settled to KDE Plasma and found out about "Activities" (like Virtual Desktops but with more settings and options) which I never really used.

Often I need to switch from one project to another, and I would like to save a snapshot of the entire desktop, then to restore it later.

Ideally I would like to have something like a suspend to RAM or hibernate, but without powering down the PC, so to save and restore a given state of the entire desktop, with all the open web pages, and all the open files and programs, and all the windows and cursors positions just like they were when I left.

What do you use for that, or what would work best?
Many monitors, or Virtual Desktops, or KDE Activities, maybe something else?

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1687
  • Country: br
Had the very same problem myself...

By the 2000 I have used extensively a 2 (for some time even 3) heads (monitors)
in a multi monitor setup..  under XOrg.. ( by the time there were no GPUs..)
so the XSession manager could handle very easily problems like DPI hig res. etc.

Today the GPU war made that a difficult problem and having 2 heads with WIDE setup
will consume way too much space...  I ditched that thing about 2010..

And converted the workflow exclusively to a SMART DESKTOP MANAGER..
capable of providing me a 4 or 8 WORKSPACES  integrated...

highly configurable..  each task assigned a workspace and proper position...
All things became quite manageable

Toady I have a singe monitor MUCH MUCH more bench space ..
all goes well 

And.. i do not want to waste my time with GPU vendors and their crippled drivers  :-\

« Last Edit: January 21, 2022, 05:52:57 pm by PKTKS »

Offline dunkemhigh

  • Super Contributor
  • ***
  • Posts: 4426
What do you use for that, or what would work best?
Many monitors, or Virtual Desktops, or KDE Activities, maybe something else?

I am on Windows but have a similar problem. My solution is multiple monitors and virtual desktops. A main monitor is where most work goes on, and if I want to pause and do something else I use a virtual desktop util on just that monitor to switch out the active apps and get me another desktip. A secondary monitor  holds stuff I don't want to interfere to much with what I'd doing, so stuff like help files, data sheets, etc. That monitor isn't part of the virtual desktop, so anything on it stays there even as the active monitor switches desktops.

One thing I sometimes find useful is a util that divides the desktop into sections which then hold a window. Hard to describe, so let me find a link...

That doesn't show the best bits, which is that the dividers can be any size you want and asymmetrical. Have a big one in the middle and then smaller ones at the side, perhaps a wide and shallow one at the bottom for status things, etc.

Edit: damned Youtube changing the links...
« Last Edit: January 21, 2022, 11:12:15 pm by dunkemhigh »

Online Foxxz

  • Regular Contributor
  • *
  • Posts: 83
  • Country: us
Have you considered rotating two screens into a vertical position? I have found a number of people who prefer that format and window tasks to take up top half and bottom half of screens.

Offline BradC

  • Super Contributor
  • ***
  • Posts: 1898
  • Country: au
I use Xmonad. 9 "virtual desktops" and I use 3 27" monitors. My day to day config :
1 - Firefox
2 - Work E-mail
3 - Firefox 2
4 - Personal E-mail
5 - Firefox 3 & CCTV
6 & 7 - Transient
8 & 9 Heads 1 and 2 on various VMs

For example I'm often doing AutoCAD. That's in a Windows VM and I pull it up on desktops 8 & 9.
Alt E8, Alt R9 puts that on the center and right hand monitors (Desktops are 1->9, Monitors are W->R).
Alt W1-7 switches whatever is on Desktops 1 through 7 to the left hand monitor while leaving the other two untouched.

I often work from PDFs or documents sent to me via E-mail, so I can pootle around those on the left hand monitor while using the 2 others for CAD. If I want to do something else I just switch other desktops on to the monitors and when I want to go back to the Windows VM it's Alt E8, Alt R9. Nothing moves, resizes or is disturbed in any other way.

I've also really gotten used to Xmonad as a modal WM, so rarely position or size a window. They auto-arrange and auto-size as I put windows onto a desktop. When I open a PDF from my full screen E-mail client, the WM splits the desktop and puts the PDF viewer next to the E-mail client. When I close the PDF viewer the E-mail client is automatically resized full screen again.

Now this isn't hard and fast. I can put anything anywhere. For example I have terminals spread over 8 & 9 doing something else and I want to clear 8 & 9 to fire up the VM viewer? I can jump on the first window in 8 and hit Shift-Alt 7 and it moves that window to desktop 7 and automatically focuses the next window on 8. Repeated Shift-Alt 7 and suddenly desktop 8 is clear with all the windows moved to 7 and arranged nicely.

Difficult to explain if you've not seen it in action, but I got sick of having to manage windows, particularly with 3 heads and Xmonad just took *all* of that away. Bit of a learning curve, but I can't go back to conventional modal windows on more than one display. Does my head in.


Offline brucehoult

  • Super Contributor
  • ***
  • Posts: 2911
  • Country: nz
  • Formerly SiFive, Samsung R&D
Yeah I guess I'm pretty much the same. I don't know multiple monitors. Especially I don't like two or three relatively small monitors like 1920x1080.

I use multiple "desktops" on both Linux and Mac. Works great. Usually four is enough: one each for entertainment, communicating, coding, and reference material. Sometimes I add a couple more.

I also don't like 16:9 monitors. Not enough lines of code on a screen, especially on only 1080 pixels high.

A 16:10 with 1920x1200 is significantly better. That's what my 2011 17" MacBook Pro is.

For many years I used a 2nd hand Apple 30" 2560x1600 monitor that was really great, and a 16:10 monitor. Dell sold one using the same panel. NOT cheap monitors -- I think they were in the region of US$1500 when new.

For the last ... four years, maybe ... I've been using the same as you've just got .. 32" 4K. Usually Samsung, although the one I'm sitting in front of right now is Philips.

Many people have 27" 4k but that's just too cramped. And you have to zoom too much.

35" or 36" might be the ideal pixel density for a 4K monitor, but I think I'd find it too big to look at. 32" is great. I zoom most web pages to 110% or maybe 125% and it's great.

I've had to give up using Monaco / Profont / Ubuntu Mono / Roboto in 9 pt. Now My terminals and emacs are set to 12 pt. So, yeah, some of that 3840x2160 pixels turns into more smoothness instead of more space. Think of it like a 2880x1620 with traditional sized pixels. Effectively a bit more than the old 30". Pretty good. And some elements such as menu bars and window surrounds are better off being a bit slimmer than the designers intended, so it's actually a bit better than that.

Full screen is giving me 141 lines of code plus status bar plus whatever that line is called where command parameters etc get entered. Or 138 lines plus the others plus Mac menu bar and window title bar.
The following users thanked this post: edavid

Offline sleemanj

  • Super Contributor
  • ***
  • Posts: 2896
  • Country: nz
  • Professional tightwad.
    • The electronics hobby components I sell.
I use two monitors, one in front of me that has what I'm working on, and one to the left of that which has what I'm referencing (usually it just has my email client on it).

I don't like virtual desktops myself, I'm not organised enough for it.  I do have a virtual desktop, but it's always blank, about it's only purpose is to see the desktop background.
EEVBlog Members - get yourself 10% discount off all my electronic components for sale just use the Buy Direct links and use Coupon Code "eevblog" during checkout.  Shipping from New Zealand, international orders welcome :-)

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 4010
  • Country: ro
What about saving/restoring the desktop(s) for each project, how to deal with that?

I would like to be able to save the exact state before switching to another project, and to be able to restore that later.  To give an example, is not rare in a project to need at the same time:
- a spreadsheet where with my electronic parts inventory
- a datasheet often opened multiple times, one at the page for ports registers, another copy opened at the ADC, another at the electrical specs, another at the pinout, and so on
- very often I need the pinouts from more than one chip at the same time, in the end having to handle 5-10 pdf open at the same time
- many times a reference to the PCB layout is needed, too, then another for the circuit diagram (schematic).  Often a schematic diagram is drawn over many pages, so jumping between 2-3 pages to follow a signal is not unusual
- then there is the IDE, which is usually a full beast in itself, most of the times an Eclipse with its gazzilion of windows and views, depending by the microcontroller type, other times I use a generic VS code for most common microcontrollers like the typical AVR in an Arduino.  If it's a FPGA, that's usually twice than an Eclipse.
- might be another window with VM for LTspice opened too, not always
- many web browser tabs with various online docs or projects
- often aside from the hardware board, I need a PC program to process or to display something.  When lucky, a simple terminal windows already available from a C IDE is enough, but it is not rare the case when some small Python program is needed to post process or to maybe to plot some data
- it is not rare when measuring/testing instruments need their scripts to run SCPI commands, so yet another terminal, or maybe some GUI to capture screenshots from the oscilloscope, and so on.

You got the idea, too many things needed at the same time.

I didn't count how many, but it can easily be 10...100 windows at the same time if I count each one inside the IDE, simulators, web tabs, pdf tabs and so on.  Some are grouped, which is great, but they are still too many to switch, even with all the ALT+Tab and all the KDE CTRL+Wheel tricks.

Then, it is very time consuming to re-open a closed project, and to navigate each source code or each doc page where I left them a week ago.  Would have been great to be able to save all those opened windows, like a snapshot.

So far the closest way to my wish would be to keep a virtual machine (VM) for each project, to keep everything inside the VM, and suspend the VM when switching projects, instead of shutting down the VM.  Would require a lot of discipline and even with VM snapshots, a lot of disk space.

Any ideas how to save/restore the working mess without a VM?
« Last Edit: January 23, 2022, 04:19:28 pm by RoGeorge »

Offline PKTKS

  • Super Contributor
  • ***
  • Posts: 1687
  • Country: br
Modern desktop managers like some quoted above can set widgets pre configured as required..

Position state and desk assign...


Offline Nominal Animal

  • Super Contributor
  • ***
  • Posts: 3725
  • Country: fi
    • My home page and email address
Any ideas how to save/restore the working mess without a VM?
The simplest option would be to simply create multiple user accounts for yourself.

If you set default umask to 007 (or 003), and create a common group for your accounts, you can use the group access mode to grant yourself access to all your accounts' files without doing any sudo shenanigans.

A better, but technically more complex option, would be to construct your home directory using bind mounts, so that to switch between profiles, you simply exit the session, remount the new bind mounts, and restart the session; basically a logout+login except for the actual username+password input part.  This would allow you to use different desktop environments, if you like: say, XFCE for one, KDE for another, Mint for yet another.

Each application shared across the profiles would need special handling; their configuration directories (like ~/.mozilla/firefox/, if you use Firefox) would be bind-mounted from a single actual location in each profile.

Unfortunately, I don't know of any existing application or utility for doing this, and I suspect it might be best to integrate into the greeter anyway; which means that you might have to re-type your password every time you switch profiles.  That way, the home directory bind-mounter would simply be a process that replaces itself with the actual session daemon all your desktop processes are derived from.

Offline Ed.Kloonk

  • Super Contributor
  • ***
  • Posts: 2994
  • Country: au
  • Cat video aficionado
I keep coming back to single monitor setup /w multiple desktops.
Expert texpert choking smoker. I am the eggman.

Online RoGeorge

  • Super Contributor
  • ***
  • Posts: 4010
  • Country: ro
I'm using KDE Plasma, and it doesn't remember each window and each file, nor the cursor position inside windows with big pages.  In fact, if I logout/login, most of the programs that were open will be closed at logout.  Only very few KDE aware programs can be restored.  Is there any KDE Plasma setting that can fully restore them all?

The workflow is usually like this:
- start working, open 100 different programs and pages and docs and IDEs, etc.
- then the weekend ends, and I want to preserve that exact mess on the desktop, untouched until next week, or until next year, just like it would be preserved when the lid of a laptop is closed then open again next day. (I promise to not close the lid in the middle of a compilation, or in the middle of a debugging session, so preserving only the opened windows, files, and cursor position inside files would suffice)
- meanwhile, outside the weekends, the same PC has to be used for many other things, so I cannot just switch to another desktop and let everything open until 2 months later when the parts arrive. It has to be something able to save and restore a state.

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 9545
  • Country: fr
I agree that would be an awesome feature for any desktop environment. Yes, at the moment, whatever the DE/OS you use, using standby/resume is still the only way of getting this.
This is the only reason I put even my workstations in standby whenever I can (boot time is not really one reason, it's not significant with modern hardware...) Having to relaunch every app / reopen every file / put all this exactly as it was when you left it is a huge waste of time.

This would essentially be a "session manager". Yes, some DEs have tried kind of implementing this, but it was never quite there. Now, one thing for sure is that apps would have to "cooperate" on some level, and that's probably where it falls short.

As a completely DE/OS/application-agnostic approach, one could think of something like handling multiple "system images" - like the hibernation files that are created and restored upon hibernating - but instead of just one, you could have several images and select which one you want to load at startup.

Offline Whales

  • Super Contributor
  • ***
  • Posts: 1463
  • Country: au
    • Halestrom
I use i3wm across 3 monitors (all freebies of different sizes & vintages).  It lets me have 10 virtual desktops that I can juggle between the monitors.   

i3wm not a traditional window manager by any stretch of the imagination, but I'm used to it and have been happy for many years.

For save/resume: I sometimes use SIGSTOP and SIGCONT, but of course that doesn't give you RAM back.  Only really useful when one program is wanting to hog your CPU doing literally nothing, but you don't dare close it.
« Last Edit: January 26, 2022, 01:57:22 am by Whales »

Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo