TabLaunch

by D. Lam (dnlam |at| users.sourceforge |dot| net)

http://sourceforge.net/projects/tablaunch

Short Description

Simple, cool-looking X application launchbar written in C, based on YeahLaunch 0.2. Displays user-specified applications as tabs along the top of screen and becomes hidden after a delay. Uses Imlib to show and enlarge icons when moused-over.

Description

A simple, but cool-looking X application launchbar written in C, based on YeahLaunch 0.2. TabLaunch displays a user-specified list of applications as tabs along the top of screen. The user can specify an x coordinate offset to position the launchbar and/or right-align it. The launchbar becomes hidden after a specified delay. Each tab can be displayed as text or an icon. Tabs are "enlarged" or zoomed-in when the mouse is over a tab. Imlib is used to show and enlarge icons.

output from 'tablaunch --help':

        tablaunch version 0.6 
        usage:  tablaunch [option] [option] ...
        where options include:
          (Note: X resource should be prepended with 'tablaunch.')
          descriptions refer default 'top' docking position
          option               X resource             description
          ------               ----------             -----------
          -h, --help                                  displays this help
          --settings                                  lists current settings
                                                      (a good way to see default values)
          --ignoreXRM                                 ignore X resources
          -c configfile        configfile             config file listing tabs
          -fg color            foreground             foreground text color
          -sfg color           selected_foreground    foreground text color of selected tab
          -pfg color           pressed_foreground     foreground text color of pressed tab
          -bg color            background             background color of tab
          -fn fontname         font                   name of font for tab
          -sfn fontname        selected_font          name of font for selected tab
          -x xoffset           xoffset                x offset of tabs from left/right of screen
          -y yoffset           yoffset                y offset of tabs from top/bottom of screen
          -r                   rightalign             align tabs to right of screen
          -d hideDelay         hide_delay             seconds until tabs auto-hide
          -l                   always_show_label      always show text label
          -t                   text_only              don't use icons
          -k                   keep_selected_on_hide  selected tab is apparent when hidden
          -e float             expand_factor          expand factor
          --iconMaskOff        use_icon_mask          allows images to be transparent
          --fit_text           fit_text               makes icons wider to fit text
          --s_yoffset pixels   selected_yoffset       y offset of selected tab from adjacent tabs
          --limit_y pixels     limit_y                y coordinate of highest tab
                                                      (negative value means above screen)
          --hidden pixels      hidden_height          pixels that are visible when auto-hidden
          --bottom pixels      margin_bottom          space below text label
          --top pixels         margin_top             space above text label
          --sides pixels       margin_sides           extra space left and right of text label
          --pulldown pixels    pulldown_height        how far down to pulldown the selected tab
          --opts.bevel pixels  opts.bevel             size of bevel around tab
          --overlap pixels     tab_overlap            pixels that tab overlap each other
                                                      (negative value means tab separation) 
          --step pixels        step_factor            step factor of tab offset as it gets
                                                      farther from the selected tab
          --height pixels      same_height            use this height for all icons
          --caption_y pixels   caption_yoffset        y offset for captions under icons
          --no_caption         no_caption             turn off caption under icons
                                 or show_caption      
          --no_label           no_label               turn off all labels for icons
                                 or show_label        
          --iconhome dir       iconhome               set dir to search for icons
                                                      expects 48x48 and 64x64 subdirs
          --no_iconhome        no_iconhome            don't use icon home
                                 or use_iconhome      
          --blinks int         blinks                 number of blinks when tab is pressed
          --brightness float   brightness             brightness of pressed icon
          --dock [top|bottom]  dock_position          screen position of launchbar

Configuration

The settings for Tablaunch can be set in any of the following (higher priority is list first):

  1. on the command line;
  2. in the configuration file (default is ./.tablaunch and then $HOME/.tablaunch);
  3. in your .Xresources or .Xdefaults file (can be ignored using the --ignoreXRM option).

Use 'tablaunch -h' to get a list of options and X resource names. Use 'tablaunch --settings' to print out the setting values used by Tablaunch.

The main purpose of the configuration file is to list the label, command, and optional icons associated with each application to be included in the launchbar. By default, tablaunch looks for the .tablaunch ("dot tablaunch") file in the current and $HOME directory. You can load a different configuration file using the -c option.

See the tablaunch/example directory for configuration file examples.

You can specify icons using the path to the icons. Or you can have Tablaunch find the icons by having the following directory structure:

        iconhome          (iconhome can be set using the --iconhome option, default=$HOME/.icons)
        |--- 48x48        (contains regular sized icons)
        \--- 64x64        (contains enlarged icons with the same filename as in 48x48)

Options to make normal and enlarged icons look good:

  1. Ideal option: provide two (48x48 and 64x64) icon files.
  2. Provide the enlarged icon file (e.g., with 64x64 resolution) and use the "--height" option: "tablaunch --height 48".

Nice-looking iconsets:

        gentoo (http://www.gentoo.org/dyn/icons.xml)
        marbles-translucent (http://www.kde-look.org/content/show.php?content=1581)
        AquaFusion (http://www.freshports.org/x11-themes/gnome-icons-aqua-fusion/)
        Gnome sets (http://art.gnome.org/themes/icon/)

Send your screen shots to me, dnlam (at) users.sourceforge (dot) net.

Usage

Click on a button to run the associated command. You can move the launchbar by dragging the line (at the top of the screen) left and right, in case you have too many items on the bar.



The remainder lists development details.

To do

version 0.6:

version 0.5:

version 0.4:

version 0.3:

version 0.2:

version 0.1:


The following text is from YeahLaunch 0.2:
        The menu entry is highlighted when clicked (see -afg below).
        Rightclicking launches command and hides yeahlaunch instantly.
        New placement option -rx to which yeahlaunch will be placed right aligned.
        Specify -rx "your screen width" and yeahlaunch will be right aligned to the
        top right corner of your screen.
        Leaving yeahlaunch sideways hides it as well now.
        
        Yeahlaunch is a very simple application launcher which puts a horizontal menu
        on top of your screen. The menu will be hidden and only a one pixel border will
        be visible. If you point on that border the menu will be shown in an animated 
        way.
        Yeahlaunch has the fllowing options:
                -fg color     foreground color (defaults to white)
                -afg color    highlight  color (defaults to yellow)
                -bg color     background color (defaults to black)
                -x  number    x placement (defaults to 0)
                -step number  step size for the animation(defaults to 3)
                -fn font name (defaults to fixed)
                -h  prints help message
                all other options on the command line are recognized in the following way:
                label command (label = string that is displayed, command = command to execute)
                this means you have to specify here something ...
                If a command contains spaces or a "-" you have to use quotes, see example
                below.
        
        This is what I have in my .xinitrc:
        
        ~/yeah/yeahlaunch/yeahlaunch -fn "*-aqui-*" -x 700 -fg "light steel blue" \
        TVtime tvtime \
        Opera opera \
        Firefox firefox \
        NEdit nedit \
        Gimp "gimp-2.0" \
        "  " "" \
        Home rox  \
        Yeah "rox ~/yeah" \
        Vertikal "rox ~/vertikal" &
        
        Installation is done by a simple make;make install