Work Desktop Setup

December 1st, 2016
tech
I spend most of my day standing in front of my work desktop, doing some combination of programming, code review, documentation, and email. Over the years I've figured out a relatively productive setup:

  • browser on one monitor
  • tile the rest of the space with tall terminals
  • put some extra terminals for starting jobs etc off on the side

This looks like:

(This is divided over two monitors, with the browser and the first vertical terminal on the left-hand monitor.)

I spent an embarrassingly long time having to hand-configure this each time I had to restart my computer, and avoiding restarting as much as possible to keep from having to do this, so I eventually learned how to use -geometry arguments to set this up:

# Make the background black.  Not that
# the background should ever be visible
# or anything.
fbsetroot -solid black

# Start and place terminals.  81 columns
# because code here is limited to 80
# columns and emacs reserves a column for
# the wrapping indicator.
uxterm -geometry 81x90+1428+0 &
uxterm -geometry 81x90+1920+0 &
uxterm -geometry 81x90+2412+0 &
uxterm -geometry 81x90+2904+0 &
uxterm -geometry 73x22+3396+0 &
uxterm -geometry 73x22+3396+310 &
uxterm -geometry 73x22+3396+620 &
uxterm -geometry 73x19+3396+930 &

google-chrome &

# Start the window manager last, and
# don't run it in the background.
fluxbox

Update 2018-02-08: I just got new monitors, both 2560x1440, so I now have 5120x1440 of space to work with. I'm not sure exactly how I want to set it up, but for now I have:

uxterm -geometry 81x109+2560+0 &
uxterm -geometry 81x109+3052+0 &
uxterm -geometry 81x109+3544+0 &
uxterm -geometry 81x109+4036+0 &
uxterm -geometry 79x8+4528+0 &
xclock -geometry 108x108+5010+0 &
uxterm -geometry 97x25+4528+128 &
uxterm -geometry 97x25+4528+476 &
uxterm -geometry 97x25+4528+824 &
uxterm -geometry 97x19+4528+1172 &

I also used to manually adjust the settings on xterms each time I started them up, but then I learned how to use xrdb. I put xrdb -l ~/.Xdefaults in my .xsession, which contains:

xterm*metaSendsEscape: true
xterm*reverseVideo: on
xterm*visualBell: False

I also have pretty strong preferences about how fonts should look. Specifically, unless I'm in a hidpi environment, I don't want the modern thing where you use a vector-graphics based (true type) font and then through some combination of hinting and antialiasing you fit it to the screen. Instead I want precisely pixel-aligned bitmap fonts, which happens to be exactly what xterm uses by default.

What am I talking about? Here's a zoomed-in view comparing xterm with its default font to gnome-terminal with its default one:

The gnome-terminal rendering isn't terrible, especially when you're at a normal zoom level, but it's much less crisp than the xterm rendering.

(This is one of the things that makes ssh-from-a-browsers annoying: I don't believe there's any way to get text to render device-pixel-perfect, so until hidpi displays are everywhere you can't get away from the blurry fonts there. This is much less of an issue for ordinary web text than terminal text, because I run my terminals at a much smaller font size to get as much as possible on the screen at once.)

Referenced in: Terminal Preferences

Comment via: google plus, facebook

Recent posts on blogs I like:

Where I Donated In 2024

All Grants Fund, Rethink, EA Funds Animal Welfare Fund

via Thing of Things January 17, 2025

2024-25 New Year review

This is an annual post reviewing the last year and setting intentions for next year. I look over different life areas (work, health, parenting, effectiveness, travel, etc) and analyze my life tracking data. Overall this was a pretty good year. Highlights …

via Victoria Krakovna January 15, 2025

The ugly sides of two approaches to charity

What's neglected by "magnificent" philanthropy, and by Singerian global poverty focus The post The ugly sides of two approaches to charity appeared first on Otherwise.

via Otherwise January 13, 2025

more     (via openring)