lang fr|gb

livarp panels

livarp includes fbpanel, tint2 & lxpanel and use it different way depends on session:

  • vtwm session: fbpanel as systray on bottom-right corner
  • dwm session: fbpanel as menu+systray on top-left corner
  • echinus session: fbpanel as menu+systray on top-left corner + tint2 as tasklist on bottom
  • awesome session: panel & systray included in awesome
  • wmfs session: fbpanel as menu on bottom-left corner
  • evilwm session: fbpanel as menu+systray on top-left corner
  • pekwm session: lxpanel as menu, tasklist & systray on top-left corner
  • fluxbox session: panel & systray included in fluxbox
  • compiz session: fbpanel as menu+systray on top-left corner

lxpanel

lxpanel is used in the livarp pekwm session. bonus: lxpanel has a complete configuration menu in graphique mode. you can use it in others session but not in tiling session (dwm, echinus, wmfs, awesome).

the lxpanel configuration menu is easy to use:

fbpanel

this fbpanel release is a patched one (based on fbpanel-6.1) in order to be adapted to tiling wm. this version is not present in Debian repositories.

configuration

the default configuration file (the one launched by the command fbpanel) is located in your ~/.config/fbpanel/default. it is organized around a "global" section (properties of the panel), and several "plugins" sections. each session of livarp launches its own fbpanel profile with the option fbpanel-p '

  • la section "Global"
Global {
    edge = bottom           ## screen position: left,right,top or bottom
    allign = center         ## panel alignment: left,right or center
    margin = 0              ## offset
    widthtype = percent     ## Measuring unit: pixel,percent or request
    width = 92              ## panel width (here 92% of the screen)
    height = 48             ## panel height (here 48 px)
    transparent = true      ## enable transparency: true or false
    tintcolor = #ffffff     ## tintcolor
    alpha = 32              ## tintcolor opacity: from 0 to 255
    setdocktype = true      ## treat panel as a dock: true or false
    setpartialstrut = true  ## mask by maximized windows: true or false
    autohide = false        ## autohide: true or false
    heightWhenHidden = 2    ## height of the hidden panel
    roundcorners = false    ## round corners: true or false
    roundcornersradius = 7  ## corner offset: de 0 à 25
    layer = above           ## place: above or below
    setlayer = false        ## use layer: true or false
    maxelemheight = 24      ## max height of the plugins, if they can, they stacks
  • plugins:

they describe what type of plugin load and how to load:
available plugins: battery, cpu, dclock, deskno, deskno2, genmon, icons, image, launchbar, mem, menu, net, pager, separator, space, systray, taskbar, tclock, volume, wincmd. quelques exemples:

    • "space" plugin:
Plugin {
    type = space     ## name
    expand = false   ## expand panel: true or false
    padding = 0      ## margin around the plugin
    config {         ## plugin configuration
        size = 2     ## plugin size
    }
}
    • "cpu" plugin:
Plugin {
    type = cpu           ## name
    config {
        Color = green    ## graphic color
    }
}
    • "net" plugin:
Plugin {
    type = net             ## name
    config {
        interface = eth0   ## interface to watch
        TxLimit = 20       ## upload limit in kb/s
        RxLimit = 190      ## download limit in kb/s
        TxColor = violet   ## upload color
        RxColor = blue     ## download color
    }
}
    • "pager" plugin:
Plugin {
    type = pager
    config {
        showwallpaper = true  ## display the wallpaper in the pager: true or false
    }
}
    • le plugin "mem":
Plugin {
    type = mem
    config {
        ShowSwap = true   ## display swap usage: true or false
    }
}
    • "dclock" plugin:
Plugin {
    type = dclock
    config {
        ShowSeconds = false  ## display seconds: true or false
        HoursView = 24       ## type: 12 or 24
        Color = white        ## text color
        Action = osmo        ## command to execute on click
    }
}
    • "tclock" plugin:
Plugin {
    type = tclock
    config {
        ClockFmt = %-l:%M %P
%a %B %-e  ## clock on two lines
        TooltipFmt = %A %x                  ## tooltip format
        ShowCalendar = false                ## display calendar: true or false
        ShowTooltip = true                  ## display tooltip: true or false
    }
}
    • "taskbar" plugin:
plugin {
    type = taskbar
    expand = true              ## take all free space: true or false
    config {
        ShowIconified = true   ## show iconified windows: true or false
        ShowMapped = true      ## ??
        ShowAllDesks = false   ## show windows from all desktops: true or false
        tooltips = true        ## show tooltips: true or false
        IconsOnly = false      ## show only apps icons: true or false
        MaxTaskWidth = 150     ## maximum width of the taskbar elements
    }
}
    • "launchbar": plugin
plugin {
    type = launchbar
    expand = false
    padding = 0
    config {
        button {                          ## first launcher
            icon = gnome-terminal         ## launcher icon from your icon theme
            tooltip = Terminal            ## text to display in tooltip
            action = xterm                ## command to execute
        }
        button {                          ## second launcher
            image = /pics/icons/uzbl.png  ## pics to use as icon
            tooltip = uzbl browser
            action = uzbl http://arpinux.org
        }     
    }
}
    • "menu" plugin:
plugin {
    type = menu
    config {
        icon = start-here              ## menu icon
        systemmenu {                   ## system menu ~= menu debian
        }
        separator {                    ## graphic separator
        }
        menu {                         ## submenu
            name = Computer            ## submenu name
            icon = computer            ## submenu icon
            item {                     ## first submenu entry
                name = Terminal        ## launcher name
                icon = terminal        ## launcher icon
                action = x-terminal    ## command to launch
            }
            item {                     ## second submenu entry
                name = Lock Display    ## launcher name...
                icon = gnome-lockscreen
                action = xtrlock2
            }
            separator {                ## graphic separator
            }
            item {                      
                name = Quit            ## direct entry in the menu
                icon = gnome-session-halt
                action = sudo halt
            }
        
        }
    }
}
    • "icons" plugin: define specific icons depends on applications:
plugin {
    type = icons
    expand = false
    padding = 0
    config {
        DefaultIcon = /usr/share/fbpanel/images/default.xpm
        application {
            icon = gnome-terminal
            ClassName = XTerm
        }
        application {
            icon = gnome-terminal
            ClassName = mlterm
        }
        application {
            icon = gnome-terminal
            ClassName = URxvt
        }
        application {
            icon = gnome-emacs
            ClassName = Emacs
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox-bin
        }
        application {
            icon = mozilla-firefox
            ClassName = Firefox
        }
        application {
            image = /usr/share/icons/yasis/scalable/apps/gnome-ppp.svg
            AppName = minicom
        }
    }
}

tint2

tint2 is a multi-function panel that has more success. It is light, fast and highly configurable. it is independent and fits into almost all window managers. This is the default crunchbanglinux panel on openbox and livarp use it on echinuswm as tasklist.

configuration

tint2 configuration can be done through GUI tint2conf, but I do not recommend it. The software works well but its organization is confusing and many users have deleted their preferred configurations with tint2conf. so let's configure tint2 the "old way", by editing its configuration file.

Note that you can run multiple instances of tint2 with their respective configurations.
for example, we take the crunchbanglinux configuration file for tint2 (more options used to livarp):

with tint2, you can configure everything: the appearance, position, widgets, internal layout panel, the mouse actions on the panel .... so here we go: Here are the configuration file corresponding to the image above:

#---------------------------------------------
# TINT2 CONFIG FILE
#---------------------------------------------
# For more information about tint2, see:
# http://code.google.com/p/tint2/wiki/Welcome
#
# For more config file examples, see:
# http://crunchbanglinux.org/forums/topic/3232/my-tint2-config/

# Background definitions
# ID 1
rounded = 0
border_width = 0
background_color = #ffffff 5
border_color = #828282 0

# ID 2 - task active
rounded = 1
border_width = 0
background_color = #d8d8d8 30
border_color = #d8d8d8 30

# ID 3 - task
rounded = 1
border_width = 0
background_color = #000000 0
border_color = #000000 0

# ID 4
rounded = 1
border_width = 1
background_color = #888888 20
border_color = #ED2323 60

# ID 5 - taskbar
rounded = 0
border_width = 1
background_color = #000000 0
border_color = #000000 0

# ID 6 - active taskbar
rounded = 0
border_width = 1
background_color = #d8d8d8 8
border_color = #d8d8d8 0

# ID 7 - tooltip
rounded = 3
border_width = 0
background_color = #222222 90
border_color = #222222 90

# ID 8
rounded = 1
border_width = 1
background_color = #888888 20
border_color = #888888 20

# Panel
panel_monitor = all
panel_position = top center horizontal
panel_items = LTSC
panel_size = 100% 30
panel_margin = 0 -1
panel_padding = 0 0
panel_dock = 0
wm_menu = 1
panel_layer = bottom
panel_background_id = 1

# Panel Autohide
autohide = 0
autohide_show_timeout = 0.3
autohide_hide_timeout = 1.5
autohide_height = 6
strut_policy = follow_size

# Taskbar
taskbar_mode = multi_desktop
taskbar_padding = 6 0 6
taskbar_background_id = 5
taskbar_active_background_id = 6
taskbar_name = 1
taskbar_name_background_id = 0
taskbar_name_active_background_id = 0
taskbar_name_font = Liberation Sans 9
taskbar_name_font_color = #828282 100
taskbar_name_active_font_color = #828282 100

# Tasks
urgent_nb_of_blink = 20
task_icon = 1
task_text = 0
task_centered = 1
task_maximum_size = 40 40
task_padding = 2 2
task_background_id = 3
task_active_background_id = 2
task_urgent_background_id = 4
task_iconified_background_id = 3

# Task Icons
task_icon_asb = 80 0 0
task_active_icon_asb = 100 0 0
task_urgent_icon_asb = 100 0 0
task_iconified_icon_asb = 80 0 0

# Fonts
task_font = Liberation Sans 06_55 6
task_font_color = #828282 60
task_active_font_color = #828282 100
task_urgent_font_color = #FFFFFF 100
task_iconified_font_color = #d8d8d8 60
font_shadow = 0

# Launcher
launcher_padding = 8 4 4
launcher_background_id = 0
launcher_icon_size = 24
# Specify icon theme names with launcher_icon_theme. 
# if you have an XSETTINGS manager running (like xfsettingsd), tint2 will follow your current theme.
launcher_icon_theme = gnome-colors-statler
# Each launcher_item_app must be a full path to a .desktop file
launcher_item_app = /usr/share/applications/terminator.desktop
launcher_item_app = /usr/share/applications/Thunar.desktop
launcher_item_app = /usr/share/applications/geany.desktop
launcher_item_app = /usr/share/applications/iceweasel.desktop

# System Tray
systray = 1
systray_padding = 4 2 3
systray_sort = ascending
systray_background_id = 0
systray_icon_size = 24
systray_icon_asb = 100 0 0

# Clock
time1_format = %H:%M:%S
time1_font = Liberation Mono 10
#time2_format = %A %d %B
#time2_font = Liberation Sans 6
clock_font_color = #828282 100
clock_padding = 12 4
clock_background_id = 0
clock_lclick_command = gsimplecal
clock_rclick_command = gsimplecal

# Tooltips
tooltip = 1
tooltip_padding = 2 2
tooltip_show_timeout = 0.0
tooltip_hide_timeout = 0.0
tooltip_background_id = 7
tooltip_font_color = #d8d8d8 100
tooltip_font = Liberation Sans normal 9.0

# Mouse
mouse_middle = none
mouse_right = toggle
mouse_scroll_up = toggle
mouse_scroll_down = iconify

# Battery
battery = 1
battery_low_status = 20
battery_low_cmd = notify-send "battery low"
battery_hide = 96
bat1_font = Liberation Sans 10
bat2_font = Liberation Sans 8
battery_font_color = #FFFFFF 100
battery_padding = 2 0
battery_background_id = 0

# End of config

now detail this file: it is organized by sections each controlling a part of tint2:

  • # backgrounds definitions: tint2 automatically identifies each background with a number (1, 2, ...). then you can applied background on objects (panel, taskbar, task, clock, systray).
    • rounded: number_of_pixels : how rounded the borders are
    • background_color: color opacity: opacity as percent. 0 to get background transparency
    • border_color: color opacity of the border
  • # panel: position & disposition
    • panel_monitor: monitor (all, 1, 2, ...) Which monitor tint2 draws the panel on .
    • panel_position: vertical_position horizontal_position orientation
    • panel_items: panel applets order, 'L'launcher - 'T'askbar - 'S'systray - 'B'batterie - 'C'clock
    • panel_size: width height: pixel or percent
    • panel_margin: horizontal_margin vertical_margin: outside margin
    • panel_padding: horizontal_margin vertical_margin: inside padding
    • panel_dock: tint2 is a dock? (0 no, 1 yes)
    • wm_menu: right-click display wm-menu if there is one (0 no, 1 yes)
    • panel_layer: panel type 'bottom' - 'normal' - 'top'
    • panel_background_id: background ID applied to panel
  • ....

as you can see, the options are easily understable (as it's in english .. french'doc is more complete :) )

livarp_0.3.9 help center - arpinux@2012 - sources