Setting up XMonad in Fedora will allow you to never use your mouse again, ever.
First, install the basics.
yum install xmonad ghc-xmonad-contrib-devel xmonad-mateNow, reboot your box (yes you have to, for f21, at least).
When you log in , you will see an option to start up as xmonad-mate. This will allow you to tile your windows.
You should now see a little "wheel" underneath your Gnome login.
Now, select xmonad-mate which will open up the Xmonad, rather than gnome 3 window manager. It will look ugly at first : but just wait till you get to work !
alt + enter
This opens a terminal up.
alt + w / e/ r /
This switches active windows. Typically between "w" and "e". For example, "alt + w" will move me to my primary monitor, and "alt + e" moves to your secondary.
alt + j / k /
Now, within your monitors, there are "tiles" . "alt + j" moves your active tile to the left. This guy moves your focus window. You will see a red square pop up around your new active window.
Many other XMonad customizations that you can use : see http://xmonad.org/manpage.html.
UPDATE : Extending for non greedy windows.
There is only one thing I wanted to change, origionally, about xmonad: The fact that switching windows would allow me to mistakenly swap my existing already shown windows. This kills your morale when you have a nice setup and only want to change one your windows... while for example keeping your web browser in place.
I got some help on #xmonad from Paul Berens on how to add non-greedy window managers to xmonad today. Heres the trick.
1 -- default desktop configuration for Fedora
2
3 import System.Posix.Env (getEnv)
4 import Data.Maybe (maybe)
5 import XMonad.Hooks.DynamicLog
6 import XMonad
7 import XMonad.Config.Desktop
8 import XMonad.Config.Gnome
9 import XMonad.Config.Kde
10 import XMonad.Config.Xfce
11 import qualified XMonad.StackSet as W
12 import XMonad.Util.EZConfig
13
14 main = do
15 session <- br="" getenv=""> 16 xmonad =<< dzen (myConfig session)
17 -- dont forget the parens...
18 myConfig session = (maybe desktopConfig desktop session) {
19 workspaces = myWorkspaces
20 -- skipped
21 } `additionalKeysP` myKeys
22
23
24
25 desktop "gnome" = gnomeConfig
26 desktop "kde" = kde4Config
27 desktop "xfce" = xfceConfig
28 desktop "xmonad-mate" = gnomeConfig
29 desktop _ = desktopConfig
30
->
WARNING: Im still experimenting with the above configuration, but it apperers to prevent xmonad from swapping my active windows .

Welcome to the XMonad :)
ReplyDelete:)
ReplyDelete