Don't Panic! The LinuxHacker's guide to the source

Hi again, now this starts to be a really interesting thing:

Now just included my own wallpapers (yes, it was stupid to include all I had).

Here’s all the info and screens:

Features :
[]Several color themes:
] Green & Transparent Green
[/:m][] Blue & Transparent Blue
[/:m][] Red & Transparent Red
[/:m][] Plain Transparent[/:m][/list:u]
:m][] Advanced panel:
[list] [
] Taskbar
[/:m][] Dinamic icons on mouseover
[/:m][] Right mouse menus assigned to each button
[/:m][] 4 virtual desktops pager
[/:m][] Time & Battery Monitors:
[list] [] Calendar
:m][] Battery script (acpi)[/:m][/list:u][/:m][/list:u]
:m][] “Kuake-Style” terminal (vía F12)
:m][] Screenshots for iconified windows [/:m][/list:u]

Interesting Things
[] Simple configuraton file for end-user: user_conf[list]
] In future versions there will be a menu for some configurations[/:m][/list:u]
:m][] Shutdown/Reboot/Suspend via gdm
:m][]Used Debian Menus
:m][] Some Keybindings:[list]
] Menu -> Opens Desktop menu
[/:m][] “WinKey” -> Toggles Iconified-Uniconified-Iconified (I found this really usefull)
[/:m][] “Alt+1” (Left mouse over laser-blade marvin) -> Rearrange one Column
[/:m][] “Alt+2” (Right mouse over laser-blade marvin) -> Rearrange two Columns
[/:m][] “F12” -> Shows/Hides “Kuake Style” Terminal[/:m][/list:u][/:m][/list:u]

Latest Screenshot:

Green Transparent Theme, with acpi and calendar tools and “Kuake Style” Terminal


I’ve just coded a “Kuake Style Pager” (borrowed many lines from 6thpink), I mean, a fullscreen pager that appears, actually when I push F11, from top corner a a “kuake style console” does, and dissapears when I push it again.

I think this can be a good way to add some other functionalities such as a file manager pointing to your home or Desktop (¿Maybe dfm?)… It can be a cool feature if I can make it appear in fullscreen via a keystroke.

In my actual config, I have a console and the pager appearing and dissapearing all the time :stuck_out_tongue: by this way.

Another idea is to make not only a terminal but a terminal and an instance of a file manager grouped together via fvwmbuttons.

I know this means to load this apps at start and just hide them. My machine is not very fast (650mHz) but I think I prefer to wait a few more seconds at start and have the tools I allways use allready loaded… Maybe an Emacs too…

¿Do you think it’s a good idea?

Well, continuing with this extremely productive conversation with myself, I’ve just implemented a Thunar instance as a kuake-like applet. Just like this (edited from 6thPink’s Kuakeitor):

[code]# -1 hidden, any other value means it is visible
SetEnv kuaked_pos -1

DestroyModuleConfig FvwmKuakeDesktop: *
*FvwmKuakeDesktop: Frame 0
*FvwmKuakeDesktop: Font $[ThemeFont]
*FvwmKuakeDesktop: Colorset 9
*FvwmKuakeDesktop: Rows 21
*FvwmKuakeDesktop: Columns 2
*FvwmKuakeDesktop: (2x20, Padding 3 0, Swallow (Respawn, UseOld, NoClose) ‘kuakeDesktop’ ‘Exec exec thunar --name kuakeDesktop’)

#*FvwmKuakeDesktop: (2x1, Padding 10 0, Icon terminal.png, ActiveIcon terminal_bright.png, PressIcon terminal_pressed.png, \

Title (Side,Left) “Quakeitor, by Johnny Valderrama’s Inc. ©”, Action (Mouse 1) toggle_kuakeDesktop)

#Piperead ‘echo SetEnv i $(($(($[vp.height] - $[bottom_margin]))/2))’
#Piperead ‘echo SetEnv j $(($[vp.width] - 2* $[small_margin]))’

Module FvwmButtons -g 1015x759+3000+0 FvwmKuakeDesktop

DestroyFunc toggle_kuakeDesktop
AddToFunc toggle_kuakeDesktop

  • I Test (EnvMatch kuaked_pos -1) All (FvwmKuakeDesktop) AnimatedMove +3p +3p
  • I Test (EnvMatch kuaked_pos -1) All (FvwmKuakeDesktop) Focus
  • I Test (EnvMatch kuaked_pos -1) All (FvwmKuakeDesktop) WarpToWindow 90 90
  • I Test (EnvMatch kuaked_pos 1) All (FvwmKuakeDesktop) AnimatedMove -3000p +3p
  • I Piperead ‘echo SetEnv kuaked_pos $((${kuaked_pos} * -1))’

Key F10 A A toggle_kuakeDesktop[/code]
It’s done with thunar, wich is not the best fm for this purpose, but it’s the one I use.

The results are just better than I thought… Things run quite fast and it doesn’t waste a week in starting fvwm… It’s a simple and beautifull way of building a funny interface, I think.

I imagine all kind of menus, applications and other stuff falling from the top of your Desktop or appearing from left, right, corners… just with a keystroke.

I’m just begining to understand Fvwm and all it’s possibilities, but I love it.

Note that you don’t strictly need to swallow the window into a FvwmButtons to be able to do this. You could just use the class or name of the Thunar window instead of FvwmKuakeDesktop to bring the window in front of your face.

I use urxvt swallowed for just one reason: the geometry of urxvt is given in characters, and not in pixels, so, it is impossible to get an urxvt window filling the exact width of the monitor (except by pure luck, of if you are willing to take some fun making calculations with fonts, spacing, and urxvt and fvwm borders.

But thunar, as most graphics applications, should not have that problem, so, you could just use “thunar --geometry 1015x759+3000+0 -name kuakeDesktop” to start it, then, I think there should be no problem to make it work without being swallowed. Just use “kuakeDesktop” instead of “FvwmKuakeDesktop” in the toggle function.

You might then need to Style that window to take out the tittle bar, and probable you would need to disable some bindings over it, so it can’t be moved on a conventional way.

Of course, you can continue using FvwmButtons to swallow it, but it will take some extra memory. Not too much, anyway.

EDIT: Of course, that way you would lose the fancy panel borders :stuck_out_tongue:

Well, I supposed that it had to be possible to do without FvwmButtons (although didn’t know exactly how), but my idea is to prepare a more complex box with, for example, a terminal and a file manager (or two terms, one with top and the other with mc)… I think using FvwmButtons as containers will be easier and more logical… And with panel borders!!! :stuck_out_tongue:

Thank you very much for the tip.

I’m trying to integrate Gtk theme with Fvwm.
See this thread:

Main news:
[]With Gtk DontPanic theme integrated and changing with colorthemes (gtk-theme-switch needed).[/:m]
[]Sepparated Colors (just some 3-color based themes) and ThemeStyles (currently plain, gradient or transparent).[/:m]
[]Kuake-style box with terminal, filemanager, thunar, FvwmConsole and pager via F12.[/:m][/list:u]

The 2 folders included (.fvwm and .themes) should be in your home.
(Notice in the Screenshot that Firefox’s tabs are in blue. That’s what I mean that some apps need to be restarted for properly changing gtk theme.)

Now a full Marvin based Icon Theme with permission from the author of the original robot design (see and
I’ve just taken the original robot and added specific icon for each app (this ones taken from the set in fvwm-crystal).
They’re done just with a for in my shell and a simple imagemagick convert command, now I’ll have a look at all of them and retouch the ugly one’s.
Here’re a few random example icons:

Now this seems to be a really Marvin based Fvwm theme, don’t you think so?

Ahh, you gotta love Marvin :slight_smile:

Are those on a transparent background? :slight_smile:

Why in hell do you think so? :wink:

Yes, here you have three real icons:

Composed from Fvwm-crystal Iconset and marvin robots from, I’ve prepared a full (well, quite complete, I think) iconset for Fvwm.

I think the iconset itself needed it’s own thread.

Some example icons:


In this line (for gtk apps) can see MarvinRodent icon theme in here: … tent=60435

Also, MarvinTango Icon Theme:

After playing with many “kuake-styled” stuff I’ve decided the most usefull thing is having just an xterm and a pager in the same panel.
Also added Timescript and Battscript in it and removed from panel.
So now, we have a terminal, a clock, a battery monitor and a pager via F12.

Changed keybindings (old ones overlapped with some programs) and now there’s an Emacs-like scheme (Ctrl-Alt-F+…).

No Thumbnails now (can be activated by just uncommenting a line, thought).

Corrected some other bugs with icons and theme styles.

Here it is:

Oh, I also added a Help File, here it is:


“Menu” -> Opens Desktop menu
“F12” -> Shows/Hides “Kuake Style” Terminal
“ALT+TAB” -> Circulate WindowList

“Ctrl+Alt+F+…” -> Emacs-like Keybinding (ELK+…)

“ELK+ F1” -> Shows this Help Message
“ELK+ 1” -> Rearrange one Column
“ELK+ 2” -> Rearrange two Columns
“ELK+ 3” -> Rearrange Tile
“ELK+ 4” -> Rearrange Cascade
“ELK+ Q” -> Fullscreen
“ELK+ A” -> Maximize
“ELK+ Z” -> Iconify
“ELK+ Space” -> Toggle Iconified/Uniconified

“ELK+ T” -> Terminal Emulator
“ELK+ W” -> Web Browser
“ELK+ D” -> File Manager
“ELK+ E” -> Emacs


Icon 1: System
left: Rearrange one column
middle: Rearrange two column
right: Debian menu
Wheel: Iconify/Show All

Icon 2: Main
Terminal and “main apps menu”

Icon 3: Work
Editor and “work apps menu”

Icon 4: Places
File Manager and “places apps menu”

Icon 5: Network
Web Browser and “internet apps menu”

Icon 6: Config
File Manager to “.fvwm” and “Config apps menu”

Configuration Tips

Edit .fvwm/configs/user_conf for:
.- Wallpaper
.- Favourite Terminal, editor, file manager, web browser
.- Kuake-style terminal
.- Font

Edit .fvwm/apps/* for menus in right mouse on panel icons.[/code]