I run Linux at work and at home. Sometimes I need to switch to Windows or Mac for a time, and when I do, I always find myself missing something from my usual environment.
Favorite Linux Desktop Features
Here are a few Linux desktop features that I’ve come to rely on.
1. Fast Copy/Paste
Function: Highlight text you want to copy, and paste the text with middle-click.
This is the easiest way to copy and paste that I know of. When I need to run a bunch of shell commands that I’m looking at on a web page, I highlight the commands and then middle-click on my terminal. When I want to share a blog post link with someone, I triple-click the address bar to highlight the URL and then middle-click on my chat window. It’s faster than
Ctrl-v, and it’s faster than highlighting and dragging the text.
Middle-clicking always pastes the most recently selected text. It also comes from a separate clipboard than the one that’s used by
Ctrl-v, so multiple regions can be copied and pasted independently.
2. Raising/Lowering Windows
Found on: All X window managers that I know of (except tiling window managers, whose windows cannot overlap at all). Possibly Mac and Windows with the help of third-party software.
Function: Force individual windows to stay above or below other windows.
Forcing a window to stay on top of other windows has been extremely helpful for me. I reference a lot of documentation online when coding, and I need to flip back and forth between the documentation that I’m reading and the code that I’m writing. To do this, I maximize my web browser and move my text editor to the lower-right-hand corner of the screen. Using GNOME, I set my editor window to be “Always on top.” This lets me navigate through documentation online without losing sight of my code.
Most of the time, the “on-top” window doesn’t get in the way of anything in the browser, since it’s off to the side. On the occasion when it does get in the way, I just toggle the “Always on top” option to be off again. All in all, this works much better for me than either cycling through overlapping windows or resizing the windows so they don’t overlap.
Other window managers offer more options than just “Always on top.” KDE allows you to choose “Keep Above Others” or “Keep Below Others.” I’ve never needed to keep a window below others, but I could see the value if you had, for example, a long-running process in a terminal that you just wanted to stay out of the way. And if you want even more control than that, IceWM has seven different layers for you to place a window into.
3. Window List
Found on: Most X window managers, but dropped in GNOME 3.x. Windows.
Function: Just about everyone knows what this is: a panel showing all open windows (usually at the bottom or the top of the screen).
When I’ve got a lot of windows open, my window list makes it easy to access whichever one I need, just by clicking on it. If I’m working with only two or three windows at a time, I’ll just use
Alt-Tab. But when I’ve got any more than that going on at once, I use my window list. Besides letting me activate, minimize, and close windows, it lets me rearrange them in the list by dragging and dropping. Most environments also let me scroll between all windows with the mouse wheel.
Many desktop environments don’t provide window lists. Mac gives you Mission Control instead, where you swipe to get a bird’s eye view of all open windows. GNOME 3.x has something very similar called Activities Overview that is activated by moving the mouse to the upper-left corner of the screen.
Although Mission Control-style features use pretty animations, I’ve always found them to be disruptive to my workflow. Sometimes I just want to remember what I already have open, and a window list lets me do that without having to touch anything.
4. Window Snapping
Found on: Most X window managers.
Function: Connect a window to screen boundaries and edges of other windows when moving a window.
It can be a real pain to manually arrange windows on your desktop. If you’re not meticulous enough, you’ll be left with a combination of overlapping windows and gaps of unused space.
Window snapping takes care of this by making it easy to align windows with other parts of the screen. With this feature, you can drag a window smoothly across the desktop until it comes in contact with another window or an edge of the screen. Once it touches a boundary like this, it stops and requires a little extra oomph to get past, as if it were running into an invisible ridge.
Linux Desktop Features I’ve Never Gotten Into
1. Virtual Desktops
Found on: Most X window managers, Mac.
Virtual desktops, or workspaces, let you run one set of windows in one place and a completely different set of windows in another place. I always thought this would be useful for switching between different contexts, like work vs. personal, but I’ve rarely used it in practice.
Found on: KDE and a few other X window environments
Shading, or rolling up, a window hides everything but the window’s title bar. I find this feature interesting, but I find myself instead just minimizing any windows that are in the way.
All the features I’ve talked about using have existed for at least 10 years, and some have been around for much longer. I find many of the new desktop trends interesting and attractive, but ultimately not helpful when it comes to personal productivity. I’m curious what others think.