I have my sawfish configuration online here, in case it is useful to anyone. It's not what I would consider an impressive or extensive setup, but it hopefully will answer the occasional question about how to implement or configure various features.
- custom (written by sawfish-ui)
- marks.jl (used by tabs)
- my-apps-menu.jl (app menu definition)
- my-config-local.jl (machine-specific configuration)
- my-config.jl (general config)
- my-favorite-fonts.txt (list of good fonts, used by randomizer)
- my-favorite-themes.txt (themes I like, used by randomizer)
- my-keymap-local.jl (machine-specific keymaps)
- my-keymap.jl (generic keymap config)
- my-theme.jl (default theme and font)
- rc (primary config file)
- tab-keymap.jl (keymappings for tabbed windowing)
- tab.jl (primary tabbed windowing code)
- tabgroup.jl (tabbed windowing library code)
I share this configuration across several machines, and all the config is kept in subversion. So, some parts are split into generic and machine-specific portions. This lets me share most of the config but still customize each machine for specific behavior that differs from the others.
I looked for "sawfish tabs" one day, hoping someone had implemented tabs in sawfish. I was looking for something like pwm or fluxbox's tabs. I didn't find exactly what I was looking for, but google pointed me at something which was a good start. Yann Hodique's sawfish code site contains fluxbox-like tabs which were close to what I wanted. I got his code to work, and have since made improvements. The result is available here.
What you will need for tabbed windowing are several files from the list above: tab.jl, tabgroup.jl, tab-keymap.jl, marks.jl, and a tab-enabled theme. Look at tab.jl for installation instructions.
If you make any improvements to the tab code, or make any tab-enabled themes, or even just find the tabbed windowing useful, please let me know. I'd like to incorporate improvements into the code here, and provide more themes which are compatible.