This is an old revision of the document!


Fluxbox

Fluxbox is a very light window manager, highly customizable (look, shortcuts, etc).

Controlling your sound card with the keyboard

Mod4    m       :ExecCommand amixer sset Master toggle
Mod4    o       :ExecCommand amixer sset Master 1+
Mod4    i       :ExecCommand amixer sset Master 1-
Mod4    Shift   o       :ExecCommand amixer sset PCM 1+
Mod4    Shift   i       :ExecCommand amixer sset PCM 1-
Mod4    p       :ExecCommand xmms -t

Make double-click titlebar maximize the window

Instead of shading the window.

For that, you have to modify the source code of fluxbox. Of course, it is easier if you use a source distribut such as Gentoo (explained here).

But you just have to modify one line in Window.cc :

Window.cc:4084
-  frame().setOnClickTitlebar(shade_cmd, 1, true); // doubleclick with button 1
+  frame().setOnClickTitlebar(maximize_cmd, 1, true); // doubleclick with button 1

Make Meta-Tab switch between all windows

Instead of only switching between visible windows (not minimized).

One more time, you have to modify the source code, this time there are two lines :

FocusControl.cc:71
-  (opts & FocusControl::CYCLESKIPSHADED) != 0 && win->isShaded() || 
-  win->isFocusHidden()
+  (opts & FocusControl::CYCLESKIPSHADED) != 0 && win->isShaded() //|| 
+ //win->isFocusHidden()

FocusControl.cc:122
-  if (fbwin && !fbwin->isIconic() &&
+  if (fbwin && /*!fbwin->isIconic() &&*/

Patch for double-click maximize and meta-tab

I've written to make the modifications for the two previous tips automatic. To apply the patch, copy it in the parent of the src folder, and enter :

patch -p0 < fluxbox.maximize.patch

The patch :

diff -r -U 3 src.orig/FocusControl.cc src/FocusControl.cc
--- src.orig/FocusControl.cc	2006-07-08 01:00:05.000000000 +0200
+++ src/FocusControl.cc	2006-07-08 00:58:21.000000000 +0200
@@ -71,9 +71,9 @@
     // skip if not active client (i.e. only visit each fbwin once)
     (opts & FocusControl::CYCLEGROUPS) != 0 && win->winClient().window() != winclient.window() ||
     // skip if shaded
-    (opts & FocusControl::CYCLESKIPSHADED) != 0 && win->isShaded() || 
+    (opts & FocusControl::CYCLESKIPSHADED) != 0 && win->isShaded() //|| 
     // skip if hidden
-    win->isFocusHidden()
+ //   win->isFocusHidden()
     ); 
 }
 
@@ -122,7 +122,7 @@
             break;
 
         FluxboxWindow *fbwin = (*it)->fbwindow();
-        if (fbwin && !fbwin->isIconic() &&
+        if (fbwin && /*!fbwin->isIconic() &&*/
             (fbwin->isStuck() 
              || fbwin->workspaceNumber() == m_screen.currentWorkspaceID())) {
             // either on this workspace, or stuck
diff -r -U 3 src.orig/Window.cc src/Window.cc
--- src.orig/Window.cc	2006-07-08 01:00:06.000000000 +0200
+++ src/Window.cc	2006-07-08 00:58:21.000000000 +0200
@@ -4084,7 +4084,7 @@
 
     // setup titlebar
     frame().setOnClickTitlebar(raise_and_focus_cmd, 1, false, true); // on press with button 1
-    frame().setOnClickTitlebar(shade_cmd, 1, true); // doubleclick with button 1
+    frame().setOnClickTitlebar(maximize_cmd, 1, true); // doubleclick with button 1
     frame().setOnClickTitlebar(show_menu_cmd, 3); // on release with button 3
     frame().setOnClickTitlebar(lower_cmd, 2); // on release with button 2
linux/fluxbox.1166275580.txt.gz · Last modified: 2013/09/19 16:42 (external edit)
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0