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:

Starting With Chords

A lot of people play fiddle. Basically nobody starts by learning chords before learning melodies. But that's actually how I learned. I started with chords. One of the nice things about learning to play violin this way is that you can go busking even…

via Anna Wise's Blog Posts November 15, 2024

Stuffies

I have some stuffies and I just have a bunny. Bunny is a rabbit. Woof is a seal. My favorite stuffie is bun bun. I play with my stuffies. Sometimes I jump up with them and I roll them. I can just throw them in the air when I want to play bthululubp wi…

via Nora Wise's Blog Posts November 15, 2024

You Can Buy A Malaria Net

2024 election takes

via Thing of Things November 6, 2024

more     (via openring)