Fluxbox


Forum: DSL Tips and Tricks
Topic: Fluxbox
started by: mikshaw

Posted by mikshaw on Aug. 03 2005,01:27
disclaimer: Not everything here will apply to fluxbox stable (the version currently in vanilla DSL).
----------

Official Fluxbox documentation:
< http://fluxbox.sourceforge.net/docbook.php >

Don't waste time and energy trying to grab titlebars and those tiny corners to move/resize windows.  Just use Alt+mouse buttons.
Alt+leftmouse = move
Alt+rightmouse = resize

Auto-hide slit and toolbar (reappears on mouseOver) in .fluxbox/init:
session.screen0.slit.autoHide:  true
session.screen0.toolbar.autoHide:       true

The rootCommand line in .fluxbox/init overrides the same line in any given style.  Also, the rootCommand does not need to be used to set an image. Any shell command should work there.

Set up a hotkey in .fluxbox/keys to reload fluxbox configuration so you can quickly update changes.  This is particularly useful for those times when the menu fails to load on startup, so you don't need to restart fluxbox.
example:
Mod1 F12 :Reconfig

Group all your aterm windows (or any named windows) automatically in .fluxbox/groups.  Just adding the word "aterm" will force all aterm windows into the same group of tabs.

Don't like tabs?  Turn them off in .fluxbox/init:
session.tabs:    false
Don't like that little box showing window position? Turn it off:
session.screen0.showwindowposition:     true

Nearly any shell command can be added to your fluxbox menu, including multiple commands separated by ;

You can use "[include] {filename}" in the fluxbox menu to add entries at that point from another menu file (flux-dev)

The "remember" feature on window and toolbar menus allows you to save the properties of the chosen window including dimensions, position, stickiness, workspace, etc. (flux-dev)

Posted by adssse on Aug. 03 2005,04:10
Great tips. I have so much to learn about fluxbox.
Posted by mikshaw on Jan. 20 2006,23:28
Generate A Personal Menu

Here's a bash script that will generate a menu file ($HOME/.fluxbox/my_menu) which can be included in your fluxbox menu by putting this line somewhere in $HOME/.fluxbox/menu:
Code Sample
[include] (/home/dsl/fluxbox/my_menu)

In its current state it just adds quick access to editing application config files and scripts, but i'm planning to expand it in the future.

You should edit the variables at the top of the file to reflect your prefered editor and paths.

Code Sample
#!/bin/bash

# Generate a personal menu to add to your regular fluxbox menu.
# It is meant specifically for Damn Small Linux, but should work
# in most other systems.
#
# Insert this line into $HOME/.fluxbox/menu:
# [include] (MENUFILE)
# MENUFILE is listed below
#
# Changelog (yyyy-mm-dd)
#   2006-01-23: cleaned up and reorganized some code
#               added some files
#   2006-01-20: first

################################################
# EDIT THESE VARIABLES TO SUIT YOUR NEEDS:
#
# The generated menu file
MENUFILE=$HOME/.fluxbox/my_menu
#
# Name of your submenu (displayed in fluxbox menu)
MENU_LABEL="my stuff"
#
# Directory where personal scripts are found
MY_SCRIPTS=$HOME/scripts
#
# Your text editor
#MY_EDITOR="aterm -e /opt/vim/bin/vim"
MY_EDITOR=beaver
#
# Other apps
HTM_BROWSER=dillo
#PDF_VIEWER=xpdf
#
# Miscellaneous rc files in $HOME for various applications
# Be sure to escape any line breaks
MISC_RC_FILES=".dillo/dillorc .dillo/cookiesrc .vimrc .wgetrc .xpdfrc .jwmrc \
.torsmorc .xmms/config .xmms/menurc .xtdesktop/xtdeskrc .gtkrc \
.screenrc .xbindkeysrc \
.irssi/config .mplayer/config .mplayer/gui.conf .vnc/xstartup .hydrogen/hydrogen.conf .gftp/gftprc"
################################################

echo "[begin]
[submenu] ($MENU_LABEL)" > $MENUFILE || exit 1
echo "[exec] (rebuild menu) {sh $0}" >> $MENUFILE
echo "[submenu] (edit configs)" >> $MENUFILE
# "Events"
[ -r "$HOME/Events" ] && echo "[exec] (Events) {${MY_EDITOR} $HOME/Events}" >> $MENUFILE
# fluxbox configuration files
if [ -d $HOME/.fluxbox ]; then
 echo "[submenu] (fluxbox)" >> $MENUFILE
 for filez in menu menuconfig generate_menu init init-dev keys keys-dev apps \
              windowmenu groups slitlist startup fluxter.bb; do
   if [ -r $HOME/.fluxbox/${filez} ]; then
     echo "[exec] (${filez}) {${MY_EDITOR} $HOME/.fluxbox/${filez}}" >> $MENUFILE
   fi
 done
 echo "[exec] (current style) {${MY_EDITOR} \`grep styleFile $HOME/.fluxbox/init | cut -f2\`}" >> $MENUFILE
 echo "[end]" >> $MENUFILE
fi
# emelfm configuration files
if [ -d $HOME/.emelfm ]; then
 echo "[submenu] (emelfm)" >> $MENUFILE
 for filez in bookmarks buttons filetypes keys plugins settings toolbar user_commands; do
   if [ -r $HOME/.emelfm/${filez} ]; then
     echo "[exec] (${filez}) {${MY_EDITOR} $HOME/.emelfm/${filez}}" >> $MENUFILE
   fi
 done
 echo "[end]" >> $MENUFILE
fi
# midnight commander configuration files
if [ -d $HOME/.mc ]; then
 echo "[submenu] (mc)" >> $MENUFILE
 for filez in ini ext bindings menu hotlist; do
   if [ -r $HOME/.mc/${filez} ]; then
     echo "[exec] (${filez}) {${MY_EDITOR} $HOME/.mc/${filez}}" >> $MENUFILE
   fi
 done
 echo "[end]" >> $MENUFILE
fi
# monkey configuration files
if [ -d /opt/monkey/conf ]; then
 echo "[submenu] (monkey)" >> $MENUFILE
 for filez in modules.conf monkey.conf monkey.deny monkey.mime; do
   if [ -r /opt/monkey/conf/${filez} ]; then
     echo "[exec] (${filez}) {sudo ${MY_EDITOR} /opt/monkey/conf/${filez}}" >> $MENUFILE
   fi
 done
 echo "[end]" >> $MENUFILE
fi
# miscellaneous configs in /opt
echo "[submenu] (opt)" >> $MENUFILE
for filez in bootlocal.sh powerdown.sh .backup_device .dslrc .mydsl_dir samba/smb.conf apsfilter/apsfilterrc; do
 if [ -r "/opt/${filez}" ]; then
   echo "[exec] (${filez}) {sudo ${MY_EDITOR} /opt/${filez}}" >> $MENUFILE
 fi
done
echo "[end]" >> $MENUFILE
# miscellaneous configs in $HOME subdirectories (MISC_RC_FILES above).
echo "[submenu] (other)" >> $MENUFILE
for misc_conf in `echo "$MISC_RC_FILES"`; do
 if [ -r "$HOME/${misc_conf}" ]; then
   echo "[exec] (${misc_conf}) {${MY_EDITOR} $HOME/${misc_conf}}" >> $MENUFILE
 fi
done
echo "[end]" >> $MENUFILE
# vital configuration files in ${HOME}
for filez in .xinitrc .bashrc .bash_profile .Xdefaults .Xmodmap .profile .xserverrc \
.filetool.lst .xfiletool.lst .webdata.lst .webdatarc .netrc .desktop .background; do
 if [ -r $HOME/${filez} ]; then
   echo "[exec] (${filez}) {${MY_EDITOR} $HOME/${filez}}" >> $MENUFILE
 fi
done
echo "[end]" >> $MENUFILE #end of "edit configs"

# edit scripts
if [ -d ${MY_SCRIPTS} ]; then
echo "[submenu] (edit scripts)" >> $MENUFILE
for script_type in sh bash flua tcl lua pl; do
 echo "[submenu] ($script_type)" >> $MENUFILE
 [ -x ${MY_SCRIPTS}/new_script ] && \
 echo "[exec] (new $script_type script) {aterm -e ${MY_SCRIPTS}/new_script ${script_type}}" >> $MENUFILE && \
 echo "[separator]" >> $MENUFILE
   for script in ${MY_SCRIPTS}/*.${script_type}; do
     [ -x $script ] && trunc_script=`echo $script | awk -F / '{print $NF}'` && \
     echo "[exec] (${trunc_script}) {$MY_EDITOR ${script}}" >> $MENUFILE
   done
 echo "[end]" >> $MENUFILE
done
[ -x ${MY_SCRIPTS}/new_script ] && \
echo "[exec] (edit script template) {$MY_EDITOR ${MY_SCRIPTS}/new_script}" >> $MENUFILE && \
echo "[end]" >> $MENUFILE #end of "edit scripts"
fi
echo "[end]" >> $MENUFILE #end of menu
echo "[end]" >> $MENUFILE #end of file
echo "Menu written to $MENUFILE."


NOTE: The "scripts" part currently works only with scripts that are executable and have filename extensions of sh, bash, tcl, pl, lua, or flua

Posted by LooneyLinux on Feb. 18 2006,04:18
This will be a lame question for those of you who are use to linux but how do you install this in your dsl? i downloaded in dsl but dang is there like somewhere i can learn to install .deb files? and run them....
Posted by LooneyLinux on Feb. 18 2006,04:49
Quote (Guest @ Feb. 17 2006,23:18)
This will be a lame question for those of you who are use to linux but how do you install this in your dsl? i downloaded in dsl but dang is there like somewhere i can learn to install .deb files? and run them....

Even with downlaoding the version from within dsl i cant figure how to use it bieng when  i look in the menu i cant find it. I really like linux but of like over a decade of using pcs and apples i feel like pine tree in the desert :O
Posted by delaguer on Mar. 23 2006,05:55
Quote (Guest @ Feb. 17 2006,23:18)
This will be a lame question for those of you who are use to linux but how do you install this in your dsl? i downloaded in dsl but dang is there like somewhere i can learn to install .deb files? and run them....

howto install .deb files in dsl?

open terminal and type
$ sudo dpkg -i filename.deb

that's it!  :)

Posted by lovdsl on Mar. 31 2006,08:37
haha..well if you apt-get installed then it would show on the menu..if you download the deb then you might have to put it in the var/cache/apt/archives directory to use the dpkg install..not sure,  if it is in home dsl you may need to path it. if that helps

with regard to this thread..I DO like to auto hide the slit top center and run the wmdrawer..this allows me to pop it over the browser and open bever or crank some tunes or if you use dial up put a shortcut to ppdial in the drawer..or pop it over the word processor and look up a word in the dictionary..dozens of handy uses.

Powered by Ikonboard 3.1.2a
Ikonboard © 2001 Jarvis Entertainment Group, Inc.