Hacker News new | past | comments | ask | show | jobs | submit login

I've used numerous X window managers, and XMonad is my favorite. (I've tried to switch to i3, by using it for a couple years at work, while still XMonad at home, but XMonad is still more productive for me.)

One thing that I set up in `xmonad.hs` is `additionalKeys` that switch to or launch particular programs. For example:

    ((mod3Mask, xK_f), raiseNextMaybe (spawn "/usr/bin/firefox-esr") (className =? "Firefox-esr"))
For programs run in a terminal window, `-name` works well enough for distinguishing them:

    ((mod3Mask, xK_r), raiseNextMaybe (spawn "urxvt -name mtr -e mtr 123.45.67.89") (className =? "URxvt" >> title =? "mtr"))
My layouts are standard, and I mostly work from the large window on the left, and then the windows on the right are only wide enough to fit 80 columns in terminal or Emacs.

    myLayout = tiled ||| Mirror tiled ||| noBorders Full
      where
         tiled   = Tall nmaster delta ratio
         nmaster = 1
         ratio   = 1/2
         delta   = 3/100
Occasionally I switch a window to fullscreen or switch to the big window taking the full width. When work needs the full screen or multiple windows at once for long at all, I usually switch to desktops 2 and later, and keep 1 for comms like email and chat. When docking laptop, work ends up on the external monitor in front, and then comms/monitoring is on laptop to the side.

I used to have a status bar and system tray, but got rid of them. The only thing I miss is having a clock I can glance at, so I wrote a key sequence that runs a script that uses `osd_cat` to temporarily overly the current time and date, time in other zones I'm dealing with, and battery status.




One thing I find missing in xmonad vs dwm is the notion of tags. Being able to summon and banish groups of windows at a time was something I found pretty handy.





Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: