User Tools

Site Tools


fluxbox

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
fluxbox [2016/01/20 17:13] adminfluxbox [2020/10/17 23:59] (current) admin
Line 1: Line 1:
 ====== Fluxbox ====== ====== Fluxbox ======
  
-==== A Keyboard-heavy, para-tiling configuration ====+NB This is from a long time ago in a galaxy far away. January 2016 in fact. I changed to ''**i3wm**(1)'' and now use ''**sway**(1)''. It might still be useful, who knows? 
 + 
 +==== A keyboard-heavy, para-tiling configuration ====
  
 Everyone's desktop experience is different. KDE users like one thing. Gnome users like another - then there's Gnome Classic, Gnome Modern, LXDE and XFCE ... A common theme in all these is "Multiple Overlapping Windows managed by the User via the Mouse."  Everyone's desktop experience is different. KDE users like one thing. Gnome users like another - then there's Gnome Classic, Gnome Modern, LXDE and XFCE ... A common theme in all these is "Multiple Overlapping Windows managed by the User via the Mouse." 
Line 11: Line 13:
 For another thing, it's just too fiddly to drive the mouse into those tiny window-corner re-sizing tools and drag them around.  For another thing, it's just too fiddly to drive the mouse into those tiny window-corner re-sizing tools and drag them around. 
  
-So I thought I'd try tiling window managers - **awesome**(1), **xmonad**(1), **dwm**(1) ... there are many, and I've tried a few. None, so far, really do it for me for one reason or another. Perhaps it's because I don't want tiling absolutely everywhere. I like to have docks and gkrellm running on all desktops and some tiling managers don't do that sort of thing well. +So I thought I'd try tiling window managers - **awesome**(1), **xmonad**(1), **dwm**(1) ... there are many, and I've tried a few. None, so far, really do it for me for one reason or another. Perhaps it's because I don't want tiling absolutely everywhere. I like to have docks and gkrellm running on all desktops and some tiling managers don't do that sort of thing well. **STOP THE PRESS: I discovered i3 and it's fabulous**
  
 Or maybe I'm just too bedded in with **fluxbox**(1).  Or maybe I'm just too bedded in with **fluxbox**(1). 
Line 43: Line 45:
   * the scripts should work sensibly with multiple monitors although only 2 have been tested.   * the scripts should work sensibly with multiple monitors although only 2 have been tested.
   * pretty much all my scripts are run on all my machines, desktop and laptop, without alteration. Anything that's specific to work, or to a lappy gets coded around. That way, I can share my scripts freely on all my machines.   * pretty much all my scripts are run on all my machines, desktop and laptop, without alteration. Anything that's specific to work, or to a lappy gets coded around. That way, I can share my scripts freely on all my machines.
-         
-Note that most key commands that invoke external apps are run through my script **xcheck**(1) which watches for errors and pops any up in a dialog window. It helps debugging. 
  
 =====Installing & Starting fluxbox===== =====Installing & Starting fluxbox=====
-[[http://fluxbox.org/|fluxbox]] is my favourite screen manager - it's minimal and fast, it allows me to use the 'hot' keys that I like (eg Mod4-x runs my favourite xterm **konsole**(1) - in fact, I almost have no need to use the mouse (until the browser runs, anyway!). +[[http://fluxbox.org/|fluxbox]] was my favourite screen manager for many years - it's minimal and fast, it allows me to use the 'hot' keys that I like (eg Mod4-x runs my favourite xterm **konsole**(1) - in fact, I almost have no need to use the mouse (until the browser runs, anyway!). 
  
 By the way, I'm not too into 'themes' so look elsewhere for pure eye-candy - this is automation stuff. Also, these scripts are specific to my machines and environment - some of them won't be much use unless you edit them to your own needs - please don't run anything marked * without editing it first. By the way, I'm not too into 'themes' so look elsewhere for pure eye-candy - this is automation stuff. Also, these scripts are specific to my machines and environment - some of them won't be much use unless you edit them to your own needs - please don't run anything marked * without editing it first.
Line 77: Line 77:
 .xsession _should_ be called by gdm and kdm. However, on fedora, I needed to install xorg-x11-xinit-session.  .xsession _should_ be called by gdm and kdm. However, on fedora, I needed to install xorg-x11-xinit-session. 
  
-Possibly: +I've a somewhat longer treatment of this here[[starting_x]]
- +
-  ln -s .xsession .xsessionrc+
  
 === Using startx === === Using startx ===
Line 109: Line 107:
   * {{scripts:tile|tile}} : rearranges all windows to tile on the current desktop. Optionally re-sizes them (with half-screen) to half, quarter, third of a screen etc.   * {{scripts:tile|tile}} : rearranges all windows to tile on the current desktop. Optionally re-sizes them (with half-screen) to half, quarter, third of a screen etc.
   * {{scripts:move-window|move-window}} : Move the window to Left, Right, Top, Bottom, TopLeft, TopRight etc   * {{scripts:move-window|move-window}} : Move the window to Left, Right, Top, Bottom, TopLeft, TopRight etc
 +
 +=== Laptop peculiarities ===
 +These are not specific to **fluxbox**(1) so I've put them [[laptop_hacks|here]]
  
 NOTE: * = edit these before using  NOTE: * = edit these before using 
Line 136: Line 137:
 To push a window to the bottom (ie all others are in front of it) I have ''M-Mouse2'' (middle button) on the window. Surprisingly, this is actually more use than ''M-Mouse1'' as it allows you to cycle through a stack of windows. To push a window to the bottom (ie all others are in front of it) I have ''M-Mouse2'' (middle button) on the window. Surprisingly, this is actually more use than ''M-Mouse1'' as it allows you to cycle through a stack of windows.
  
-Now for tiling stuff. On some of my keyboards, the ''Home, End, PgUp'' and ''PdDn'' keys form a square. So I map them (when combined with ''C-M-'' keys) to move windows about the screen:+On some of my keyboards, the ''Home, End, PgUp'' and ''PdDn'' keys form a square. So I map them (when combined with ''C-M-'' keys) to let me quickly move windows about the screen:
  
   * ''C-M-Home'' Sends window to the left of screen   * ''C-M-Home'' Sends window to the left of screen
Line 156: Line 157:
  
 These look fearsome but it's amazing how your finger memory handles it after a couple of goes. There's always the window menu (''S-Menu'') if you can't recall the key chords. These look fearsome but it's amazing how your finger memory handles it after a couple of goes. There's always the window menu (''S-Menu'') if you can't recall the key chords.
- 
-As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments. 
  
 For fine tuning, I use these: For fine tuning, I use these:
   * ''S-C-Mod4-Left/Right/Up/Down'' moves window by 1 pixel   * ''S-C-Mod4-Left/Right/Up/Down'' moves window by 1 pixel
   * ''S-C-M-Mod4-Left/Right/Up/Down'' moves window by 10 pixels   * ''S-C-M-Mod4-Left/Right/Up/Down'' moves window by 10 pixels
 +
 +Also, there is a 'move window mode' where the direction keys ''Up'', ''Down'', ''Right'' and ''Left'' move the window by 1-pixel and 10-pixels if shifted:
 +  * ''S-C-M-y m'' start window-moving mode
 +  * ''Esc'' stop window-moving mode
 +
 +As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments.
 +
 =====Resizing Windows===== =====Resizing Windows=====
 Finding those darn resize corners can be a royal pain. The **fluxbox**(1) default of ''M-Mouse3'' "anywhere in a window" resizes from the nearest edge and is quite useful. That said, I rarely use it and rely more on the tiling commands: Finding those darn resize corners can be a royal pain. The **fluxbox**(1) default of ''M-Mouse3'' "anywhere in a window" resizes from the nearest edge and is quite useful. That said, I rarely use it and rely more on the tiling commands:
Line 175: Line 181:
  
 I find that 3 windows of 1/3 screen are just about right for coding on typical 1980x1280 screen - two emacs windows and one terminal. I find that 3 windows of 1/3 screen are just about right for coding on typical 1980x1280 screen - two emacs windows and one terminal.
- 
-As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments. 
  
 For fine tuning, I use these: For fine tuning, I use these:
   * ''S-C-Mod4-KP_Left/KP_Right/KP-Up/KP_Down'' resize window by 1 pixel   * ''S-C-Mod4-KP_Left/KP_Right/KP-Up/KP_Down'' resize window by 1 pixel
   * ''S-C-M-Mod4-KP_Left/KP_Right/KP-Up/KP_Down'' resize window by 10 pixels   * ''S-C-M-Mod4-KP_Left/KP_Right/KP-Up/KP_Down'' resize window by 10 pixels
 +
 +Also, there is a 'resize window mode' where the direction keys ''Up'', ''Down'', ''Right'' and ''Left'' keys resize the window by 1-pixel and 10-pixels if shifted:
 +  * ''S-C-M-y r'' start window-resizing mode
 +  * ''Esc'' stop window-resizing mode
 +
 +As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments.
  
 =====Tiling===== =====Tiling=====
Line 203: Line 213:
  
 As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments. As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments.
 +
 +**fluxbox**(1) has an //ArrangeWindows// command - but it doesn't seem to do what I want.
  
 =====Menus===== =====Menus=====
Line 216: Line 228:
 As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments. As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments.
  
-But one thing that **fluxbox**(1) lacks is way to get its menus to update automatically eg when you install or delete new software, you'd want it to appear in the menus without having to remember to rebuild themThe {{scripts:watch-files|watch-files}} script here does just thatCheck it out!+I have bunch of scripting to build various menus - see the various menu files {{fluxbox:menuconfig}} {{fluxbox:menu}} {{fluxbox:usermenu}} {{fluxbox:user.menu}} {{fluxbox:windowmenu}} ../etc and the scripts {{scripts:update-user-menu}} ../etc
  
 +But one thing that **fluxbox**(1) lacks is a way to get its menus to update automatically - eg when you install or delete new software, you'd want it to appear in the menus without having to remember to rebuild them. The {{scripts:watch-files|watch-files}} script here does just that. Check it out!
 =====Cut & Paste===== =====Cut & Paste=====
-There are many Unix applications that cut and paste a little differently to what has become the de facto standard ''C-x C-c C-v'' via the "clipboard". In X the subject is a little more complex with several additional sources for paste such as the PRIMARY selection (whatever is selected on-screen is automatically copied and subsequently pasted with the middle mouse button). There are others, but rarely used so I won't go into them.+There are many Unix applications that cut and paste a little differently to what has become the de facto standard  - ie ''C-x C-c C-v'' via the "clipboard". In X the subject is a little more complex with several additional sources for paste such as the PRIMARY selection ((whatever is selected on-screen is automatically copied and available to be pasted with the middle mouse button or (often) with Shift-Insert)). There are others, but rarely used so I won't go into them.
  
 If an application does not support the clipboard (eg **emacs**(1), most terminal emulators) then I can simulate it with the following keystrokes (which depend on **xclip**(1) and **xvkbd**(1)): If an application does not support the clipboard (eg **emacs**(1), most terminal emulators) then I can simulate it with the following keystrokes (which depend on **xclip**(1) and **xvkbd**(1)):
Line 250: Line 263:
  
 As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments. As usual, ''Mod4-'' can be used instead of ''C-M-'' in the above key assignments.
 +        
 +Note that most key commands that invoke external apps are run through my script **xcheck**(1) which watches for errors and pops any up in a dialog window. It helps debugging.
  
 =====Auto-type===== =====Auto-type=====
fluxbox.1453335220.txt.gz · Last modified: 2016/01/20 17:13 by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki