You are not logged in.
I must say I'm surprised not many people use Ratpoison (even though I see A LOT of people using tiling window managers)
First a bit of description ( for whoever has no ideea what it is )
Technically Ratpoison is NOT a "tiling" window manager because the default behaviour is not to arrange windows in a tile grid, but to have a separate screen for every window. The ones that tried (or use) GNU Screen know what I'm talking about. This of course does not mean that you can't tile the windows.
Ratpoison is basically the X version of GNU Screen (default config even shares the same shortcuts).
The name might seem a bit odd..but it comes from the fact that you DO NOT need a mouse to control this WM (other tilers say the same but there is a limited amount of things you can do with only keyboard commands in those). Therefore...DEATH TO THE RAT! . If you have a server like I do that doesn't even have a mouse, this WM can be very helpful. Add "banish" to your config to make the cursor jump to the lower-right corner of your screen if you don't use a mouse.
What made me try Ratpoison ?
1. First of all it's very lightweight and HIGLY customisable.
2. It has a "message system" that pops up (which can be used to warn about low battery stuff etc. You can do that from any application or script..all you need to do is run `ratpoison -c "echo <text>"`).
3. The tiling part of it is optional, you can have every window ( apart from application popups etc ) open in a brand new "virtual" screen as with GNU Screen. You can just hit a key and you get a list of the windows, and then just select the number of the window you want). It sucked when using other tiling window managers because when I was downloading some file, the "Downloads" window would open, making all the tiles re-arrage etc (this can be controlled of course but still...Ratpoison doesn't have this in the dafault behaviour)
4. Dualscreen works like a charm out of the box! All other tiling managers didn't work for me, not even WMII wich is supposed to have great Xinerama support.
5. And the best part? Well the easy customisation part, All done in ONE config file (which can also be used to run startup commands). The commands you run in that config file can be ran from within the WM itself too ( so you could configure the WM on the fly, without restarting X ). You can also write scripts that do stuff automatically ( I wrote a simple one that splits the selected frame(window) in 3 and opens the apps I want in those frames...you can actually write automations like this for Ratpoison with ease ! ).
Some applications really really don't go along with Ratpoison, Gimp beeing one of them. But Ratpoison has a fix for that too
The command is called "tmpwm", and it can be used to temporarly run ANOTHER WM that you can use to do your Gimp stuff ( open windows do not close, they're just managed by the new wm ). After you're done you just exit that WM and you're back to good'ol Ratpoison.
You could always use Xnest to run a xserver as a client too of course...
Ah...and not that most of you would care but this is the only WM (afaik) that has an UNDO function! ( if I split a window in 2 by accident I can just undo! ).
So...just for the fun of it..you can try it..who knows? you might just like it.
To get extra info..just RTFM ( aka `man ratpoison` )
Now..I know there must be SOME Ratpoison users around so why not have a thread for this fine piece of software? Post whatever you like about it: screenshots, comments, configs are a must since there's so many things that can be done.
Just share your stuff. Our ~/.ratpoisonrc can always be improved!
Attaching my ratpoisonrc and a screenshot
(I recently edited my config to just bare necesities)
I wrote bindings to set my custom layouts, dmenu to start applications, window selection using dmenu ( YES! ), resize and "move around" stuff . The rest are just tipical config elements
startup_message off
unmanage panel
unmanage MPlayer
#layouts [ ] [|] [|= [-] [+]
definekey top M-F1 exec ratpoison -c "echo Layout 1" -c "select -" -c "only" -c "next"
definekey top M-F2 exec ratpoison -c "echo Layout 2" -c "select -" -c "only" -c "hsplit" -c "next"
definekey top M-F3 exec ratpoison -c "echo Layout 3" -c "select -" -c "only" -c "hsplit" -c "next" -c "focusright" -c "next" -c "vsplit" -c "next"
definekey top M-F4 exec ratpoison -c "echo Layout 4" -c "select -" -c "only" -c "vsplit" -c "next"
definekey top M-F5 exec ratpoison -c "echo Layout 5" -c "select -" -c "only" -c "hsplit" -c next -c "vsplit" -c next -c "focusright" -c next -c "vsplit" -c "next"
set winname title
set winfmt %n %s %t
set fgcolor #FFFFFF
set bgcolor #000000
set font -*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
set winliststyle column
set inputwidth 400
set waitcursor 1
set padding 0 20 0 0
set barpadding 1 1
set wingravity n
set transgravity center
set bargravity nw
set border 0
set barborder 1
set inputwidth 800
definekey top M-S-Return exec urxvt
definekey top M-m exec $(dmenu_path | dmenu)
definekey top M-w exec ratpoison -c "select `ratpoison -c "windows" | dmenu | awk '{print $1}'`"
definekey top M-q kill
definekey top M-C-Left exchangeleft
definekey top M-C-Right exchangeright
definekey top M-C-Up exchangeup
definekey top M-C-Down exchangedown
definekey top M-Left resize -20 0
definekey top M-Right resize 20 0
definekey top M-Up resize 0 20
definekey top M-Down resize 0 -20
bind o only
bind v hsplit
bind h vsplit
Screenshot:
Ratpoison 1.4.3
conky
urxvt + GNU Screen
Firefox (with Vimperator)
Mist GTK Theme
Oldgnome Icons
rox
Last edited by ArchGh0ul (2009-03-29 17:06:44)
Offline
I am a seasoned ratpoison user and lover. I recommend the git version, where the tmpwm command works properly and xft is supported (a forgivable concession to modernity... )
Perhaps the developer is now keener on stumpwm, but I still prefer ratpoison just for the simplicity of the config file.
Last edited by patroclo7 (2009-03-30 21:56:05)
Mortuus in anima, curam gero cutis
Offline
Not ratpoison....but I do use musca which derives from ratpoison and dwm. I love it. It too features an undo command. Default is separate screen for every window, single config file. Memory usage about 350 LB as per ps_mem.py. The added advantage is that it also has some mouse support....so don't kill the rat simply make it your bitch !!!
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
I still use 1.,4.3 but will give git a try.
Tried StumpWM too and honestly it has everything RP has and a lot more. Sadly it's to unstable (on my box anyway), and it comes with great dependencies...
I tried musca. It's not bad at all but still kind of a new project..I'll wait for a bit and see where it's going. I don't really like the name though (I'm picky that way ). Means "fly" in my language.
Last edited by ArchGh0ul (2009-03-31 06:52:55)
Offline
Yeah I've been using Ratpoison for months now. It's the best WM I've come across and I've began to love tiling. The other tiling wm's just annoyed me because, like you said, the apps would jump around when a new one got opened. Manual tiling is the best way to do it.
It's kind of sad that the dev is now focusing on stumpwm, though I can't think of any feature that I would like to see in Ratpoison.
I don't really use the tmpwm thingy, I just start another X server if I need to use a floating window manager.
startx /home/$USER/.xinitobox -- :1
Then I have a separate config for xbindkeys. I use xbindkeys with ratpoison to start the applications I want with specific keybindings and I have some ratpoison commands binded as well.
An old screenshot, but I haven't changed anything:
###### Ratpoison config ######
## Settings ##
startup_message off
set fgcolor #46A4FF
set bgcolor black
set barborder 1
set bargravity s
set inputwidth 300
set border 1
set padding 0 0 0 18
set framesels 123456789
set winname class
alias term 'exec urxvt'
## Bindings ##
bind period colon
bind s hsplit
bind S vsplit
bind F1 exec ratpoison -c "setenv fs1 `ratpoison -c 'fdump'`"
bind F2 exec ratpoison -c "setenv fs2 `ratpoison -c 'fdump'`"
bind F3 exec ratpoison -c "frestore `ratpoison -c 'getenv fs1'`"
bind F4 exec ratpoison -c "frestore `ratpoison -c 'getenv fs2'`"
## Groups ##
addhook switchgroup groups
gnewbg 1
gnewbg 2
gnewbg 3
gselect 0
Offline
This is my quite old ratpoison config
# -- Ratpoison config by sirmacik
startup_message off
# -- Mod4-z to escape
escape s-z
bind Escape abort
# {{{ rudeness is a bitwise or of the following values:
# 1 Transient windows may raise.
# 2 Normal windows may raise.
# 4 New transient windows end up in the foreground.
# 8 New normal windows end up in the foreground.
rudeness 12
# }}}
warp on
# {{{ Bar
set wingravity center
set transgravity center
set bargravity n
set border 0
set barborder 1
set padding 0 0 0 20
set barpadding 1 1
set inputwidth 100
set font -*-fixed-*-*-*-*-9-*-*-*-*-*-*-*
set bgcolor black
set fgcolor #4ca04c
msgwait 3
# }}}
# {{{ Applications
# -- Firefox
bind f exec firefox
bind s-f exec firefox
definekey top s-f exec firefox
# -- Mutt
definekey top s-m exec xterm -e mutt
# -- mcabber (j from jid)
definekey top s-j exec xterm -e mcabber
# -- gimp (after second command (s-G), to restore gimp in frames, run s-2)
definekey top s-g exec ratpoison -c "hsplit 1/5" -c "focusright" -c "hsplit 3/4" && exec gimp
definekey top s-G exec ratpoison -c "exchangeright" -c "focusleft" -c "select 0" -c "focusleft" -c "select 1" && exec ratpoison -c "dedicate" -c "focusright" && exec ratpoison -c "dedicate" -c "focusright" && exec ratpoison -c "dedicate" -c "focusleft" && exec ratpoison -c "setenv fs2 `ratpoison -c 'fdump'`"
# }}}
# -- Printscreen
definekey top Print exec scrot -d 2 ~/scrot-%Y-%m-%d.png && ratpoison -c "echo screenshot saved as `%Y-%m-%d`!"
# --- Use the name of the program rather than the title in the window list
set winname name
# {{{ Storing layouts in three slots
# -- bind Mod4-! to store the current frame layout in slot #1
definekey top s-exclam exec ratpoison -c "setenv fs1 `ratpoison -c 'fdump'`" && exec ratpoison -c "echo layout stored in slot #1"
# -- bind Mod4-1 to restore the frame layout in slot #1
definekey top s-1 exec ratpoison -c "frestore `ratpoison -c 'getenv fs1'`"
# -- Do the same for slot #2 and bind it to Mod4-@ and Mod4-2, respectively.
definekey top s-at exec ratpoison -c "setenv fs2 `ratpoison -c 'fdump'`" && exec ratpoison -c "echo layout stored in slot #2"
definekey top s-2 exec ratpoison -c "frestore `ratpoison -c 'getenv fs2'`"
# -- Give ourselves another slot on Mod4-# and Mod4-3, respectively.
definekey top s-numbersign exec ratpoison -c "setenv fs3 `ratpoison -c 'fdump'`"&& exec ratpoison -c "echo layout stored in slot #3"
definekey top s-3 exec ratpoison -c "frestore `ratpoison -c 'getenv fs3'`"
# }}}
# {{{ Sticky Windows
bind d dedicate
bind s-d dedicate
# }}}
# {{{ Workspaces
definekey top s-1 exec rpws 1
definekey top s-2 exec rpws 2
definekey top s-3 exec rpws 3
definekey top s-4 exec rpws 4
definekey top s-5 exec rpws 5
definekey top s-6 exec rpws 6
definekey top s-7 exec rpws 7
definekey top s-8 exec rpws 8
definekey top s-9 exec rpws 9
# }}}
# {{{ Startup
# -- Init nine workspaces
exec rpws init 9 -k
exec xsetroot -bg black -cursor_name left_ptr &
# }}}
With screenshot:
I'm using also openbox with stiler ;]
Last edited by sirmacik (2009-03-31 14:18:14)
Offline
*snip
i still use your conky! and yeah i have used ratpoison a lot as well!
"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com
Offline
I use ratpoison too, but I am thinking of moving to musca. What is holding me back is the display of the window list. (which is also why I don't like stumpwm)
I changed the source a bit so it doesn't display the window list on the second monitor.
I use it in fullscreen mode exclusively.
I haven't used the "command/escape" key in ages. I have bound all I need to numpad keys. And I use xbindkeys for running menus/multimedia keys.
Here is my ratpoisonrc. It hasn't changed in ages too.
escape C-grave
definekey top KP_Left prev
definekey top KP_Right next
definekey top KP_Subtract delete
definekey top KP_Up windows
definekey top KP_Insert colon
definekey top KP_Delete redisplay
definekey top Print nextscreen
set border 0
rudeness 12
#bar appearance
msgwait 0
startup_message off
set winname class
set barborder 0
set font 9x15
set inputwidth 500
set bgcolor black
set fgcolor #7070ff
set bargravity se
set wingravity nw
set winliststyle row
set winfmt %t
Offline
If you use fullscreen exclusively you might want to give antiwm a go . Just tried it today and it's kinda fun
Glad to see I'm not alone.
How do you guys handle mplayer with RP? I just set it to be unmanaged, But sometimes I want it tiled with the rest. Any way of making it unmanaged only in fullscreen mode?
I must say gimp DOES need some of the stuff StumpWM has..
I enjoy the mark command. In StumpWM you can mark a bunch of frames (or just one) switch to whatever frame you want and drop them there. That's a neat little feature
Last edited by ArchGh0ul (2009-03-31 17:09:11)
Offline
Means "fly" in my language.
Means "butter" in mine
There's no such thing as a stupid question, but there sure are a lot of inquisitive idiots !
Offline
Means "fly" in my language.
Deutschland or Austria or Switzerland?
"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com
Offline
ArchGh0ul wrote:Means "fly" in my language.
Deutschland or Austria or Switzerland?
He's Romanian
Last edited by Wra!th (2009-03-31 21:04:56)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
a quick question. Threadstarter write that the dual-screen support is good. Which is a must for me. But i would like to make sure before jumping feet-first into it. When maximizing a window will it expand over the two screens or stay within the borders of one screen?
Offline
How do you guys handle mplayer with RP? I just set it to be unmanaged, But sometimes I want it tiled with the rest. Any way of making it unmanaged only in fullscreen mode?
Mplayer seems to behave in a really strange manner, but...
I have set the mplayer configs like this:
...
geometry="1678x1030+0%+0%" #size, location
monitoraspect="16:10"
aspect="16:10"
...
I have a 1680x1050 monitor. The border margins reduce the amount of pixels obviously, and my conky takes up 18 pixels height-wise. If you configure mplayer like this, it fills the screen when you only have a single frame. If you split, it works fine (like all the other apps.)
So basically, you have to configure mplayer like that, if you want to make it behave nicely with ratpoison.
Offline
a quick question. Threadstarter write that the dual-screen support is good. Which is a must for me. But i would like to make sure before jumping feet-first into it. When maximizing a window will it expand over the two screens or stay within the borders of one screen?
There's no need of "jumping in"...
You can have multiple window managers installed at the same time. Just install it and try.
RP works great with dualscreen. You just need a keybinding to switch to what desk you want. Windows do NO span over the other desk
bind x nextscreen
binx z prevscreen
put that in your ~/.ratpoisonrc
Then just C-t + x or + z to switch between them
Last edited by Wra!th (2009-04-01 06:01:55)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
Daisuke_Aramaki wrote:ArchGh0ul wrote:Means "fly" in my language.
Deutschland or Austria or Switzerland?
He's Romanian
ok. well it also means flies in german, thats why i asked.
"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com
Offline
Wra!th wrote:Daisuke_Aramaki wrote:Deutschland or Austria or Switzerland?
He's Romanian
ok. well it also means flies in german, thats why i asked.
Well, it's named after the star constellation "Musca", which is a fly. So I guess it's a bit "on purpose".
Offline
yama wrote:a quick question. Threadstarter write that the dual-screen support is good. Which is a must for me. But i would like to make sure before jumping feet-first into it. When maximizing a window will it expand over the two screens or stay within the borders of one screen?
There's no need of "jumping in"...
You can have multiple window managers installed at the same time. Just install it and try.
RP works great with dualscreen. You just need a keybinding to switch to what desk you want. Windows do NO span over the other deskbind x nextscreen binx z prevscreen
put that in your ~/.ratpoisonrc
Then just C-t + x or + z to switch between them
I know. Was just an expression
Thanks alot for your answer. Will give ratpoison a try
Offline
Daisuke_Aramaki wrote:Wra!th wrote:He's Romanian
ok. well it also means flies in german, thats why i asked.
Well, it's named after the star constellation "Musca", which is a fly. So I guess it's a bit "on purpose".
Thanks for clarifying! I dídn't know about the constellation!
"You know what I found? Right in the kernel, in the heart of the operating system, I found a developer's comment that said, `Does this belong here?`" -- Simon Lok about Linux kernel in 2005
Reflections on the Strange and the not so Strange
http://skinwalker.wordpress.com
Offline
Decided to try out ratpoison this weekend because I was only ever using Openbox with fullscreen windows anyways. After a few hours of messing around I got the hang of things and made it look pretty!
I'm including the window name in my conky setup with the following bash script:
#!/usr/bin/env bash
ratpoison -c "windows" | grep "*" | cut -c -30
Not the best code, but works for most scenarios, so I'm fine with that.
Pretty much the only apps I don't run in the commandline are Kazehakase and gvim, so ratpoison is fine for my needs. This thread was a great help in setting up my .ratpoisonrc.
Offline
Glad to have another amongst our ranks. Same reason here for using RP: Always in fullscreen and only Firefox as gui
I've updated my ratpoisonrc a bit
startup_message off
unmanage panel
unmanage MPlayer
unmanage feh
escape C-t
#layouts [ ] [|] [|= [-] [+]
definekey top M-F1 exec ratpoison -c "echo Layout 1" -c "select -" -c "only" -c "next"
definekey top M-F2 exec ratpoison -c "echo Layout 2" -c "select -" -c "only" -c "hsplit" -c "next"
definekey top M-F3 exec ratpoison -c "echo Layout 3" -c "select -" -c "only" -c "hsplit" -c "next" -c "focusright" -c "next" -c "vsplit" -c "next"
definekey top M-F4 exec ratpoison -c "echo Layout 4" -c "select -" -c "only" -c "vsplit" -c "next"
definekey top M-F5 exec ratpoison -c "echo Layout 5" -c "select -" -c "only" -c "hsplit" -c next -c "vsplit" -c next -c "focusright" -c next -c "vsplit" -c "next"
msgwait 3
set winname title
set winfmt %n %s %t
set fgcolor Grey90
set bgcolor #191919
set font -*-terminus-medium-r-normal-*-14-*-*-*-*-*-*-*
set winliststyle column
set inputwidth 400
set waitcursor 1
set padding 0 0 0 0
set barpadding 10 5
set wingravity n
set transgravity center
set bargravity ne
set border 0
set barborder 1
set inputwidth 800
definekey top M-S-Return exec urxvt -title "urxvt"
definekey top M-m exec $( dmenu_path | dmenu -nb "#191919" -nf Grey90 -sb Grey90 -sf "#191919")
definekey top M-Tab exec "windows.sh"
bind k kill
definekey top M-C-Left exchangeleft
definekey top M-C-Right exchangeright
definekey top M-C-Up exchangeup
definekey top M-C-Down exchangedown
definekey top M-Left resize -20 0
definekey top M-Right resize 20 0
definekey top M-Up resize 0 20
definekey top M-Down resize 0 -20
definekey top M-d exec "ratinfo.sh"
bind o only
bind v hsplit
bind h vsplit
bind g colon exec firefox http://www.gogle.com/search?q=
exec ratpoison -c "echo Welcome to Ratpoison"
windows.sh
#!/bin/sh
( printf "ratmenu";
ratpoison -c "windows %l %n %t" | sort -nr | while read w x z; do
a=$(printf "%3q" $x); b="ratpoison -c \"select $x\"";
printf " %q\\ %q %q" "$a" "$z" "$b";
done; echo \;) | sh
ratinfo.sh
#!/bin/sh
TEMP=$(cat /proc/acpi/thermal_zone/THRM/temperature | awk '{print $2"C"}')
FREQ=$(cpufreq-info | grep "current CPU frequency" | awk '{print $5"MHz"}')
DATE=$(echo -n $(date +%B,\ %d\ -\ %I:%M\ %p))
SDA1=$(df -h | grep /dev/sda1 |awk '{print $4"/"$2}')
SDA2=$(df -h | grep /dev/sda2 |awk '{print $4"/"$2}')
#MPD=$(mpc | sed -n '1p')
INFO=$(echo -n "Arch $SDA1 :: Home $SDA2 :: CPUFreq: $FREQ :: Temperature $TEMP :: $DATE")
ratpoison -c "echo $INFO"
PS: I'm the thread starter btw..registered a new name because apparently I'm not allowed to change it and administrators don't really like to do that.
PS2: can you share your conky config and wallpaper also?
Last edited by Wra!th (2009-04-04 20:05:29)
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
My wallpaper is a resized + modded Relaxet; my conky configs are up here:
Cool thanks.
Btw no need for an extra script to show the current window.Just stick
${exec ratpoison -c "windows" | grep "*" | cut -c -30}
in your conkyrc
MacGregor DESPITE THEM!
7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Offline
Ah, cool, I wasn't sure if pipes were going to work in my conkyrc, so that's why I did it that way.
Offline
I find myself using Openbox with only fullscreen windows as well and Ratpoison sounds interesting. I think I'll try it out this week.
Offline