You are not logged in.

#1 2009-04-03 05:27:54

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Diving into Tiling WMs, Help Appreciated

Hello again.

I'm taking the leap and checking out some tiling WMs. I've never used any before and I would like some guidance as I'm very used to Gnome/Xfce/Fluxbox and how those work/are setup.

I've looked over some of the other threads, but I have some questions of my own about tiling WMs.
First off, I currently have about a handful installed: awesome, xmonad (which seems to refuse to start), wmii, musca, and ion3. I'm pretty much completely overwhelmed when entering all of them and get lost pretty quick. I'm looking for something extensible but easy to pick up and go with. I like having a systray and panel of some kind, but they can be minimal and I've heard of more than I thought was possible about simple stand-ins that do these jobs pretty well.

I guess my questions are as follows: which do you think would be the easiest to become accustomed to and use efficiently until I become accustomed? What types of configuration do you use in your choice of WM (as in which systray or no systray at all, etc)? And what programs would you recommend for a simple terminal, a music player (currently using Exaile, which is wonderful by the way), and instant messaging application (currently using Pidgin)?


Furthermore, for those of you using xmonad, I can't login because it's not finding the .xmonad folder in my home folder which includes the executable "xmonad-i386-linux" file (if I remember the error correctly). Any ideas on how to solve this or what I did wrong??

Thanks again for all your help.

Offline

#2 2009-04-03 06:02:38

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: Diving into Tiling WMs, Help Appreciated

For xmonad: create the .xmonad folder yourself, and put a xmonad.hs (xmonad's config file) in there. Xmonad looks for that file and compiles it at runtime, and you're left with that "xmonad-i386-linux" that you're missing.
Get one from the examples on the official site (http://www.haskell.org/haskellwiki/Xmon … ig_archive)
If you're new to tilers Xmonad will not be your best choice IMO (config file is written in Haskell...)
I'd go with dwm or wmii. Ratpoison could be a choice too but that's a bit of a stretch for a tiling newcomer smile

You can keep using your old applications, no need to switch them because of a WM change.

BUT if is efficiency you're looking for:
1. urxvt + GNU Screen for terminals/irc (you can have more terminals in one single window..you NEED that smile )
2. For music either set up mpd/mpc  or use mocp

For the systray part..you either stop using it (the whole point of tiling managers is to use as much space as you can), or if you must you need a tiler that allows you to leave "gaps" around the screen (a space that's unmanaged by the wm). dwm has this, xmonad too. I myself use Ratpoison.

edit:

Here's my old xmonad.hs to get you started. Install dzen2 also (to get the bar on top)

import XMonad
import System.Exit
import qualified XMonad.StackSet as W
import qualified Data.Map        as M
import XMonad.Util.Run
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Layout.NoBorders
import XMonad.Layout.Tabbed


-- -xos4-terminus-medium-r-*-*-14-*-*-*-*-*-*-*
myLauncher :: String
myLauncher = "`dmenu_path | dmenu -fn '-xos4-terminus-medium-r-*-*-14-*-*-*-*-*-*-*' -nb '#303030' -nf '#959595' -sf '#FFFFFF' -sb '#606060'`"
myKeys conf@(XConfig {XMonad.modMask = modMask}) = M.fromList $
    [ ((modMask .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
    , ((modMask,               xK_p     ), spawn myLauncher)
    , ((modMask .|. shiftMask, xK_c     ), kill)
    , ((modMask,               xK_space ), sendMessage NextLayout)
    , ((modMask .|. shiftMask, xK_space ), setLayout $ XMonad.layoutHook conf)
    , ((modMask,               xK_n     ), refresh)
    , ((modMask,               xK_Tab   ), windows W.focusDown)
    , ((modMask,               xK_j     ), windows W.focusDown)
    , ((modMask,               xK_k     ), windows W.focusUp  )
    , ((modMask,               xK_m     ), windows W.focusMaster  )
    , ((modMask,               xK_Return), windows W.swapMaster)
    , ((modMask .|. shiftMask, xK_j     ), windows W.swapDown  )
    , ((modMask .|. shiftMask, xK_k     ), windows W.swapUp    )
    , ((modMask,               xK_h     ), sendMessage Shrink)
    , ((modMask,               xK_l     ), sendMessage Expand)
    , ((modMask,               xK_t     ), withFocused $ windows . W.sink)
    , ((modMask              , xK_comma ), sendMessage (IncMasterN 1))
    , ((modMask              , xK_period), sendMessage (IncMasterN (-1)))
    , ((modMask .|. shiftMask, xK_q     ), io (exitWith ExitSuccess))
    , ((modMask              , xK_q     ), restart "xmonad" True)
    , ((modMask .|.shiftMask .|. controlMask  , xK_c ), spawn "mousepad ~/.xmonad/xmonad.hs")
    , ((modMask              , xK_b     ), sendMessage ToggleStruts)
    ]
    ++
    [((m .|. modMask, k), windows $ f i)
        | (i, k) <- zip (XMonad.workspaces conf) [xK_1 .. xK_4]
        , (f, m) <- [(W.greedyView, 0), (W.shift, shiftMask)]]

 
myMouseBindings (XConfig {XMonad.modMask = modMask}) = M.fromList $
 
    [ ((modMask, button1), (\w -> focus w >> mouseMoveWindow w))
    , ((modMask, button2), (\w -> focus w >> windows W.swapMaster))
    , ((modMask, button3), (\w -> focus w >> mouseResizeWindow w))
    ]


myLayouts = tiled ||| Mirror tiled ||| noBorders Full ||| simpleTabbedBottom
  where
    tiled = Tall 1 (2/100) (1/2)

myManageHook = composeAll
    [ className =? "MPlayer"        --> doFloat
    , className =? "Gimp"           --> doFloat
    , resource  =? "desktop_window" --> doIgnore ]


main = do 
h <- spawnPipe "dzen2 -w 512 -ta l -fn '-xos4-terminus-medium-r-*-*-14-*-*-*-*-*-*-*' -bg '#303030' -fg '#FFFFFF'"
xmonad $ defaultConfig {
        terminal           = "xterm",
        focusFollowsMouse  = False,
        borderWidth        = 1,
        modMask            = mod1Mask,
        workspaces         = [" 0x1 "," 0x2 "," 0x3 "," 0x4 "],
        normalBorderColor  = "#303030",
        focusedBorderColor = "#55BBFF",
        keys               = myKeys,
        mouseBindings      = myMouseBindings,
        layoutHook         = avoidStruts $ smartBorders myLayouts,
        manageHook         = myManageHook,
        logHook            = dynamicLogWithPP $ defaultPP {
                         ppCurrent = wrap "^fg(#FFFFFF)^bg(#606060)" "^fg()^bg()"
                        ,ppVisible = wrap "^fg(#FFFFFF)^bg()" "^fg()^bg()"
                        ,ppHidden = wrap "^fg(#55BBFF)^bg()" "^fg()^bg()"
                        ,ppHiddenNoWindows = wrap "^fg(#808080)^bg()" "^fg()^bg()"
                        ,ppUrgent = wrap "^fg(#FF0000)^bg()" "^fg()^bg()"
                        ,ppTitle = wrap " ^fg(#FFFFFF)^bg()" "^fg()^bg()"
                        ,ppLayout = \x -> "^fg(#FFBB00)^bg()"
                                              ++ case x of
                                                       "Tall" -> "Tiled"
                                       "Full" -> "Full"
                                                       "Mirror Tall" -> "Tiled Bottom"
                                                       "Tabbed Bottom Simplest" -> "Tabbed"
                                                      _                        -> x
                                                  ++ "^fg()^bg()"
                        ,ppSep = " "
                        ,ppWsSep = ""
                        ,ppOutput = hPutStrLn h
                        }
    }

Last edited by Wra!th (2009-04-03 06:10:30)


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#3 2009-04-03 06:09:58

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: Diving into Tiling WMs, Help Appreciated

I hope your search of the forums led you to this thread
Also check the Wiki for a comparison of tiling wms

zapyourit wrote:

First off, I currently have about a handful installed: awesome, xmonad (which seems to refuse to start), wmii, musca, and ion3. I'm pretty much completely overwhelmed when entering all of them and get lost pretty quick.

My advice : Do NOT try them all out in 1 day. Any software or WM - especially tiling wms need to used over a decent length of time to be able to gauge the efficiency and usefulness for a particular user. This varies from individual to individual.


zapyourit wrote:

I'm looking for something extensible but easy to pick up and go with. I like having a systray and panel of some kind, but they can be minimal and I've heard of more than I thought was possible about simple stand-ins that do these jobs pretty well.

I use musca as my wm and its amazingly simple and easy to use. configuration is thru the .musca_start file - which you can even rename to something else if you like. That's the good thing about it over dwm - that you don't have to keep compiling it all the time. A few of the ratpoison features are simply amazing and musca derives from both dwm and ratpoison.

zapyourit wrote:

I guess my questions are as follows: which do you think would be the easiest to become accustomed to and use efficiently until I become accustomed? What types of configuration do you use in your choice of WM (as in which systray or no systray at all, etc)? And what programs would you recommend for a simple terminal, a music player (currently using Exaile, which is wonderful by the way), and instant messaging application (currently using Pidgin)?

1) Awesome is good - only problem is the ever changing and incompatible with older version config files. I can't for the life of me understand why they would make a config file obsolete for the new version. Hopefully they will come around. Its also a bit heavier than other tiling WMs
2) Xmonad - I have never used -- i hear its very pretty but a little heavier than others. It has good support for multiple screens. a little difficult for beginners due to the fact that it uses haskell and that is a steep learning curve unless you don't mind using other ppl's configs as is. I, for one, am never satisfied until I make some changes at least. So no xmonad for me ...yet !
3) wmii -- two great features - stacking mode which shows the title bars of other windows and the fact that it automatically adds/removes tags depending on whether the tag contains windows or not.
4)dwm -- very light - very bare, you will need to configure almost everything from time in the status bar to setting up conky etc etc. Uses about 480KB res memory on my machine.
5) musca -- lighter still -- usage is anywhere between 330KB - 410KB res. I love it more than dwm because it has manual window management, which I prefer.
6) stumpwm - the next gen of ratpoison based in lisp. Used it for a while..but  it was not for me for various reasons.


As for apps : I do not use panels -- not even in my OB setup. I do use a systray -- stalonetray. In musca, I just pad the tags at the bottom and place my systray and my conky there. My conky also serves as my clock.
terminal -- urxvt
music player -- cplay -- very very less memory consumption - less than mpd and even moc/mocp
messenger -- this depends on which network you want -- but finch - a CLI version of pidgin is available. I am not a fan of CLI messengers for some reasons..so I just use Skype.

Last edited by Inxsible (2009-04-03 06:28:49)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#4 2009-04-03 06:15:47

josomebody
Member
Registered: 2008-06-20
Posts: 190

Re: Diving into Tiling WMs, Help Appreciated

I'd actually recommend starting with awesome. it works fairly well out of the box and the config files aren't too painful to mess with if you get the urge to. it's got a clock, a toolbar, a taskbar, and a notification area by default. open a terminal with window key+enter, run apps with window key+F1, and the man page is really helpful.


: () { : | :& } ;:

Offline

#5 2009-04-03 06:21:41

Berticus
Member
Registered: 2008-06-11
Posts: 731

Re: Diving into Tiling WMs, Help Appreciated

As far as simply jumping in, my vote would have to go to xmonad. The tour guide is very short and concise. The other documentation I've seen, such as ratpoison and stumpwm, are multi-paged (html page, not printed page) and so when it comes to keeping it up front where you can see it, it seems to be the best option. That's what I did for the first half hour (not even?) when I was getting accustomed to it. The others have multiple pages, and you're really learning new concepts. I mean they're good and all, but not for just getting your hands dirty. But that's just only a slight advantage. I think really either way, if you're determined, you can use any tiling window managers and come out just fine.

I used to use xmonad (hard drive issue, lost everything). I had dzen for my status bar, it had cpu usage, network speeds, current song playing in moc, weather, new email, pidgin messages (someone here wrote a C program), time, and date. Thankfully I posted up my xmonad.hs and dzen script here, so I can recover that. To launch programs I used dmenu. I plan to switch to either stumpwm or ratpoison, both of which have status bars. I'll see what I can do with them soon. I think I tried stalonetray or systray. Didn't really like it, don't remember why, but I ditched it.

As for simple terminal applications, that's been addressed several times, and there's a wiki page on it. I use moc to play music, bitlbee+weechat for im, vim+latex for word processing, gnuplot+coreutils for some graphing/data filtering, rtorrent for torrents, mutt+msmtp+fdm+bogofilter+spamassassin for email, shell-fm for a last.fm client, when as a calendar, and lftp for ftping. Keep in mind CLI apps aren't required when using a tiling window manager. I used pidgin until recently for chatting. Oh, for scrobbling with moc, you can use lastfmsubmitd, or I found a bash script that should be able to do the same thing. Haven't tried the script, but from what I can interpret, it should be fine, and is exactly what I wanted.

I don't remember actually having a ~/.xmonad directory until I started configuring...

Offline

#6 2009-04-03 06:22:42

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

Well. That would explain my problems indeed. Thank you Wra!th for the prompt, and very informative, response. I'm looking at some of the haskell configs now. Quick question: have you found haskell to be a problem as a language or is it more that it's just a bit harder to pick up? I consider myself to be a pretty quick learner when it comes to languages (I can see patterns pretty easily which is basically all a programming language is). I can't write anything very well, but I can modify things to my liking without things breaking...usually.

I was looking at urxvt as a terminal. It seems to definitely fit the bill pretty well. I've used it before and liked it quite a bit back in the Fluxbox days.

As far as MPD is concerned, I like being able to see what I'm doing with the music and whatnot (read: GUIs are good when you have a 90+ gig library of music). Are there any decent frontends that are light and would work well in that situation? I was looking at Sonata to fit that portion of my problem.

I've actually grown quite accustomed (and far too comfortable) with a systray over the years. I've installed Conky to monitor most things, but seeing some simple tray information, like the Wicd client and notifications of certain events, has become something that I generally rely on when doing work, so I guess a systray is rather important now that I've given more thought to it. I believe that all of the listed WMs allow for gaps so hopefully that will work out well. Now it's just a matter of configuration and figuring out which one I like.

Thank you again and if you think of anything else as far as comments or simple advice go, it will again be greatly appreciated.

EDIT: Thank you all for the information. Got sidetracked while writing this post and just saw the slew of messages that I missed out on. All of your help will go great lengths to getting me settled in and it was all very helpful. Hopefully things go well. If I run into problems, I'll be right back here. As usual, this just proves again that the Arch community is the best.

Last edited by zapyourit (2009-04-03 06:27:31)

Offline

#7 2009-04-03 06:29:17

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: Diving into Tiling WMs, Help Appreciated

zapyourit wrote:

Well. That would explain my problems indeed. Thank you Wra!th for the prompt, and very informative, response. I'm looking at some of the haskell configs now. Quick question: have you found haskell to be a problem as a language or is it more that it's just a bit harder to pick up? I consider myself to be a pretty quick learner when it comes to languages (I can see patterns pretty easily which is basically all a programming language is). I can't write anything very well, but I can modify things to my liking without things breaking...usually.

I don't like to learn haskell just to config my wm..that's the only problem I found with it.

As far as MPD is concerned, I like being able to see what I'm doing with the music and whatnot (read: GUIs are good when you have a 90+ gig library of music). Are there any decent frontends that are light and would work well in that situation? I was looking at Sonata to fit that portion of my problem.

Sonata is good yes. Try gmpc too.

I've actually grown quite accustomed (and far too comfortable) with a systray over the years. I've installed Conky to monitor most things, but seeing some simple tray information, like the Wicd client and notifications of certain events, has become something that I generally rely on when doing work, so I guess a systray is rather important now that I've given more thought to it. I believe that all of the listed WMs allow for gaps so hopefully that will work out well. Now it's just a matter of configuration and figuring out which one I like.

If it's a must then out of the mentioned wm's I'd go with xmonad. Try using my xmonad.hs as a base and make that use a tray like trayer or stalonetray.

josomebody wrote:

I'd actually recommend starting with awesome. it works fairly well out of the box and the config files aren't too painful to mess with if you get the urge to. it's got a clock, a toolbar, a taskbar, and a notification area by default. open a terminal with window key+enter, run apps with window key+F1, and the man page is really helpful.

Yes..and you need to redo your config almost every new release tongue

Last edited by Wra!th (2009-04-03 06:35:51)


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#8 2009-04-03 08:06:36

moon
Member
From: Netherlands
Registered: 2008-06-01
Posts: 14

Re: Diving into Tiling WMs, Help Appreciated

I only want to add echinus to window managers
well, maybe it is not powerfull as xmonad, or awesome, but it's very simple to configure. maybe you want to try

as im, I use bitlbee

wink

Offline

#9 2009-04-03 08:46:15

bender02
Member
From: UK
Registered: 2007-02-04
Posts: 1,328

Re: Diving into Tiling WMs, Help Appreciated

I found haskell quite different from the usual languages (c, lua, perl, ruby, etc..) I don't consider myself a slow learner, but it took me reading about 2 tutorials and some basic "intro to ..." to catch up with what's going on. [Eventually, I love that language.]

Nevertheless, if you only want to use it to configure xmonad, then just looking at a bunch of sample configs and combining them is usually enough. One thing to remember: whitespace at the beginning of lines matters - that's how haskell recognizes blocks of code.

Offline

#10 2009-04-03 11:58:40

Gigamo
Member
Registered: 2008-01-19
Posts: 394

Re: Diving into Tiling WMs, Help Appreciated

I'll suggest awesome as well. In my opinion the config changing troubles are exaggerated. IF something changes (which is becoming more and more unlikely at this point in development), it's usually a piece of cake to fix. Especially so if you stay close to the default config, but which isn't really needed if you know how it works.

Don't let that scare you away from it.

Last edited by Gigamo (2009-04-03 11:59:07)

Offline

#11 2009-04-03 12:14:04

manx
Member
From: Staffordshire, England
Registered: 2008-09-27
Posts: 35

Re: Diving into Tiling WMs, Help Appreciated

Another suggesting you start with Awesome - simply because it already comes with it's own status panel and menu, so you don't have to install (and configure) two or three separate programs to get a decent working tiled desktop. Awesome's main config file (rc.lua) is no harder to understand than Xmonad's, and comes with everything pretty much working from scratch.

For console-based programs i would recommend you look at these to start you off:

music player: mpd with ncmpcpp
file editor: vi/vim
file manager: use the commandline or mc if you have to
chat: irssi

Last edited by manx (2009-04-03 12:22:52)

Offline

#12 2009-04-03 12:33:54

peets
Member
From: Montreal
Registered: 2007-01-11
Posts: 936
Website

Re: Diving into Tiling WMs, Help Appreciated

I got "converted" to tiling WMs by using wmii, if I remember correctly. Make sure you have xmessage installed: the first time you start it up, you'll get a useful tutorial. It did a few things that wms I'd tried before it didn't do: it didn't automatically move my windows in unexpected places, it allowed me to have pretty much the layout I wanted, and it allowed me to switch focus between windows using directional buttons (instead of cycling through an arbitrarily-ordered list alt-tab style).

I've since moved on to StumpWM, but, as was noted above, maybe you should be convinced that you really want a tiling WM before graduating towards it.

Offline

#13 2009-04-03 14:13:54

hatten
Arch Linux f@h Team Member
From: Sweden, Borlange
Registered: 2009-02-23
Posts: 736

Re: Diving into Tiling WMs, Help Appreciated

tried musca as my first wm. It pwns.

Offline

#14 2009-04-03 22:36:06

elmer_42
Member
From: /na/usa/ca
Registered: 2008-10-11
Posts: 427

Re: Diving into Tiling WMs, Help Appreciated

As far as getting started with tiling WMs, I believe wmii to be the best. It's fairly simple and has a great first-run screen that helped me out immensely. After that, I moved on to dwm, and I'm still fairly happy with it.


[ lamy + pilot ] [ arch64 | wmii ] [ ati + amd ]

Offline

#15 2009-04-04 15:29:57

jumzi
Member
Registered: 2009-02-20
Posts: 69

Re: Diving into Tiling WMs, Help Appreciated

wmii -- awesome stacking mode for one thing.
It's small

ALTOUGH it uses a plan9 style filemanaging system for the setup. It's really sweet and makes interactive settings a breeze, only problem is that anyone that hasn't used it probably read this and wonder what tha hell i mean.

But the intro gives you a taste about it, and then you have to write stuff in tags or clents "ctl" to change them and "sel" allways mean the selected object in question. This wont make any sence before you read the intro wmii page and "man wmiir" plus the default wmiirc (located in /etc/wmii-hg/wmiirc)

And ooh yeah... don't use wmii from extra, use wmii-hg from aur

Offline

#16 2009-04-04 22:50:49

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

Currently, I'm writing to you from wmii. Really liking it so far. Very simple to set up and configure to personal preferences. Also, seems like it's one of the most extensible of the bunch. I've actually uninstalled awesome now. I used it for a while and it just didn't feel right for one reason or another. Maybe once they add in some more of what they have planned and decided on making compatible updates I will try it again. But until then, I really don't see the point to be honest, unless some people have very strong thoughts on the topic? Just throwing it out there.

I think that Musca also looks really nice, so I think I am giving that a go sometime soon. Any advice from those who have mentioned/use it?

Also, Wra!th thank you for posting your xmonad.hs file. I appreciate it. Copy/pasted and Xmonad has been willing to boot now, so that's good news overall.

Again, thank you all for your advice. Might be back some time in the near future about some questions I have, but I'm seeing if I can figure it out myself. smile

Offline

#17 2009-04-05 00:00:42

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

Also, I meant to ask: for those of you who do/have use(d) Xmonad, do you find that it's worth the ~400mb of space ghc takes up by itself? Or are there alternative compilers for haskell that could work in Xmonad that you've found?

Offline

#18 2009-04-05 00:08:37

SamC
Member
From: Calgary
Registered: 2008-05-13
Posts: 611
Website

Re: Diving into Tiling WMs, Help Appreciated

Why don't you just uninstall GHC?

Anyway, 400mb isn't that much.

Last edited by SamC (2009-04-05 00:09:11)

Offline

#19 2009-04-05 00:26:25

X/ax
Member
From: Oost vlaanderen, Belgium
Registered: 2008-01-13
Posts: 275
Website

Re: Diving into Tiling WMs, Help Appreciated

Indeed, ghc isn't required, and if you really want to play around with configuring and seeing the result on the fly, 400mb is indeed not much.
You have to take into account that you'll at some point be pleased with what you configured, and you'll be capable of deleting ghc (until such time you need it again)

I'd do a +xmonad if you're still looking out. It teaches you a lot (not to talk about the one side-effect: haskell)
It's really extensible and configurable too, albeit I don't know wmii so I can't compare really.

Imho, it's the speed that makes me go xmonad smile
+ It's the only tile I did, and I somehow was pleased from the very first second.


My coding blog (or an attempt at it)
Archer start page (or an attempt at it)

Offline

#20 2009-04-05 02:09:25

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

Indeed, 400 mb is tiny and really not worth considering, but it also winds up weighing in heavier than any other software I have installed on a system that I'm trying to configure to be as light and fast as possible. Sadly, there are some programs (Exaile and OOo just to name 2) that I seemingly can't live without at this point so they live on in my hard drive.

My problem with ghc is that I like to tinker. A lot. Really bad actually as I wind up breaking things. But I can't help it in Arch where the system is so open to change. Thus, I have a feeling I would be playing with the config every so often, necessitating ghc. However, I am not counting Xmonad out by any means. Merely asking the question.

I've been enthralled with wmii however, which seems like a tough competitor to beat at this point. Installing the hg packages from the AUR as was advised as I write this. Hopefully all goes well. smile

Offline

#21 2009-04-05 02:26:19

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: Diving into Tiling WMs, Help Appreciated

zapyourit wrote:

I think that Musca also looks really nice, so I think I am giving that a go sometime soon. Any advice from those who have mentioned/use it?

Check out the sticky for Musca thread in the Community Contribution section. It has a lot of info. I also try to update the musca wiki page as and when I get time.

Last edited by Inxsible (2009-04-05 02:26:53)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#22 2009-04-07 02:50:23

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

OK. Just a quick update and a couple questions: I've come to love both Musca and wmii. I'm still getting used to Musca, but wmii has been working beautifully. Xmonad was, as said, too complex and difficult with haskell. I understand what it says, but I have a hard time using that knowledge to edit the config and incorporate new lines of code. So I have given up for now, which seems to be all for the better as I'm learning as I go in a different wm, so I will be better prepared if/when there is a next time. smile

Now, as for the questions... For those of you who run wmii, right now, when I Mod+a for the actions and select "wmiirc" (where I've configured some things myself), wmii just dies on me. It's as if it tries to run wmiirc but never completes it. All of the commands, and I mean all of them, from changing views and tags to even trying to get into the Actions menu, don't work. I have no idea why that's happening. Any ideas?

I'm completely lost. The wmii guide is not hugely helpful and the wiki is barren...

Thanks again for any help. smile

Offline

#23 2009-04-07 05:47:08

Wra!th
Member
Registered: 2009-03-31
Posts: 342

Re: Diving into Tiling WMs, Help Appreciated

zapyourit wrote:

OK. Just a quick update and a couple questions: I've come to love both Musca and wmii. I'm still getting used to Musca, but wmii has been working beautifully. Xmonad was, as said, too complex and difficult with haskell. I understand what it says, but I have a hard time using that knowledge to edit the config and incorporate new lines of code. So I have given up for now, which seems to be all for the better as I'm learning as I go in a different wm, so I will be better prepared if/when there is a next time. smile

Now, as for the questions... For those of you who run wmii, right now, when I Mod+a for the actions and select "wmiirc" (where I've configured some things myself), wmii just dies on me. It's as if it tries to run wmiirc but never completes it. All of the commands, and I mean all of them, from changing views and tags to even trying to get into the Actions menu, don't work. I have no idea why that's happening. Any ideas?

I'm completely lost. The wmii guide is not hugely helpful and the wiki is barren...

Thanks again for any help. smile

That's probably because there's something wrong with the config.
Check the terminal output to see what line is buggy. You could also post your config in here so we have a look at it.


MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00

Offline

#24 2009-04-07 06:17:55

Inxsible
Forum Fellow
From: Chicago
Registered: 2008-06-09
Posts: 9,183

Re: Diving into Tiling WMs, Help Appreciated

zapyourit wrote:

OK. Just a quick update and a couple questions: I've come to love both Musca and wmii. I'm still getting used to Musca, but wmii has been working beautifully. Xmonad was, as said, too complex and difficult with haskell. I understand what it says, but I have a hard time using that knowledge to edit the config and incorporate new lines of code. So I have given up for now, which seems to be all for the better as I'm learning as I go in a different wm, so I will be better prepared if/when there is a next time. smile

Now, as for the questions... For those of you who run wmii, right now, when I Mod+a for the actions and select "wmiirc" (where I've configured some things myself), wmii just dies on me. It's as if it tries to run wmiirc but never completes it. All of the commands, and I mean all of them, from changing views and tags to even trying to get into the Actions menu, don't work. I have no idea why that's happening. Any ideas?

I'm completely lost. The wmii guide is not hugely helpful and the wiki is barren...

Thanks again for any help. smile

After it dies on you, check the log files. /var/log/Xorg.0.log would be a good place to start. It will probably list the cause of death.

dmesg | tail

is another option which may give you some information. And finally like Wra!th mentioned, checking the terminal output can also be helpful.

Last edited by Inxsible (2009-04-07 06:18:43)


Forum Rules

There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !

Offline

#25 2009-04-07 06:24:42

zapyourit
Member
Registered: 2008-05-12
Posts: 46

Re: Diving into Tiling WMs, Help Appreciated

This is my wmiirc:

#!/bin/dash -f
# Configure wmii
wmiiscript=wmiirc # For wmii.sh
. wmii.sh

# Configuration Variables
MODKEY=Mod1
UP=k
DOWN=j
LEFT=h
RIGHT=l

# Bars
noticetimeout=5
noticebar=/rbar/!notice

# Colors tuples: "<text> <background> <border>"
WMII_NORMCOLORS='#000000 #c1c48b #81654f'
WMII_FOCUSCOLORS='#000000 #81654f #000000'

WMII_BACKGROUND='#333333'
WMII_FONT='-*-fixed-medium-r-*-*-13-*-*-*-*-*-*-*'

set -- $(echo $WMII_NORMCOLORS $WMII_FOCUSCOLORS)
WMII_TERM="xterm"

# Menu history
hist="$(wmiir namespace)/history"
histnum=5000

# Column Rules
wmiir write /colrules <<!
/gimp/ -> 17+83+41
/.*/ -> 62+38 # Golden Ratio
!

# Tagging Rules
wmiir write /tagrules <<!
/MPlayer|VLC/ -> ~
/Navigator:.*/ -> +1
/pidgin:.*/ -> +2
/exaile.*:.*/ -> +3
/evolution:.*/ -> +4
/urxvt-tabbed:.*/ -> +0
!

# Status Bar Info
status() {
        echo -n $(uptime | sed 's/.*://; s/,//g') '|' $(date)
}

local_events() { true;}
wi_runconf -s wmiirc_local

echo $WMII_NORMCOLORS | wmiir create $noticebar

# Event processing
events() {
        sed 's/^        //' <<'!'
        # Events
        Event CreateTag
                echo "$WMII_NORMCOLORS" "$@" | wmiir create "/lbar/$@"
        Event DestroyTag
                wmiir remove "/lbar/$@"
        Event FocusTag
                wmiir xwrite "/lbar/$@" "$WMII_FOCUSCOLORS" "$@"
        Event UnfocusTag
                wmiir xwrite "/lbar/$@" "$WMII_NORMCOLORS" "$@"
        Event UrgentTag
                shift
                wmiir xwrite "/lbar/$@" "*$@"
        Event NotUrgentTag
                shift
                wmiir xwrite "/lbar/$@" "$@"
        Event LeftBarClick LeftBarDND
                shift
                wmiir xwrite /ctl view "$@"
        Event Unresponsive
                {
                        client=$1; shift
                        msg="The following client is not responding. What would you like $
                        resp=$(wihack -transient $client \
                                      xmessage -nearmouse -buttons Kill,Wait -print \
                                               "$msg $(wmiir read /client/sel/label)")
                        if [ "$resp" = Kill ]; then
                                wmiir xwrite /client/$client/ctl slay &
                        fi
                }&
        Event Notice
                wmiir xwrite $noticebar $wi_arg

                kill $xpid 2>/dev/null # Let's hope this isn't reused...
                { sleep $noticetimeout; wmiir xwrite $noticebar ' '; }&
                xpid = $!
        Menu Client-3-Delete
                wmiir xwrite /client/$1/ctl kill
        Menu Client-3-Kill
                wmiir xwrite /client/$1/ctl slay
        Menu Client-3-Fullscreen
                wmiir xwrite /client/$1/ctl Fullscreen on
        Event ClientMouseDown
                wi_fnmenu Client $2 $1 &
        Menu LBar-3-Delete
                tag=$1; clients=$(wmiir read "/tag/$tag/index" | awk '/[^#]/{print $2}')
                for c in $clients; do
                        if [ "$tag" = "$(wmiir read /client/$c/tags)" ]; then
                                wmiir xwrite /client/$c/ctl kill
                        else
                                wmiir xwrite /client/$c/tags -$tag
                        fi
                        if [ "$tag" = "$(wi_seltag)" ]; then
                                newtag=$(wi_tags | awk -v't='$tag '
                                        $1 == t { if(!l) getline l
                                                  print l
                                                  exit }
                                        { l = $0 }')
                                wmiir xwrite /ctl view $newtag
                        fi
                done
        Event LeftBarMouseDown
                wi_fnmenu LBar "$@" &
        # Actions
        Action start
                exec firefox-beta & pidgin & urxvt-tabbed
        Action quit
                wmiir xwrite /ctl quit
        Action exec
                wmiir xwrite /ctl exec "$@"
        Action rehash
                proglist $PATH >$progsfile
        Action status
                set +xv
                if wmiir remove /rbar/status 2>/dev/null; then
                        sleep 2
                fi
                echo "$WMII_NORMCOLORS" | wmiir create /rbar/status
                while status | wmiir write /rbar/status; do
                        sleep 1
                done
        # Key Bindings
        Key $MODKEY-Control-t
                case $(wmiir read /keys | wc -l | tr -d ' \t\n') in
                0|1)
                        echo -n "$Keys" | wmiir write /keys
                        wmiir xwrite /ctl grabmod $MODKEY;;
                *)
                        wmiir xwrite /keys $MODKEY-Control-t
                        wmiir xwrite /ctl grabmod Mod3;;
                esac
        Key $MODKEY-space
                wmiir xwrite /tag/sel/ctl select toggle
        Key $MODKEY-d
                wmiir xwrite /tag/sel/ctl colmode sel default-max
        Key $MODKEY-s
                wmiir xwrite /tag/sel/ctl colmode sel stack-max
        Key $MODKEY-m
                wmiir xwrite /tag/sel/ctl colmode sel stack+max
        Key $MODKEY-a
                action $(wi_actions | wimenu -h "${hist}.actions" -n $histnum) &
        Key $MODKEY-p
                eval wmiir setsid "$(wimenu -h "${hist}.progs" -n $histnum <$progsfile)" &
        Key $MODKEY-t
                wmiir xwrite /ctl view $(wi_tags | wimenu -h "${hist}.tags" -n 50) &
        Key $MODKEY-Return
                eval wmiir setsid $WMII_TERM &
        Key $MODKEY-Shift-space
                wmiir xwrite /tag/sel/ctl send sel toggle
        Key $MODKEY-f
                wmiir xwrite /client/sel/ctl Fullscreen toggle
        Key $MODKEY-Shift-c
                wmiir xwrite /client/sel/ctl kill
        Key $MODKEY-Shift-t
                wmiir xwrite "/client/$(wmiir read /client/sel/ctl)/tags" $(wi_tags | wim$
        Key $MODKEY-$LEFT
                wmiir xwrite /tag/sel/ctl select left
        Key $MODKEY-$RIGHT
                wmiir xwrite /tag/sel/ctl select right
        Key $MODKEY-$DOWN
                wmiir xwrite /tag/sel/ctl select down
        Key $MODKEY-$UP
                wmiir xwrite /tag/sel/ctl select up
        Key $MODKEY-Control-$DOWN
                wmiir xwrite /tag/sel/ctl select down stack
        Key $MODKEY-Control-$UP
                wmiir xwrite /tag/sel/ctl select up stack
        Key $MODKEY-Shift-$LEFT
                wmiir xwrite /tag/sel/ctl send sel left
        Key $MODKEY-Shift-$RIGHT
                wmiir xwrite /tag/sel/ctl send sel right
        Key $MODKEY-Shift-$DOWN
                wmiir xwrite /tag/sel/ctl send sel down
        Key $MODKEY-Shift-$UP
                wmiir xwrite /tag/sel/ctl send sel up
#Personal Commands
        Key $MODKEY-Shift-p
                exec pidgin
        Key $MODKEY-Shift-f
                exec firefox-beta
        Key $MODKEY-Shift-e
                exec evolution
        Key $MODKEY-Shift-m
                exec exaile
        Key Control-`
                exec exaile -t
        Key Control-PageDown
                exec exaile -n
        Key Control-PageUp
                exec exaile -p
!
        for i in 0 1 2 3 4 5 6 7 8 9; do
                sed 's/^        //' <<!
        Key $MODKEY-$i
                wmiir xwrite /ctl view "$i"
        Key $MODKEY-Shift-$i
                wmiir xwrite /client/sel/tags "$i"
!
        done
}
wi_events <<!
$(events)
$(local_events)
!
unset events local_events

# WM Configuration
wmiir write /ctl <<!
        font $WMII_FONT
        focuscolors $WMII_FOCUSCOLORS
        normcolors $WMII_NORMCOLORS
        grabmod $MODKEY
        border 1
!
xsetroot -solid "$WMII_BACKGROUND" &

export WMII_FONT WMII_TERM
export WMII_FOCUSCOLORS WMII_SELCOLORS WMII_NORMCOLORS

# Misc
progsfile="$(wmiir namespace)/.proglist"
action status &
wi_proglist $PATH >$progsfile &

# Setup Tag Bar
IFS="$wi_nl"
wmiir rm $(wmiir ls /lbar | sed 's,^,/lbar/,') >/dev/null
seltag=$(wmiir read /tag/sel/ctl | sed 1q)
unset IFS
wi_tags | while read tag
do
        if [ "$tag" = "$seltag" ]; then
                echo "$WMII_FOCUSCOLORS" "$tag"
        else
                echo "$WMII_NORMCOLORS" "$tag"
        fi | wmiir create "/lbar/$tag"
done

wi_eventloop

That's it. Trying it in the terminal didn't dump anything which I believe might have to do with the failure of anything happening...

Edit: changed some of the code. Testing the changes now.

Last edited by zapyourit (2009-04-08 03:03:05)

Offline

Board footer

Powered by FluxBB