I can't see that being practical. My setup for the last few years has been 2 ordinary monitors - one portrait and one landscape. I'll often read on the portrait and code on the landscape. It works for me. Give it a try.
With the only listed advantage being "longest line length" and disadvantage being "webcam starts sliding away", I'm shocked that you think a 22 degree rotation isn't practical.
I second this. A portrait monitor does wonders for coding (for me); My office setup consists of two portrait monitors plus my laptop screen in the middle and this works very well when multiple repos are open at the same time. I tend not to mess about with the windows displayed on the vertical monitors so I always know where to look if I need to change something (ie, backend on the left, frontend on the right). I've been planning to look into tiling window managers to see if I can optimize this further but it might be going a bit too far.
My preference is an “H” shape setup using 3 2560x1440 monitors. Middle screen is landscape with a portrait screen on each side. Portrait is great for reading long code, slack, email threads. Landscape monitor is used for everything else.
Tall monitors must be hard on the neck if you frequently need to see the top half of it. The ergonomic recommendation is keeping the monitors at eye level.
To expand on my sibling post, since vs code is really the only thing I run on the portrait monitor, I can scroll anything I need to focus on to the center. You’re right it’s tough if there is a blank page and you have to write at the top, but most of the time I’m dealing with a long enough file that I can move what I need to focus on to the center.
I see. I used a laptop with two external monitors at 0° and 90° for a while, but I ended going out of my way to avoid the top half of the 90° because it strained my neck too much. I tried to fill it with a dashboard, but then I was only using a monitor and a half for work. I've been happily living with a modest 0°, 0° since.
What I'd like: an editor with multiple tiled windows side by side, filling up a wide monitor, all showing the same text threaded through it. Line n at the bottom of one puts line n+1 at the top of the window to the right of it. Scrolling in one window scrolls them all.
(Of course you could optionally split it up differently to see multiple files.)
You can do this in vim with the scrollbind option. You could create a simple script to set up the windows and get the views lined up to the correct line numbers. The one caveat is that enabling line wrapping will screw it up.
:windo set nowrap
:vsp
ctrl-w ctrl-w ctrl-d ctrl-d
:vsp
ctrl-w ctrl-w ctrl-d ctrl-d
:windo set scrollbind
> What I'd like: an editor with multiple tiled windows side by side, filling up a wide monitor, all showing the same text threaded through it. Line n at the bottom of one puts line n+1 at the top of the window to the right of it. Scrolling in one window scrolls them all.
> (Of course you could optionally split it up differently to see multiple files.)
Now I want to go write some elisp . . .
But for the moment, I'll let you know that C-x 3 will keep splitting an emacs "frame" (window) in half vertically until you hit something like 10 columns. Just need to write the elisp for the rest of your feature request.
The top of my tall monitor is level with the top of my landscape monitor.
So I look down to see the bottom of my tall monitor, straight ahead to see the top of either.
I also have one overhead monitor to glance up at for reference or other pages. 80% of my work is done on my main monitor. 15% on the tall. 5% on the overhead. The overhead is still very useful though.
I've found that to be generally true but there's one caveat, it only hurts your neck looking up from horizontal not from horizontal down. Think about how you read a book. You don't hold it directly out in front of you, you kind of prop it up on your lap. I could read for hours like that. Or look at a concert pianist. They'll either be looking at the sheet music directly in front of them or down at the keys. That's why I go with stacked monitors, one directly in front and the other angled between the first monitor and the keyboard.
My wide one is in vertical centered with the tall ones, so the talls are above and below. It's rad, I could have a nice tie-fighter image fill it (if I used image background)
I tried that but it’s a little too much head yaw for me. I landed with 2 monitors: 1 portrait to the left and one landscape to the right. This way I can comfortably see everything without turning my head. I keep vs code full screen on the portrait monitor and any terminals running on the landscape one.
I have a similar setup with a super ultra wide monitor in the center. Great for focusing on one document while having lots of reference documents, YouTube videos, and stack overflow pages on the other monitor.
I used to use the exact opposite. Wide, Tall, Wide.
Left was browser (with tree style tabs to the side), middle was Emacs, and right was everything else (mostly terminals).
Having a tall code editor was nice as it provides more context in a file. And with a maximum of 120 columns per line, width was not an issue.
But having Emacs on a wide monitor allows me to edit two files side to side, which I ended up preferring (one above another is not as nice). I just use two wide monitors now.
I don't understand why 3:2 and 16:10 have taken over the mobile space but if I want one for my desktop my choices are 1920x1200 or a thirty inch, thousand dollar monstrosity with bad response times.
There are some 30 and 32 inch 2560x1600 monitors, such as from Dell, but they're mostly geared toward offices and artists and have terrible input latency and response times.
Bad response times plague the mobile space too. Just look at the new MBP with its 120hz display that has >40ms latency. But Mac displays, though looking gorgeous, have always had latency that was heavily perceptible.
Is there even a mainstream desktop display that has anywhere near the latency of Macs?
The black to white latency is over 90ms, which is quite funny to me.
Macs have always been horrific for latency - I can always see the delay between me pressing a key and the letter appearing. But, I can also see iPhone OLED displays flick on and off due to their low frequency PWM, so this might be unusual pickiness from me.
You can always buy a inch+10% 4k 16:9 display and just set a 3:2, 16:10 or whatever resolution with cropping edges, e.g. 3456x2160 or 3240x2160 (check if your vcard can do that). It may be hard psychologically, but it’s so less expensive.
I prefer to work with a single large external monitor. If my device is a laptop I keep it in clamshell mode when attached to an external monitor. I find switching applications with keyboard shortcuts and focusing on one thing at a time has improved my productivity. Using two or more monitors made it so easy for me to get distracted. To each their own though.
I agree, I've also moved back to a single monitor. Less distraction, and for me also less neck pain as I keep what I'm focusing on straight in front of me, instead of having a monitor off to one side.
Same here. In the circumstances where I need multiple things up at once I use Windows' window tiling features to arrange things as I need. They even made this functionality better in Windows 11. I'm a big proponent of using one good monitor over any number of other monitors.
One thing that cracks me up is how many of my users request multiple monitor setups, but look at the keyboard while they type.
I tried powertoys fancy zones (from MS itself) and never looked back. Can’t tell if it will work with 11. My layout is 4 overlapping vertical full-height panes, so I can split the screen in half, or around 2:3 either way. E.g. my browser is usually x=0, w=3/5, and my vim is x=1/2, w=1/2. This way I can see the changes in 1500+-width but slightly overlapped by an editor to feel comfortable with line widths and their left margin.
What stands out in fancy zones is that these areas do not have to tile each other and may overlap. Positioning windows in there is also very UX. I couldn’t find anything close enough in linux world (well, one may always program i3 or awesome, but it’s beyond my scope of interest).
I don’t get why MS doesn’t just build it into windows, since it’s their own, free tool.
Second FanzyZones. I've remapped the keys I could to mimic i3, and the only thing keeping it from "perfect" is keyboard shortcuts to control splitting/moving/resizing. You can toggle between pre-configured fixed zones using the keyboard, which is mostly good enough.
PowerToys also has a ton of other useful tools like a color picker, bulk file rename, and keyboard remapping (useful when using Synergy between Windows/MacOS). Highly recommend.
I just remapped the super-pagedn/up keys for window switching (only next/prev instead of hjkl). Otherwise I'm using i3 on Linux, and use Synergy to move between Windows, MacOS, and Linux so it helps to have as much between the three environments consistent.
I use a 27” 4k monitor, in unscaled mode, but I use zoom heavily on macOS (Ctrl+Scroll Wheel) - with some extra scroll cruising setup with SteerMouse on my mouse. The lets me reduce the pixel to density to that if a much larger screen on-demand to help with my eyes a bit.
The one thing that I dearly miss from OS X going to linux, is the 'double tap to zoom on a text container' thing that simply doesn't appear to have an equivalent on linux. Being able to double tap and zoom up on text when I'm tired after a long day is very nice.
When I ran multiple monitors I often designated one as my "communication" display, which got email/chat on it, and probably browser as well (for reference material), while the other was the active work one with the current task (usually a few terminals). I found the clearly defines areas for specific tasks was useful.
Now I work off a 40" 4k TV without magnification (I'm close to it), and I try to do similar but it's a lot more haphazard. I find that once you have a wall of pixels in front of you, putting stuff in areas helps, but it's also nice to just throw stuff around and treat it as a actual physical desktop (as it's actually about the size now).
The thing to keep in mind is that as screens get larger, maximizing to fill the whole screen makes less and less sense. I can't even see all my screen at once. I could place it farther back and scale it up, but why would I just by a smaller screen and keep it closer then? I want those pixels. I run all my browser windows at about a quarter screen size, and have that app scaled up to 125% (but not all apps), and that almost never has a problem with a site, and I have other info I care about quick saccade away.
I used to have 2 pcs, connected over synergy, for the same reason.
The best part is that your cmd-tab / application switcher is local to that screen.
Still looking for a similar solution on 1 laptop with 2 screens.
I've longed for a window manager that can assign different virtual desktops to different screens. Of course, there are compositing, scaling and resolution issues to overcome, but it'd be really neat to have a palette of virtual desktops that could be called up on whichever monitor was most convenient.
...and it'd make screen mirroring during presentations a breeze!
Maybe I'm not understanding what you want exactly, but it sounds like what i3 and Sway already do. Workspaces are created as needed and are specific to that monitor, so if workspace 3 is on the right monitor, you can jump to it with super-3 even if you're on the left monitor. You'd be looking at workspace 3 on the right monitor plus another workspace like 1 or 2 on the left. Each monitor displays a separate workspace which can be changed without affecting the other.
You can also define rules in the config so that certain programs will open in certain workspaces every time, and you can move the whole workspace to the other monitor (not a default keybind iirc) if desired. Good in a portrait+landscape monitor setup for if you need your browser to be wider for a little bit.
You can absolutely do this in i3 or sway. There aren't default keybindings for doing it, but it is easy to set up your own. I set $mod+equals to 'move workspace to output up' in i3 (or something like that -- I'm not on that machine to check). This works for me since I set up my external display to be above the laptop screen, so it effectively means 'move this workspace to the other output'. You could also specify a specific output to move to, or change what the direction is.
That's not quite what's being asked for. I think it's more like super+1 for "move workspace 1 to the current monitor". I haven't quite figured out how to do that in sway, although I'm pretty new with it.
In my scheme that move is just two key combos away, which seems fine to me, especially since it is rarely what I want. You could make it one key combo if you want, too, in a script if not in a single line.
I used to do stuff like this back in the day with Fvwm2, but less at the desktop level and more at the application level. You can set applications (windows really, and by title or id) to either be sticky to desktop or screen, etc. I had my mail client follow me no matter the virtual desktop I was on, but let other windows be anchored to the virtual desktop.
Honestly, I often miss Fvwm2 and my config in its power and simplicity, but Windows long ago became "good enough" and since the heavy apps I really care about (mail client, browser, maybe an IDE if I'm not using vim for the project) are cross platform (which they all are), as long as there's a good SSH client I'm good, and Windows Terminal plus built in OpenSSH shipped with windows works fairly well.
Check out Total Spaces (https://totalspaces.binaryage.com/) for Mac. I use this with dual monitors and love that each monitor can have its own virtual desktop.
I have my left monitor as a communications hub. It has only one virtual screen. I also keep my browser there.
That won’t work. I just want separation. Between applications. I can run multiple instances of chrome, but the is has trouble figuring out where to put what.
I’ve tried routing VNC though an ssh tunnel (doesn’t accept connection to localhost), but it’s all pretty shit.
And I really don’t like carrying 2 MacBooks around
I don’t think you can have the same desktop on both screens, but otherwise herbstluftwm allows this.
Also monitors are virtual so you can have multiple virtual monitors on one physical monitor. I want to one day try this with a 4K tv to have multiple monitor layouts.
I basically want to have real multi user.
I want my dev/project to be an isolated user, also bc of software supply chain security.
I want to map it to a (virtual) screen. I want to be able to share the clipboard.
I think the closest is running multiple OS X/Linux in VMs
what i do for work is very close to what you want and its pretty easy to achieve with using lightdm and the dm-tool with the add-nested-seat command. It will start a new Xephyr X server local to your current user and attach the session manager to it. from there you just login and have the second user session in a window just like you wanted... however, i did not get clipboard sharing to work but i actually like this extra bit of isolation.... its not even hackish and performance is exactly as native because it is... its a bit harder to get sound working concurrently, but not impossible, although i never really tried. However, i use pipewires pulseaudio interface to stream audio to a remote AV receiver in the room and this should work fine in the second user session too, although as said i never bothered to try...
You could also achieve this with pure X server and several system users: X controls your display and inputs (kb/mouse), and you let different X clients from different system users display on that server (eg. set the DISPLAY env var properly, configure X server permissions with xhost utility).
Then, you use a configurable tiling manager to control which windows go where (I am sure you can even go by the user somehow, but maybe you'll need to "decorate" the client run with an env var too).
It also works well within virtual pc's and licensing is per machine so you can use it on multiple virtual pc's at the same time as the main host, so you can multiple virtual pc's running, subject to hw abilities, and it works instantly and seemlessly, also high customisable and you can do your own commands to work with things like nVidia's mosaic.
I cant remember if it also does tilting like that described in this post or not, but you can certainly do a lot with mosaic run it all from shortcuts so you can instantly switch to different resolutions and layouts and the shortcuts can be used in Ultramon, for seamless operations, ie switch between 2 physical monitors and 3 monitors, all called from within ultramon. Ultramon then detects the physical monitor changes and acts accordingly.
You can spend hours in front of one these, get perfectly comfortable without taking up your desk space as it clamps to the back of your desk, and when you have to do paperwork, you can push the monitors to the back of the desk.
but if they ever added some batteries and motors so it can drive around, I'd get one of these for my mobile solution as it can still do 3 monitors. :-)
https://allimperatorworks.com/product/iw-j20-pro/
I've found this to be the optimum as well. The fact that you can have 2 1080p monitors worth of display height stacked on top of each other is invaluable when writing code/reading docs. For the other half of the monitor I can usually split it up between a browser/target app I'm debugging and something else, which usually varies by the actual use-case.
Can recommend Nvidias nView software for partitioning the screen into work-areas. Then maximizing, by default dragging the window to a border of a work-area, but is programmable so you can select a default area, just fills the area. Only downside is that you need to patch a JNZ in their DLL where they check if you have a Quadro card and quit.
Windows 11 has some nice window management features like this built in, but I’ve found the windows power toys fancy zones to be even better. This works for all graphics cards.
Windows has PowerToys [1] with the tool FancyZones, I've used it daily for a while and in general works pretty well, it's customizable and I use it to setup "zones" for working and splitting my tools into predefined spaces on muy screens.
> maximizing to fill the whole screen makes less and less sense
I guess that was the point of having "windows" in the first place. Per TFA:
> Websites and documents usually end up with a lot of whitespace and padding around them
This only happens if you needlessly maximise; windows are supposed to fit their content, not their container†. (Yes I realise that the article is in jest, yet I see so many people complaining about "poor app/web design" when all you need to do is not maximise on a wide enough screen. I smell Horror Vacui[0])
> When I ran multiple monitors I often designated one
In my case this ends up with me having a single screen for work and the other(s) mostly unused††; the ROI of the extra screen(s) thus drops extremely quickly. With a typical two-screen symmetric setup this also means my head/eyes have a constant bias in one direction, which means RSI quite quickly. Plus having things ever so slightly move in my peripheral vision triggers my reptilian emergency reflexes which goes contra to the goal of focusing.
I've noticed that "maximisers" are typically using two or more screens as they would use windows. To be fair I'm not bashing on "maximisers" at all, I just view the thing as with coffee: there are the dippers and the non-dippers, and to each his own, but when I see people arguing/complaining I'd rather point out that they should use a setup matching their preference and not try to force others into some "enlightenment".
I do blame (in jest) the "maximiser" mindset for the flurry of apps with huge "content" that basically forces you to maximise yet end up reinventing ad-hoc window management inside the app, only poorly and inconsistently.
† Which is the default behaviour of the "maximise" (a.k.a "zoom" in Apple HIG parlance) green plus traffic light on macOS, that you now have to reach to with Option.
†† The only use case I found possibly interesting is looking at documentation over there, which in practice I found equally efficient to have on either a separate virtual desktop, or on an iPad.
I use a laptop and I make heavy use of workspaces. I generally don't use an external monitor at all. However, when working at a desk, I use an external keyboard and trackpad, and put the laptop on a stand.
I dislike plugging into a monitor because it I hate the chaos of resizing everything. When I'm on the large monitor I unconsciously expand things; then when I switch back everything is on top of everything else or expanded beyond the window edges or reflowed or what have you.
I say this having worked with applications where you truly need an external monitor: image editing (where you put all your extra palettes on the extra monitor, and DAWs, where timeline and mixer views take up a full monitor each. Programming isn't like that.
Totally this. I've been using Linux for so long time that I haven't realised Windows has that feature as well - when I've learned about this and WSL has been introduced I've switched immediately :)
I use two 27" 4k Monitors in landscape mode arranged vertically. That way I have one primary monitor just in front of me and some extra space when I need it.
Having the secondary screen above the primary means you won't have neck pain from looking to the one side all the time. In addition, it is quite relaxing to lean back and watch a presentation/video on the secondary screen.
The biggest downside is the position of a webcam. I placed it between the monitors with a 3D printed holder. However, that is certainly not an optimal solution.
You are right, that looking down is more comfortable than looking up when sitting straight.
However, I like it better to look up than to look left or right and my reasoning is that it is symmetrical. Therefore, I prefer to have the secondary screen above the primary.
I am exactly the same way. I have a 50" 4k TV in my basement that exists solely as a monitor for my laptop(s). TVs have the advantage of being ridiculously cheap, and there's no law saying that you can't just plug into the HDMI port and use it as a monitor. The refresh-rate is so-so, but since all I don't really play games, it's not a problem.
Having a 50" TV lets me sit pretty far away from the screen and also gives me plenty of room to put a million applications next to each other which (at least for me) helps me avoid being distracted. I also have a lot of issues reading small text [1], so having a big screen allows me to make the text gigantic while not sacrificing a ton of screen real estate.
It's honestly great; if I ever am forced to work in an office again, I'm going to insist that the company purchase me the equipment for a similar setup.
[1] I'm reasonably certain that I'm not dyslexic, but I do find that reading off a screen is substantially easier for me when I use extremely big text. This is part of the reason most my book reading is either on the Kindle or the large-print vision-impaired versions of books.
I wear glasses/contact lenses already, so I get my eyes checked regularly. I've had pretty bad eyesight since I was nine years old, and an astigmatism in my left eye since I was at least nineteen. Theoretically at least, my contact lenses correct for it.
I honestly don't think it's a vision issue though; I don't have issues identifying the letters, and I don't have trouble reading the words or parsing sentences, I seem to have a lot of trouble keeping track of which line I'm on when I'm reading stuff with relatively small font. When I have large font, I don't have this issue, and I can read relatively quickly without a ton of issues.
I did. He told me that I just have the normal symptoms of getting old. I miss my 20s when I could read tiny text on a 19inch screen (CRT). Now I magnify everything, 250% really messages with a lot of websites, but at least I can read. (I'm writing this on a pinebook pro, so the screen is not large to begin with)
I agree I just like to add for development it'd be nice to at least a terminal window and an editor open side by side. In case of web dev the browser pointing to localhost and the editor side by side. I don't understand why an "ideal monitor for programmers" would need to have space for Twitter.
I work with the KDE virtual desktops grid with a 3x2 arrangement and wrap around on a 32" curved screen. I've found it very useful to put the same windows in the same grid squares and have hotkeys to easily go between. I know exactly the keystrokes ahead of time to get to the window I want and don't have to move my neck to get there. I can tile them, since I've got plenty of space on the one large screen, but usually the 6 virtual desktops are good enough. I've tried multiple monitors before, but couldn't get into it.
That's pretty much exactly my setup. On top of that I make sure I can do most important things with just my left hand: I use Ctrl+F1/2/3 as is default in KDE (Firefox on F1, editor of F2 usually), but then I rebind stuff to the Windows key: Win+W maximises a window, Win+A tiles to the left and Win+S tiles right. Kinda unrelated, but I also rebind Konsole's "Clear Scrollback and Reset" to Ctrl+Shift+X because I use it before running compilers and stuff, so I can easily find the actual start of the command's output.
> Using two or more monitors made it so easy for me to get distracted.
I have a desktop with three monitors and a laptop with one, and I don't notice any difference in distractibility. It's a discipline problem, not a technical one, and so you should solve it on a personal level and not a technical one.
I mean, think about it. If you "unlock" the ability to use multiple monitors at once without getting distracted, "it's free real estate" - you have more space to work with, and there's empirical evidence to suggest that that results in increased productivity. Programming involves a lot of consulting documentation and using multiple tools at once - it's very amenable to multiple monitors (as opposed to, say, writing a novel).
> and so you should solve it on a personal level and not a technical one.
Why, when a technical one suffices?
I've not personally seen much of a productivity increase over two 24"-ish screens and a single 32" 4K screen myself. I don't have the physical desk space for two of those (nor do I think it would be particularly useful for me)
Because if you're programming then the imposed limitation forcing you to constantly switch between windows almost certainly reduces your productivity. Do you never find yourself jumping back and forth between two or three documentation pages (library API, manpage, language spec, whatever), one or more pieces of example code, and one or more files with code that you're editing? Plus a window for build tooling? I find having that all visible at once in dedicated locations to be incredibly convenient, much more like working on a physical bench top.
> I find having that all visible at once in dedicated locations to be incredibly convenient
That’s a reason for seeking out a solution with large enough display area and sufficient resolution. That doesn’t necessarily require multiple monitors.
I wasn't meaning to differentiate between those two approaches. The original complaint seemed to be that having too many windows visible was leading to distraction. Honestly I found that claim perplexing. If it was only when they were spread across multiple physical monitors (as opposed to a single very large one) that would be even stranger to me.
At the end of the day though I admit that it comes down to whatever works for the individual to maximize their effectiveness.
> there's empirical evidence to suggest that that results in increased productivity
Can you share this evidence?
The thing is that one can only focus on a single monitor at a time. So productivity IME really depends on your windows manager. If I can quickly jump from code to documentation while looking at the same pixels without moving my neck or eyes, that seems like it would be more productive than changing focus to another screen and back.
I've been working on a single 1080p laptop display for years now, running Linux with bspwm. I've tried hooking up external displays to this setup, but I haven't found it increased my productivity. Sure, the extra real estate was nice, but shifting focus between monitors detracted from the experience enough that I always went back to a single screen. The comfort of having a portable setup and being able to work from anywhere is also a plus.
Monitor #1: The page
Monitor #2: The code
Monitor #3: Mail, chat etc.
You can drop the third one, but at least two is kinda required. You can't just shove #1 and #2 on a single monitor or the page layout won't match the user's.
Debatable, my sway setup transitions instantly :) Everyone has their preferred workflow. I personally switched back from two monitors to a 15" laptop screen
You assume that there are no scenarios where you want two windows up at the same time; e.g. for comparison or quick reference.
I have a custom setup where I can quickly switch between windows and applications using keyboard shortcuts and save e.g. cursor positions.
I still prefer having the relevant material on-screen rather than switching between them. And it's due to the reason previously mentioned: for me it's faster to reference material that is on-screen at the same time rather than switching between them.
Perhaps this has something to do with the type of code bases one works with? I work quite a bit on legacy apps, where one has to reference both documentation, tests and git history (when it's of value), as well as a browser window to actually run the code. That'a already a lot of things to be switching between.
I do run into those situations of course, where I want to see two windows side-by-side, but it's very rare and almost always temporary. Most of my windows run full screen, and if I need to focus on something else I just switch to it. It's important that this switch happens very quickly, so my window manager configuration has no delays, and every window is a quick keyboard shortcut away (either on a different workspace, "alt-tabbed" on the same workspace, or quickly accessible via rofi).
This workflow completely removes the need for a separate screen. A larger screen and higher resolution would be nice to have, but not for productivity reasons. I've found a 15.6" 1080p display to be sufficient with this setup, even though I have other screens I could use at the same time. It boils down to personal preference, but I doubt there's some "empirical evidence" that using more than one screen objectively leads to higher productivity.
> I mean, think about it. If you “unlock” the ability to use multiple monitors at once without getting distracted, “it’s free real estate”
If the distraction problem isn’t from size but strictly—as was described—from multiple monitors, this isn’t true; multiple monitors are cheaper than single monitors for a given total area and pixel density, but its possible to get one large (ideally curved) monitor that has the real estate of multiple lesser monitors. I found going going from twin 23” 16:9 monitors FHD monitors to a single curved 34” 3440x1440 monitor a reduction in distraction, as well as increase in real estate.
Multiple monitors are a distraction, IME, because of discontinuities (all of gaps between them, discontinuity in viewing angle, and, if they aren’t identical devices in pristine condition with identical settings, differences in display quality, whether its color/brightness/contrast/etc.)
It's funny how our brains work, eh? I find I'm the complete opposite. I need two monitors so things are right there in my face. I get distracted switching tabs. Thanks a lot ADHD.
All of these layers are different keybinds and windowing systems with no smooth integration. Pop Shell has one way of stacking windows into tabs, tmux has another, firefox has another. Ideally i want one set of keybinds that can seamlessly let me search for a firefox tab or an open editor tab, or move a tmux pane into a terminal window into a stacked pop shell window. Like one set of controls and UI for all the windowing. Currently i think we all are juggling multiple nested paradigms and sets of shortcuts for no good reason (besides it being hard to implement)
Yes but unfortunately that doesn't really work for heavy applications today. That would mean like 50 independent memory-hungry firefox or IDE processes corresponding to every tab/file you might have open. The entire point is to decouple a window from the resources/host process that controls the window.
Why would an IDE have a separate process for another window? At least, Idea does it right (iirc).
As for FF, I have 47 windows opened, but 11 processes running—one of which is a ‘master’ process. Meanwhile tabs that are in one window can still run in multiple processes.
multiple browser windows are not different resource-wise than multiple tabs, you are still running against same instance of the browser.
The other benefit of leaving window (and tab) managerment to the OS is that tabs switching should also better, imagine your tabs show up in the OS switcher and you can look them up in spotlight or something.
FF might have a setting on ‘about:config’ for whether to open links in tabs or windows. But off-hand I only know for certain about the one for links from other apps.
> I find switching applications with keyboard shortcuts and focusing on one thing at a time has improved my productivity. Using two or more monitors made it so easy for me to get distracted.
I very much agree with this - alt-tabbing between browser, terminal and fullscreened Emacs are what I've been doing for years. But very recently I decided to make two significant changes:
1. Adding a second monitor for documentation or visualizing output. When I'm going through longer written works (tutorials on languages, toolkits, etc), it's rotated to portrait mode and I find it more conducive to typing and testing things on the first monitor (with Emacs still fullscreen, but C-x 2 for splitting it in half). Recently I've been playing with OpenSCAD and I've liked having the second monitor in landscape mode; then I edit files in Emacs, and OpenSCAD updates the render as soon as I save the file. Transcribing music from scans displayed on a portrait monitor into MuseScore in fullscreen on a landscape monitor is a third "topic" I find two monitors handy for. Lastly is IT/sysadmin where I have a 160x60 terminal with a tab per server on the landscape monitor, and dashboards or documentation on the second monitor rotated to landscape mode. Control PgUp and PgDown between server consoles, each running screen, where screen zero is colorized log output.
2. The second change might have a a bigger impact than the first: multiple virtual desktops, one for each "topic." For example, my virtual desktops are currently entitled "Main", "IT", "3D Modelling", "Programming", and "Music". Of course I switch between them with a keyboard shortcut. This really seems to help my focus, by putting things "out of reach" so that I can't just Alt-tab to Reddit or HN when I'm bored or stuck.
The key with any tool is to figure out how to make it work for you, not against you. Sounds like you've already made progress on this front, but I thought I'd provide my two cents.
I use two monitors, but one is my tiny 13" laptop screen which has _only_ my browser on it (which holds my current project, and Slack et al. in various tabs)
Everything else lives on my 32" 4K monitor. This gets me a nice compromise, as I found having two larger monitors leading to distraction as well (or just completely ignoring one of the monitors, so it added little value to me).
I have the opposite setup: three monitors but the central one is vertical. The central monitor is where the actual fucking happens. It only has a glorious 80x80 xterm with a large font.
Leftmost monitor is portrait, the other 2 landscape.
Command line and documents on the portrait monitor. Editing/browsing in the centre. Mail and Teams on the rightmost landscape monitor, with browsing often moved there too.
- terminal with two colums on the right, left is git, right is build
- terminal on the left for connecting to production, investigating things, and manual testing
I also have a web browser (which contains chat and email) in the middle that I can swap to, but that means no coding.
I've heard that a lot of people like to have a browser to look at documentation at the same time as they code, but I haven't really found this useful, in large part because most of the code I work with has no documentation (the code itself is the documentation).
Only issue with portrait mode is that some monitors have bad vertical viewing angles so when they're in portrait it can be hard to see if you're off-center even by a little.
I just run on a 45" TV at 3840 x 2160. Sure, the response time is slow for gaming, but it works fine for movies and coding. And I have enough space that I can set each window to whatever size and orientation I want.
Previously dual monitor, 24" 1920 x 1080, portrait left, landscape right. left was usually for email and chat, right for coding and browser.
Now it's a single 40" 4k tv as my display. Using gridmove to easily partition the screen as needed. It's like have 4 1080p screens with no border. Only downside I've come across is some screensharing apps will always share the entire desktop when sharing a single app (webex is worst offender) - just the app window will be shown, but with massive greyed out background. Can be fixed by changing desktop res, just an annoyance.
Moving to a single massive screen has honestly lead to better productivity, but i possibly attribute that more to gridmove than overall screen real estate.
I fix that by maximizing whatever app I'm sharing and upping the zoom. It looks comically large on my screen, but normal to the rest of the folks on the call.
For screen sharing I use Picture-in-Picture mode of my 43” 4K monitor (Acer DM431K) to give me a separate 1920x1080 screen to share when required. That way it is at the right size and resolution for everyone.
Yes. One HDMI 2.0 to give me 4K@60Hz and then one usb-c to HDMI (or is it DP) for the PiP.
Only one input on this specific monitor can do 4K@60Hz, all the others are 4K@30Hz or good refresh at lower resolutions.
Takes 20 seconds to enable the second display in display settings and then pick the right input for the PiP mode on the monitor (it has a remote). Most of the time I have my personal laptop displaying in the PiP frame lower right. The remaining 3/4 of the screen is my work area.
I used a 40-or-so inch med-to-low tier TV for coding a bit, and was surprised at how not terrible it was. The latency was not actually that much worse than a monitor.
This was in the living room, which is sort of inconvenient. So I decided to get one for my desk. Being a silly project just for myself, I didn't want to splurge on it, so I went for the cheapest 4k I could find. I think it may have been a store brand.
The response time on that thing was noticeably terrible, like I would lose track of the cursor in vim because it wasn't keeping up properly.
The moral of the story I think is that you can get a not-terrible 4k tv for coding reasonably cheap, but the response time issue may still exist. It is probably just a roll of the dice.
Once VR headsets gain large FOV and high DPI, working in VR will be ideal and an improvement over any sort of monitor.
You can have 360+ degrees of scroll (beyond a full circle, you continue to wind into virtual space), spatial gestures to organize and manipulate your workspace.
It'll be like physical trades where workers knoll out their workspaces. We'll finally be able to do the same without clunky, insufficient windowing systems.
UI and 3D tools won't be limited to flat planes anymore, which will enable us to work with our hands.
I'm incredibly excited for this tech to land. I think it'll introduce an order of magnitude increase in productivity once it begins to mature.
To work effectively and without friction, you want everything close at hand.
I think even the current rectangular workspaces that monitors provide are getting a little too big for this. As the workspace gets bigger, the organizational burden increases, as does the effort to navigate through it -- even if that effort is mostly non-physical.
I'm thinking we actually need better ways to focus, where the things we need for an extended activity -- and only those things -- are readily available in a simple workspace. I'm afraid a 3D VR/AR workspace will lead to me questing about, looking for that file or tool that is maybe 1440 degrees leftward.
> working in VR will be ideal and an improvement over any sort of monitor
For me, that's definitely not true. I have no interest in wearing a headset for more than a few minutes at a time. I also like that I can turn my head and look out the window at trees, clouds or birds or rain. It's how I think.
> I think it'll introduce an order of magnitude increase in productivity once it begins to mature.
I guess that's a good thing, but it's not terribly high on my list of things I want to work on to improve my life.
> spatial gestures to organize and manipulate your workspace
These are things that sounds cool on paper, but become impractical when you do them hundreds of times a day. For common tasks, users gravitate to the least amount of effort. It's why almost everyone knows `ctrl + s` instead of using the `file -> save` menu. Engineers in particular are prescient about their shortcuts (especially VIM users...)
Gestural interfaces will take off when they are the most efficient method for completing a task.
Why do people complain about wasted white space on the side of their windows? Who said you have to full-screen every application?
My slack window is about 1/3 of a screen, zoom a bit smaller, Firefox about 2/3 of a screen, Outlook about 2/3. I think the only window I regularly make full size is the terminal.
> Websites and documents usually end up with a lot of whitespace and padding around them
I can't imagine have _any_ window full width on a large screen. I have 5 windows visible on my primary screen right now, and that's not even a lot for me. The browser, at max, is about 60% of the screen's width.
I'm not comfortable with tiny text. I'm using 27" display and with my IDE full screen I can fit around 140 characters. HN is with 250% zoom and around 80% of browser width right now.
Using those 14" displays is like using a phone, absolutely atrocious.
Graphical web browsers were originally made, like other graphical programs, for a screen with a resolution of (approximately, depending on hardware) 1200×900, where “maximizing” windows was not really a thing, since multi-tasking was what everyone did as a matter of course, with multiple programs open at the same time in their own window. Web sites were designed to fit in a comfortable window size of, again approximately, 600 pixels in width. Most PC’s were, at the same time, usually equipped with 640×480 screens, with only some PC’s having higher, so to see the whole web site on a PC you would naturally maximize the web browser program to the whole screen. Since multi-tasking was not really a feasible thing on PC’s back then (due to memory and CPU limitations), it made sense to give the whole screen to a single program, and PC windowing systems afforded this use.
However, when PC’s gained higher normal resolutions (800×600, then 1024×768, and higher) and multi-tasking became more realistic, this did not change the widespread user practice of full-screening programs on Windows! Instead, web site authors simply made web sites wider and wider. The users of large graphical displays did not initially complain, since their screens were wide enough to fit the ever-larger web sites, and these hardware platforms were falling out of use anyway.
And so we come to today, when we have more pixels than we know what to do with, and enough RAM and CPU to run umpteen programs at the same time, but web sites are still designed to be viewed in a maximized window, and users are still maximizing the web browser, and both web browsers and most operating systems are affording this use.
I like portrait mode, but a modern monitor is too tall when in portrait mode. I just want a couple 4:3 screens so I can rotate one (or both) into 3:4 ratio.
I've tried a lot of different setups over the years at work and at home, with laptops, 3 monitors, thin monitors, vertical monitors, etc.
I eventually settled on one 43 inch 4k monitor. I have it divided into 3 columns and 2 rows, and have everything I'm working on open at once so I don't have to tab between things, with the core work in center and the reference work either side.
I run 7 monitors. I've got a 2x3 grid of 24" monitors on a stand, and then a 27" widescreen standing tall beside it for code or a long terminal.
It's fantastic, though I could stand to have another row above. It's nice rarely having to switch windows - everything I need and use is right in front of me.
Pretty much the standard tools that most people have open all the time I guess. I just want to see them all all the time without having to constantly switch windows or hide the thing I'm working on.
Music, messenger, Discord, Slack, 2 or 3 instances of my IDE, source control UI, a terminal or three, documentation for the thing I'm working on, notepad++
No honestly I'd rather everything were flush, but that's the best I can do with the stand and monitors I have. The monitors aren't all the same make/model.
I tried 2 and 3 monitors and then I realized I don't like moving my neck / chair.
I use i3 and now I have 10 monitors just in front of my eyes. I can easily switch windows, move an window to the front, side by side it's fantastic.
Usually my applications have a default windows in which they open, switching to a specific application is muscle memory now. No mouse movement, no head movement. Just eyes and fingers coordination.
I usually have 8+ opened applications at the same time (editor, multiple terminals, mails, browser, chat) everything is in its right place.
Since my eyes can't look at two thing at the same time, no need to display everything. It's easier to press the shortcut to switch windows than to move my head.
Everything fits on my 3840x2400 13' laptop, it's like a Tardis, bigger on the inside.
I did the multi-monitor thing for years. Ultimately, I hate moving my head around that much. My current setup is a 4K curved screen, with i3wm. It's enough screen space for up to 9 usefully-sized panes, and also enough for a tall or very wide pane when the situation calls for it. The ability to reconfigure panes from the keyboard is a real game-changer.
I got a decently inexpensive 2k curved Phillips monitor at the beginning of the pandemic. Pretty happy with it (lucky buy, given that I didn't know it would be my window to the world for a couple years). At the time at least, 4k was still quite expensive. I don't know how much benefit 4k provides at typical desktop usage distances.
(328E9FJAB but I suspect you can find plenty that are just as good in the 2k range).
Well... I didn't say "affordable." I spent as much on this monitor as I spent on a laptop in grad school ($700ish). Three factors for me here: I transitioned to working from home and the expense was tax-deductable; I'm not in grad school anymore; I'm very frugal, so when do make a rare purchase, I go for quality.
This is not an endorsement. I've got some issues with the monitor -- it does something weird displaying certain patterns, which comes up for me occasionally. Also, sometimes, the curved screen bugs me, because straight lines aren't straight. YMMV
It's quite decent, I use that when I work at the office, it can be bought for 550$cad if you wait for a sales.
When I work from home I use a Samsung 49" ultrawide (5120x1440p@120Hz). Moving the taskbar vertically on the left and using Windows FancyZone make that a wonderful and productive experience. My wife says that I appear to work for mission control at NASA with that setup; this make my inner nerd happy!
They're there to make you work slower, perfect concentration breaker. Of course, if you're not busy they're fine as your attention may be needed, but they should definitely be off by default.
425 comments
[ 5.5 ms ] story [ 322 ms ] threadcode - browse, etc - tail logs
The picture of the monitor rotated 22 degrees contains a sticky note with what appears to be some sort of token/key/password.
How do you deal with that?
(Of course you could optionally split it up differently to see multiple files.)
And if I were to insert or delete lines in the first panel, would the others change their starting rows to account for that?
> (Of course you could optionally split it up differently to see multiple files.)
Now I want to go write some elisp . . .
But for the moment, I'll let you know that C-x 3 will keep splitting an emacs "frame" (window) in half vertically until you hit something like 10 columns. Just need to write the elisp for the rest of your feature request.
So I look down to see the bottom of my tall monitor, straight ahead to see the top of either.
I also have one overhead monitor to glance up at for reference or other pages. 80% of my work is done on my main monitor. 15% on the tall. 5% on the overhead. The overhead is still very useful though.
I really want to know how it would feel to have one narrow edge on the physical desk, with the long curve of the display arching up overhead.
Left was browser (with tree style tabs to the side), middle was Emacs, and right was everything else (mostly terminals).
Having a tall code editor was nice as it provides more context in a file. And with a maximum of 120 columns per line, width was not an issue.
But having Emacs on a wide monitor allows me to edit two files side to side, which I ended up preferring (one above another is not as nice). I just use two wide monitors now.
I have PL now with an ultra-wide but still think about trying to include a third monitor, I miss that setup.
The only decent resolution taller monitor I'm aware of is the huawei mateview, which isn't available in the US
27" is a bit too tall vertically, but 26" or 25" would be ideal (with a resolution larger than 1920x1200).
https://www.google.com/search?q=LG+27UK500-B+aspect+ratio&oq...
I can't see that Huawei gear is actually banned from import into the USA right now, though? Am I missing something?
Is there even a mainstream desktop display that has anywhere near the latency of Macs?
The black to white latency is over 90ms, which is quite funny to me.
Macs have always been horrific for latency - I can always see the delay between me pressing a key and the letter appearing. But, I can also see iPhone OLED displays flick on and off due to their low frequency PWM, so this might be unusual pickiness from me.
One thing that cracks me up is how many of my users request multiple monitor setups, but look at the keyboard while they type.
What stands out in fancy zones is that these areas do not have to tile each other and may overlap. Positioning windows in there is also very UX. I couldn’t find anything close enough in linux world (well, one may always program i3 or awesome, but it’s beyond my scope of interest).
I don’t get why MS doesn’t just build it into windows, since it’s their own, free tool.
Second FanzyZones. I've remapped the keys I could to mimic i3, and the only thing keeping it from "perfect" is keyboard shortcuts to control splitting/moving/resizing. You can toggle between pre-configured fixed zones using the keyboard, which is mostly good enough.
PowerToys also has a ton of other useful tools like a color picker, bulk file rename, and keyboard remapping (useful when using Synergy between Windows/MacOS). Highly recommend.
Now I work off a 40" 4k TV without magnification (I'm close to it), and I try to do similar but it's a lot more haphazard. I find that once you have a wall of pixels in front of you, putting stuff in areas helps, but it's also nice to just throw stuff around and treat it as a actual physical desktop (as it's actually about the size now).
The thing to keep in mind is that as screens get larger, maximizing to fill the whole screen makes less and less sense. I can't even see all my screen at once. I could place it farther back and scale it up, but why would I just by a smaller screen and keep it closer then? I want those pixels. I run all my browser windows at about a quarter screen size, and have that app scaled up to 125% (but not all apps), and that almost never has a problem with a site, and I have other info I care about quick saccade away.
...and it'd make screen mirroring during presentations a breeze!
You can also define rules in the config so that certain programs will open in certain workspaces every time, and you can move the whole workspace to the other monitor (not a default keybind iirc) if desired. Good in a portrait+landscape monitor setup for if you need your browser to be wider for a little bit.
The other half is allowing the selection to come from a pool of desktops/workspaces common to all screens. i.e. the opposite of what i3 and Sway do.
So given desktops/workspaces a, b and c and screens 1 and 2, the following combinations are possible:
1: a; 2: b
1: a; 2: a
1: c; 2: a
...
Honestly, I often miss Fvwm2 and my config in its power and simplicity, but Windows long ago became "good enough" and since the heavy apps I really care about (mail client, browser, maybe an IDE if I'm not using vim for the project) are cross platform (which they all are), as long as there's a good SSH client I'm good, and Windows Terminal plus built in OpenSSH shipped with windows works fairly well.
I have my left monitor as a communications hub. It has only one virtual screen. I also keep my browser there.
I have a 3x3 grid on the right hand monitor.
I’ve tried routing VNC though an ssh tunnel (doesn’t accept connection to localhost), but it’s all pretty shit.
And I really don’t like carrying 2 MacBooks around
Also monitors are virtual so you can have multiple virtual monitors on one physical monitor. I want to one day try this with a 4K tv to have multiple monitor layouts.
I think the closest is running multiple OS X/Linux in VMs
Then, you use a configurable tiling manager to control which windows go where (I am sure you can even go by the user somehow, but maybe you'll need to "decorate" the client run with an env var too).
This works really nice with a docked/undocked setup. When the additional monitors are disconnected, all workspaces move to the main(laptop) display.
eg, I have workspaces 1,2,5,9 on monitor 1 and screens 3,4,6,7,8,10 on monitor 2. When undocked all 10 workspaces move to the laptop screen.
* https://i3wm.org
It also works well within virtual pc's and licensing is per machine so you can use it on multiple virtual pc's at the same time as the main host, so you can multiple virtual pc's running, subject to hw abilities, and it works instantly and seemlessly, also high customisable and you can do your own commands to work with things like nVidia's mosaic.
https://www.realtimesoft.com/ultramon/
If you have the professional line of nVidia graphics cards aka Quadro, nVidia do a command line tool for configuring a multi monitoring system upto 16 4K monitors, so you can do things like tv walls or special effects in a theme park, or just fancy desktop setups for city traders or coders. https://www.nvidia.com/en-us/design-visualization/solutions/... https://www.nvidia.com/en-gb/drivers/mosaic-utility/
I cant remember if it also does tilting like that described in this post or not, but you can certainly do a lot with mosaic run it all from shortcuts so you can instantly switch to different resolutions and layouts and the shortcuts can be used in Ultramon, for seamless operations, ie switch between 2 physical monitors and 3 monitors, all called from within ultramon. Ultramon then detects the physical monitor changes and acts accordingly.
If you are looking for a nice 3 monitor setup, I can recommended this, the Ergotron HX triple box with the HX desk mounted floating arm. https://www.ergotron.com/en-gb/products/product-details/98-0... https://www.ergotron.com/en-gb/products/product-details/45-4...
You can spend hours in front of one these, get perfectly comfortable without taking up your desk space as it clamps to the back of your desk, and when you have to do paperwork, you can push the monitors to the back of the desk.
However this gaming chair manufacturer has caught my eye, like this one, https://allimperatorworks.com/scorpion-gaming-chair-setup/
but if they ever added some batteries and motors so it can drive around, I'd get one of these for my mobile solution as it can still do 3 monitors. :-) https://allimperatorworks.com/product/iw-j20-pro/
[1] https://docs.microsoft.com/en-us/windows/powertoys/
I guess that was the point of having "windows" in the first place. Per TFA:
> Websites and documents usually end up with a lot of whitespace and padding around them
This only happens if you needlessly maximise; windows are supposed to fit their content, not their container†. (Yes I realise that the article is in jest, yet I see so many people complaining about "poor app/web design" when all you need to do is not maximise on a wide enough screen. I smell Horror Vacui[0])
> When I ran multiple monitors I often designated one
In my case this ends up with me having a single screen for work and the other(s) mostly unused††; the ROI of the extra screen(s) thus drops extremely quickly. With a typical two-screen symmetric setup this also means my head/eyes have a constant bias in one direction, which means RSI quite quickly. Plus having things ever so slightly move in my peripheral vision triggers my reptilian emergency reflexes which goes contra to the goal of focusing.
I've noticed that "maximisers" are typically using two or more screens as they would use windows. To be fair I'm not bashing on "maximisers" at all, I just view the thing as with coffee: there are the dippers and the non-dippers, and to each his own, but when I see people arguing/complaining I'd rather point out that they should use a setup matching their preference and not try to force others into some "enlightenment".
I do blame (in jest) the "maximiser" mindset for the flurry of apps with huge "content" that basically forces you to maximise yet end up reinventing ad-hoc window management inside the app, only poorly and inconsistently.
† Which is the default behaviour of the "maximise" (a.k.a "zoom" in Apple HIG parlance) green plus traffic light on macOS, that you now have to reach to with Option.
†† The only use case I found possibly interesting is looking at documentation over there, which in practice I found equally efficient to have on either a separate virtual desktop, or on an iPad.
[0]: http://ignorethecode.net/blog/2014/11/11/horror_vacui/
I dislike plugging into a monitor because it I hate the chaos of resizing everything. When I'm on the large monitor I unconsciously expand things; then when I switch back everything is on top of everything else or expanded beyond the window edges or reflowed or what have you.
I say this having worked with applications where you truly need an external monitor: image editing (where you put all your extra palettes on the extra monitor, and DAWs, where timeline and mixer views take up a full monitor each. Programming isn't like that.
Having the secondary screen above the primary means you won't have neck pain from looking to the one side all the time. In addition, it is quite relaxing to lean back and watch a presentation/video on the secondary screen.
The biggest downside is the position of a webcam. I placed it between the monitors with a 3D printed holder. However, that is certainly not an optimal solution.
The upper edge of the display should be on eye level: humans are much more comfortable looking down than up.
However, I like it better to look up than to look left or right and my reasoning is that it is symmetrical. Therefore, I prefer to have the secondary screen above the primary.
Having a 50" TV lets me sit pretty far away from the screen and also gives me plenty of room to put a million applications next to each other which (at least for me) helps me avoid being distracted. I also have a lot of issues reading small text [1], so having a big screen allows me to make the text gigantic while not sacrificing a ton of screen real estate.
It's honestly great; if I ever am forced to work in an office again, I'm going to insist that the company purchase me the equipment for a similar setup.
[1] I'm reasonably certain that I'm not dyslexic, but I do find that reading off a screen is substantially easier for me when I use extremely big text. This is part of the reason most my book reading is either on the Kindle or the large-print vision-impaired versions of books.
I had an unknown-to-me astigmatism with otherwise perfect vision. I hadn't seen an eye doctor in (ever?) so I don't know when it started.
I didn't notice I was having the problems you describe until I got some corrective lenses to use only when I'm on the computer. Blew my mind.
I honestly don't think it's a vision issue though; I don't have issues identifying the letters, and I don't have trouble reading the words or parsing sentences, I seem to have a lot of trouble keeping track of which line I'm on when I'm reading stuff with relatively small font. When I have large font, I don't have this issue, and I can read relatively quickly without a ton of issues.
I have a desktop with three monitors and a laptop with one, and I don't notice any difference in distractibility. It's a discipline problem, not a technical one, and so you should solve it on a personal level and not a technical one.
I mean, think about it. If you "unlock" the ability to use multiple monitors at once without getting distracted, "it's free real estate" - you have more space to work with, and there's empirical evidence to suggest that that results in increased productivity. Programming involves a lot of consulting documentation and using multiple tools at once - it's very amenable to multiple monitors (as opposed to, say, writing a novel).
Sure, agreed.
> and so you should solve it on a personal level and not a technical one.
Why, when a technical one suffices?
I've not personally seen much of a productivity increase over two 24"-ish screens and a single 32" 4K screen myself. I don't have the physical desk space for two of those (nor do I think it would be particularly useful for me)
Because if you're programming then the imposed limitation forcing you to constantly switch between windows almost certainly reduces your productivity. Do you never find yourself jumping back and forth between two or three documentation pages (library API, manpage, language spec, whatever), one or more pieces of example code, and one or more files with code that you're editing? Plus a window for build tooling? I find having that all visible at once in dedicated locations to be incredibly convenient, much more like working on a physical bench top.
That’s a reason for seeking out a solution with large enough display area and sufficient resolution. That doesn’t necessarily require multiple monitors.
At the end of the day though I admit that it comes down to whatever works for the individual to maximize their effectiveness.
Can you share this evidence?
The thing is that one can only focus on a single monitor at a time. So productivity IME really depends on your windows manager. If I can quickly jump from code to documentation while looking at the same pixels without moving my neck or eyes, that seems like it would be more productive than changing focus to another screen and back.
I've been working on a single 1080p laptop display for years now, running Linux with bspwm. I've tried hooking up external displays to this setup, but I haven't found it increased my productivity. Sure, the extra real estate was nice, but shifting focus between monitors detracted from the experience enough that I always went back to a single screen. The comfort of having a portable setup and being able to work from anywhere is also a plus.
Monitor #1: The page Monitor #2: The code Monitor #3: Mail, chat etc.
You can drop the third one, but at least two is kinda required. You can't just shove #1 and #2 on a single monitor or the page layout won't match the user's.
I have a custom setup where I can quickly switch between windows and applications using keyboard shortcuts and save e.g. cursor positions.
I still prefer having the relevant material on-screen rather than switching between them. And it's due to the reason previously mentioned: for me it's faster to reference material that is on-screen at the same time rather than switching between them.
Perhaps this has something to do with the type of code bases one works with? I work quite a bit on legacy apps, where one has to reference both documentation, tests and git history (when it's of value), as well as a browser window to actually run the code. That'a already a lot of things to be switching between.
This workflow completely removes the need for a separate screen. A larger screen and higher resolution would be nice to have, but not for productivity reasons. I've found a 15.6" 1080p display to be sufficient with this setup, even though I have other screens I could use at the same time. It boils down to personal preference, but I doubt there's some "empirical evidence" that using more than one screen objectively leads to higher productivity.
If the distraction problem isn’t from size but strictly—as was described—from multiple monitors, this isn’t true; multiple monitors are cheaper than single monitors for a given total area and pixel density, but its possible to get one large (ideally curved) monitor that has the real estate of multiple lesser monitors. I found going going from twin 23” 16:9 monitors FHD monitors to a single curved 34” 3440x1440 monitor a reduction in distraction, as well as increase in real estate.
Multiple monitors are a distraction, IME, because of discontinuities (all of gaps between them, discontinuity in viewing angle, and, if they aren’t identical devices in pristine condition with identical settings, differences in display quality, whether its color/brightness/contrast/etc.)
for example i often use Pop Shell, VSCode, tmux and firefox. So now I have many different layers of windows -
All of these layers are different keybinds and windowing systems with no smooth integration. Pop Shell has one way of stacking windows into tabs, tmux has another, firefox has another. Ideally i want one set of keybinds that can seamlessly let me search for a firefox tab or an open editor tab, or move a tmux pane into a terminal window into a stacked pop shell window. Like one set of controls and UI for all the windowing. Currently i think we all are juggling multiple nested paradigms and sets of shortcuts for no good reason (besides it being hard to implement)Does anyone have a nice solution for that?
As for FF, I have 47 windows opened, but 11 processes running—one of which is a ‘master’ process. Meanwhile tabs that are in one window can still run in multiple processes.
The other benefit of leaving window (and tab) managerment to the OS is that tabs switching should also better, imagine your tabs show up in the OS switcher and you can look them up in spotlight or something.
I very much agree with this - alt-tabbing between browser, terminal and fullscreened Emacs are what I've been doing for years. But very recently I decided to make two significant changes:
1. Adding a second monitor for documentation or visualizing output. When I'm going through longer written works (tutorials on languages, toolkits, etc), it's rotated to portrait mode and I find it more conducive to typing and testing things on the first monitor (with Emacs still fullscreen, but C-x 2 for splitting it in half). Recently I've been playing with OpenSCAD and I've liked having the second monitor in landscape mode; then I edit files in Emacs, and OpenSCAD updates the render as soon as I save the file. Transcribing music from scans displayed on a portrait monitor into MuseScore in fullscreen on a landscape monitor is a third "topic" I find two monitors handy for. Lastly is IT/sysadmin where I have a 160x60 terminal with a tab per server on the landscape monitor, and dashboards or documentation on the second monitor rotated to landscape mode. Control PgUp and PgDown between server consoles, each running screen, where screen zero is colorized log output.
2. The second change might have a a bigger impact than the first: multiple virtual desktops, one for each "topic." For example, my virtual desktops are currently entitled "Main", "IT", "3D Modelling", "Programming", and "Music". Of course I switch between them with a keyboard shortcut. This really seems to help my focus, by putting things "out of reach" so that I can't just Alt-tab to Reddit or HN when I'm bored or stuck.
The key with any tool is to figure out how to make it work for you, not against you. Sounds like you've already made progress on this front, but I thought I'd provide my two cents.
Everything else lives on my 32" 4K monitor. This gets me a nice compromise, as I found having two larger monitors leading to distraction as well (or just completely ignoring one of the monitors, so it added little value to me).
Leftmost monitor is portrait, the other 2 landscape.
Command line and documents on the portrait monitor. Editing/browsing in the centre. Mail and Teams on the rightmost landscape monitor, with browsing often moved there too.
- text editor with two columns in the middle
- terminal with two colums on the right, left is git, right is build
- terminal on the left for connecting to production, investigating things, and manual testing
I also have a web browser (which contains chat and email) in the middle that I can swap to, but that means no coding.
I've heard that a lot of people like to have a browser to look at documentation at the same time as they code, but I haven't really found this useful, in large part because most of the code I work with has no documentation (the code itself is the documentation).
Everyone knows this.
Previously dual monitor, 24" 1920 x 1080, portrait left, landscape right. left was usually for email and chat, right for coding and browser.
Now it's a single 40" 4k tv as my display. Using gridmove to easily partition the screen as needed. It's like have 4 1080p screens with no border. Only downside I've come across is some screensharing apps will always share the entire desktop when sharing a single app (webex is worst offender) - just the app window will be shown, but with massive greyed out background. Can be fixed by changing desktop res, just an annoyance.
Moving to a single massive screen has honestly lead to better productivity, but i possibly attribute that more to gridmove than overall screen real estate.
Only one input on this specific monitor can do 4K@60Hz, all the others are 4K@30Hz or good refresh at lower resolutions.
Takes 20 seconds to enable the second display in display settings and then pick the right input for the PiP mode on the monitor (it has a remote). Most of the time I have my personal laptop displaying in the PiP frame lower right. The remaining 3/4 of the screen is my work area.
This was in the living room, which is sort of inconvenient. So I decided to get one for my desk. Being a silly project just for myself, I didn't want to splurge on it, so I went for the cheapest 4k I could find. I think it may have been a store brand.
The response time on that thing was noticeably terrible, like I would lose track of the cursor in vim because it wasn't keeping up properly.
The moral of the story I think is that you can get a not-terrible 4k tv for coding reasonably cheap, but the response time issue may still exist. It is probably just a roll of the dice.
You can have 360+ degrees of scroll (beyond a full circle, you continue to wind into virtual space), spatial gestures to organize and manipulate your workspace.
It'll be like physical trades where workers knoll out their workspaces. We'll finally be able to do the same without clunky, insufficient windowing systems.
UI and 3D tools won't be limited to flat planes anymore, which will enable us to work with our hands.
I'm incredibly excited for this tech to land. I think it'll introduce an order of magnitude increase in productivity once it begins to mature.
To work effectively and without friction, you want everything close at hand.
I think even the current rectangular workspaces that monitors provide are getting a little too big for this. As the workspace gets bigger, the organizational burden increases, as does the effort to navigate through it -- even if that effort is mostly non-physical.
I'm thinking we actually need better ways to focus, where the things we need for an extended activity -- and only those things -- are readily available in a simple workspace. I'm afraid a 3D VR/AR workspace will lead to me questing about, looking for that file or tool that is maybe 1440 degrees leftward.
For me, that's definitely not true. I have no interest in wearing a headset for more than a few minutes at a time. I also like that I can turn my head and look out the window at trees, clouds or birds or rain. It's how I think.
> I think it'll introduce an order of magnitude increase in productivity once it begins to mature.
I guess that's a good thing, but it's not terribly high on my list of things I want to work on to improve my life.
These are things that sounds cool on paper, but become impractical when you do them hundreds of times a day. For common tasks, users gravitate to the least amount of effort. It's why almost everyone knows `ctrl + s` instead of using the `file -> save` menu. Engineers in particular are prescient about their shortcuts (especially VIM users...)
Gestural interfaces will take off when they are the most efficient method for completing a task.
Haha the sticky notes and photos. Quality entertainment.
It's clear in the picture that the corners of the monitor are not on the same level.
But now I'm wondering what led to the error…
My slack window is about 1/3 of a screen, zoom a bit smaller, Firefox about 2/3 of a screen, Outlook about 2/3. I think the only window I regularly make full size is the terminal.
> Websites and documents usually end up with a lot of whitespace and padding around them
I can't imagine have _any_ window full width on a large screen. I have 5 windows visible on my primary screen right now, and that's not even a lot for me. The browser, at max, is about 60% of the screen's width.
Using those 14" displays is like using a phone, absolutely atrocious.
[0] https://docs.microsoft.com/en-us/windows/powertoys/fancyzone...
However, when PC’s gained higher normal resolutions (800×600, then 1024×768, and higher) and multi-tasking became more realistic, this did not change the widespread user practice of full-screening programs on Windows! Instead, web site authors simply made web sites wider and wider. The users of large graphical displays did not initially complain, since their screens were wide enough to fit the ever-larger web sites, and these hardware platforms were falling out of use anyway.
And so we come to today, when we have more pixels than we know what to do with, and enough RAM and CPU to run umpteen programs at the same time, but web sites are still designed to be viewed in a maximized window, and users are still maximizing the web browser, and both web browsers and most operating systems are affording this use.
An alternative is sourcing 1200x1600 monitors on eBay.
I liked the square one from Eizo, but it seems nobody else did.
I eventually settled on one 43 inch 4k monitor. I have it divided into 3 columns and 2 rows, and have everything I'm working on open at once so I don't have to tab between things, with the core work in center and the reference work either side.
It's fantastic, though I could stand to have another row above. It's nice rarely having to switch windows - everything I need and use is right in front of me.
Also obviously I hid all the proprietary stuff.
Music, messenger, Discord, Slack, 2 or 3 instances of my IDE, source control UI, a terminal or three, documentation for the thing I'm working on, notepad++
Your set up is magnificent.
What window manager do you use? I'm Xmonad.
That's an interesting configuration! Also my first encounter with someone else who understands the value of screen space.
Do you also like to keep all your things out in the open rather than tucked away inside cupboards and drawers?
* 27” LCD x 4
* 1 iPad (maybe this is cheating a little)
* 1 Laptop
I’ve disabled the laptop though. The LCDs are in a 2x2 array all landscape. I use the iPad mostly for meetings.
I use i3 and now I have 10 monitors just in front of my eyes. I can easily switch windows, move an window to the front, side by side it's fantastic. Usually my applications have a default windows in which they open, switching to a specific application is muscle memory now. No mouse movement, no head movement. Just eyes and fingers coordination.
I usually have 8+ opened applications at the same time (editor, multiple terminals, mails, browser, chat) everything is in its right place.
Since my eyes can't look at two thing at the same time, no need to display everything. It's easier to press the shortcut to switch windows than to move my head.
Everything fits on my 3840x2400 13' laptop, it's like a Tardis, bigger on the inside.
What model do you use?
(328E9FJAB but I suspect you can find plenty that are just as good in the 2k range).
This is not an endorsement. I've got some issues with the monitor -- it does something weird displaying certain patterns, which comes up for me occasionally. Also, sometimes, the curved screen bugs me, because straight lines aren't straight. YMMV
When I work from home I use a Samsung 49" ultrawide (5120x1440p@120Hz). Moving the taskbar vertically on the left and using Windows FancyZone make that a wonderful and productive experience. My wife says that I appear to work for mission control at NASA with that setup; this make my inner nerd happy!
This angers me on a spiritual level. Where do your notifications spawn?