Merging upstream version 0.8.0 (Closes: #639729, #761971).
authorAndriy Grytsenko <andrej@rep.kiev.ua>
Mon, 8 Dec 2014 10:52:01 +0000 (12:52 +0200)
committerAndriy Grytsenko <andrej@rep.kiev.ua>
Mon, 8 Dec 2014 10:52:01 +0000 (12:52 +0200)
141 files changed:
AUTHORS
ChangeLog
Makefile.am
Makefile.in
README
TODO [new file with mode: 0644]
aclocal.m4
config.guess
config.sub
configure
configure.ac
data/Makefile.in
data/ui/launchtaskbar.glade
data/ui/launchtaskbar.ui
data/ui/netstatus.glade
data/ui/netstatus.ui
data/ui/panel-pref.glade
data/ui/panel-pref.ui
ltmain.sh
lxpanel.pc.in
man/Makefile.in
plugins/Makefile.am
plugins/Makefile.in
plugins/batt/batt.c
plugins/cpu/cpu.c
plugins/cpufreq/cpufreq.c
plugins/dclock.c
plugins/deskno/deskno.c
plugins/dirmenu.c
plugins/kbled/kbled.c
plugins/launchtaskbar.c
plugins/menu.c
plugins/monitors/monitors.c
plugins/netstat/netstat.c
plugins/netstat/netstat.h
plugins/netstat/nsconfig.h
plugins/netstat/passwd_gui.c
plugins/netstat/statusicon.c
plugins/netstat/statusicon.h
plugins/netstatus/netstatus-dialog.c
plugins/netstatus/netstatus-icon.c
plugins/pager.c
plugins/separator.c
plugins/space.c
plugins/thermal/thermal.c
plugins/tray.c
plugins/volume/volume.c
plugins/volumealsa/volumealsa.c
plugins/weather/weather.c
plugins/weather/weatherwidget.c
plugins/weather/weatherwidget.h
plugins/wincmd.c
plugins/xkb/xkb-plugin.c
po/LINGUAS
po/POTFILES.in
po/af.po
po/ar.po
po/be.po
po/bg.po
po/bn.po
po/bn_IN.po
po/ca.po
po/cs.po
po/da.po
po/de.po
po/el.po
po/en_GB.po
po/es.po
po/es_VE.po [deleted file]
po/et.po
po/eu.po
po/fa.po
po/fi.po
po/fo.po
po/fr.po
po/frp.po
po/gl.po
po/he.po
po/hr.po
po/hu.po
po/id.po
po/is.po
po/it.po
po/ja.po
po/kk.po
po/km.po
po/ko.po
po/lg.po
po/lt.po
po/lv.po [new file with mode: 0644]
po/ml.po
po/ms.po
po/nb.po
po/nl.po
po/nn.po
po/pa.po
po/pl.po
po/ps.po
po/pt.po
po/pt_BR.po
po/ro.po
po/ru.po
po/sk.po
po/sl.po
po/sr.po
po/sr@latin.po
po/sv.po
po/te.po
po/th.po
po/tr.po
po/tt_RU.po
po/ug.po
po/uk.po
po/ur.po
po/ur_PK.po
po/vi.po
po/zh_CN.po
po/zh_HK.po
po/zh_TW.po
src/Makefile.am
src/Makefile.in
src/bg.c
src/conf.c
src/configurator.c
src/ev.c
src/ev.h
src/gtk-compat.h [new file with mode: 0644]
src/gtk-run.c
src/icon-grid-old.c
src/icon-grid.c
src/icon-grid.h
src/input-button.c [new file with mode: 0644]
src/main.c [new file with mode: 0644]
src/misc.c
src/misc.h
src/panel.c
src/panel.h
src/panel.h.in [new file with mode: 0644]
src/plugin.c
src/plugin.h
src/private.h

diff --git a/AUTHORS b/AUTHORS
index ddf5c87..c97ec8c 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -14,6 +14,7 @@ LXPanel - Lightweight X11 desktop panel
     Giuseppe Penone <giuspen@gmail.com>
     Piotr Sipika <piotr.sipika@gmail.com>
     Raimar Bühmann <raimar@buehmann.de>
     Giuseppe Penone <giuspen@gmail.com>
     Piotr Sipika <piotr.sipika@gmail.com>
     Raimar Bühmann <raimar@buehmann.de>
+    Peter <ombalaxitabou@users.sf.net>
 
 [History]
 LXPanel is a derivative work from fbpanel [1] written by Anatoly Asviyan,
 
 [History]
 LXPanel is a derivative work from fbpanel [1] written by Anatoly Asviyan,
index 8ddeed9..260a8a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,96 @@
+* Added workaround for crash in gtk-run with old libmenu-cache.
+* Core functions are separated into a private library to allow reliable
+    linking of modules using -Wl,-z,defs.
+* Added macro LXPANEL_CHECK_VERSION() for third party pluguns API check.
+* Added CONF_TYPE_EXTERNAL support for lxpanel_generic_config_dlg().
+* Implemented property "aspect-width" for PanelIconGrid to allow using
+    non-square tray sockets.
+* Added support for monitors "All" to span panel over all monitors (i.e.
+    to allow pre-0.6.0 behavior).
+* Implemented monitors hotplug support.
+* Fixed popups positioning in multi-monitor environment.
+* Fixed updating panel size if appropriate monitor changed its size or
+    position.
+* Implemented disabling for "Reserve space" button if another monitor
+    lies beyond the edge so reservation will cover it. Also reservation
+    will not be applied in such cases even if set in config manually.
+* Some edge and monitors selections in panel configuration dialog may be
+    insensitive now if appropriate edge and monitor combination is not
+    available, to avoid panels stacking one over another.
+* Fixed bug with hidden panel disappearing after resolution change.
+* Add lxpanel_image_new_for_icon() API to replace another (obsolete) API
+    _gtk_image_new_from_file_scaled().
+* Added API panel_config_hotkey_button_new() to use as CONF_TYPE_EXTERNAL
+    widget to allow configure global hotkeys for plugins functions.
+* Added API lxpanel_apply_hotkey() as a convenient libkeybinder interface
+    to use in modules that also use panel_config_hotkey_button_new(). Now
+    LXPanel requires libkeybinder too.
+* Added API panel_config_click_button_new() to configure mouse gestures
+    and panel_config_click_parse() to parse its output.
+* Added "icon-size-changed" signal to LXPanel which is emitted when icons
+    size in configuration dialog was changed.
+* Improved lxpanel_image_new_for_icon() API to follow panel icons size
+    changes, not only theme changes. This way calls on lxpanel_image_*
+    APIs on theme or panel changes may be eliminated, i.e. code becomes
+    simpler.
+* Added new lxpanel_image_change_icon() API for simplification reasons so
+    other lxpanel_image_* APIs can be replaced completely.
+* APIs lxpanel_button_set_icon() lxpanel_button_update_icon() now don't
+    require setting icon size since created button already follows size
+    from panel settings. Also it doesn't require refresh after the panel
+    configuration change.
+* Disabled scaling up small icons in the taskbar: scaled up icons look
+    bad due to pixelization (patch from Anton Lobashev).
+* When adding new panel, now correctly edges of monitor where popup was
+    are tried before any other monitors.
+* Correctly open 'netstat' plugin own menu on leftclick since rightclick
+    should open panel context menu instead.
+* System critical temperature level in 'thermal' plugin now is properly
+    ignored if manual levels are active.
+* Fixed click on 'menu' plugin, only image was clickable, not whole area.
+* Added API panel_config_int_button_new() for generic plugin config spin
+    button with custom range, not just generic 0...1000.
+* Fixed wrong behavior with PanelIconGrid constrained width after child
+    was removed: size wasn't always renegotiated correctly.
+* Fixed range of space reservation in multi-monitor setup (reservation
+    might cover another monitor).
+* Numeric-only string will be saved now double-quoted to distinguish it
+    from number in config.
+* Implemented flashing on task with urgency in grouped task list menu.
+* Disabled flashing on urgency hint if window has focus, most of window
+    managers do the same on window decorations.
+* Fixed border of 'batt' plugin, it should correctly use panel settings.
+    Also 'Size' setting of it doesn't include border width.
+* Allowed default alarmCommand on 'batt' plugin be translated.
+* Implemented sorting plugins in Add plugin window in alphabetic order.
+* Fixed font in the weather plugin to use panel settings.
+* Added new API lxpanel_button_compose() for future usage by plugins.
+* Added optional volumealsa plugin volume mapping from alsamixer (patch
+    from Peter).
+* Added new API lxpanel_button_set_label() to change label of button that
+    was created using some lxpanel_button_*() API.
+* Added "panel-font-changed" signal to LXPanel to be able follow settings
+    change in font configuration of panel using lxpanel_button_*() API.
+* Fixed nasty bug with autohidden panel after unhide appeared for short
+    time somewhere at the screen.
+* Fixed calendar and configuration windows blinking on their appearance.
+* Fixed panel update when background image changed in configuration.
+* Changed to use persistent background image for panel and Cairo. This
+    way updating background should be faster, and also fixed background
+    of plugins when image is used, both placement and alpha color.
+* Urgent window is now always visible on the taskbar irrelevant of the
+    desktop number on which it appears, because urgent window requires
+    user attention (patch from Andy Balaam).
+* Moved bit of code that is used out from src/bg.c and discarded src/bg.c
+    from code used.
+* Dropped setting members of Panel structure: workarea, wa_len, bg.
+* Replaced GtkComboBoxEntry in netstatus plugin window with GtkComboBox.
+* Simplified plugins background setting - they should never use any own
+    background but either use one from panel or from theme (depending on
+    panel configuration). This should improve performance.
+* Don't update a whole panel background anymore after some plugin was
+    resized, only update the plugin itself to improve performance.
+
 0.7.2
 -------------------------------------------------------------------------
 * Fixed unhiding panel if it becomes empty and height_when_hidden is 0.
 0.7.2
 -------------------------------------------------------------------------
 * Fixed unhiding panel if it becomes empty and height_when_hidden is 0.
index 586cb09..2d67e5a 100644 (file)
@@ -2,7 +2,7 @@
 
 ACLOCAL_AMFLAGS= -I m4
 
 
 ACLOCAL_AMFLAGS= -I m4
 
-SUBDIRS = plugins src data po man
+SUBDIRS = src plugins data po man
 
 EXTRA_DIST = \
         autogen.sh \
 
 EXTRA_DIST = \
         autogen.sh \
index d0ee9ba..42490c0 100644 (file)
@@ -85,7 +85,7 @@ DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
        $(top_srcdir)/data/default/panels/panel.in \
        $(top_srcdir)/data/two_panels/panels/top.in \
        $(top_srcdir)/data/two_panels/panels/bottom.in AUTHORS COPYING \
        $(top_srcdir)/data/default/panels/panel.in \
        $(top_srcdir)/data/two_panels/panels/top.in \
        $(top_srcdir)/data/two_panels/panels/bottom.in AUTHORS COPYING \
-       ChangeLog README ar-lib compile config.guess config.sub \
+       ChangeLog README TODO ar-lib compile config.guess config.sub \
        install-sh missing ltmain.sh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
        install-sh missing ltmain.sh
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
@@ -230,7 +230,6 @@ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
   | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
 distcleancheck_listfiles = find . -type f -print
 ACLOCAL = @ACLOCAL@
-ADDITIONAL_FLAGS = @ADDITIONAL_FLAGS@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
@@ -283,6 +282,8 @@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+KEYBINDER_CFLAGS = @KEYBINDER_CFLAGS@
+KEYBINDER_LIBS = @KEYBINDER_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
@@ -293,7 +294,6 @@ LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
-LXPANEL_MODULE = @LXPANEL_MODULE@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
@@ -334,6 +334,9 @@ SHELL = @SHELL@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
@@ -393,7 +396,7 @@ top_build_prefix = @top_build_prefix@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 ACLOCAL_AMFLAGS = -I m4
-SUBDIRS = plugins src data po man
+SUBDIRS = src plugins data po man
 EXTRA_DIST = \
         autogen.sh \
         lxpanel.pc.in
 EXTRA_DIST = \
         autogen.sh \
         lxpanel.pc.in
diff --git a/README b/README
index a8ca465..64e23b9 100644 (file)
--- a/README
+++ b/README
@@ -2,7 +2,7 @@ LXPanel is a lightweight X11 desktop panel.
 
 To build this program you need some development packages:
   libtool 2.2 or newer, intltool, libgtk 2.18 or newer,
 
 To build this program you need some development packages:
   libtool 2.2 or newer, intltool, libgtk 2.18 or newer,
-  libfm-gtk 1.2 or newer, libwnck.
+  libfm-gtk 1.2 or newer, libwnck, libkeybinder.
 Optional development packages may be required to build some modules:
   libmenu-cache,
   libalsasound ('volumealsa' plugin isn't built if missing),
 Optional development packages may be required to build some modules:
   libmenu-cache,
   libalsasound ('volumealsa' plugin isn't built if missing),
@@ -40,7 +40,9 @@ About Netstat and Netstatus plugins:
 
 About theming & lxpanel:
 
 
 About theming & lxpanel:
 
-1. In future, hardcoding should not be used for icon lookup. Instead, use Gtk's built-in functions to handle icon lookup. If necessary, provide a fallback (hardcoded) icon.
+1. LXPanel tries to use as much themed icons as possible.  Fallback icons
+   may be also provided if they are placed into $(datadir)/lxpanel/images
+   directory.  Few plugins already provide their fallback icons.
 
 2. Current icon names that can be themed specifically for lxpanel include:
        *"lxpanel-background"
 
 2. Current icon names that can be themed specifically for lxpanel include:
        *"lxpanel-background"
@@ -51,10 +53,13 @@ About theming & lxpanel:
        *"numlock-off"
        *"scrllock-on"
        *"scrllock-off"
        *"numlock-off"
        *"scrllock-on"
        *"scrllock-off"
-       *"wincmd"
+       *"window-manager"
        *"ns-lock"
        *"ns-lock"
+       *"cpufreq-icon"
        *possibly more, as yet unfound.
 
        *possibly more, as yet unfound.
 
+There are also a substantial amount of others, but they use the icon naming specification.
+
 3. You can also set theme for any plugin specifically using it's widget name
     which is equal to plugin type.
 
 3. You can also set theme for any plugin specifically using it's widget name
     which is equal to plugin type.
 
@@ -62,8 +67,6 @@ About theming & lxpanel:
     as ~/.config/lxpanel/$PROFILE/gtkrc, where $PROFILE is the profile used on
     the LXPanel start.
 
     as ~/.config/lxpanel/$PROFILE/gtkrc, where $PROFILE is the profile used on
     the LXPanel start.
 
-There are also a substantial amount of others, but they use the icon naming specification.
-
 
 About keyboard options translations in xkb plugin:
 
 
 About keyboard options translations in xkb plugin:
 
diff --git a/TODO b/TODO
new file mode 100644 (file)
index 0000000..4a1a989
--- /dev/null
+++ b/TODO
@@ -0,0 +1,16 @@
+* drag & drop plugins via middle button
+* "Move" option in plugin context menu
+* "lxpanelctl command ..."
+* drag & drop launchers (LauncherButton widget as "application/x-lxpanel-launcher")
+* accessibility (keys-only; single-button-mouse; special devices)
+* 'volumealsa' improvements
+* compose new custom launcher in launchbar config dialog
+* special launchers support ()
+* manage invisible panel from unplugged monitor
+* hotkeys for launchers
+* support rounded corners
+* support keywords in gtk-run
+* convert Task into GtkWidget and use it to emit signals for menus and buttons
+* make click-wait-release popdown popups similarly to as GtkMenuShell does
+* make lxpanel multiscreen-aware
+* improve startup time (move every non-instant operation into idle callback)
index 79105bb..89c24e4 100644 (file)
@@ -337,7 +337,6 @@ msgstr ""
 dnl
 glib_DEFUN([GLIB_GNU_GETTEXT],
   [AC_REQUIRE([AC_PROG_CC])dnl
 dnl
 glib_DEFUN([GLIB_GNU_GETTEXT],
   [AC_REQUIRE([AC_PROG_CC])dnl
-   AC_REQUIRE([AC_HEADER_STDC])dnl
    
    GLIB_LC_MESSAGES
    GLIB_WITH_NLS
    
    GLIB_LC_MESSAGES
    GLIB_WITH_NLS
@@ -673,7 +672,7 @@ AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
 
 
 # nls.m4 serial 5 (gettext-0.18)
 
 
 # nls.m4 serial 5 (gettext-0.18)
-dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation,
+dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -1478,8 +1477,7 @@ to "yes", and re-run configure.
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
 END
     AC_MSG_ERROR([Your 'rm' program is bad, sorry.])
   fi
-fi
-])
+fi])
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
 
 dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
 dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
index 1f5c50c..b79252d 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
 
-timestamp='2014-03-23'
+timestamp='2013-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -149,7 +149,7 @@ Linux|GNU|GNU/*)
        LIBC=gnu
        #endif
        EOF
        LIBC=gnu
        #endif
        EOF
-       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
+       eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
        ;;
 esac
 
        ;;
 esac
 
@@ -826,7 +826,7 @@ EOF
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
     *:MINGW*:*)
        echo ${UNAME_MACHINE}-pc-mingw32
        exit ;;
-    *:MSYS*:*)
+    i*:MSYS*:*)
        echo ${UNAME_MACHINE}-pc-msys
        exit ;;
     i*:windows32*:*)
        echo ${UNAME_MACHINE}-pc-msys
        exit ;;
     i*:windows32*:*)
@@ -969,10 +969,10 @@ EOF
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
        eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
        test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
        ;;
-    openrisc*:Linux:*:*)
-       echo or1k-unknown-linux-${LIBC}
+    or1k:Linux:*:*)
+       echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
        exit ;;
-    or32:Linux:*:* | or1k*:Linux:*:*)
+    or32:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
        echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
        exit ;;
     padre:Linux:*:*)
@@ -1260,26 +1260,16 @@ EOF
        if test "$UNAME_PROCESSOR" = unknown ; then
            UNAME_PROCESSOR=powerpc
        fi
        if test "$UNAME_PROCESSOR" = unknown ; then
            UNAME_PROCESSOR=powerpc
        fi
-       if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
-           if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-               if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-                   (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-                   grep IS_64BIT_ARCH >/dev/null
-               then
-                   case $UNAME_PROCESSOR in
-                       i386) UNAME_PROCESSOR=x86_64 ;;
-                       powerpc) UNAME_PROCESSOR=powerpc64 ;;
-                   esac
-               fi
+       if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+           if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+               (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+               grep IS_64BIT_ARCH >/dev/null
+           then
+               case $UNAME_PROCESSOR in
+                   i386) UNAME_PROCESSOR=x86_64 ;;
+                   powerpc) UNAME_PROCESSOR=powerpc64 ;;
+               esac
            fi
            fi
-       elif test "$UNAME_PROCESSOR" = i386 ; then
-           # Avoid executing cc on OS X 10.9, as it ships with a stub
-           # that puts up a graphical alert prompting to install
-           # developer tools.  Any system running Mac OS X 10.7 or
-           # later (Darwin 11 and later) is required to have a 64-bit
-           # processor. This is not true of the ARM version of Darwin
-           # that Apple uses in portable devices.
-           UNAME_PROCESSOR=x86_64
        fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
        fi
        echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
        exit ;;
@@ -1371,6 +1361,154 @@ EOF
        exit ;;
 esac
 
        exit ;;
 esac
 
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+  /* BFD wants "bsd" instead of "newsos".  Perhaps BFD should be changed,
+     I don't know....  */
+  printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+  printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+       "4"
+#else
+       ""
+#endif
+       ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+  printf ("arm-acorn-riscix\n"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+  printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+  int version;
+  version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+  if (version < 4)
+    printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+  else
+    printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+  exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+  printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+  printf ("ns32k-encore-mach\n"); exit (0);
+#else
+  printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+  printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+  printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+  printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+    struct utsname un;
+
+    uname(&un);
+
+    if (strncmp(un.version, "V2", 2) == 0) {
+       printf ("i386-sequent-ptx2\n"); exit (0);
+    }
+    if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+       printf ("i386-sequent-ptx1\n"); exit (0);
+    }
+    printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+#  include <sys/param.h>
+#  if defined (BSD)
+#   if BSD == 43
+      printf ("vax-dec-bsd4.3\n"); exit (0);
+#   else
+#    if BSD == 199006
+      printf ("vax-dec-bsd4.3reno\n"); exit (0);
+#    else
+      printf ("vax-dec-bsd\n"); exit (0);
+#    endif
+#   endif
+#  else
+    printf ("vax-dec-bsd\n"); exit (0);
+#  endif
+# else
+    printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+  printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+  exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+       { echo "$SYSTEM_NAME"; exit; }
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+    case `getsysinfo -f cpu_type` in
+    c1*)
+       echo c1-convex-bsd
+       exit ;;
+    c2*)
+       if getsysinfo -f scalar_acc
+       then echo c32-convex-bsd
+       else echo c2-convex-bsd
+       fi
+       exit ;;
+    c34*)
+       echo c34-convex-bsd
+       exit ;;
+    c38*)
+       echo c38-convex-bsd
+       exit ;;
+    c4*)
+       echo c4-convex-bsd
+       exit ;;
+    esac
+fi
+
 cat >&2 <<EOF
 $0: unable to guess system type
 
 cat >&2 <<EOF
 $0: unable to guess system type
 
index d654d03..9633db7 100755 (executable)
@@ -1,8 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright 1992-2014 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
 
-timestamp='2014-05-01'
+timestamp='2013-08-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -68,7 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
 version="\
 GNU config.sub ($timestamp)
 
 version="\
 GNU config.sub ($timestamp)
 
-Copyright 1992-2014 Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -265,7 +265,6 @@ case $basic_machine in
        | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
        | hexagon \
        | i370 | i860 | i960 | ia64 \
        | ip2k | iq2000 \
-       | k1om \
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
        | le32 | le64 \
        | lm32 \
        | m32c | m32r | m32rle | m68000 | m68k | m88k \
@@ -283,10 +282,8 @@ case $basic_machine in
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
        | mips64vr5900 | mips64vr5900el \
        | mipsisa32 | mipsisa32el \
        | mipsisa32r2 | mipsisa32r2el \
-       | mipsisa32r6 | mipsisa32r6el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
        | mipsisa64 | mipsisa64el \
        | mipsisa64r2 | mipsisa64r2el \
-       | mipsisa64r6 | mipsisa64r6el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipsr5900 | mipsr5900el \
        | mipsisa64sb1 | mipsisa64sb1el \
        | mipsisa64sr71k | mipsisa64sr71kel \
        | mipsr5900 | mipsr5900el \
@@ -298,7 +295,8 @@ case $basic_machine in
        | nds32 | nds32le | nds32be \
        | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
        | nds32 | nds32le | nds32be \
        | nios | nios2 | nios2eb | nios2el \
        | ns16k | ns32k \
-       | open8 | or1k | or1knd | or32 \
+       | open8 \
+       | or1k | or32 \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
        | pdp10 | pdp11 | pj | pjl \
        | powerpc | powerpc64 | powerpc64le | powerpcle \
        | pyramid \
@@ -326,7 +324,7 @@ case $basic_machine in
        c6x)
                basic_machine=tic6x-unknown
                ;;
        c6x)
                basic_machine=tic6x-unknown
                ;;
-       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
+       m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
                basic_machine=$basic_machine-unknown
                os=-none
                ;;
@@ -383,7 +381,6 @@ case $basic_machine in
        | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
        | hexagon-* \
        | i*86-* | i860-* | i960-* | ia64-* \
        | ip2k-* | iq2000-* \
-       | k1om-* \
        | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
        | le32-* | le64-* \
        | lm32-* \
        | m32c-* | m32r-* | m32rle-* \
@@ -403,10 +400,8 @@ case $basic_machine in
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
        | mips64vr5900-* | mips64vr5900el-* \
        | mipsisa32-* | mipsisa32el-* \
        | mipsisa32r2-* | mipsisa32r2el-* \
-       | mipsisa32r6-* | mipsisa32r6el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
        | mipsisa64-* | mipsisa64el-* \
        | mipsisa64r2-* | mipsisa64r2el-* \
-       | mipsisa64r6-* | mipsisa64r6el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipsr5900-* | mipsr5900el-* \
        | mipsisa64sb1-* | mipsisa64sb1el-* \
        | mipsisa64sr71k-* | mipsisa64sr71kel-* \
        | mipsr5900-* | mipsr5900el-* \
@@ -418,7 +413,6 @@ case $basic_machine in
        | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
        | nios-* | nios2-* | nios2eb-* | nios2el-* \
        | none-* | np1-* | ns16k-* | ns32k-* \
        | open8-* \
-       | or1k*-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
        | orion-* \
        | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
        | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
@@ -1380,7 +1374,7 @@ case $os in
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
              | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
              | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
              | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
-             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*)
+             | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
        # Remember, each alternative MUST END IN *, to match a version number.
                ;;
        -qnx*)
@@ -1598,6 +1592,9 @@ case $basic_machine in
        mips*-*)
                os=-elf
                ;;
        mips*-*)
                os=-elf
                ;;
+       or1k-*)
+               os=-elf
+               ;;
        or32-*)
                os=-coff
                ;;
        or32-*)
                os=-coff
                ;;
index 4cd33a2..6f6acc0 100755 (executable)
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for lxpanel 0.7.2.
+# Generated by GNU Autoconf 2.69 for lxpanel 0.8.0.
 #
 # Report bugs to <http://lxde.org/>.
 #
 #
 # Report bugs to <http://lxde.org/>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='lxpanel'
 PACKAGE_TARNAME='lxpanel'
 # Identity of this package.
 PACKAGE_NAME='lxpanel'
 PACKAGE_TARNAME='lxpanel'
-PACKAGE_VERSION='0.7.2'
-PACKAGE_STRING='lxpanel 0.7.2'
+PACKAGE_VERSION='0.8.0'
+PACKAGE_STRING='lxpanel 0.8.0'
 PACKAGE_BUGREPORT='http://lxde.org/'
 PACKAGE_URL=''
 
 PACKAGE_BUGREPORT='http://lxde.org/'
 PACKAGE_URL=''
 
@@ -634,6 +634,9 @@ ac_includes_default="\
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
 ac_subst_vars='am__EXEEXT_FALSE
 am__EXEEXT_TRUE
 LTLIBOBJS
+VERSION_MICRO
+VERSION_MINOR
+VERSION_MAJOR
 MKINSTALLDIRS
 POSUB
 POFILES
 MKINSTALLDIRS
 POSUB
 POFILES
@@ -658,8 +661,6 @@ BUILD_OSS_PLUGINS_FALSE
 BUILD_OSS_PLUGINS_TRUE
 BUILD_ALSA_PLUGINS_FALSE
 BUILD_ALSA_PLUGINS_TRUE
 BUILD_OSS_PLUGINS_TRUE
 BUILD_ALSA_PLUGINS_FALSE
 BUILD_ALSA_PLUGINS_TRUE
-LXPANEL_MODULE
-ADDITIONAL_FLAGS
 ENABLE_MENU_CACHE_FALSE
 ENABLE_MENU_CACHE_TRUE
 MENU_CACHE_LIBS
 ENABLE_MENU_CACHE_FALSE
 ENABLE_MENU_CACHE_TRUE
 MENU_CACHE_LIBS
@@ -672,6 +673,8 @@ APPLET_LIBS
 APPLET_CFLAGS
 ENABLE_INDICATOR_SUPPORT_FALSE
 ENABLE_INDICATOR_SUPPORT_TRUE
 APPLET_CFLAGS
 ENABLE_INDICATOR_SUPPORT_FALSE
 ENABLE_INDICATOR_SUPPORT_TRUE
+KEYBINDER_LIBS
+KEYBINDER_CFLAGS
 PACKAGE_LIBS
 PACKAGE_CFLAGS
 PKG_CONFIG_LIBDIR
 PACKAGE_LIBS
 PACKAGE_CFLAGS
 PKG_CONFIG_LIBDIR
@@ -861,6 +864,8 @@ PKG_CONFIG_PATH
 PKG_CONFIG_LIBDIR
 PACKAGE_CFLAGS
 PACKAGE_LIBS
 PKG_CONFIG_LIBDIR
 PACKAGE_CFLAGS
 PACKAGE_LIBS
+KEYBINDER_CFLAGS
+KEYBINDER_LIBS
 APPLET_CFLAGS
 APPLET_LIBS
 X11_CFLAGS
 APPLET_CFLAGS
 APPLET_LIBS
 X11_CFLAGS
@@ -1410,7 +1415,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures lxpanel 0.7.2 to adapt to many kinds of systems.
+\`configure' configures lxpanel 0.8.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1484,7 +1489,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of lxpanel 0.7.2:";;
+     short | recursive ) echo "Configuration of lxpanel 0.8.0:";;
    esac
   cat <<\_ACEOF
 
    esac
   cat <<\_ACEOF
 
@@ -1549,6 +1554,10 @@ Some influential environment variables:
               C compiler flags for PACKAGE, overriding pkg-config
   PACKAGE_LIBS
               linker flags for PACKAGE, overriding pkg-config
               C compiler flags for PACKAGE, overriding pkg-config
   PACKAGE_LIBS
               linker flags for PACKAGE, overriding pkg-config
+  KEYBINDER_CFLAGS
+              C compiler flags for KEYBINDER, overriding pkg-config
+  KEYBINDER_LIBS
+              linker flags for KEYBINDER, overriding pkg-config
   APPLET_CFLAGS
               C compiler flags for APPLET, overriding pkg-config
   APPLET_LIBS linker flags for APPLET, overriding pkg-config
   APPLET_CFLAGS
               C compiler flags for APPLET, overriding pkg-config
   APPLET_LIBS linker flags for APPLET, overriding pkg-config
@@ -1630,7 +1639,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-lxpanel configure 0.7.2
+lxpanel configure 0.8.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1999,7 +2008,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by lxpanel $as_me 0.7.2, which was
+It was created by lxpanel $as_me 0.8.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2862,7 +2871,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='lxpanel'
 
 # Define the identity of the package.
  PACKAGE='lxpanel'
- VERSION='0.7.2'
+ VERSION='0.8.0'
 
 
 cat >>confdefs.h <<_ACEOF
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2954,7 +2963,6 @@ END
     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   fi
 fi
     as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5
   fi
 fi
-
 ac_config_headers="$ac_config_headers config.h"
 
 
 ac_config_headers="$ac_config_headers config.h"
 
 
@@ -12398,6 +12406,62 @@ CC="$lt_save_CC"
 
 
 # Checks for libraries.
 
 
 # Checks for libraries.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing log" >&5
+$as_echo_n "checking for library containing log... " >&6; }
+if ${ac_cv_search_log+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char log ();
+int
+main ()
+{
+return log ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' m; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_log=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if ${ac_cv_search_log+:} false; then :
+  break
+fi
+done
+if ${ac_cv_search_log+:} false; then :
+
+else
+  ac_cv_search_log=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_log" >&5
+$as_echo "$ac_cv_search_log" >&6; }
+ac_res=$ac_cv_search_log
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
 # Check whether --enable-gtk3 was given.
 if test "${enable_gtk3+set}" = set; then :
   enableval=$enable_gtk3; case "${enableval}" in
 # Check whether --enable-gtk3 was given.
 if test "${enable_gtk3+set}" = set; then :
   enableval=$enable_gtk3; case "${enableval}" in
 
 
 if test "x$enable_gtk3" = "xyes" ; then
 
 
 if test "x$enable_gtk3" = "xyes" ; then
-  CFLAGS="$CFLAGS -DENABLE_GTK3"
   pkg_modules="$pkg_modules gtk+-3.0 libfm-gtk3 >= 1.2.0 libwnck-3.0"
   pkg_modules="$pkg_modules gtk+-3.0 libfm-gtk3 >= 1.2.0 libwnck-3.0"
+  keybinder_module=keybinder-3.0
 else
   pkg_modules="$pkg_modules gtk+-2.0 >= 2.18.0 libfm-gtk >= 1.2.0 libwnck-1.0"
 else
   pkg_modules="$pkg_modules gtk+-2.0 >= 2.18.0 libfm-gtk >= 1.2.0 libwnck-1.0"
+  keybinder_module=keybinder
 fi
 
 pkg_modules="$pkg_modules \
 fi
 
 pkg_modules="$pkg_modules \
 
 
 
 
 
 
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for KEYBINDER" >&5
+$as_echo_n "checking for KEYBINDER... " >&6; }
+
+if test -n "$KEYBINDER_CFLAGS"; then
+    pkg_cv_KEYBINDER_CFLAGS="$KEYBINDER_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$keybinder_module\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$keybinder_module") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_KEYBINDER_CFLAGS=`$PKG_CONFIG --cflags "$keybinder_module" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$KEYBINDER_LIBS"; then
+    pkg_cv_KEYBINDER_LIBS="$KEYBINDER_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$keybinder_module\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$keybinder_module") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_KEYBINDER_LIBS=`$PKG_CONFIG --libs "$keybinder_module" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+               KEYBINDER_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$keybinder_module" 2>&1`
+        else
+               KEYBINDER_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$keybinder_module" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$KEYBINDER_PKG_ERRORS" >&5
+
+       as_fn_error $? "Package requirements ($keybinder_module) were not met:
+
+$KEYBINDER_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables KEYBINDER_CFLAGS
+and KEYBINDER_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+       { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables KEYBINDER_CFLAGS
+and KEYBINDER_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details" "$LINENO" 5; }
+else
+       KEYBINDER_CFLAGS=$pkg_cv_KEYBINDER_CFLAGS
+       KEYBINDER_LIBS=$pkg_cv_KEYBINDER_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+
+
 ###########################
 # Indicator Info
 ###########################
 ###########################
 # Indicator Info
 ###########################
@@ -12934,8 +13093,6 @@ $as_echo "$as_me: WARNING: No libmenu-cache found.  All menu related routines ar
 $as_echo "#define DISABLE_MENU 1" >>confdefs.h
 
 fi
 $as_echo "#define DISABLE_MENU 1" >>confdefs.h
 
 fi
-
-
  if test x"$enable_menu_cache" = x"yes"; then
   ENABLE_MENU_CACHE_TRUE=
   ENABLE_MENU_CACHE_FALSE='#'
  if test x"$enable_menu_cache" = x"yes"; then
   ENABLE_MENU_CACHE_TRUE=
   ENABLE_MENU_CACHE_FALSE='#'
@@ -12958,7 +13115,6 @@ if test x"$enable_more_warnings" = x"yes"; then
   ADDITIONAL_FLAGS="-Wall -Werror=all -Werror=format -Werror=implicit-function-declaration -Werror=implicit-int -Werror=missing-braces -Werror=parentheses -Werror=return-type -Werror=strict-aliasing -Werror=switch -Wuninitialized -Werror=unused-label -Werror=unused-value -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Werror=missing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Werror=inline -Werror=format-nonliteral -Wformat-nonliteral -Werror=format-security -Wformat-security -Winit-self -Werror=missing-include-dirs -Werror=undef -Werror=aggregate-return -Wmissing-format-attribute -Werror=nested-externs -fno-strict-aliasing -fmessage-length=0 -Wp,-D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
 fi
 
   ADDITIONAL_FLAGS="-Wall -Werror=all -Werror=format -Werror=implicit-function-declaration -Werror=implicit-int -Werror=missing-braces -Werror=parentheses -Werror=return-type -Werror=strict-aliasing -Werror=switch -Wuninitialized -Werror=unused-label -Werror=unused-value -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Werror=missing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Werror=inline -Werror=format-nonliteral -Wformat-nonliteral -Werror=format-security -Wformat-security -Winit-self -Werror=missing-include-dirs -Werror=undef -Werror=aggregate-return -Wmissing-format-attribute -Werror=nested-externs -fno-strict-aliasing -fmessage-length=0 -Wp,-D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
 fi
 
-
 PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS $ADDITIONAL_FLAGS"
 PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
 
 PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS $ADDITIONAL_FLAGS"
 PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
 
@@ -13022,19 +13178,6 @@ $as_echo "no" >&6; }
   ;;
 esac
 
   ;;
 esac
 
-# when passing "-z defs" to linker, we would better to make sure
-# there are no undefined references.  However, we intend not to
-# fix at the moment since we don't have spin-off libraray containing
-# the necessary functions.
-if test ! -z "$LDFLAGS"; then
-    LDFLAGS=`echo "$LDFLAGS" | sed -e 's/-Wl,-z,defs//'`
-fi
-
-LXPANEL_MODULE="-avoid-version \
--rpath \$(libdir)/lxpanel/plugins \
--no-undefined "'-export-symbols-regex "^[^_].*"'
-
-
 # Check whether --enable-alsa was given.
 if test "${enable_alsa+set}" = set; then :
   enableval=$enable_alsa; compile_alsa=$enableval
 # Check whether --enable-alsa was given.
 if test "${enable_alsa+set}" = set; then :
   enableval=$enable_alsa; compile_alsa=$enableval
@@ -14990,12 +15133,18 @@ else
     CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
 fi
 
     CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
 fi
 
+ac_version_subst_str=`echo $VERSION | awk -F '.' '/.*/ { printf "VERSION_MAJOR=%d VERSION_MINOR=%d VERSION_MICRO=%d", $1, $2, $3 }'`
+eval ${ac_version_subst_str}
+
+
+
+
 if test `eval "echo $sysconfdir"` = /usr/etc
 then
     sysconfdir=/etc
 fi
 
 if test `eval "echo $sysconfdir"` = /usr/etc
 then
     sysconfdir=/etc
 fi
 
-ac_config_files="$ac_config_files lxpanel.pc Makefile src/Makefile plugins/Makefile po/Makefile.in data/Makefile data/default/panels/panel data/two_panels/panels/top data/two_panels/panels/bottom man/Makefile"
+ac_config_files="$ac_config_files lxpanel.pc Makefile src/Makefile src/panel.h plugins/Makefile po/Makefile.in data/Makefile data/default/panels/panel data/two_panels/panels/top data/two_panels/panels/bottom man/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -15551,7 +15700,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by lxpanel $as_me 0.7.2, which was
+This file was extended by lxpanel $as_me 0.8.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15617,7 +15766,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-lxpanel config.status 0.7.2
+lxpanel config.status 0.8.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -16031,6 +16180,7 @@ do
     "lxpanel.pc") CONFIG_FILES="$CONFIG_FILES lxpanel.pc" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
     "lxpanel.pc") CONFIG_FILES="$CONFIG_FILES lxpanel.pc" ;;
     "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
     "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;;
+    "src/panel.h") CONFIG_FILES="$CONFIG_FILES src/panel.h" ;;
     "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
     "plugins/Makefile") CONFIG_FILES="$CONFIG_FILES plugins/Makefile" ;;
     "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
     "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
index 68860fc..e8290eb 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.53)
 AC_PREREQ(2.53)
-AC_INIT(lxpanel, 0.7.2, http://lxde.org/)
+AC_INIT(lxpanel, 0.8.0, http://lxde.org/)
 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects no-dist-gzip dist-xz])
 AC_CONFIG_HEADER([config.h])
 AC_CONFIG_MACRO_DIR([m4])
 AM_INIT_AUTOMAKE([-Wall foreign subdir-objects no-dist-gzip dist-xz])
 AC_CONFIG_HEADER([config.h])
 AC_CONFIG_MACRO_DIR([m4])
@@ -24,6 +24,7 @@ LT_PREREQ([2.2])
 LT_INIT
 
 # Checks for libraries.
 LT_INIT
 
 # Checks for libraries.
+AC_SEARCH_LIBS([log], [m])
 AC_ARG_ENABLE(gtk3,
 AC_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
 [case "${enableval}" in
 AC_ARG_ENABLE(gtk3,
 AC_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
 [case "${enableval}" in
@@ -33,10 +34,11 @@ AC_HELP_STRING([--enable-gtk3],[enable to use gtk-3.0 instead of gtk-2.0]),
 esac],[])
 
 if test "x$enable_gtk3" = "xyes" ; then
 esac],[])
 
 if test "x$enable_gtk3" = "xyes" ; then
-  CFLAGS="$CFLAGS -DENABLE_GTK3"
   pkg_modules="$pkg_modules gtk+-3.0 libfm-gtk3 >= 1.2.0 libwnck-3.0"
   pkg_modules="$pkg_modules gtk+-3.0 libfm-gtk3 >= 1.2.0 libwnck-3.0"
+  keybinder_module=keybinder-3.0
 else
   pkg_modules="$pkg_modules gtk+-2.0 >= 2.18.0 libfm-gtk >= 1.2.0 libwnck-1.0"
 else
   pkg_modules="$pkg_modules gtk+-2.0 >= 2.18.0 libfm-gtk >= 1.2.0 libwnck-1.0"
+  keybinder_module=keybinder
 fi
 
 pkg_modules="$pkg_modules \
 fi
 
 pkg_modules="$pkg_modules \
@@ -47,6 +49,10 @@ PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
 AC_SUBST(PACKAGE_CFLAGS)
 AC_SUBST(PACKAGE_LIBS)
 
 AC_SUBST(PACKAGE_CFLAGS)
 AC_SUBST(PACKAGE_LIBS)
 
+PKG_CHECK_MODULES(KEYBINDER, [$keybinder_module])
+AC_SUBST(KEYBINDER_CFLAGS)
+AC_SUBST(KEYBINDER_LIBS)
+
 ###########################
 # Indicator Info
 ###########################
 ###########################
 # Indicator Info
 ###########################
@@ -86,8 +92,6 @@ if test x"$enable_menu_cache" = "xno"; then
        AC_WARN([No libmenu-cache found.  All menu related routines are not built.])
        AC_DEFINE(DISABLE_MENU, [1], [Disable menu related routines])
 fi
        AC_WARN([No libmenu-cache found.  All menu related routines are not built.])
        AC_DEFINE(DISABLE_MENU, [1], [Disable menu related routines])
 fi
-AC_SUBST(MENU_CACHE_CFLAGS)
-AC_SUBST(MENU_CACHE_LIBS)
 AM_CONDITIONAL(ENABLE_MENU_CACHE, test x"$enable_menu_cache" = x"yes")
 
 AC_ARG_ENABLE(more_warnings,
 AM_CONDITIONAL(ENABLE_MENU_CACHE, test x"$enable_menu_cache" = x"yes")
 
 AC_ARG_ENABLE(more_warnings,
@@ -100,7 +104,6 @@ AC_ARG_ENABLE(more_warnings,
 if test x"$enable_more_warnings" = x"yes"; then
   ADDITIONAL_FLAGS="-Wall -Werror=all -Werror=format -Werror=implicit-function-declaration -Werror=implicit-int -Werror=missing-braces -Werror=parentheses -Werror=return-type -Werror=strict-aliasing -Werror=switch -Wuninitialized -Werror=unused-label -Werror=unused-value -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Werror=missing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Werror=inline -Werror=format-nonliteral -Wformat-nonliteral -Werror=format-security -Wformat-security -Winit-self -Werror=missing-include-dirs -Werror=undef -Werror=aggregate-return -Wmissing-format-attribute -Werror=nested-externs -fno-strict-aliasing -fmessage-length=0 -Wp,-D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
 fi
 if test x"$enable_more_warnings" = x"yes"; then
   ADDITIONAL_FLAGS="-Wall -Werror=all -Werror=format -Werror=implicit-function-declaration -Werror=implicit-int -Werror=missing-braces -Werror=parentheses -Werror=return-type -Werror=strict-aliasing -Werror=switch -Wuninitialized -Werror=unused-label -Werror=unused-value -Wextra -Wno-missing-field-initializers -Wno-unused-parameter -Werror=missing-declarations -Wredundant-decls -Wmissing-noreturn -Wpointer-arith -Wcast-align -Wwrite-strings -Werror=inline -Werror=format-nonliteral -Wformat-nonliteral -Werror=format-security -Wformat-security -Winit-self -Werror=missing-include-dirs -Werror=undef -Werror=aggregate-return -Wmissing-format-attribute -Werror=nested-externs -fno-strict-aliasing -fmessage-length=0 -Wp,-D_FORTIFY_SOURCE=2 -DG_DISABLE_DEPRECATED -DG_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES"
 fi
-AC_SUBST(ADDITIONAL_FLAGS)
 
 PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS $ADDITIONAL_FLAGS"
 PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
 
 PACKAGE_CFLAGS="$PACKAGE_CFLAGS $MENU_CACHE_CFLAGS $ADDITIONAL_FLAGS"
 PACKAGE_LIBS="$PACKAGE_LIBS $MENU_CACHE_LIBS"
@@ -155,20 +158,6 @@ case `$LD --sort-common -v 2>&1 </dev/null` in
   ;;
 esac
 
   ;;
 esac
 
-dnl FIXME: filter for undefined symbols in plugins
-# when passing "-z defs" to linker, we would better to make sure
-# there are no undefined references.  However, we intend not to
-# fix at the moment since we don't have spin-off libraray containing
-# the necessary functions.
-if test ! -z "$LDFLAGS"; then
-    LDFLAGS=`echo "$LDFLAGS" | sed -e 's/-Wl,-z,defs//'`
-fi
-
-LXPANEL_MODULE="-avoid-version \
--rpath \$(libdir)/lxpanel/plugins \
--no-undefined "'-export-symbols-regex "^[[^_]].*"'
-AC_SUBST(LXPANEL_MODULE)
-
 AC_ARG_ENABLE([alsa],
     AS_HELP_STRING([--disable-alsa],
                     [compile ALSA providers (default: enable)]),
 AC_ARG_ENABLE([alsa],
     AS_HELP_STRING([--disable-alsa],
                     [compile ALSA providers (default: enable)]),
@@ -381,6 +370,13 @@ else
     CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
 fi
 
     CPPFLAGS="$CPPFLAGS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -DG_DISABLE_CAST_CHECKS"
 fi
 
+dnl Make version subfields for LXPANEL_CHECK_VERSION macro
+ac_version_subst_str=`echo $VERSION | awk -F '.' '/.*/ { printf "VERSION_MAJOR=%d VERSION_MINOR=%d VERSION_MICRO=%d", $1, $2, $3 }'`
+eval ${ac_version_subst_str}
+AC_SUBST(VERSION_MAJOR)
+AC_SUBST(VERSION_MINOR)
+AC_SUBST(VERSION_MICRO)
+
 dnl Fix invalid sysconfdir when --prefix=/usr
 if test `eval "echo $sysconfdir"` = /usr/etc
 then
 dnl Fix invalid sysconfdir when --prefix=/usr
 if test `eval "echo $sysconfdir"` = /usr/etc
 then
@@ -391,6 +387,7 @@ AC_CONFIG_FILES([
     lxpanel.pc
     Makefile
     src/Makefile
     lxpanel.pc
     Makefile
     src/Makefile
+    src/panel.h
     plugins/Makefile
     po/Makefile.in
     data/Makefile
     plugins/Makefile
     po/Makefile.in
     data/Makefile
index 6404700..1ea43ec 100644 (file)
@@ -148,7 +148,6 @@ DATA = $(default_config_DATA) $(default_config_panel_DATA) \
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
-ADDITIONAL_FLAGS = @ADDITIONAL_FLAGS@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
@@ -201,6 +200,8 @@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+KEYBINDER_CFLAGS = @KEYBINDER_CFLAGS@
+KEYBINDER_LIBS = @KEYBINDER_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
@@ -211,7 +212,6 @@ LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
-LXPANEL_MODULE = @LXPANEL_MODULE@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
@@ -252,6 +252,9 @@ SHELL = @SHELL@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
index 50118a4..0eac29e 100644 (file)
                   </packing>
                 </child>
                 <child>
                   </packing>
                 </child>
                 <child>
+                  <object class="GtkCheckButton" id="checkbutton_disable_taskbar_upscale">
+                    <property name="label" translatable="yes">Disable enlargement for small task icons</property>
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="receives_default">False</property>
+                    <property name="draw_indicator">True</property>
+                  </object>
+                  <packing>
+                    <property name="expand">True</property>
+                    <property name="fill">True</property>
+                    <property name="position">8</property>
+                  </packing>
+                </child>
+                <child>
                   <object class="GtkHBox" id="hbox2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   <object class="GtkHBox" id="hbox2">
                     <property name="visible">True</property>
                     <property name="can_focus">False</property>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
-                    <property name="position">8</property>
+                    <property name="position">9</property>
                   </packing>
                 </child>
                 <child>
                   </packing>
                 </child>
                 <child>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
                   <packing>
                     <property name="expand">True</property>
                     <property name="fill">True</property>
-                    <property name="position">9</property>
+                    <property name="position">10</property>
                   </packing>
                 </child>
               </object>
                   </packing>
                 </child>
               </object>
index 60f51e3..0c5d6d3 100644 (file)
@@ -3,7 +3,7 @@
 <column type="GdkPixbuf"/>
 <column type="gchararray"/>
 <column type="gchararray"/>
 <column type="GdkPixbuf"/>
 <column type="gchararray"/>
 <column type="gchararray"/>
-<column type="gpointer"/></columns></object><object class="GtkDialog" id="dlg"><property name="can_focus">False</property><property name="border_width">10</property><property name="title" translatable="yes">Application Launch and Task Bar</property><property name="window_position">center</property><property name="default_width">640</property><property name="default_height">440</property><property name="type_hint">dialog</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">6</property><child><object class="GtkHBox" id="hbox_mode"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">12</property><child><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes" comments="Launchtaskbar mode: launchbar, taskbar, or combined">&lt;b&gt;Mode:&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="combobox_mode"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore_mode</property><child><object class="GtkCellRendererText" id="cellrenderertext1"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkNotebook" id="notebook"><property name="visible">True</property><property name="can_focus">True</property><child><object class="GtkHBox" id="hbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">12</property><child><object class="GtkVBox" id="vbox_defined"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="scroll1"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">etched-in</property><child><object class="GtkTreeView" id="defined_view"><property name="visible">True</property><property name="can_focus">True</property><property name="model">defined_store</property><property name="headers_clickable">False</property><property name="search_column">1</property><child><object class="GtkTreeViewColumn" id="defined_col"><property name="title" translatable="yes">Launchers</property><property name="expand">True</property></object></child></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label_def_app_exec"><property name="visible">True</property><property name="can_focus">False</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">6</property><child><object class="GtkButton" id="button_add"><property name="label">gtk-add</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="button_remove"><property name="label">gtk-remove</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="button_up"><property name="label">gtk-go-up</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkButton" id="button_down"><property name="label">gtk-go-down</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">3</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="vbox_menu"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="menu_view_window"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">etched-in</property><child><placeholder/></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label_menu_app_exec"><property name="visible">True</property><property name="can_focus">False</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Launchbar&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkCheckButton" id="checkbutton_show_tooltips"><property name="label" translatable="yes">Show tooltips</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_icons_only"><property name="label" translatable="yes">Icons only</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_flat_buttons"><property name="label" translatable="yes">Flat buttons</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_show_all_desks"><property name="label" translatable="yes">Show windows from all desktops</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">3</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_same_monitor_only"><property name="label" translatable="yes">Only show windows on the same monitor as the task bar</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">4</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_mouse_wheel"><property name="label" translatable="yes">Use mouse wheel</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">5</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_urgency_hint"><property name="label" translatable="yes">Flash when there is any window requiring attention</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">6</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_grouped_tasks"><property name="label" translatable="yes">Combine multiple application windows into a single button</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">7</property></packing></child><child><object class="GtkHBox" id="hbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Maximum width of task button</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">2</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="spinbutton_max_width"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment_max_width</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">3</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">8</property></packing></child><child><object class="GtkHBox" id="hbox3"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Spacing</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">2</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="spinbutton_spacing"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment_spacing</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">3</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">9</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Taskbar&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area"><property name="visible">True</property><property name="can_focus">False</property><property name="layout_style">end</property><child><object class="GtkButton" id="close"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="pack_type">end</property><property name="position">2</property></packing></child></object></child><action-widgets><action-widget response="-7">close</action-widget></action-widgets></object><object class="GtkListStore" id="liststore_mode"><columns>
+<column type="gpointer"/></columns></object><object class="GtkDialog" id="dlg"><property name="can_focus">False</property><property name="border_width">10</property><property name="title" translatable="yes">Application Launch and Task Bar</property><property name="window_position">center</property><property name="default_width">640</property><property name="default_height">440</property><property name="type_hint">dialog</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">6</property><child><object class="GtkHBox" id="hbox_mode"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">12</property><child><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes" comments="Launchtaskbar mode: launchbar, taskbar, or combined">&lt;b&gt;Mode:&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="combobox_mode"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore_mode</property><child><object class="GtkCellRendererText" id="cellrenderertext1"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkNotebook" id="notebook"><property name="visible">True</property><property name="can_focus">True</property><child><object class="GtkHBox" id="hbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">12</property><child><object class="GtkVBox" id="vbox_defined"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="scroll1"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">etched-in</property><child><object class="GtkTreeView" id="defined_view"><property name="visible">True</property><property name="can_focus">True</property><property name="model">defined_store</property><property name="headers_clickable">False</property><property name="search_column">1</property><child><object class="GtkTreeViewColumn" id="defined_col"><property name="title" translatable="yes">Launchers</property><property name="expand">True</property></object></child></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label_def_app_exec"><property name="visible">True</property><property name="can_focus">False</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">6</property><child><object class="GtkButton" id="button_add"><property name="label">gtk-add</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="button_remove"><property name="label">gtk-remove</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="button_up"><property name="label">gtk-go-up</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkButton" id="button_down"><property name="label">gtk-go-down</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">3</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="vbox_menu"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="menu_view_window"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">etched-in</property><child><placeholder/></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label_menu_app_exec"><property name="visible">True</property><property name="can_focus">False</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Launchbar&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkCheckButton" id="checkbutton_show_tooltips"><property name="label" translatable="yes">Show tooltips</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_icons_only"><property name="label" translatable="yes">Icons only</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_flat_buttons"><property name="label" translatable="yes">Flat buttons</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_show_all_desks"><property name="label" translatable="yes">Show windows from all desktops</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">3</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_same_monitor_only"><property name="label" translatable="yes">Only show windows on the same monitor as the task bar</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">4</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_mouse_wheel"><property name="label" translatable="yes">Use mouse wheel</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">5</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_urgency_hint"><property name="label" translatable="yes">Flash when there is any window requiring attention</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">6</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_grouped_tasks"><property name="label" translatable="yes">Combine multiple application windows into a single button</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">7</property></packing></child><child><object class="GtkCheckButton" id="checkbutton_disable_taskbar_upscale"><property name="label" translatable="yes">Disable enlargement for small task icons</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">8</property></packing></child><child><object class="GtkHBox" id="hbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Maximum width of task button</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">2</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="spinbutton_max_width"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment_max_width</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">3</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">9</property></packing></child><child><object class="GtkHBox" id="hbox3"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Spacing</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">2</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="spinbutton_spacing"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment_spacing</property></object><packing><property name="expand">False</property><property name="fill">True</property><property name="padding">3</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">10</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Taskbar&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area"><property name="visible">True</property><property name="can_focus">False</property><property name="layout_style">end</property><child><object class="GtkButton" id="close"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="pack_type">end</property><property name="position">2</property></packing></child></object></child><action-widgets><action-widget response="-7">close</action-widget></action-widgets></object><object class="GtkListStore" id="liststore_mode"><columns>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Only Application Launch Bar</col></row><row><col id="0" translatable="yes">Only Task Bar (Window List)</col></row><row><col id="0" translatable="yes">Integrated Application Launch Bar and Task Bar</col></row></data></object><object class="GtkTreeStore" id="menu_store"><columns>
 <column type="GdkPixbuf"/>
 <column type="gchararray"/>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Only Application Launch Bar</col></row><row><col id="0" translatable="yes">Only Task Bar (Window List)</col></row><row><col id="0" translatable="yes">Integrated Application Launch Bar and Task Bar</col></row></data></object><object class="GtkTreeStore" id="menu_store"><columns>
 <column type="GdkPixbuf"/>
 <column type="gchararray"/>
index 39f7299..fc956d3 100644 (file)
                                   </packing>
                                 </child>
                                 <child>
                                   </packing>
                                 </child>
                                 <child>
-                                  <object class="GtkComboBoxEntry" id="name_combo">
+                                  <object class="GtkComboBox" id="name_combo">
                                     <property name="visible">True</property>
                                     <property name="visible">True</property>
+                                    <property name="can_focus">False</property>
+                                    <property name="has_entry">True</property>
+                                    <child internal-child="entry">
+                                      <object class="GtkEntry" id="combobox-entry">
+                                        <property name="can_focus">True</property>
+                                      </object>
+                                    </child>
                                   </object>
                                   <packing>
                                     <property name="left_attach">1</property>
                                   </object>
                                   <packing>
                                     <property name="left_attach">1</property>
index dfcd883..8d18249 100644 (file)
@@ -1,2 +1,2 @@
 <?xml version="1.0"?><interface><requires lib="gtk+" version="2.16"/>
 <?xml version="1.0"?><interface><requires lib="gtk+" version="2.16"/>
-<object class="GtkDialog" id="network_status_dialog"><property name="border_width">5</property><property name="resizable">False</property><property name="window_position">center</property><property name="default_width">300</property><property name="type_hint">dialog</property><property name="has_separator">False</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox2"><property name="visible">True</property><property name="spacing">2</property><child><object class="GtkNotebook" id="notebook1"><property name="visible">True</property><property name="can_focus">True</property><property name="border_width">5</property><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="border_width">12</property><property name="spacing">18</property><child><object class="GtkVBox" id="connection_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Connection&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox6"><property name="visible">True</property><child><object class="GtkLabel" id="label43"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="connection_hbox"><property name="visible">True</property><property name="spacing">12</property><child><object class="GtkTable" id="connection_table"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Status:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="status_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label16"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">_Name:</property><property name="use_underline">True</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBoxEntry" id="name_combo"><property name="visible">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options"></property><property name="y_options"></property></packing></child></object><packing><property name="position">0</property></packing></child><child><placeholder/></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="activity_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Activity&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox8"><property name="visible">True</property><child><object class="GtkLabel" id="label44"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table2"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="received_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="sent_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label11"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Received:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label12"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Sent:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="signal_strength_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label48"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Signal Strength&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox14"><property name="visible">True</property><child><object class="GtkLabel" id="label49"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox15"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkProgressBar" id="signal_strength_bar"><property name="visible">True</property><property name="pulse_step">0.10000000149</property></object><packing><property name="position">0</property></packing></child><child><object class="GtkLabel" id="signal_strength_label"><property name="visible">True</property><property name="label" translatable="yes">0%</property></object><packing><property name="expand">False</property><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">2</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="label" translatable="yes">General</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="border_width">12</property><property name="spacing">18</property><child><object class="GtkVBox" id="inet4_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label25"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Internet Protocol (IPv4)&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox11"><property name="visible">True</property><child><object class="GtkLabel" id="label45"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="inet4_table"><property name="visible">True</property><property name="n_rows">4</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="inet4_addr_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_dest_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Destination:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_bcast_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Broadcast:</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_mask_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Subnet Mask:</property></object><packing><property name="top_attach">3</property><property name="bottom_attach">4</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_dest_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_bcast_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_mask_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">3</property><property name="bottom_attach">4</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="inet6_frame"><property name="spacing">6</property><child><object class="GtkLabel" id="label26"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Internet Protocol (IPv6)&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox12"><property name="visible">True</property><child><object class="GtkLabel" id="label46"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table5"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="label39"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label40"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Scope:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet6_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet6_scope_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="dev_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="dev_label"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Network Device&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox13"><property name="visible">True</property><child><object class="GtkLabel" id="label47"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table6"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="dev_addr_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_type_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_type_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Type:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">2</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="label" translatable="yes">Support</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child></object><packing><property name="position">1</property></packing></child><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area2"><property name="visible">True</property><property name="layout_style">end</property><child><object class="GtkButton" id="helpbutton1"><property name="label">gtk-help</property><property name="can_focus">True</property><property name="can_default">True</property><property name="has_default">True</property><property name="receives_default">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="configure_button"><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="receives_default">False</property><child><object class="GtkAlignment" id="alignment2"><property name="visible">True</property><property name="xscale">0</property><property name="yscale">0</property><child><object class="GtkHBox" id="hbox5"><property name="visible">True</property><property name="spacing">2</property><child><object class="GtkImage" id="image2"><property name="visible">True</property><property name="stock">gtk-preferences</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label42"><property name="visible">True</property><property name="label" translatable="yes">Con_figure</property><property name="use_underline">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="close_button"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="has_default">True</property><property name="receives_default">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child></object><packing><property name="expand">False</property><property name="pack_type">end</property><property name="position">0</property></packing></child></object></child><action-widgets><action-widget response="-11">helpbutton1</action-widget><action-widget response="0">configure_button</action-widget><action-widget response="-7">close_button</action-widget></action-widgets></object></interface>
+<object class="GtkDialog" id="network_status_dialog"><property name="border_width">5</property><property name="resizable">False</property><property name="window_position">center</property><property name="default_width">300</property><property name="type_hint">dialog</property><property name="has_separator">False</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox2"><property name="visible">True</property><property name="spacing">2</property><child><object class="GtkNotebook" id="notebook1"><property name="visible">True</property><property name="can_focus">True</property><property name="border_width">5</property><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="border_width">12</property><property name="spacing">18</property><child><object class="GtkVBox" id="connection_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Connection&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox6"><property name="visible">True</property><child><object class="GtkLabel" id="label43"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="connection_hbox"><property name="visible">True</property><property name="spacing">12</property><child><object class="GtkTable" id="connection_table"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Status:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="status_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label16"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">_Name:</property><property name="use_underline">True</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBox" id="name_combo"><property name="visible">True</property><property name="can_focus">False</property><property name="has_entry">True</property><child internal-child="entry"><object class="GtkEntry" id="combobox-entry"><property name="can_focus">True</property></object></child></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options"></property><property name="y_options"></property></packing></child></object><packing><property name="position">0</property></packing></child><child><placeholder/></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="activity_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Activity&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox8"><property name="visible">True</property><child><object class="GtkLabel" id="label44"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table2"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="received_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="sent_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label11"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Received:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label12"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Sent:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="signal_strength_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label48"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Signal Strength&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox14"><property name="visible">True</property><child><object class="GtkLabel" id="label49"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox15"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkProgressBar" id="signal_strength_bar"><property name="visible">True</property><property name="pulse_step">0.10000000149</property></object><packing><property name="position">0</property></packing></child><child><object class="GtkLabel" id="signal_strength_label"><property name="visible">True</property><property name="label" translatable="yes">0%</property></object><packing><property name="expand">False</property><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">2</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="label" translatable="yes">General</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="border_width">12</property><property name="spacing">18</property><child><object class="GtkVBox" id="inet4_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="label25"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Internet Protocol (IPv4)&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox11"><property name="visible">True</property><child><object class="GtkLabel" id="label45"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="inet4_table"><property name="visible">True</property><property name="n_rows">4</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="inet4_addr_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_dest_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Destination:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_bcast_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Broadcast:</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_mask_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Subnet Mask:</property></object><packing><property name="top_attach">3</property><property name="bottom_attach">4</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_dest_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_bcast_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet4_mask_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">3</property><property name="bottom_attach">4</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="inet6_frame"><property name="spacing">6</property><child><object class="GtkLabel" id="label26"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Internet Protocol (IPv6)&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox12"><property name="visible">True</property><child><object class="GtkLabel" id="label46"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table5"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="label39"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label40"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Scope:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet6_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="inet6_scope_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="dev_frame"><property name="visible">True</property><property name="spacing">6</property><child><object class="GtkLabel" id="dev_label"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">&lt;b&gt;Network Device&lt;/b&gt;</property><property name="use_markup">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox13"><property name="visible">True</property><child><object class="GtkLabel" id="label47"><property name="visible">True</property><property name="label">    </property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkTable" id="table6"><property name="visible">True</property><property name="n_rows">2</property><property name="n_columns">2</property><property name="column_spacing">12</property><property name="row_spacing">6</property><child><object class="GtkLabel" id="dev_addr_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Address:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_addr_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_type_label"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="selectable">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="dev_type_title"><property name="visible">True</property><property name="xalign">0</property><property name="label" translatable="yes">Type:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="position">2</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="label" translatable="yes">Support</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child></object><packing><property name="position">1</property></packing></child><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area2"><property name="visible">True</property><property name="layout_style">end</property><child><object class="GtkButton" id="helpbutton1"><property name="label">gtk-help</property><property name="can_focus">True</property><property name="can_default">True</property><property name="has_default">True</property><property name="receives_default">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="configure_button"><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="receives_default">False</property><child><object class="GtkAlignment" id="alignment2"><property name="visible">True</property><property name="xscale">0</property><property name="yscale">0</property><child><object class="GtkHBox" id="hbox5"><property name="visible">True</property><property name="spacing">2</property><child><object class="GtkImage" id="image2"><property name="visible">True</property><property name="stock">gtk-preferences</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="label42"><property name="visible">True</property><property name="label" translatable="yes">Con_figure</property><property name="use_underline">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="close_button"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="has_default">True</property><property name="receives_default">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child></object><packing><property name="expand">False</property><property name="pack_type">end</property><property name="position">0</property></packing></child></object></child><action-widgets><action-widget response="-11">helpbutton1</action-widget><action-widget response="0">configure_button</action-widget><action-widget response="-7">close_button</action-widget></action-widgets></object></interface>
index 5b856ec..e59dcce 100644 (file)
@@ -3,7 +3,6 @@
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkAdjustment" id="adjustment1">
   <requires lib="gtk+" version="2.16"/>
   <!-- interface-naming-policy toplevel-contextual -->
   <object class="GtkAdjustment" id="adjustment1">
-    <property name="lower">0</property>
     <property name="upper">10</property>
     <property name="value">2</property>
     <property name="step_increment">1</property>
     <property name="upper">10</property>
     <property name="value">2</property>
     <property name="step_increment">1</property>
     <property name="value">10</property>
     <property name="step_increment">1</property>
   </object>
     <property name="value">10</property>
     <property name="step_increment">1</property>
   </object>
-  <object class="GtkAdjustment" id="adjustment7">
-    <property name="lower">1</property>
-    <property name="step_increment">1</property>
-    <property name="page_increment">1</property>
-  </object>
   <object class="GtkListStore" id="liststore1">
     <columns>
       <!-- column-name item -->
   <object class="GtkListStore" id="liststore1">
     <columns>
       <!-- column-name item -->
       </row>
     </data>
   </object>
       </row>
     </data>
   </object>
+  <object class="GtkListStore" id="liststore4">
+    <columns>
+      <!-- column-name mon -->
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">All</col>
+      </row>
+      <row>
+        <col id="0">1</col>
+      </row>
+    </data>
+  </object>
   <object class="GtkDialog" id="panel_pref">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
   <object class="GtkDialog" id="panel_pref">
     <property name="visible">True</property>
     <property name="can_focus">False</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="yalign">0.10000000149011612</property>
                                         <property name="visible">True</property>
                                         <property name="can_focus">False</property>
                                         <property name="yalign">0.10000000149011612</property>
-                                        <property name="xscale">0.80000001192092896</property>
+                                        <property name="xscale">0.85</property>
                                         <property name="yscale">0</property>
                                         <property name="left_padding">12</property>
                                         <property name="right_padding">12</property>
                                         <child>
                                         <property name="yscale">0</property>
                                         <property name="left_padding">12</property>
                                         <property name="right_padding">12</property>
                                         <child>
-                                          <object class="GtkSpinButton" id="monitor">
+                                          <object class="GtkComboBox" id="monitor">
                                             <property name="visible">True</property>
                                             <property name="visible">True</property>
-                                            <property name="can_focus">True</property>
-                                            <property name="invisible_char">•</property>
-                                            <property name="width_chars">6</property>
-                                            <property name="invisible_char_set">True</property>
-                                            <property name="primary_icon_activatable">False</property>
-                                            <property name="secondary_icon_activatable">False</property>
-                                            <property name="primary_icon_sensitive">True</property>
-                                            <property name="secondary_icon_sensitive">True</property>
-                                            <property name="adjustment">adjustment7</property>
-                                            <property name="climb_rate">1</property>
+                                            <property name="can_focus">False</property>
+                                            <property name="model">liststore4</property>
                                           </object>
                                         </child>
                                       </object>
                                           </object>
                                         </child>
                                       </object>
                                 <child>
                                   <object class="GtkComboBox" id="fm_combobox">
                                     <property name="visible">True</property>
                                 <child>
                                   <object class="GtkComboBox" id="fm_combobox">
                                     <property name="visible">True</property>
-                                    <property name="can_focus">True</property>
+                                    <property name="can_focus">False</property>
                                   </object>
                                   <packing>
                                     <property name="expand">True</property>
                                   </object>
                                   <packing>
                                     <property name="expand">True</property>
index da88abe..e8ff67f 100644 (file)
@@ -1,5 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?><interface><requires lib="gtk+" version="2.16"/>
 <?xml version="1.0" encoding="UTF-8"?><interface><requires lib="gtk+" version="2.16"/>
-<object class="GtkAdjustment" id="adjustment1"><property name="lower">0</property><property name="upper">10</property><property name="value">2</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment2"><property name="upper">100</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment3"><property name="upper">100</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment4"><property name="upper">32767</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment5"><property name="upper">32767</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment6"><property name="lower">2</property><property name="upper">20</property><property name="value">10</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment7"><property name="lower">1</property><property name="step_increment">1</property><property name="page_increment">1</property></object><object class="GtkListStore" id="liststore1"><columns>
+<object class="GtkAdjustment" id="adjustment1"><property name="upper">10</property><property name="value">2</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment2"><property name="upper">100</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment3"><property name="upper">100</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment4"><property name="upper">32767</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment5"><property name="upper">32767</property><property name="step_increment">1</property></object><object class="GtkAdjustment" id="adjustment6"><property name="lower">2</property><property name="upper">20</property><property name="value">10</property><property name="step_increment">1</property></object><object class="GtkListStore" id="liststore1"><columns>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Dynamic</col></row><row><col id="0" translatable="yes">Pixels</col></row><row><col id="0" translatable="yes">% Percent</col></row></data></object><object class="GtkListStore" id="liststore2"><columns>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Pixels</col></row></data></object><object class="GtkListStore" id="liststore3"><columns>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Dynamic</col></row><row><col id="0" translatable="yes">Pixels</col></row><row><col id="0" translatable="yes">% Percent</col></row></data></object><object class="GtkListStore" id="liststore2"><columns>
 <column type="gchararray"/></columns><data><row><col id="0" translatable="yes">Pixels</col></row></data></object><object class="GtkListStore" id="liststore3"><columns>
-<column type="gchararray"/></columns><data><row><col id="0" translatable="yes">None</col></row><row><col id="0" translatable="yes">Err</col></row><row><col id="0" translatable="yes">Warn</col></row><row><col id="0" translatable="yes">Info</col></row><row><col id="0" translatable="yes">All</col></row></data></object><object class="GtkDialog" id="panel_pref"><property name="visible">True</property><property name="can_focus">False</property><property name="title" translatable="yes">Panel Preferences</property><property name="type_hint">dialog</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox1"><property name="visible">True</property><property name="can_focus">False</property><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area1"><property name="visible">True</property><property name="can_focus">False</property><property name="layout_style">end</property><child><object class="GtkButton" id="close_btn"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="pack_type">end</property><property name="position">0</property></packing></child><child><object class="GtkNotebook" id="notebook"><property name="visible">True</property><property name="can_focus">True</property><child><object class="GtkVBox" id="vbox7"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="frame1"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment1"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkHBox" id="hbox6"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="edge_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment11"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="yscale">0</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox9"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkRadioButton" id="edge_bottom"><property name="label" translatable="yes">Bottom</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkRadioButton" id="edge_top"><property name="label" translatable="yes">Top</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkRadioButton" id="edge_left"><property name="label" translatable="yes">Left</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkRadioButton" id="edge_right"><property name="label" translatable="yes">Right</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">3</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label20"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Edge:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="alignment_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment12"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="yscale">0</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox12"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkRadioButton" id="alignment_left"><property name="label" translatable="yes">Left</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkRadioButton" id="alignment_center"><property name="label" translatable="yes">Center</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">alignment_left</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkRadioButton" id="alignment_right"><property name="label" translatable="yes">Right</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">alignment_left</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label7"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Alignment:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="vbox11"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="margin_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment13"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="xscale">0.80000001192092896</property><property name="yscale">0</property><property name="left_padding">12</property><property name="right_padding">12</property><child><object class="GtkSpinButton" id="margin"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="width_chars">6</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment4</property><property name="climb_rate">1</property></object></child></object></child><child type="label"><object class="GtkLabel" id="label9"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Margin:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="monitor_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment14"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="xscale">0.80000001192092896</property><property name="yscale">0</property><property name="left_padding">12</property><property name="right_padding">12</property><child><object class="GtkSpinButton" id="monitor"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="width_chars">6</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment7</property><property name="climb_rate">1</property></object></child></object></child><child type="label"><object class="GtkLabel" id="label8"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Monitor:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Position&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame2"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment2"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="xscale">0</property><property name="left_padding">12</property><child><object class="GtkTable" id="table2"><property name="visible">True</property><property name="can_focus">False</property><property name="n_rows">3</property><property name="n_columns">3</property><property name="column_spacing">4</property><property name="row_spacing">2</property><child><object class="GtkLabel" id="width_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Width:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="height_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Height:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBox" id="height_unit"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore2</property><child><object class="GtkCellRendererText" id="cellrenderertext2"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="width"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment3</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="height"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment2</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBox" id="width_unit"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore1</property><child><object class="GtkCellRendererText" id="cellrenderertext1"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label11"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Icon size:</property><property name="use_markup">True</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="icon_size"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment5</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options">GTK_SHRINK</property></packing></child><child><object class="GtkLabel" id="label14"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Pixels</property></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label6"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Size&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Geometry</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">6</property><property name="spacing">4</property><child><object class="GtkFrame" id="frame4"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment4"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox4"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkRadioButton" id="bg_none"><property name="label" translatable="yes">System theme</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox2"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkRadioButton" id="bg_transparency"><property name="label" translatable="yes">Solid color (with opacity)</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property><property name="group">bg_none</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkColorButton" id="tint_clr"><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_action_appearance">False</property><property name="use_alpha">True</property><property name="color">#000000000000</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkHBox" id="hbox4"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">40</property><child><object class="GtkRadioButton" id="bg_image"><property name="label" translatable="yes">Image</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property><property name="group">bg_none</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkFileChooserButton" id="img_file"><property name="visible">True</property><property name="can_focus">False</property><property name="title" translatable="yes">Select an image file</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label18"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Background&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame5"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment5"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox10"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkHBox" id="hbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkCheckButton" id="use_font_clr"><property name="label" translatable="yes">Custom color</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkColorButton" id="font_clr"><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_action_appearance">False</property><property name="color">#000000000000</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox3"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkCheckButton" id="use_font_size"><property name="label" translatable="yes">Size</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="font_size"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment6</property><property name="climb_rate">1</property><property name="numeric">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label19"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Font&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label10"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Appearance</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child><child><object class="GtkHBox" id="hbox5"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkVBox" id="vbox5"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="scrolledwindow1"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">in</property><child><object class="GtkTreeView" id="plugin_list"><property name="visible">True</property><property name="can_focus">True</property><property name="rules_hint">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="plugin_desc"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="wrap">True</property><property name="selectable">True</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="vbox6"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">2</property><property name="spacing">2</property><child><object class="GtkButton" id="add_btn"><property name="label">gtk-add</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="remove_btn"><property name="label">gtk-remove</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="edit_btn"><property name="label">gtk-preferences</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child><child><object class="GtkButton" id="moveup_btn"><property name="label">gtk-go-up</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">3</property></packing></child><child><object class="GtkButton" id="movedown_btn"><property name="label">gtk-go-down</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">4</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="position">2</property></packing></child><child type="tab"><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Panel Applets</property></object><packing><property name="position">2</property><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox3"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">6</property><property name="spacing">4</property><child><object class="GtkFrame" id="frame6"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment6"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkTable" id="table3"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">2</property><property name="n_rows">3</property><property name="n_columns">2</property><property name="column_spacing">4</property><property name="row_spacing">2</property><child><object class="GtkEntry" id="logout"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="y_options"></property></packing></child><child><object class="GtkEntry" id="term"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="logout_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Logout Command:</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label24"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Terminal Emulator:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label23"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">File Manager:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkVBox" id="vbox13"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkEntry" id="file_manager"><property name="can_focus">True</property><property name="invisible_char">●</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="fm_combobox"><property name="visible">True</property><property name="can_focus">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="y_options"></property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label22"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Set Preferred Applications&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame3"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment3"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkCheckButton" id="as_dock"><property name="label" translatable="yes">Make window managers treat the panel as dock</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkCheckButton" id="reserve_space"><property name="label" translatable="yes">Reserve space, and not covered by maximized windows</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label15"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Properties&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkFrame" id="frame7"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment7"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkAlignment" id="alignment8"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkVBox" id="vbox8"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkCheckButton" id="autohide"><property name="label" translatable="yes">Minimize panel when not in use</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox8"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label12"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Size when minimized</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="height_when_minimized"><property name="visible">True</property><property name="can_focus">True</property><property name="max_length">2</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment1</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0.10000000149011612</property><property name="label" translatable="yes">pixels</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label13"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Automatic hiding&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkFrame" id="frame8"><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment9"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkAlignment" id="alignment10"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0</property><property name="yscale">0</property><child><object class="GtkHBox" id="hbox7"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label17"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Log level</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="log_level"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore3</property><property name="active">2</property><child><object class="GtkCellRendererText" id="cellrenderertext3"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label16"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Log level&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">3</property></packing></child></object><packing><property name="position">3</property></packing></child><child type="tab"><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Advanced</property></object><packing><property name="position">3</property><property name="tab_fill">False</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child><action-widgets><action-widget response="-7">close_btn</action-widget></action-widgets></object></interface>
+<column type="gchararray"/></columns><data><row><col id="0" translatable="yes">None</col></row><row><col id="0" translatable="yes">Err</col></row><row><col id="0" translatable="yes">Warn</col></row><row><col id="0" translatable="yes">Info</col></row><row><col id="0" translatable="yes">All</col></row></data></object><object class="GtkListStore" id="liststore4"><columns>
+<column type="gchararray"/></columns><data><row><col id="0" translatable="yes">All</col></row><row><col id="0">1</col></row></data></object><object class="GtkDialog" id="panel_pref"><property name="visible">True</property><property name="can_focus">False</property><property name="title" translatable="yes">Panel Preferences</property><property name="type_hint">dialog</property><child internal-child="vbox"><object class="GtkVBox" id="dialog-vbox1"><property name="visible">True</property><property name="can_focus">False</property><child internal-child="action_area"><object class="GtkHButtonBox" id="dialog-action_area1"><property name="visible">True</property><property name="can_focus">False</property><property name="layout_style">end</property><child><object class="GtkButton" id="close_btn"><property name="label">gtk-close</property><property name="visible">True</property><property name="can_focus">True</property><property name="can_default">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="pack_type">end</property><property name="position">0</property></packing></child><child><object class="GtkNotebook" id="notebook"><property name="visible">True</property><property name="can_focus">True</property><child><object class="GtkVBox" id="vbox7"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="frame1"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment1"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkHBox" id="hbox6"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="edge_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment11"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="yscale">0</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox9"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkRadioButton" id="edge_bottom"><property name="label" translatable="yes">Bottom</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkRadioButton" id="edge_top"><property name="label" translatable="yes">Top</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkRadioButton" id="edge_left"><property name="label" translatable="yes">Left</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkRadioButton" id="edge_right"><property name="label" translatable="yes">Right</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">edge_bottom</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">3</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label20"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Edge:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="alignment_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment12"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="yscale">0</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox12"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkRadioButton" id="alignment_left"><property name="label" translatable="yes">Left</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkRadioButton" id="alignment_center"><property name="label" translatable="yes">Center</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">alignment_left</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkRadioButton" id="alignment_right"><property name="label" translatable="yes">Right</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property><property name="group">alignment_left</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label7"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Alignment:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkVBox" id="vbox11"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkFrame" id="margin_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment13"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="xscale">0.80000001192092896</property><property name="yscale">0</property><property name="left_padding">12</property><property name="right_padding">12</property><child><object class="GtkSpinButton" id="margin"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="width_chars">6</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment4</property><property name="climb_rate">1</property></object></child></object></child><child type="label"><object class="GtkLabel" id="label9"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Margin:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="monitor_frame"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment14"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0.10000000149011612</property><property name="xscale">0.85</property><property name="yscale">0</property><property name="left_padding">12</property><property name="right_padding">12</property><child><object class="GtkComboBox" id="monitor"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore4</property></object></child></object></child><child type="label"><object class="GtkLabel" id="label8"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Monitor:</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label5"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Position&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame2"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment2"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="xscale">0</property><property name="left_padding">12</property><child><object class="GtkTable" id="table2"><property name="visible">True</property><property name="can_focus">False</property><property name="n_rows">3</property><property name="n_columns">3</property><property name="column_spacing">4</property><property name="row_spacing">2</property><child><object class="GtkLabel" id="width_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Width:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="height_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Height:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBox" id="height_unit"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore2</property><child><object class="GtkCellRendererText" id="cellrenderertext2"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="width"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment3</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="height"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment2</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkComboBox" id="width_unit"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore1</property><child><object class="GtkCellRendererText" id="cellrenderertext1"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label11"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Icon size:</property><property name="use_markup">True</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="y_options"></property></packing></child><child><object class="GtkSpinButton" id="icon_size"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">•</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment5</property><property name="climb_rate">1</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options">GTK_SHRINK</property></packing></child><child><object class="GtkLabel" id="label14"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Pixels</property></object><packing><property name="left_attach">2</property><property name="right_attach">3</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label6"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Size&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object></child><child type="tab"><object class="GtkLabel" id="label1"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Geometry</property></object><packing><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">6</property><property name="spacing">4</property><child><object class="GtkFrame" id="frame4"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment4"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox4"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkRadioButton" id="bg_none"><property name="label" translatable="yes">System theme</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="active">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox2"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkRadioButton" id="bg_transparency"><property name="label" translatable="yes">Solid color (with opacity)</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property><property name="group">bg_none</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkColorButton" id="tint_clr"><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_action_appearance">False</property><property name="use_alpha">True</property><property name="color">#000000000000</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkHBox" id="hbox4"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">40</property><child><object class="GtkRadioButton" id="bg_image"><property name="label" translatable="yes">Image</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property><property name="group">bg_none</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkFileChooserButton" id="img_file"><property name="visible">True</property><property name="can_focus">False</property><property name="title" translatable="yes">Select an image file</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label18"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Background&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame5"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment5"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox10"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkHBox" id="hbox1"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkCheckButton" id="use_font_clr"><property name="label" translatable="yes">Custom color</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkColorButton" id="font_clr"><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">True</property><property name="use_action_appearance">False</property><property name="color">#000000000000</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox3"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">10</property><child><object class="GtkCheckButton" id="use_font_size"><property name="label" translatable="yes">Size</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="font_size"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment6</property><property name="climb_rate">1</property><property name="numeric">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label19"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Font&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="position">1</property></packing></child><child type="tab"><object class="GtkLabel" id="label10"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Appearance</property></object><packing><property name="position">1</property><property name="tab_fill">False</property></packing></child><child><object class="GtkHBox" id="hbox5"><property name="visible">True</property><property name="can_focus">False</property><property name="spacing">2</property><child><object class="GtkVBox" id="vbox5"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkScrolledWindow" id="scrolledwindow1"><property name="visible">True</property><property name="can_focus">True</property><property name="hscrollbar_policy">automatic</property><property name="vscrollbar_policy">automatic</property><property name="shadow_type">in</property><child><object class="GtkTreeView" id="plugin_list"><property name="visible">True</property><property name="can_focus">True</property><property name="rules_hint">True</property></object></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkLabel" id="plugin_desc"><property name="visible">True</property><property name="can_focus">True</property><property name="xalign">0</property><property name="wrap">True</property><property name="selectable">True</property><property name="ellipsize">end</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkVBox" id="vbox6"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">2</property><property name="spacing">2</property><child><object class="GtkButton" id="add_btn"><property name="label">gtk-add</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkButton" id="remove_btn"><property name="label">gtk-remove</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child><child><object class="GtkButton" id="edit_btn"><property name="label">gtk-preferences</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">2</property></packing></child><child><object class="GtkButton" id="moveup_btn"><property name="label">gtk-go-up</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">3</property></packing></child><child><object class="GtkButton" id="movedown_btn"><property name="label">gtk-go-down</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_stock">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">4</property></packing></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="position">2</property></packing></child><child type="tab"><object class="GtkLabel" id="label3"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Panel Applets</property></object><packing><property name="position">2</property><property name="tab_fill">False</property></packing></child><child><object class="GtkVBox" id="vbox3"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">6</property><property name="spacing">4</property><child><object class="GtkFrame" id="frame6"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment6"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkTable" id="table3"><property name="visible">True</property><property name="can_focus">False</property><property name="border_width">2</property><property name="n_rows">3</property><property name="n_columns">2</property><property name="column_spacing">4</property><property name="row_spacing">2</property><child><object class="GtkEntry" id="logout"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="y_options"></property></packing></child><child><object class="GtkEntry" id="term"><property name="visible">True</property><property name="can_focus">True</property><property name="invisible_char">●</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="logout_label"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Logout Command:</property></object><packing><property name="top_attach">2</property><property name="bottom_attach">3</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label24"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Terminal Emulator:</property></object><packing><property name="top_attach">1</property><property name="bottom_attach">2</property><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkLabel" id="label23"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">File Manager:</property></object><packing><property name="x_options">GTK_FILL</property><property name="y_options"></property></packing></child><child><object class="GtkVBox" id="vbox13"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkEntry" id="file_manager"><property name="can_focus">True</property><property name="invisible_char">●</property><property name="invisible_char_set">True</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="fm_combobox"><property name="visible">True</property><property name="can_focus">False</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object><packing><property name="left_attach">1</property><property name="right_attach">2</property><property name="y_options"></property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label22"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Set Preferred Applications&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkFrame" id="frame3"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment3"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkVBox" id="vbox2"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkCheckButton" id="as_dock"><property name="label" translatable="yes">Make window managers treat the panel as dock</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkCheckButton" id="reserve_space"><property name="label" translatable="yes">Reserve space, and not covered by maximized windows</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="use_underline">True</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label15"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Properties&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkFrame" id="frame7"><property name="visible">True</property><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment7"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkAlignment" id="alignment8"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkVBox" id="vbox8"><property name="visible">True</property><property name="can_focus">False</property><property name="homogeneous">True</property><child><object class="GtkCheckButton" id="autohide"><property name="label" translatable="yes">Minimize panel when not in use</property><property name="visible">True</property><property name="can_focus">True</property><property name="receives_default">False</property><property name="use_action_appearance">False</property><property name="draw_indicator">True</property></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">0</property></packing></child><child><object class="GtkHBox" id="hbox8"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label12"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Size when minimized</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkSpinButton" id="height_when_minimized"><property name="visible">True</property><property name="can_focus">True</property><property name="max_length">2</property><property name="invisible_char">•</property><property name="primary_icon_activatable">False</property><property name="secondary_icon_activatable">False</property><property name="primary_icon_sensitive">True</property><property name="secondary_icon_sensitive">True</property><property name="adjustment">adjustment1</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child><child><object class="GtkLabel" id="label2"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0.10000000149011612</property><property name="label" translatable="yes">pixels</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object><packing><property name="expand">False</property><property name="fill">False</property><property name="position">1</property></packing></child></object></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label13"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Automatic hiding&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">2</property></packing></child><child><object class="GtkFrame" id="frame8"><property name="can_focus">False</property><property name="label_xalign">0</property><property name="shadow_type">none</property><child><object class="GtkAlignment" id="alignment9"><property name="visible">True</property><property name="can_focus">False</property><property name="left_padding">12</property><child><object class="GtkAlignment" id="alignment10"><property name="visible">True</property><property name="can_focus">False</property><property name="yalign">0</property><property name="yscale">0</property><child><object class="GtkHBox" id="hbox7"><property name="visible">True</property><property name="can_focus">False</property><child><object class="GtkLabel" id="label17"><property name="visible">True</property><property name="can_focus">False</property><property name="xalign">0</property><property name="label" translatable="yes">Log level</property></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">0</property></packing></child><child><object class="GtkComboBox" id="log_level"><property name="visible">True</property><property name="can_focus">False</property><property name="model">liststore3</property><property name="active">2</property><child><object class="GtkCellRendererText" id="cellrenderertext3"/><attributes><attribute name="text">0</attribute></attributes></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">1</property></packing></child></object></child></object></child></object></child><child type="label"><object class="GtkLabel" id="label16"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">&lt;b&gt;Log level&lt;/b&gt;</property><property name="use_markup">True</property></object></child></object><packing><property name="expand">False</property><property name="fill">True</property><property name="position">3</property></packing></child></object><packing><property name="position">3</property></packing></child><child type="tab"><object class="GtkLabel" id="label4"><property name="visible">True</property><property name="can_focus">False</property><property name="label" translatable="yes">Advanced</property></object><packing><property name="position">3</property><property name="tab_fill">False</property></packing></child></object><packing><property name="expand">True</property><property name="fill">True</property><property name="position">2</property></packing></child></object></child><action-widgets><action-widget response="-7">close_btn</action-widget></action-widgets></object></interface>
index 9fe8f59..a356aca 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -70,7 +70,7 @@
 #         compiler:            $LTCC
 #         compiler flags:              $LTCFLAGS
 #         linker:              $LD (gnu? $with_gnu_ld)
 #         compiler:            $LTCC
 #         compiler flags:              $LTCFLAGS
 #         linker:              $LD (gnu? $with_gnu_ld)
-#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1.6
+#         $progname:   (GNU libtool) 2.4.2 Debian-2.4.2-1.7ubuntu1
 #         automake:    $automake_version
 #         autoconf:    $autoconf_version
 #
 #         automake:    $automake_version
 #         autoconf:    $autoconf_version
 #
@@ -80,7 +80,7 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4.2 Debian-2.4.2-1.6"
+VERSION="2.4.2 Debian-2.4.2-1.7ubuntu1"
 TIMESTAMP=""
 package_revision=1.3337
 
 TIMESTAMP=""
 package_revision=1.3337
 
index c3b2b3c..db34490 100644 (file)
@@ -1,10 +1,11 @@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
 prefix=@prefix@
 exec_prefix=@exec_prefix@
-libdir=@libdir@
-includedir=@includedir@
-datadir=@datadir@
+pkglibdir=@libdir@/lxpanel
+includedir=@includedir@/lxpanel
+pluginsdir=${pkglibdir}/plugins
 
 Name: lxpanel
 Description: A lightweight X11 desktop panel
 Requires: glib-2.0 libfm
 Version: @VERSION@
 
 Name: lxpanel
 Description: A lightweight X11 desktop panel
 Requires: glib-2.0 libfm
 Version: @VERSION@
+Libs: -L${pkglibdir} -llxpanel
index 568101e..bf1c1f3 100644 (file)
@@ -143,7 +143,6 @@ MANS = $(man_MANS)
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
-ADDITIONAL_FLAGS = @ADDITIONAL_FLAGS@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
@@ -196,6 +195,8 @@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+KEYBINDER_CFLAGS = @KEYBINDER_CFLAGS@
+KEYBINDER_LIBS = @KEYBINDER_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
@@ -206,7 +207,6 @@ LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
-LXPANEL_MODULE = @LXPANEL_MODULE@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
@@ -247,6 +247,9 @@ SHELL = @SHELL@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
index 5424fbd..5c0f6de 100644 (file)
@@ -8,8 +8,13 @@ AM_CPPFLAGS = \
        $(G_CAST_CHECKS)
 
 AM_LDFLAGS = \
        $(G_CAST_CHECKS)
 
 AM_LDFLAGS = \
+       -module -avoid-version -shared -export-dynamic \
+       -no-undefined -rpath $(libdir)/lxpanel/plugins \
+       $(top_builddir)/src/liblxpanel.la \
        $(PACKAGE_LIBS)
 
        $(PACKAGE_LIBS)
 
+$(top_builddir)/src/liblxpanel.la:
+       cd $(top_builddir)/src && $(MAKE) liblxpanel.la
 
 ## built-in plugins
 noinst_LIBRARIES = libbuiltin_plugins.a
 
 ## built-in plugins
 noinst_LIBRARIES = libbuiltin_plugins.a
@@ -72,20 +77,15 @@ batt_la_SOURCES = \
        batt/batt.c \
        batt/batt_sys.c
 batt_la_CFLAGS = -I$(srcdir)/batt
        batt/batt.c \
        batt/batt_sys.c
 batt_la_CFLAGS = -I$(srcdir)/batt
-batt_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # cpu
 cpu_la_SOURCES = cpu/cpu.c
 
 # cpu
 cpu_la_SOURCES = cpu/cpu.c
-cpu_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # cpufreq
 cpufreq_la_SOURCES = cpufreq/cpufreq.c
 
 # cpufreq
 cpufreq_la_SOURCES = cpufreq/cpufreq.c
-cpufreq_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-cpufreq_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # deskno
 deskno_la_SOURCES = deskno/deskno.c
 
 # deskno
 deskno_la_SOURCES = deskno/deskno.c
-deskno_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # indicator
 indicator_la_SOURCES = indicator/indicator.c
 
 # indicator
 indicator_la_SOURCES = indicator/indicator.c
@@ -93,16 +93,14 @@ indicator_la_CFLAGS = \
        -DINDICATOR_DIR=\""$(INDICATORDIR)"\" \
        -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
        $(APPLET_CFLAGS)
        -DINDICATOR_DIR=\""$(INDICATORDIR)"\" \
        -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
        $(APPLET_CFLAGS)
-indicator_la_LDFLAGS = -module @LXPANEL_MODULE@ $(APPLET_LIBS)
+indicator_la_LIBADD = $(APPLET_LIBS)
 
 # kbled
 kbled_la_SOURCES = kbled/kbled.c
 
 # kbled
 kbled_la_SOURCES = kbled/kbled.c
-kbled_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-kbled_la_LDFLAGS = -module @LXPANEL_MODULE@
+kbled_la_LIBADD = $(X11_LIBS)
 
 # monitors
 monitors_la_SOURCES = monitors/monitors.c
 
 # monitors
 monitors_la_SOURCES = monitors/monitors.c
-monitors_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # netstat
 netstat_la_SOURCES = \
 
 # netstat
 netstat_la_SOURCES = \
@@ -112,10 +110,8 @@ netstat_la_SOURCES = \
        netstat/wireless.c \
        netstat/lxnm_client.c \
        netstat/passwd_gui.c
        netstat/wireless.c \
        netstat/lxnm_client.c \
        netstat/passwd_gui.c
-netstat_la_CFLAGS = \
-       -I$(srcdir)/netstat \
-       -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-netstat_la_LDFLAGS = -module @LXPANEL_MODULE@ -liw
+netstat_la_CFLAGS = -I$(srcdir)/netstat
+netstat_la_LIBADD = -liw
 
 # netstatus
 netstatus_la_SOURCES = \
 
 # netstatus
 netstatus_la_SOURCES = \
@@ -128,25 +124,20 @@ netstatus_la_SOURCES = \
        netstatus/netstatus-util.c
 netstatus_la_CFLAGS = \
        -I$(srcdir)/netstatus \
        netstatus/netstatus-util.c
 netstatus_la_CFLAGS = \
        -I$(srcdir)/netstatus \
-       -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\" \
        -DPACKAGE_UI_DIR=\""$(datadir)/lxpanel/ui"\"
        -DPACKAGE_UI_DIR=\""$(datadir)/lxpanel/ui"\"
-netstatus_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # thermal
 thermal_la_SOURCES = thermal/thermal.c
 
 # thermal
 thermal_la_SOURCES = thermal/thermal.c
-thermal_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # volume (OSS)
 volume_la_SOURCES = \
        volume/volume-impl.c \
        volume/volume.c
 volume_la_CFLAGS = -I$(srcdir)/volume
 
 # volume (OSS)
 volume_la_SOURCES = \
        volume/volume-impl.c \
        volume/volume.c
 volume_la_CFLAGS = -I$(srcdir)/volume
-volume_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # volumealsa
 volumealsa_la_SOURCES = volumealsa/volumealsa.c
 
 # volumealsa
 volumealsa_la_SOURCES = volumealsa/volumealsa.c
-volumealsa_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-volumealsa_la_LDFLAGS = -module @LXPANEL_MODULE@ -lasound
+volumealsa_la_LIBADD = -lasound
 
 # weather
 weather_la_SOURCES = \
 
 # weather
 weather_la_SOURCES = \
@@ -160,7 +151,7 @@ weather_la_SOURCES = \
 weather_la_CFLAGS = \
        -I$(srcdir)/weather \
        $(LIBXML2_CFLAGS)
 weather_la_CFLAGS = \
        -I$(srcdir)/weather \
        $(LIBXML2_CFLAGS)
-weather_la_LDFLAGS = -module @LXPANEL_MODULE@ $(LIBXML2_LIBS)
+weather_la_LIBADD = $(LIBXML2_LIBS)
 
 # xkb
 xkb_la_CFLAGS = \
 
 # xkb
 xkb_la_CFLAGS = \
@@ -171,7 +162,7 @@ xkb_la_CFLAGS = \
 xkb_la_SOURCES = \
        xkb/xkb-plugin.c \
        xkb/xkb.c
 xkb_la_SOURCES = \
        xkb/xkb-plugin.c \
        xkb/xkb.c
-xkb_la_LDFLAGS = -module @LXPANEL_MODULE@
+xkb_la_LIBADD = $(X11_LIBS)
 
 xkeyboardconfigdir=$(datadir)/lxpanel/xkeyboardconfig
 xkeyboardconfig_DATA = \
 
 xkeyboardconfigdir=$(datadir)/lxpanel/xkeyboardconfig
 xkeyboardconfig_DATA = \
@@ -339,8 +330,6 @@ EXTRA_DIST = \
 
 install-exec-hook:
        rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.la
 
 install-exec-hook:
        rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.la
-       rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.a
-       rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.
 
 if BUILD_PLUGIN_LOADER
 DYNAMIC_PLUGINS_INSTALLED = $(DYNAMIC_PLUGINS:.la=.so)
 
 if BUILD_PLUGIN_LOADER
 DYNAMIC_PLUGINS_INSTALLED = $(DYNAMIC_PLUGINS:.la=.so)
index 3cb09e0..435c740 100644 (file)
@@ -156,44 +156,30 @@ am__v_lt_0 = --silent
 am__v_lt_1 = 
 batt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(batt_la_CFLAGS) \
 am__v_lt_1 = 
 batt_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(batt_la_CFLAGS) \
-       $(CFLAGS) $(batt_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 cpu_la_LIBADD =
 am_cpu_la_OBJECTS = cpu/cpu.lo
 cpu_la_OBJECTS = $(am_cpu_la_OBJECTS)
 cpu_la_LIBADD =
 am_cpu_la_OBJECTS = cpu/cpu.lo
 cpu_la_OBJECTS = $(am_cpu_la_OBJECTS)
-cpu_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(cpu_la_LDFLAGS) $(LDFLAGS) -o $@
 cpufreq_la_LIBADD =
 cpufreq_la_LIBADD =
-am_cpufreq_la_OBJECTS = cpufreq/cpufreq_la-cpufreq.lo
+am_cpufreq_la_OBJECTS = cpufreq/cpufreq.lo
 cpufreq_la_OBJECTS = $(am_cpufreq_la_OBJECTS)
 cpufreq_la_OBJECTS = $(am_cpufreq_la_OBJECTS)
-cpufreq_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(cpufreq_la_CFLAGS) \
-       $(CFLAGS) $(cpufreq_la_LDFLAGS) $(LDFLAGS) -o $@
 deskno_la_LIBADD =
 am_deskno_la_OBJECTS = deskno/deskno.lo
 deskno_la_OBJECTS = $(am_deskno_la_OBJECTS)
 deskno_la_LIBADD =
 am_deskno_la_OBJECTS = deskno/deskno.lo
 deskno_la_OBJECTS = $(am_deskno_la_OBJECTS)
-deskno_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(deskno_la_LDFLAGS) $(LDFLAGS) -o $@
-indicator_la_LIBADD =
+am__DEPENDENCIES_1 =
+indicator_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am_indicator_la_OBJECTS = indicator/indicator_la-indicator.lo
 indicator_la_OBJECTS = $(am_indicator_la_OBJECTS)
 indicator_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(indicator_la_CFLAGS) \
 am_indicator_la_OBJECTS = indicator/indicator_la-indicator.lo
 indicator_la_OBJECTS = $(am_indicator_la_OBJECTS)
 indicator_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(indicator_la_CFLAGS) \
-       $(CFLAGS) $(indicator_la_LDFLAGS) $(LDFLAGS) -o $@
-kbled_la_LIBADD =
-am_kbled_la_OBJECTS = kbled/kbled_la-kbled.lo
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+kbled_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+am_kbled_la_OBJECTS = kbled/kbled.lo
 kbled_la_OBJECTS = $(am_kbled_la_OBJECTS)
 kbled_la_OBJECTS = $(am_kbled_la_OBJECTS)
-kbled_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(kbled_la_CFLAGS) \
-       $(CFLAGS) $(kbled_la_LDFLAGS) $(LDFLAGS) -o $@
 monitors_la_LIBADD =
 am_monitors_la_OBJECTS = monitors/monitors.lo
 monitors_la_OBJECTS = $(am_monitors_la_OBJECTS)
 monitors_la_LIBADD =
 am_monitors_la_OBJECTS = monitors/monitors.lo
 monitors_la_OBJECTS = $(am_monitors_la_OBJECTS)
-monitors_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(monitors_la_LDFLAGS) $(LDFLAGS) -o $@
-netstat_la_LIBADD =
+netstat_la_DEPENDENCIES =
 am_netstat_la_OBJECTS = netstat/netstat_la-netstat.lo \
        netstat/netstat_la-devproc.lo netstat/netstat_la-statusicon.lo \
        netstat/netstat_la-wireless.lo \
 am_netstat_la_OBJECTS = netstat/netstat_la-netstat.lo \
        netstat/netstat_la-devproc.lo netstat/netstat_la-statusicon.lo \
        netstat/netstat_la-wireless.lo \
@@ -202,7 +188,7 @@ am_netstat_la_OBJECTS = netstat/netstat_la-netstat.lo \
 netstat_la_OBJECTS = $(am_netstat_la_OBJECTS)
 netstat_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(netstat_la_CFLAGS) \
 netstat_la_OBJECTS = $(am_netstat_la_OBJECTS)
 netstat_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(netstat_la_CFLAGS) \
-       $(CFLAGS) $(netstat_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 netstatus_la_LIBADD =
 am_netstatus_la_OBJECTS = netstatus/netstatus_la-netstatus.lo \
        netstatus/netstatus_la-netstatus-dialog.lo \
 netstatus_la_LIBADD =
 am_netstatus_la_OBJECTS = netstatus/netstatus_la-netstatus.lo \
        netstatus/netstatus_la-netstatus-dialog.lo \
@@ -214,27 +200,21 @@ am_netstatus_la_OBJECTS = netstatus/netstatus_la-netstatus.lo \
 netstatus_la_OBJECTS = $(am_netstatus_la_OBJECTS)
 netstatus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(netstatus_la_CFLAGS) \
 netstatus_la_OBJECTS = $(am_netstatus_la_OBJECTS)
 netstatus_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(netstatus_la_CFLAGS) \
-       $(CFLAGS) $(netstatus_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
 thermal_la_LIBADD =
 am_thermal_la_OBJECTS = thermal/thermal.lo
 thermal_la_OBJECTS = $(am_thermal_la_OBJECTS)
 thermal_la_LIBADD =
 am_thermal_la_OBJECTS = thermal/thermal.lo
 thermal_la_OBJECTS = $(am_thermal_la_OBJECTS)
-thermal_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
-       $(thermal_la_LDFLAGS) $(LDFLAGS) -o $@
 volume_la_LIBADD =
 am_volume_la_OBJECTS = volume/volume_la-volume-impl.lo \
        volume/volume_la-volume.lo
 volume_la_OBJECTS = $(am_volume_la_OBJECTS)
 volume_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(volume_la_CFLAGS) \
 volume_la_LIBADD =
 am_volume_la_OBJECTS = volume/volume_la-volume-impl.lo \
        volume/volume_la-volume.lo
 volume_la_OBJECTS = $(am_volume_la_OBJECTS)
 volume_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(volume_la_CFLAGS) \
-       $(CFLAGS) $(volume_la_LDFLAGS) $(LDFLAGS) -o $@
-volumealsa_la_LIBADD =
-am_volumealsa_la_OBJECTS = volumealsa/volumealsa_la-volumealsa.lo
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+volumealsa_la_DEPENDENCIES =
+am_volumealsa_la_OBJECTS = volumealsa/volumealsa.lo
 volumealsa_la_OBJECTS = $(am_volumealsa_la_OBJECTS)
 volumealsa_la_OBJECTS = $(am_volumealsa_la_OBJECTS)
-volumealsa_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
-       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(volumealsa_la_CFLAGS) \
-       $(CFLAGS) $(volumealsa_la_LDFLAGS) $(LDFLAGS) -o $@
-weather_la_LIBADD =
+weather_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am_weather_la_OBJECTS = weather/weather_la-logutil.lo \
        weather/weather_la-httputil.lo weather/weather_la-yahooutil.lo \
        weather/weather_la-location.lo weather/weather_la-forecast.lo \
 am_weather_la_OBJECTS = weather/weather_la-logutil.lo \
        weather/weather_la-httputil.lo weather/weather_la-yahooutil.lo \
        weather/weather_la-location.lo weather/weather_la-forecast.lo \
@@ -243,13 +223,13 @@ am_weather_la_OBJECTS = weather/weather_la-logutil.lo \
 weather_la_OBJECTS = $(am_weather_la_OBJECTS)
 weather_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(weather_la_CFLAGS) \
 weather_la_OBJECTS = $(am_weather_la_OBJECTS)
 weather_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(weather_la_CFLAGS) \
-       $(CFLAGS) $(weather_la_LDFLAGS) $(LDFLAGS) -o $@
-xkb_la_LIBADD =
+       $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+xkb_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
 am_xkb_la_OBJECTS = xkb/xkb_la-xkb-plugin.lo xkb/xkb_la-xkb.lo
 xkb_la_OBJECTS = $(am_xkb_la_OBJECTS)
 xkb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(xkb_la_CFLAGS) $(CFLAGS) \
 am_xkb_la_OBJECTS = xkb/xkb_la-xkb-plugin.lo xkb/xkb_la-xkb.lo
 xkb_la_OBJECTS = $(am_xkb_la_OBJECTS)
 xkb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
        $(LIBTOOLFLAGS) --mode=link $(CCLD) $(xkb_la_CFLAGS) $(CFLAGS) \
-       $(xkb_la_LDFLAGS) $(LDFLAGS) -o $@
+       $(AM_LDFLAGS) $(LDFLAGS) -o $@
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
 am__v_P_0 = false
@@ -327,7 +307,6 @@ CTAGS = ctags
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibdir = $(libdir)/lxpanel/plugins
 ACLOCAL = @ACLOCAL@
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 pkglibdir = $(libdir)/lxpanel/plugins
 ACLOCAL = @ACLOCAL@
-ADDITIONAL_FLAGS = @ADDITIONAL_FLAGS@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
 ALL_LINGUAS = @ALL_LINGUAS@
 ALL_PLUGINS_LIST = @ALL_PLUGINS_LIST@
 AMTAR = @AMTAR@
@@ -380,6 +359,8 @@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
 INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@
 INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@
 INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@
+KEYBINDER_CFLAGS = @KEYBINDER_CFLAGS@
+KEYBINDER_LIBS = @KEYBINDER_LIBS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
 LD = @LD@
 LDFLAGS = @LDFLAGS@
 LIBOBJS = @LIBOBJS@
@@ -390,7 +371,6 @@ LIBXML2_LIBS = @LIBXML2_LIBS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
 LIPO = @LIPO@
 LN_S = @LN_S@
 LTLIBOBJS = @LTLIBOBJS@
-LXPANEL_MODULE = @LXPANEL_MODULE@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
 MAKEINFO = @MAKEINFO@
 MANIFEST_TOOL = @MANIFEST_TOOL@
 MENU_CACHE_CFLAGS = @MENU_CACHE_CFLAGS@
@@ -431,6 +411,9 @@ SHELL = @SHELL@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
 STRIP = @STRIP@
 USE_NLS = @USE_NLS@
 VERSION = @VERSION@
+VERSION_MAJOR = @VERSION_MAJOR@
+VERSION_MICRO = @VERSION_MICRO@
+VERSION_MINOR = @VERSION_MINOR@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
 X11_CFLAGS = @X11_CFLAGS@
 X11_LIBS = @X11_LIBS@
 XGETTEXT = @XGETTEXT@
@@ -496,6 +479,9 @@ AM_CPPFLAGS = \
        $(G_CAST_CHECKS)
 
 AM_LDFLAGS = \
        $(G_CAST_CHECKS)
 
 AM_LDFLAGS = \
+       -module -avoid-version -shared -export-dynamic \
+       -no-undefined -rpath $(libdir)/lxpanel/plugins \
+       $(top_builddir)/src/liblxpanel.la \
        $(PACKAGE_LIBS)
 
 noinst_LIBRARIES = libbuiltin_plugins.a
        $(PACKAGE_LIBS)
 
 noinst_LIBRARIES = libbuiltin_plugins.a
@@ -549,20 +535,15 @@ batt_la_SOURCES = \
        batt/batt_sys.c
 
 batt_la_CFLAGS = -I$(srcdir)/batt
        batt/batt_sys.c
 
 batt_la_CFLAGS = -I$(srcdir)/batt
-batt_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # cpu
 cpu_la_SOURCES = cpu/cpu.c
 
 # cpu
 cpu_la_SOURCES = cpu/cpu.c
-cpu_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # cpufreq
 cpufreq_la_SOURCES = cpufreq/cpufreq.c
 
 # cpufreq
 cpufreq_la_SOURCES = cpufreq/cpufreq.c
-cpufreq_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-cpufreq_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # deskno
 deskno_la_SOURCES = deskno/deskno.c
 
 # deskno
 deskno_la_SOURCES = deskno/deskno.c
-deskno_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # indicator
 indicator_la_SOURCES = indicator/indicator.c
 
 # indicator
 indicator_la_SOURCES = indicator/indicator.c
@@ -571,16 +552,14 @@ indicator_la_CFLAGS = \
        -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
        $(APPLET_CFLAGS)
 
        -DINDICATOR_ICONS_DIR=\""$(INDICATORICONSDIR)"\" \
        $(APPLET_CFLAGS)
 
-indicator_la_LDFLAGS = -module @LXPANEL_MODULE@ $(APPLET_LIBS)
+indicator_la_LIBADD = $(APPLET_LIBS)
 
 # kbled
 kbled_la_SOURCES = kbled/kbled.c
 
 # kbled
 kbled_la_SOURCES = kbled/kbled.c
-kbled_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-kbled_la_LDFLAGS = -module @LXPANEL_MODULE@
+kbled_la_LIBADD = $(X11_LIBS)
 
 # monitors
 monitors_la_SOURCES = monitors/monitors.c
 
 # monitors
 monitors_la_SOURCES = monitors/monitors.c
-monitors_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # netstat
 netstat_la_SOURCES = \
 
 # netstat
 netstat_la_SOURCES = \
@@ -591,11 +570,8 @@ netstat_la_SOURCES = \
        netstat/lxnm_client.c \
        netstat/passwd_gui.c
 
        netstat/lxnm_client.c \
        netstat/passwd_gui.c
 
-netstat_la_CFLAGS = \
-       -I$(srcdir)/netstat \
-       -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-
-netstat_la_LDFLAGS = -module @LXPANEL_MODULE@ -liw
+netstat_la_CFLAGS = -I$(srcdir)/netstat
+netstat_la_LIBADD = -liw
 
 # netstatus
 netstatus_la_SOURCES = \
 
 # netstatus
 netstatus_la_SOURCES = \
@@ -609,14 +585,11 @@ netstatus_la_SOURCES = \
 
 netstatus_la_CFLAGS = \
        -I$(srcdir)/netstatus \
 
 netstatus_la_CFLAGS = \
        -I$(srcdir)/netstatus \
-       -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\" \
        -DPACKAGE_UI_DIR=\""$(datadir)/lxpanel/ui"\"
 
        -DPACKAGE_UI_DIR=\""$(datadir)/lxpanel/ui"\"
 
-netstatus_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # thermal
 thermal_la_SOURCES = thermal/thermal.c
 
 # thermal
 thermal_la_SOURCES = thermal/thermal.c
-thermal_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # volume (OSS)
 volume_la_SOURCES = \
 
 # volume (OSS)
 volume_la_SOURCES = \
@@ -624,12 +597,10 @@ volume_la_SOURCES = \
        volume/volume.c
 
 volume_la_CFLAGS = -I$(srcdir)/volume
        volume/volume.c
 
 volume_la_CFLAGS = -I$(srcdir)/volume
-volume_la_LDFLAGS = -module @LXPANEL_MODULE@
 
 # volumealsa
 volumealsa_la_SOURCES = volumealsa/volumealsa.c
 
 # volumealsa
 volumealsa_la_SOURCES = volumealsa/volumealsa.c
-volumealsa_la_CFLAGS = -DPACKAGE_DATA_DIR=\""$(datadir)/lxpanel"\"
-volumealsa_la_LDFLAGS = -module @LXPANEL_MODULE@ -lasound
+volumealsa_la_LIBADD = -lasound
 
 # weather
 weather_la_SOURCES = \
 
 # weather
 weather_la_SOURCES = \
@@ -645,7 +616,7 @@ weather_la_CFLAGS = \
        -I$(srcdir)/weather \
        $(LIBXML2_CFLAGS)
 
        -I$(srcdir)/weather \
        $(LIBXML2_CFLAGS)
 
-weather_la_LDFLAGS = -module @LXPANEL_MODULE@ $(LIBXML2_LIBS)
+weather_la_LIBADD = $(LIBXML2_LIBS)
 
 # xkb
 xkb_la_CFLAGS = \
 
 # xkb
 xkb_la_CFLAGS = \
@@ -658,7 +629,7 @@ xkb_la_SOURCES = \
        xkb/xkb-plugin.c \
        xkb/xkb.c
 
        xkb/xkb-plugin.c \
        xkb/xkb.c
 
-xkb_la_LDFLAGS = -module @LXPANEL_MODULE@
+xkb_la_LIBADD = $(X11_LIBS)
 xkeyboardconfigdir = $(datadir)/lxpanel/xkeyboardconfig
 xkeyboardconfig_DATA = \
        xkb/xkeyboardconfig/models.cfg \
 xkeyboardconfigdir = $(datadir)/lxpanel/xkeyboardconfig
 xkeyboardconfig_DATA = \
        xkb/xkeyboardconfig/models.cfg \
@@ -923,18 +894,18 @@ cpu/$(DEPDIR)/$(am__dirstamp):
 cpu/cpu.lo: cpu/$(am__dirstamp) cpu/$(DEPDIR)/$(am__dirstamp)
 
 cpu.la: $(cpu_la_OBJECTS) $(cpu_la_DEPENDENCIES) $(EXTRA_cpu_la_DEPENDENCIES) 
 cpu/cpu.lo: cpu/$(am__dirstamp) cpu/$(DEPDIR)/$(am__dirstamp)
 
 cpu.la: $(cpu_la_OBJECTS) $(cpu_la_DEPENDENCIES) $(EXTRA_cpu_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(cpu_la_LINK)  $(cpu_la_OBJECTS) $(cpu_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(cpu_la_OBJECTS) $(cpu_la_LIBADD) $(LIBS)
 cpufreq/$(am__dirstamp):
        @$(MKDIR_P) cpufreq
        @: > cpufreq/$(am__dirstamp)
 cpufreq/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) cpufreq/$(DEPDIR)
        @: > cpufreq/$(DEPDIR)/$(am__dirstamp)
 cpufreq/$(am__dirstamp):
        @$(MKDIR_P) cpufreq
        @: > cpufreq/$(am__dirstamp)
 cpufreq/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) cpufreq/$(DEPDIR)
        @: > cpufreq/$(DEPDIR)/$(am__dirstamp)
-cpufreq/cpufreq_la-cpufreq.lo: cpufreq/$(am__dirstamp) \
+cpufreq/cpufreq.lo: cpufreq/$(am__dirstamp) \
        cpufreq/$(DEPDIR)/$(am__dirstamp)
 
 cpufreq.la: $(cpufreq_la_OBJECTS) $(cpufreq_la_DEPENDENCIES) $(EXTRA_cpufreq_la_DEPENDENCIES) 
        cpufreq/$(DEPDIR)/$(am__dirstamp)
 
 cpufreq.la: $(cpufreq_la_OBJECTS) $(cpufreq_la_DEPENDENCIES) $(EXTRA_cpufreq_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(cpufreq_la_LINK)  $(cpufreq_la_OBJECTS) $(cpufreq_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(cpufreq_la_OBJECTS) $(cpufreq_la_LIBADD) $(LIBS)
 deskno/$(am__dirstamp):
        @$(MKDIR_P) deskno
        @: > deskno/$(am__dirstamp)
 deskno/$(am__dirstamp):
        @$(MKDIR_P) deskno
        @: > deskno/$(am__dirstamp)
@@ -945,7 +916,7 @@ deskno/deskno.lo: deskno/$(am__dirstamp) \
        deskno/$(DEPDIR)/$(am__dirstamp)
 
 deskno.la: $(deskno_la_OBJECTS) $(deskno_la_DEPENDENCIES) $(EXTRA_deskno_la_DEPENDENCIES) 
        deskno/$(DEPDIR)/$(am__dirstamp)
 
 deskno.la: $(deskno_la_OBJECTS) $(deskno_la_DEPENDENCIES) $(EXTRA_deskno_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(deskno_la_LINK)  $(deskno_la_OBJECTS) $(deskno_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(deskno_la_OBJECTS) $(deskno_la_LIBADD) $(LIBS)
 indicator/$(am__dirstamp):
        @$(MKDIR_P) indicator
        @: > indicator/$(am__dirstamp)
 indicator/$(am__dirstamp):
        @$(MKDIR_P) indicator
        @: > indicator/$(am__dirstamp)
@@ -963,11 +934,10 @@ kbled/$(am__dirstamp):
 kbled/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) kbled/$(DEPDIR)
        @: > kbled/$(DEPDIR)/$(am__dirstamp)
 kbled/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) kbled/$(DEPDIR)
        @: > kbled/$(DEPDIR)/$(am__dirstamp)
-kbled/kbled_la-kbled.lo: kbled/$(am__dirstamp) \
-       kbled/$(DEPDIR)/$(am__dirstamp)
+kbled/kbled.lo: kbled/$(am__dirstamp) kbled/$(DEPDIR)/$(am__dirstamp)
 
 kbled.la: $(kbled_la_OBJECTS) $(kbled_la_DEPENDENCIES) $(EXTRA_kbled_la_DEPENDENCIES) 
 
 kbled.la: $(kbled_la_OBJECTS) $(kbled_la_DEPENDENCIES) $(EXTRA_kbled_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(kbled_la_LINK)  $(kbled_la_OBJECTS) $(kbled_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(kbled_la_OBJECTS) $(kbled_la_LIBADD) $(LIBS)
 monitors/$(am__dirstamp):
        @$(MKDIR_P) monitors
        @: > monitors/$(am__dirstamp)
 monitors/$(am__dirstamp):
        @$(MKDIR_P) monitors
        @: > monitors/$(am__dirstamp)
@@ -978,7 +948,7 @@ monitors/monitors.lo: monitors/$(am__dirstamp) \
        monitors/$(DEPDIR)/$(am__dirstamp)
 
 monitors.la: $(monitors_la_OBJECTS) $(monitors_la_DEPENDENCIES) $(EXTRA_monitors_la_DEPENDENCIES) 
        monitors/$(DEPDIR)/$(am__dirstamp)
 
 monitors.la: $(monitors_la_OBJECTS) $(monitors_la_DEPENDENCIES) $(EXTRA_monitors_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(monitors_la_LINK)  $(monitors_la_OBJECTS) $(monitors_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(monitors_la_OBJECTS) $(monitors_la_LIBADD) $(LIBS)
 netstat/$(am__dirstamp):
        @$(MKDIR_P) netstat
        @: > netstat/$(am__dirstamp)
 netstat/$(am__dirstamp):
        @$(MKDIR_P) netstat
        @: > netstat/$(am__dirstamp)
@@ -1033,7 +1003,7 @@ thermal/thermal.lo: thermal/$(am__dirstamp) \
        thermal/$(DEPDIR)/$(am__dirstamp)
 
 thermal.la: $(thermal_la_OBJECTS) $(thermal_la_DEPENDENCIES) $(EXTRA_thermal_la_DEPENDENCIES) 
        thermal/$(DEPDIR)/$(am__dirstamp)
 
 thermal.la: $(thermal_la_OBJECTS) $(thermal_la_DEPENDENCIES) $(EXTRA_thermal_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(thermal_la_LINK)  $(thermal_la_OBJECTS) $(thermal_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(thermal_la_OBJECTS) $(thermal_la_LIBADD) $(LIBS)
 volume/$(am__dirstamp):
        @$(MKDIR_P) volume
        @: > volume/$(am__dirstamp)
 volume/$(am__dirstamp):
        @$(MKDIR_P) volume
        @: > volume/$(am__dirstamp)
@@ -1053,11 +1023,11 @@ volumealsa/$(am__dirstamp):
 volumealsa/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) volumealsa/$(DEPDIR)
        @: > volumealsa/$(DEPDIR)/$(am__dirstamp)
 volumealsa/$(DEPDIR)/$(am__dirstamp):
        @$(MKDIR_P) volumealsa/$(DEPDIR)
        @: > volumealsa/$(DEPDIR)/$(am__dirstamp)
-volumealsa/volumealsa_la-volumealsa.lo: volumealsa/$(am__dirstamp) \
+volumealsa/volumealsa.lo: volumealsa/$(am__dirstamp) \
        volumealsa/$(DEPDIR)/$(am__dirstamp)
 
 volumealsa.la: $(volumealsa_la_OBJECTS) $(volumealsa_la_DEPENDENCIES) $(EXTRA_volumealsa_la_DEPENDENCIES) 
        volumealsa/$(DEPDIR)/$(am__dirstamp)
 
 volumealsa.la: $(volumealsa_la_OBJECTS) $(volumealsa_la_DEPENDENCIES) $(EXTRA_volumealsa_la_DEPENDENCIES) 
-       $(AM_V_CCLD)$(volumealsa_la_LINK)  $(volumealsa_la_OBJECTS) $(volumealsa_la_LIBADD) $(LIBS)
+       $(AM_V_CCLD)$(LINK)  $(volumealsa_la_OBJECTS) $(volumealsa_la_LIBADD) $(LIBS)
 weather/$(am__dirstamp):
        @$(MKDIR_P) weather
        @: > weather/$(am__dirstamp)
 weather/$(am__dirstamp):
        @$(MKDIR_P) weather
        @: > weather/$(am__dirstamp)
@@ -1140,10 +1110,10 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@batt/$(DEPDIR)/batt_la-batt.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@batt/$(DEPDIR)/batt_la-batt_sys.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@cpu/$(DEPDIR)/cpu.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@batt/$(DEPDIR)/batt_la-batt.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@batt/$(DEPDIR)/batt_la-batt_sys.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@cpu/$(DEPDIR)/cpu.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@cpufreq/$(DEPDIR)/cpufreq_la-cpufreq.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@cpufreq/$(DEPDIR)/cpufreq.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@deskno/$(DEPDIR)/deskno.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@indicator/$(DEPDIR)/indicator_la-indicator.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@deskno/$(DEPDIR)/deskno.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@indicator/$(DEPDIR)/indicator_la-indicator.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@kbled/$(DEPDIR)/kbled_la-kbled.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@kbled/$(DEPDIR)/kbled.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@monitors/$(DEPDIR)/monitors.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@netstat/$(DEPDIR)/netstat_la-devproc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@netstat/$(DEPDIR)/netstat_la-lxnm_client.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@monitors/$(DEPDIR)/monitors.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@netstat/$(DEPDIR)/netstat_la-devproc.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@netstat/$(DEPDIR)/netstat_la-lxnm_client.Plo@am__quote@
@@ -1161,7 +1131,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@thermal/$(DEPDIR)/thermal.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@volume/$(DEPDIR)/volume_la-volume-impl.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@volume/$(DEPDIR)/volume_la-volume.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@thermal/$(DEPDIR)/thermal.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@volume/$(DEPDIR)/volume_la-volume-impl.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@volume/$(DEPDIR)/volume_la-volume.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@volumealsa/$(DEPDIR)/volumealsa_la-volumealsa.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@volumealsa/$(DEPDIR)/volumealsa.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-forecast.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-httputil.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-location.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-forecast.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-httputil.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@weather/$(DEPDIR)/weather_la-location.Plo@am__quote@
@@ -1336,13 +1306,6 @@ batt/batt_la-batt_sys.lo: batt/batt_sys.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(batt_la_CFLAGS) $(CFLAGS) -c -o batt/batt_la-batt_sys.lo `test -f 'batt/batt_sys.c' || echo '$(srcdir)/'`batt/batt_sys.c
 
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(batt_la_CFLAGS) $(CFLAGS) -c -o batt/batt_la-batt_sys.lo `test -f 'batt/batt_sys.c' || echo '$(srcdir)/'`batt/batt_sys.c
 
-cpufreq/cpufreq_la-cpufreq.lo: cpufreq/cpufreq.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cpufreq_la_CFLAGS) $(CFLAGS) -MT cpufreq/cpufreq_la-cpufreq.lo -MD -MP -MF cpufreq/$(DEPDIR)/cpufreq_la-cpufreq.Tpo -c -o cpufreq/cpufreq_la-cpufreq.lo `test -f 'cpufreq/cpufreq.c' || echo '$(srcdir)/'`cpufreq/cpufreq.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) cpufreq/$(DEPDIR)/cpufreq_la-cpufreq.Tpo cpufreq/$(DEPDIR)/cpufreq_la-cpufreq.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='cpufreq/cpufreq.c' object='cpufreq/cpufreq_la-cpufreq.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(cpufreq_la_CFLAGS) $(CFLAGS) -c -o cpufreq/cpufreq_la-cpufreq.lo `test -f 'cpufreq/cpufreq.c' || echo '$(srcdir)/'`cpufreq/cpufreq.c
-
 indicator/indicator_la-indicator.lo: indicator/indicator.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(indicator_la_CFLAGS) $(CFLAGS) -MT indicator/indicator_la-indicator.lo -MD -MP -MF indicator/$(DEPDIR)/indicator_la-indicator.Tpo -c -o indicator/indicator_la-indicator.lo `test -f 'indicator/indicator.c' || echo '$(srcdir)/'`indicator/indicator.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) indicator/$(DEPDIR)/indicator_la-indicator.Tpo indicator/$(DEPDIR)/indicator_la-indicator.Plo
 indicator/indicator_la-indicator.lo: indicator/indicator.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(indicator_la_CFLAGS) $(CFLAGS) -MT indicator/indicator_la-indicator.lo -MD -MP -MF indicator/$(DEPDIR)/indicator_la-indicator.Tpo -c -o indicator/indicator_la-indicator.lo `test -f 'indicator/indicator.c' || echo '$(srcdir)/'`indicator/indicator.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) indicator/$(DEPDIR)/indicator_la-indicator.Tpo indicator/$(DEPDIR)/indicator_la-indicator.Plo
@@ -1350,13 +1313,6 @@ indicator/indicator_la-indicator.lo: indicator/indicator.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(indicator_la_CFLAGS) $(CFLAGS) -c -o indicator/indicator_la-indicator.lo `test -f 'indicator/indicator.c' || echo '$(srcdir)/'`indicator/indicator.c
 
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(indicator_la_CFLAGS) $(CFLAGS) -c -o indicator/indicator_la-indicator.lo `test -f 'indicator/indicator.c' || echo '$(srcdir)/'`indicator/indicator.c
 
-kbled/kbled_la-kbled.lo: kbled/kbled.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbled_la_CFLAGS) $(CFLAGS) -MT kbled/kbled_la-kbled.lo -MD -MP -MF kbled/$(DEPDIR)/kbled_la-kbled.Tpo -c -o kbled/kbled_la-kbled.lo `test -f 'kbled/kbled.c' || echo '$(srcdir)/'`kbled/kbled.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) kbled/$(DEPDIR)/kbled_la-kbled.Tpo kbled/$(DEPDIR)/kbled_la-kbled.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='kbled/kbled.c' object='kbled/kbled_la-kbled.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(kbled_la_CFLAGS) $(CFLAGS) -c -o kbled/kbled_la-kbled.lo `test -f 'kbled/kbled.c' || echo '$(srcdir)/'`kbled/kbled.c
-
 netstat/netstat_la-netstat.lo: netstat/netstat.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(netstat_la_CFLAGS) $(CFLAGS) -MT netstat/netstat_la-netstat.lo -MD -MP -MF netstat/$(DEPDIR)/netstat_la-netstat.Tpo -c -o netstat/netstat_la-netstat.lo `test -f 'netstat/netstat.c' || echo '$(srcdir)/'`netstat/netstat.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) netstat/$(DEPDIR)/netstat_la-netstat.Tpo netstat/$(DEPDIR)/netstat_la-netstat.Plo
 netstat/netstat_la-netstat.lo: netstat/netstat.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(netstat_la_CFLAGS) $(CFLAGS) -MT netstat/netstat_la-netstat.lo -MD -MP -MF netstat/$(DEPDIR)/netstat_la-netstat.Tpo -c -o netstat/netstat_la-netstat.lo `test -f 'netstat/netstat.c' || echo '$(srcdir)/'`netstat/netstat.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) netstat/$(DEPDIR)/netstat_la-netstat.Tpo netstat/$(DEPDIR)/netstat_la-netstat.Plo
@@ -1462,13 +1418,6 @@ volume/volume_la-volume.lo: volume/volume.c
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(volume_la_CFLAGS) $(CFLAGS) -c -o volume/volume_la-volume.lo `test -f 'volume/volume.c' || echo '$(srcdir)/'`volume/volume.c
 
 @AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(volume_la_CFLAGS) $(CFLAGS) -c -o volume/volume_la-volume.lo `test -f 'volume/volume.c' || echo '$(srcdir)/'`volume/volume.c
 
-volumealsa/volumealsa_la-volumealsa.lo: volumealsa/volumealsa.c
-@am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(volumealsa_la_CFLAGS) $(CFLAGS) -MT volumealsa/volumealsa_la-volumealsa.lo -MD -MP -MF volumealsa/$(DEPDIR)/volumealsa_la-volumealsa.Tpo -c -o volumealsa/volumealsa_la-volumealsa.lo `test -f 'volumealsa/volumealsa.c' || echo '$(srcdir)/'`volumealsa/volumealsa.c
-@am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) volumealsa/$(DEPDIR)/volumealsa_la-volumealsa.Tpo volumealsa/$(DEPDIR)/volumealsa_la-volumealsa.Plo
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      $(AM_V_CC)source='volumealsa/volumealsa.c' object='volumealsa/volumealsa_la-volumealsa.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCC_FALSE@      DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCC_FALSE@  $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(volumealsa_la_CFLAGS) $(CFLAGS) -c -o volumealsa/volumealsa_la-volumealsa.lo `test -f 'volumealsa/volumealsa.c' || echo '$(srcdir)/'`volumealsa/volumealsa.c
-
 weather/weather_la-logutil.lo: weather/logutil.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weather_la_CFLAGS) $(CFLAGS) -MT weather/weather_la-logutil.lo -MD -MP -MF weather/$(DEPDIR)/weather_la-logutil.Tpo -c -o weather/weather_la-logutil.lo `test -f 'weather/logutil.c' || echo '$(srcdir)/'`weather/logutil.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) weather/$(DEPDIR)/weather_la-logutil.Tpo weather/$(DEPDIR)/weather_la-logutil.Plo
 weather/weather_la-logutil.lo: weather/logutil.c
 @am__fastdepCC_TRUE@   $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(weather_la_CFLAGS) $(CFLAGS) -MT weather/weather_la-logutil.lo -MD -MP -MF weather/$(DEPDIR)/weather_la-logutil.Tpo -c -o weather/weather_la-logutil.lo `test -f 'weather/logutil.c' || echo '$(srcdir)/'`weather/logutil.c
 @am__fastdepCC_TRUE@   $(AM_V_at)$(am__mv) weather/$(DEPDIR)/weather_la-logutil.Tpo weather/$(DEPDIR)/weather_la-logutil.Plo
@@ -1837,10 +1786,11 @@ uninstall-am: uninstall-flagsDATA uninstall-pkglibLTLIBRARIES \
        uninstall-xkeyboardconfigDATA
 
 
        uninstall-xkeyboardconfigDATA
 
 
+$(top_builddir)/src/liblxpanel.la:
+       cd $(top_builddir)/src && $(MAKE) liblxpanel.la
+
 install-exec-hook:
        rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.la
 install-exec-hook:
        rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.la
-       rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.a
-       rm -f $(DESTDIR)$(libdir)/lxpanel/plugins/*.
 @BUILD_PLUGIN_LOADER_TRUE@uninstall-hook:
 @BUILD_PLUGIN_LOADER_TRUE@     cd $(DESTDIR)$(libdir)/lxpanel/plugins && rm -f $(DYNAMIC_PLUGINS_INSTALLED) || true
 
 @BUILD_PLUGIN_LOADER_TRUE@uninstall-hook:
 @BUILD_PLUGIN_LOADER_TRUE@     cd $(DESTDIR)$(libdir)/lxpanel/plugins && rm -f $(DYNAMIC_PLUGINS_INSTALLED) || true
 
index 408de79..42eda69 100644 (file)
@@ -66,6 +66,7 @@ typedef struct {
         discharging1,
         discharging2;
     cairo_surface_t *pixmap;
         discharging1,
         discharging2;
     cairo_surface_t *pixmap;
+    GtkContainer *box;
     GtkWidget *drawingArea;
     GtkOrientation orientation;
     unsigned int alarmTime,
     GtkWidget *drawingArea;
     GtkOrientation orientation;
     unsigned int alarmTime,
@@ -249,7 +250,8 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
     if ( !isCharging && rate > 0 &&
         ( ( battery_get_remaining( b ) / 60 ) < (int)lx_b->alarmTime ) )
     {
     if ( !isCharging && rate > 0 &&
         ( ( battery_get_remaining( b ) / 60 ) < (int)lx_b->alarmTime ) )
     {
-        /* Shrug this should be done using glibs process functions */
+        /* FIXME: this should be done using glibs process functions */
+        /* FIXME: see bug #463: it should not spawn process all the time */
         /* Alarms should not run concurrently; determine whether an alarm is
            already running */
         int alarmCanRun;
         /* Alarms should not run concurrently; determine whether an alarm is
            already running */
         int alarmCanRun;
@@ -271,7 +273,7 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
 
     set_tooltip_text(lx_b);
 
 
     set_tooltip_text(lx_b);
 
-    int chargeLevel = lx_b->b->percentage * (lx_b->length - 2 * lx_b->border) / 100;
+    int chargeLevel = lx_b->b->percentage * lx_b->length / 100;
 
     if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL) {
 
 
     if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL) {
 
@@ -279,15 +281,13 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
            color 2 for the right half */
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging1 : &lx_b->discharging1);
            color 2 for the right half */
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging1 : &lx_b->discharging1);
-        cairo_rectangle(cr, lx_b->border,
-                lx_b->height - lx_b->border - chargeLevel, lx_b->width / 2
-                - lx_b->border, chargeLevel);
+        cairo_rectangle(cr, 0, lx_b->height - chargeLevel,
+                        lx_b->width / 2, chargeLevel);
         cairo_fill(cr);
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging2 : &lx_b->discharging2);
         cairo_fill(cr);
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging2 : &lx_b->discharging2);
-        cairo_rectangle(cr, lx_b->width / 2,
-                lx_b->height - lx_b->border - chargeLevel, (lx_b->width + 1) / 2
-                - lx_b->border, chargeLevel);
+        cairo_rectangle(cr, lx_b->width / 2, lx_b->height - chargeLevel,
+                        (lx_b->width + 1) / 2, chargeLevel);
         cairo_fill(cr);
 
     }
         cairo_fill(cr);
 
     }
@@ -297,13 +297,12 @@ void update_display(lx_battery *lx_b, gboolean repaint) {
            color 2 for the bottom half */
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging1 : &lx_b->discharging1);
            color 2 for the bottom half */
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging1 : &lx_b->discharging1);
-        cairo_rectangle(cr, lx_b->border,
-                lx_b->border, chargeLevel, lx_b->height / 2 - lx_b->border);
+        cairo_rectangle(cr, 0, 0, chargeLevel, lx_b->height / 2);
         cairo_fill(cr);
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging2 : &lx_b->discharging2);
         cairo_fill(cr);
         gdk_cairo_set_source_color(cr,
                 isCharging ? &lx_b->charging2 : &lx_b->discharging2);
-        cairo_rectangle(cr, lx_b->border, (lx_b->height + 1)
-                / 2, chargeLevel, lx_b->height / 2 - lx_b->border);
+        cairo_rectangle(cr, 0, (lx_b->height + 1) / 2,
+                        chargeLevel, lx_b->height / 2);
         cairo_fill(cr);
 
     }
         cairo_fill(cr);
 
     }
@@ -353,7 +352,6 @@ static gboolean buttonPressEvent(GtkWidget *p, GdkEventButton *event,
     return FALSE;
 }
 
     return FALSE;
 }
 
-
 static gint configureEvent(GtkWidget *widget, GdkEventConfigure *event,
         lx_battery *lx_b)
 {
 static gint configureEvent(GtkWidget *widget, GdkEventConfigure *event,
         lx_battery *lx_b)
 {
@@ -376,11 +374,9 @@ static gint configureEvent(GtkWidget *widget, GdkEventConfigure *event,
     lx_b->height = allocation.height;
     if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL) {
         lx_b->length = lx_b->height;
     lx_b->height = allocation.height;
     if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL) {
         lx_b->length = lx_b->height;
-        lx_b->thickness = lx_b->width;
     }
     else {
         lx_b->length = lx_b->width;
     }
     else {
         lx_b->length = lx_b->width;
-        lx_b->thickness = lx_b->height;
     }
 
     lx_b->pixmap = cairo_image_surface_create (CAIRO_FORMAT_RGB24, allocation.width,
     }
 
     lx_b->pixmap = cairo_image_surface_create (CAIRO_FORMAT_RGB24, allocation.width,
@@ -390,6 +386,9 @@ static gint configureEvent(GtkWidget *widget, GdkEventConfigure *event,
     /* Perform an update so the bar will look right in its new orientation */
     update_display(lx_b, FALSE);
 
     /* Perform an update so the bar will look right in its new orientation */
     update_display(lx_b, FALSE);
 
+    /* we enforce border width here because panel sets it to 0 */
+    gtk_container_set_border_width(lx_b->box, lx_b->border);
+
     RET(TRUE);
 }
 
     RET(TRUE);
 }
 
@@ -413,6 +412,18 @@ static gint exposeEvent(GtkWidget *widget, GdkEventExpose *event, lx_battery *lx
     RET(FALSE);
 }
 
     RET(FALSE);
 }
 
+/* updates length, border, and height/width appropriate to orientation */
+static void updateSizes(lx_battery *b)
+{
+    b->length = panel_get_height(b->panel);
+    b->border = MIN(b->requestedBorder, (MAX(1, b->length) - 1) / 2);
+    b->length -= 2 * b->border;
+    if (b->orientation == GTK_ORIENTATION_HORIZONTAL)
+        b->height = b->length;
+    else
+        b->width = b->length;
+}
+
 
 static GtkWidget * constructor(LXPanel *panel, config_setting_t *settings)
 {
 
 static GtkWidget * constructor(LXPanel *panel, config_setting_t *settings)
 {
@@ -431,31 +442,17 @@ static GtkWidget * constructor(LXPanel *panel, config_setting_t *settings)
     p = gtk_event_box_new();
     lxpanel_plugin_set_data(p, lx_b, destructor);
     gtk_widget_set_has_window(p, FALSE);
     p = gtk_event_box_new();
     lxpanel_plugin_set_data(p, lx_b, destructor);
     gtk_widget_set_has_window(p, FALSE);
-    gtk_container_set_border_width( GTK_CONTAINER(p), 1 );
 
 
+    lx_b->box = GTK_CONTAINER(p);
     lx_b->drawingArea = gtk_drawing_area_new();
     gtk_widget_add_events( lx_b->drawingArea, GDK_BUTTON_PRESS_MASK );
 
     lx_b->drawingArea = gtk_drawing_area_new();
     gtk_widget_add_events( lx_b->drawingArea, GDK_BUTTON_PRESS_MASK );
 
-    gtk_container_add( (GtkContainer*)p, lx_b->drawingArea );
+    gtk_container_add(lx_b->box, lx_b->drawingArea);
 
     lx_b->orientation = panel_get_orientation(panel);
 
     lx_b->orientation = panel_get_orientation(panel);
-    if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL) {
-        lx_b->height = lx_b->length = 20;
-        lx_b->thickness = lx_b->width = 8;
-    }
-    else {
-        lx_b->height = lx_b->thickness = 8;
-        lx_b->length = lx_b->width = 20;
-    }
-    gtk_widget_set_size_request(lx_b->drawingArea, lx_b->width, lx_b->height);
 
     gtk_widget_show(lx_b->drawingArea);
 
 
     gtk_widget_show(lx_b->drawingArea);
 
-    g_signal_connect (G_OBJECT (lx_b->drawingArea),"configure-event",
-          G_CALLBACK (configureEvent), (gpointer) lx_b);
-    g_signal_connect (G_OBJECT (lx_b->drawingArea), "expose-event",
-          G_CALLBACK (exposeEvent), (gpointer) lx_b);
-
     sem_init(&(lx_b->alarmProcessLock), 0, 1);
 
     lx_b->alarmCommand = lx_b->backgroundColor = lx_b->chargingColor1 = lx_b->chargingColor2
     sem_init(&(lx_b->alarmProcessLock), 0, 1);
 
     lx_b->alarmCommand = lx_b->backgroundColor = lx_b->chargingColor1 = lx_b->chargingColor2
@@ -464,6 +461,7 @@ static GtkWidget * constructor(LXPanel *panel, config_setting_t *settings)
     /* Set default values for integers */
     lx_b->alarmTime = 5;
     lx_b->requestedBorder = 1;
     /* Set default values for integers */
     lx_b->alarmTime = 5;
     lx_b->requestedBorder = 1;
+    lx_b->thickness = 8;
 
     /* remember instance data */
     lx_b->panel = panel;
 
     /* remember instance data */
     lx_b->panel = panel;
@@ -488,26 +486,33 @@ static GtkWidget * constructor(LXPanel *panel, config_setting_t *settings)
     if (config_setting_lookup_int(settings, "AlarmTime", &tmp_int))
         lx_b->alarmTime = MAX(0, tmp_int);
     if (config_setting_lookup_int(settings, "BorderWidth", &tmp_int))
     if (config_setting_lookup_int(settings, "AlarmTime", &tmp_int))
         lx_b->alarmTime = MAX(0, tmp_int);
     if (config_setting_lookup_int(settings, "BorderWidth", &tmp_int))
-        lx_b->requestedBorder = MAX(0, tmp_int);
-    if (config_setting_lookup_int(settings, "Size", &tmp_int)) {
+        lx_b->requestedBorder = CLAMP(tmp_int, 0, 6);
+    if (config_setting_lookup_int(settings, "Size", &tmp_int))
         lx_b->thickness = MAX(1, tmp_int);
         lx_b->thickness = MAX(1, tmp_int);
-        if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL)
-            lx_b->width = lx_b->thickness;
-        else
-            lx_b->height = lx_b->thickness;
-        gtk_widget_set_size_request(lx_b->drawingArea, lx_b->width,
-                                    lx_b->height);
-    }
     if (config_setting_lookup_int(settings, "ShowExtendedInformation", &tmp_int))
         lx_b->show_extended_information = (tmp_int != 0);
 
     /* Make sure the border value is acceptable */
     if (config_setting_lookup_int(settings, "ShowExtendedInformation", &tmp_int))
         lx_b->show_extended_information = (tmp_int != 0);
 
     /* Make sure the border value is acceptable */
-    lx_b->border = MIN(lx_b->requestedBorder,
-                       (MAX(1, MIN(lx_b->length, lx_b->thickness)) - 1) / 2);
+    updateSizes(lx_b);
+    if (lx_b->orientation == GTK_ORIENTATION_HORIZONTAL)
+    {
+        lx_b->width = lx_b->thickness;
+        gtk_widget_set_size_request(lx_b->drawingArea, lx_b->width, -1);
+    }
+    else
+    {
+        lx_b->height = lx_b->thickness;
+        gtk_widget_set_size_request(lx_b->drawingArea, -1, lx_b->height);
+    }
+
+    g_signal_connect (G_OBJECT (lx_b->drawingArea),"configure-event",
+          G_CALLBACK (configureEvent), (gpointer) lx_b);
+    g_signal_connect (G_OBJECT (lx_b->drawingArea), "expose-event",
+          G_CALLBACK (exposeEvent), (gpointer) lx_b);
 
     /* Apply more default options */
     if (! lx_b->alarmCommand)
 
     /* Apply more default options */
     if (! lx_b->alarmCommand)
-        lx_b->alarmCommand = g_strdup("xmessage Battery low");
+        lx_b->alarmCommand = g_strconcat("xmessage ", _("Battery low"), NULL);
     if (! lx_b->backgroundColor)
         lx_b->backgroundColor = g_strdup("black");
     if (! lx_b->chargingColor1)
     if (! lx_b->backgroundColor)
         lx_b->backgroundColor = g_strdup("black");
     if (! lx_b->chargingColor1)
@@ -571,10 +576,17 @@ static void orientation(LXPanel *panel, GtkWidget *p) {
 
     if (b->orientation != panel_get_orientation(panel)) {
         b->orientation = panel_get_orientation(panel);
 
     if (b->orientation != panel_get_orientation(panel)) {
         b->orientation = panel_get_orientation(panel);
-        unsigned int swap = b->height;
-        b->height = b->width;
-        b->width = swap;
-        gtk_widget_set_size_request(b->drawingArea, b->width, b->height);
+        updateSizes(b);
+        if (b->orientation == GTK_ORIENTATION_HORIZONTAL)
+        {
+            b->width = b->thickness;
+            gtk_widget_set_size_request(b->drawingArea, b->width, -1);
+        }
+        else
+        {
+            b->height = b->thickness;
+            gtk_widget_set_size_request(b->drawingArea, -1, b->height);
+        }
     }
 
     RET();
     }
 
     RET();
@@ -602,23 +614,35 @@ static gboolean applyConfig(gpointer user_data)
             gdk_color_parse(b->dischargingColor2, &b->discharging2))
         config_group_set_string(b->settings, "DischargingColor2", b->dischargingColor2);
 
             gdk_color_parse(b->dischargingColor2, &b->discharging2))
         config_group_set_string(b->settings, "DischargingColor2", b->dischargingColor2);
 
+    /* Make sure it is at least 1 px */
+    if (b->thickness < 1)
+        b->thickness = 1;
+
     /* Make sure the border value is acceptable */
     /* Make sure the border value is acceptable */
-    b->border = MIN(b->requestedBorder,
-                    (MAX(1, MIN(b->length, b->thickness)) - 1) / 2);
+    b->requestedBorder = MIN(b->requestedBorder, 6);
+    updateSizes(b);
 
     /* Resize the widget */
 
     /* Resize the widget */
-    b->width = b->height = b->length;
+    gtk_container_set_border_width(b->box, b->border);
     if (b->orientation == GTK_ORIENTATION_HORIZONTAL)
     if (b->orientation == GTK_ORIENTATION_HORIZONTAL)
+    {
         b->width = b->thickness;
         b->width = b->thickness;
+        gtk_widget_set_size_request(b->drawingArea, b->width, -1);
+    }
     else
     else
+    {
         b->height = b->thickness;
         b->height = b->thickness;
-    gtk_widget_set_size_request(b->drawingArea, b->width, b->height);
+        gtk_widget_set_size_request(b->drawingArea, -1, b->height);
+    }
     /* ensure visibility if requested */
     if (!b->hide_if_no_battery)
         gtk_widget_show(user_data);
     else if (b->b == NULL)
         gtk_widget_hide(user_data);
 
     /* ensure visibility if requested */
     if (!b->hide_if_no_battery)
         gtk_widget_show(user_data);
     else if (b->b == NULL)
         gtk_widget_hide(user_data);
 
+    if (b->alarmCommand == NULL)
+        b->alarmCommand = g_strconcat("xmessage ", _("Battery low"), NULL);
+
     /* update tooltip */
     set_tooltip_text(b);
 
     /* update tooltip */
     set_tooltip_text(b);
 
@@ -647,8 +671,10 @@ static GtkWidget *config(LXPanel *panel, GtkWidget *p) {
             _("Charging color 2"), &b->chargingColor2, CONF_TYPE_STR,
             _("Discharging color 1"), &b->dischargingColor1, CONF_TYPE_STR,
             _("Discharging color 2"), &b->dischargingColor2, CONF_TYPE_STR,
             _("Charging color 2"), &b->chargingColor2, CONF_TYPE_STR,
             _("Discharging color 1"), &b->dischargingColor1, CONF_TYPE_STR,
             _("Discharging color 2"), &b->dischargingColor2, CONF_TYPE_STR,
-            _("Border width"), &b->requestedBorder, CONF_TYPE_INT,
-            _("Size"), &b->thickness, CONF_TYPE_INT,
+            "", panel_config_int_button_new(_("Border width"), (int *)&b->requestedBorder,
+                                            0, 6), CONF_TYPE_EXTERNAL,
+            "", panel_config_int_button_new(_("Size"), (int *)&b->thickness,
+                                            1, 50), CONF_TYPE_EXTERNAL,
             _("Show Extended Information"), &b->show_extended_information, CONF_TYPE_BOOL,
             NULL);
 }
             _("Show Extended Information"), &b->show_extended_information, CONF_TYPE_BOOL,
             NULL);
 }
index 5dfb5f8..721aa9d 100644 (file)
@@ -238,7 +238,6 @@ static GtkWidget *cpu_constructor(LXPanel *panel, config_setting_t *settings)
     p = gtk_event_box_new();
     gtk_widget_set_has_window(p, FALSE);
     lxpanel_plugin_set_data(p, c, cpu_destructor);
     p = gtk_event_box_new();
     gtk_widget_set_has_window(p, FALSE);
     lxpanel_plugin_set_data(p, c, cpu_destructor);
-    gtk_container_set_border_width(GTK_CONTAINER(p), 1);
 
     /* Allocate drawing area as a child of top level widget.  Enable button press events. */
     c->da = gtk_drawing_area_new();
 
     /* Allocate drawing area as a child of top level widget.  Enable button press events. */
     c->da = gtk_drawing_area_new();
index 8a3b94a..192c7bd 100644 (file)
 #include <string.h>
 
 #include "plugin.h"
 #include <string.h>
 
 #include "plugin.h"
+#include "misc.h"
 
 #include "dbg.h"
 
 
 #include "dbg.h"
 
-#define PROC_ICON            PACKAGE_DATA_DIR "/images/cpufreq-icon.png"
+#define PROC_ICON           "cpufreq-icon"
 #define SYSFS_CPU_DIRECTORY "/sys/devices/system/cpu"
 #define SCALING_GOV         "scaling_governor"
 #define SCALING_AGOV        "scaling_available_governors"
 #define SYSFS_CPU_DIRECTORY "/sys/devices/system/cpu"
 #define SCALING_GOV         "scaling_governor"
 #define SCALING_AGOV        "scaling_available_governors"
@@ -45,7 +46,6 @@
 typedef struct {
     GtkWidget *main;
     config_setting_t *settings;
 typedef struct {
     GtkWidget *main;
     config_setting_t *settings;
-    GtkWidget *namew;
     GList *governors;
     GList *cpus;
     int has_cpufreq;
     GList *governors;
     GList *cpus;
     int has_cpufreq;
@@ -348,13 +348,8 @@ static GtkWidget *cpufreq_constructor(LXPanel *panel, config_setting_t *settings
     cf->cpus = NULL;
     cf->settings = settings;
 
     cf->cpus = NULL;
     cf->settings = settings;
 
-    cf->main = gtk_event_box_new();
+    cf->main = lxpanel_button_new_for_icon(panel, PROC_ICON, NULL, NULL);
     lxpanel_plugin_set_data(cf->main, cf, cpufreq_destructor);
     lxpanel_plugin_set_data(cf->main, cf, cpufreq_destructor);
-    gtk_widget_set_has_window(cf->main, FALSE);
-    gtk_container_set_border_width(GTK_CONTAINER(cf->main), 2);
-
-    cf->namew = gtk_image_new_from_file(PROC_ICON);
-    gtk_container_add(GTK_CONTAINER(cf->main), cf->namew);
 
     cf->has_cpufreq = 0;
 
 
     cf->has_cpufreq = 0;
 
@@ -367,8 +362,6 @@ static GtkWidget *cpufreq_constructor(LXPanel *panel, config_setting_t *settings
     _update_tooltip(cf);
     cf->timer = g_timeout_add_seconds(2, update_tooltip, (gpointer)cf);
 
     _update_tooltip(cf);
     cf->timer = g_timeout_add_seconds(2, update_tooltip, (gpointer)cf);
 
-    gtk_widget_show(cf->namew);
-
     RET(cf->main);
 }
 
     RET(cf->main);
 }
 
index e054a90..1f2cd11 100644 (file)
@@ -17,6 +17,7 @@
  */
 
 #include "plugin.h"
  */
 
 #include "plugin.h"
+#include "misc.h"
 
 #include <libfm/fm-gtk.h>
 
 
 #include <libfm/fm-gtk.h>
 
@@ -63,17 +64,13 @@ static gboolean dclock_update_display(DClockPlugin * dc);
 static void dclock_destructor(gpointer user_data);
 static gboolean dclock_apply_configuration(gpointer user_data);
 
 static void dclock_destructor(gpointer user_data);
 static gboolean dclock_apply_configuration(gpointer user_data);
 
-/* Handler for "map" signal on popup window. */
-static void dclock_popup_map(GtkWidget * widget, DClockPlugin * dc)
-{
-    lxpanel_plugin_adjust_popup_position(widget, dc->plugin);
-}
-
 /* Display a window containing the standard calendar widget. */
 static GtkWidget * dclock_create_calendar(DClockPlugin * dc)
 {
     /* Create a new window. */
     GtkWidget * win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
 /* Display a window containing the standard calendar widget. */
 static GtkWidget * dclock_create_calendar(DClockPlugin * dc)
 {
     /* Create a new window. */
     GtkWidget * win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+    gint x, y;
+
     gtk_window_set_default_size(GTK_WINDOW(win), 180, 180);
     gtk_window_set_decorated(GTK_WINDOW(win), FALSE);
     gtk_window_set_resizable(GTK_WINDOW(win), FALSE);
     gtk_window_set_default_size(GTK_WINDOW(win), 180, 180);
     gtk_window_set_decorated(GTK_WINDOW(win), FALSE);
     gtk_window_set_resizable(GTK_WINDOW(win), FALSE);
@@ -93,9 +90,11 @@ static GtkWidget * dclock_create_calendar(DClockPlugin * dc)
         GTK_CALENDAR(calendar),
         GTK_CALENDAR_SHOW_WEEK_NUMBERS | GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_HEADING);
     gtk_box_pack_start(GTK_BOX(box), calendar, TRUE, TRUE, 0);
         GTK_CALENDAR(calendar),
         GTK_CALENDAR_SHOW_WEEK_NUMBERS | GTK_CALENDAR_SHOW_DAY_NAMES | GTK_CALENDAR_SHOW_HEADING);
     gtk_box_pack_start(GTK_BOX(box), calendar, TRUE, TRUE, 0);
+    gtk_widget_show_all(box);
 
 
-    /* Connect signals. */
-    g_signal_connect(G_OBJECT(win), "map", G_CALLBACK(dclock_popup_map), dc);
+    /* Preset the widget position right now to not move it across the screen */
+    lxpanel_plugin_popup_set_position_helper(dc->panel, dc->plugin, win, &x, &y);
+    gtk_window_move(GTK_WINDOW(win), x, y);
 
     /* Return the widget. */
     return win;
 
     /* Return the widget. */
     return win;
@@ -316,7 +315,7 @@ static GtkWidget *dclock_constructor(LXPanel *panel, config_setting_t *settings)
     gtk_misc_set_alignment(GTK_MISC(dc->clock_label), 0.5, 0.5);
     gtk_misc_set_padding(GTK_MISC(dc->clock_label), 4, 0);
     gtk_container_add(GTK_CONTAINER(hbox), dc->clock_label);
     gtk_misc_set_alignment(GTK_MISC(dc->clock_label), 0.5, 0.5);
     gtk_misc_set_padding(GTK_MISC(dc->clock_label), 4, 0);
     gtk_container_add(GTK_CONTAINER(hbox), dc->clock_label);
-    dc->clock_icon = gtk_image_new();
+    dc->clock_icon = lxpanel_image_new_for_icon(panel, "clock", -1, NULL);
     gtk_container_add(GTK_CONTAINER(hbox), dc->clock_icon);
 
     /* Initialize the clock display. */
     gtk_container_add(GTK_CONTAINER(hbox), dc->clock_icon);
 
     /* Initialize the clock display. */
@@ -366,9 +365,6 @@ static gboolean dclock_apply_configuration(gpointer user_data)
     /* Set up the icon or the label as the displayable widget. */
     if (dc->icon_only)
     {
     /* Set up the icon or the label as the displayable widget. */
     if (dc->icon_only)
     {
-        if(lxpanel_image_set_icon_theme(dc->panel, dc->clock_icon, "clock") != FALSE) {
-            lxpanel_image_set_from_file(dc->panel, dc->clock_icon, PACKAGE_DATA_DIR "/images/clock.png");
-        }
         gtk_widget_show(dc->clock_icon);
         gtk_widget_hide(dc->clock_label);
     }
         gtk_widget_show(dc->clock_icon);
         gtk_widget_hide(dc->clock_label);
     }
@@ -429,12 +425,6 @@ static GtkWidget *dclock_configure(LXPanel *panel, GtkWidget *p)
         NULL);
 }
 
         NULL);
 }
 
-/* Callback when panel configuration changes. */
-static void dclock_reconfigure(LXPanel *panel, GtkWidget *p)
-{
-    dclock_apply_configuration(p);
-}
-
 /* Plugin descriptor. */
 LXPanelPluginInit lxpanel_static_plugin_dclock = {
     .name = N_("Digital Clock"),
 /* Plugin descriptor. */
 LXPanelPluginInit lxpanel_static_plugin_dclock = {
     .name = N_("Digital Clock"),
@@ -442,6 +432,5 @@ LXPanelPluginInit lxpanel_static_plugin_dclock = {
 
     .new_instance = dclock_constructor,
     .config = dclock_configure,
 
     .new_instance = dclock_constructor,
     .config = dclock_configure,
-    .reconfigure = dclock_reconfigure,
     .button_press_event = dclock_button_press_event
 };
     .button_press_event = dclock_button_press_event
 };
index 765d064..e3bd1be 100644 (file)
@@ -125,7 +125,6 @@ static GtkWidget *deskno_constructor(LXPanel *panel, config_setting_t *settings)
     /* Allocate top level widget and set into Plugin widget pointer. */
     p = gtk_event_box_new();
     lxpanel_plugin_set_data(p, dc, deskno_destructor);
     /* Allocate top level widget and set into Plugin widget pointer. */
     p = gtk_event_box_new();
     lxpanel_plugin_set_data(p, dc, deskno_destructor);
-    gtk_container_set_border_width(GTK_CONTAINER (p), 1);
 
     /* Allocate label widget and add to top level. */
     dc->label = gtk_label_new(NULL);
 
     /* Allocate label widget and add to top level. */
     dc->label = gtk_label_new(NULL);
index b07a815..125b5e1 100644 (file)
@@ -279,7 +279,6 @@ static GtkWidget *dirmenu_constructor(LXPanel *panel, config_setting_t *settings
                             ((dm->image != NULL) ? dm->image : "file-manager"),
                             NULL, "Temp");
     lxpanel_plugin_set_data(p, dm, dirmenu_destructor);
                             ((dm->image != NULL) ? dm->image : "file-manager"),
                             NULL, "Temp");
     lxpanel_plugin_set_data(p, dm, dirmenu_destructor);
-    gtk_container_set_border_width(GTK_CONTAINER(p), 0);
 
     /* Initialize the widget. */
     dirmenu_apply_configuration(p);
 
     /* Initialize the widget. */
     dirmenu_apply_configuration(p);
@@ -304,20 +303,6 @@ static void dirmenu_destructor(gpointer user_data)
     g_free(dm);
 }
 
     g_free(dm);
 }
 
-/* Recursively apply a configuration change. */
-static void dirmenu_apply_configuration_to_children(GtkWidget * w, DirMenuPlugin * dm)
-{
-    if (GTK_IS_CONTAINER(w))
-        gtk_container_foreach(GTK_CONTAINER(w), (GtkCallback) dirmenu_apply_configuration_to_children, (gpointer) dm);
-    else if (GTK_IS_LABEL(w))
-    {
-        if (dm->name == NULL)
-            gtk_label_set_text(GTK_LABEL(w), NULL);
-        else
-            lxpanel_draw_label_text(dm->panel, w, dm->name, FALSE, 1, TRUE);
-    }
-}
-
 /* Callback when the configuration dialog has recorded a configuration change. */
 static gboolean dirmenu_apply_configuration(gpointer user_data)
 {
 /* Callback when the configuration dialog has recorded a configuration change. */
 static gboolean dirmenu_apply_configuration(gpointer user_data)
 {
@@ -339,11 +324,10 @@ static gboolean dirmenu_apply_configuration(gpointer user_data)
     config_group_set_string(dm->settings, "name", dm->name);
     config_group_set_string(dm->settings, "image", dm->image);
 
     config_group_set_string(dm->settings, "name", dm->name);
     config_group_set_string(dm->settings, "image", dm->image);
 
-    lxpanel_button_set_icon(p, ((dm->image != NULL) ? dm->image : "file-manager"),
-                            panel_get_icon_size(dm->panel));
+    lxpanel_button_set_icon(p, ((dm->image != NULL) ? dm->image : "file-manager"), -1);
+    lxpanel_button_set_label(p, dm->name);
 
     gtk_widget_set_tooltip_text(p, dm->path);
 
     gtk_widget_set_tooltip_text(p, dm->path);
-    gtk_container_foreach(GTK_CONTAINER(p), (GtkCallback) dirmenu_apply_configuration_to_children, (gpointer) dm);
     return FALSE;
 }
 
     return FALSE;
 }
 
@@ -359,12 +343,6 @@ static GtkWidget *dirmenu_configure(LXPanel *panel, GtkWidget *p)
         NULL);
 }
 
         NULL);
 }
 
-/* Callback when panel configuration changes. */
-static void dirmenu_panel_configuration_changed(LXPanel *panel, GtkWidget *p)
-{
-    dirmenu_apply_configuration(p);
-}
-
 /* Plugin descriptor. */
 LXPanelPluginInit lxpanel_static_plugin_dirmenu = {
     .name = N_("Directory Menu"),
 /* Plugin descriptor. */
 LXPanelPluginInit lxpanel_static_plugin_dirmenu = {
     .name = N_("Directory Menu"),
@@ -372,6 +350,5 @@ LXPanelPluginInit lxpanel_static_plugin_dirmenu = {
 
     .new_instance = dirmenu_constructor,
     .config = dirmenu_configure,
 
     .new_instance = dirmenu_constructor,
     .config = dirmenu_configure,
-    .reconfigure = dirmenu_panel_configuration_changed,
     .button_press_event = dirmenu_button_press_event
 };
     .button_press_event = dirmenu_button_press_event
 };
index 4452828..34165e0 100644 (file)
@@ -21,6 +21,7 @@
 #endif
 
 #include "plugin.h"
 #endif
 
 #include "plugin.h"
+#include "misc.h"
 
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
 
 #include <gtk/gtk.h>
 #include <gdk/gdk.h>
@@ -45,24 +46,11 @@ static const char * off_icons_theme[] = {
     "scrllock-off"
 };
 
     "scrllock-off"
 };
 
-static const char * on_icons[] = {
-    "capslock-on.png",
-    "numlock-on.png",
-    "scrllock-on.png"
-};
-
-static const char * off_icons[] = {
-    "capslock-off.png",
-    "numlock-off.png",
-    "scrllock-off.png"
-};
-
 static int xkb_event_base = 0;
 static int xkb_error_base = 0;
 
 /* Private context for keyboard LED plugin. */
 typedef struct {
 static int xkb_event_base = 0;
 static int xkb_error_base = 0;
 
 /* Private context for keyboard LED plugin. */
 typedef struct {
-    LXPanel * panel;                           /* Back pointer to panel */
     config_setting_t *settings;
     GtkWidget *indicator_image[3];             /* Image for each indicator */
     unsigned int current_state;                        /* Current LED state, bit encoded */
     config_setting_t *settings;
     GtkWidget *indicator_image[3];             /* Image for each indicator */
     unsigned int current_state;                        /* Current LED state, bit encoded */
@@ -73,27 +61,12 @@ static void kbled_update_image(KeyboardLEDPlugin * kl, int i, unsigned int state
 static void kbled_update_display(KeyboardLEDPlugin * kl, unsigned int state);
 static void kbled_destructor(gpointer user_data);
 
 static void kbled_update_display(KeyboardLEDPlugin * kl, unsigned int state);
 static void kbled_destructor(gpointer user_data);
 
-static void kbled_theme_changed(GtkWidget * widget, KeyboardLEDPlugin * kl)
-{
-    /* Set orientation into the icon grid. */
-
-    /* Do a full redraw. */
-    int current_state = kl->current_state;
-    kl->current_state = ~ kl->current_state;
-    kbled_update_display(kl, current_state);
-}
-
 /* Update image to correspond to current state. */
 static void kbled_update_image(KeyboardLEDPlugin * kl, int i, unsigned int state)
 {
 /* Update image to correspond to current state. */
 static void kbled_update_image(KeyboardLEDPlugin * kl, int i, unsigned int state)
 {
-    if(lxpanel_image_set_icon_theme(kl->panel, kl->indicator_image[i], (state ? on_icons_theme[i] : off_icons_theme[i])) != TRUE) {
-        char * file = g_build_filename(
-            PACKAGE_DATA_DIR "/images",
-            ((state) ? on_icons[i] : off_icons[i]),
-            NULL);
-        lxpanel_image_set_from_file(kl->panel, kl->indicator_image[i], file);
-        g_free(file);
-    }
+    lxpanel_image_change_icon(kl->indicator_image[i],
+                              (state ? on_icons_theme[i] : off_icons_theme[i]),
+                              NULL);
 }
 
 /* Redraw after Xkb event or initialization. */
 }
 
 /* Redraw after Xkb event or initialization. */
@@ -137,7 +110,6 @@ static GtkWidget *kbled_constructor(LXPanel *panel, config_setting_t *settings)
     unsigned int current_state;
     Display *xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
 
     unsigned int current_state;
     Display *xdisplay = GDK_DISPLAY_XDISPLAY(gdk_display_get_default());
 
-    kl->panel = panel;
     kl->settings = settings;
     kl->visible[0] = FALSE;
     kl->visible[1] = TRUE;
     kl->settings = settings;
     kl->visible[0] = FALSE;
     kl->visible[1] = TRUE;
@@ -157,13 +129,11 @@ static GtkWidget *kbled_constructor(LXPanel *panel, config_setting_t *settings)
                             panel_get_icon_size(panel),
                             0, 0, panel_get_height(panel));
     lxpanel_plugin_set_data(p, kl, kbled_destructor);
                             panel_get_icon_size(panel),
                             0, 0, panel_get_height(panel));
     lxpanel_plugin_set_data(p, kl, kbled_destructor);
-    gtk_widget_add_events(p, GDK_BUTTON_PRESS_MASK);
-    g_signal_connect(panel_get_icon_theme(panel), "changed", G_CALLBACK(kbled_theme_changed), kl);
 
     /* Then allocate three images for the three indications, but make them visible only when the configuration requests. */
     for (i = 0; i < 3; i++)
     {
 
     /* Then allocate three images for the three indications, but make them visible only when the configuration requests. */
     for (i = 0; i < 3; i++)
     {
-        kl->indicator_image[i] = gtk_image_new();
+        kl->indicator_image[i] = lxpanel_image_new_for_icon(panel, off_icons_theme[i], -1, NULL);
         gtk_container_add(GTK_CONTAINER(p), kl->indicator_image[i]);
         gtk_widget_set_visible(kl->indicator_image[i], kl->visible[i]);
     }
         gtk_container_add(GTK_CONTAINER(p), kl->indicator_image[i]);
         gtk_widget_set_visible(kl->indicator_image[i], kl->visible[i]);
     }
@@ -202,8 +172,6 @@ static void kbled_destructor(gpointer user_data)
 
     /* Remove GDK event filter. */
     gdk_window_remove_filter(NULL, (GdkFilterFunc) kbled_event_filter, kl);
 
     /* Remove GDK event filter. */
     gdk_window_remove_filter(NULL, (GdkFilterFunc) kbled_event_filter, kl);
-    g_signal_handlers_disconnect_by_func(panel_get_icon_theme(kl->panel),
-                                         kbled_theme_changed, kl);
     g_free(kl);
 }
 
     g_free(kl);
 }
 
index fb0dd2a..ef816e4 100644 (file)
@@ -62,7 +62,7 @@
 #ifndef DISABLE_MENU
 # include "menu-policy.h"
 #endif
 #ifndef DISABLE_MENU
 # include "menu-policy.h"
 #endif
-
+#include "gtk-compat.h"
 
 #define PANEL_ICON_SIZE 24 /* see the private.h */
 
 
 #define PANEL_ICON_SIZE 24 /* see the private.h */
 
@@ -108,7 +108,8 @@ typedef struct _task {
     GtkWidget * image;                      /* Icon for task, child of button */
     Atom image_source;                      /* Atom that is the source of taskbar icon */
     GtkWidget * label;                      /* Label for task, child of button */
     GtkWidget * image;                      /* Icon for task, child of button */
     Atom image_source;                      /* Atom that is the source of taskbar icon */
     GtkWidget * label;                      /* Label for task, child of button */
-    int desktop;                            /* Desktop that contains task, needed to switch to it on Raise */
+    GtkWidget * menu_item;                  /* Menu item for grouped task after click */
+    gint desktop;                           /* Desktop that contains task, needed to switch to it on Raise */
     gint monitor;                           /* Monitor that the window is on or closest to */
     guint flash_timeout;                    /* Timer for urgency notification */
     unsigned int focused                :1; /* True if window has focus */
     gint monitor;                           /* Monitor that the window is on or closest to */
     guint flash_timeout;                    /* Timer for urgency notification */
     unsigned int focused                :1; /* True if window has focus */
@@ -117,19 +118,18 @@ typedef struct _task {
     unsigned int flash_state            :1; /* One-bit counter to flash taskbar */
     unsigned int entered_state          :1; /* True if cursor is inside taskbar button */
     unsigned int present_in_client_list :1; /* State during WM_CLIENT_LIST processing to detect deletions */
     unsigned int flash_state            :1; /* One-bit counter to flash taskbar */
     unsigned int entered_state          :1; /* True if cursor is inside taskbar button */
     unsigned int present_in_client_list :1; /* State during WM_CLIENT_LIST processing to detect deletions */
-} Task;
+} Task; /* FIXME: convert it into GtkWidget, eliminate button and menu_item */
 
 /* Representative of one launch button.
  * Note that the launch parameters come from the specified desktop file, or from the configuration file.
  * This structure is also used during the "add to launchtaskbar" dialog to hold menu items. */
 typedef struct {
     LaunchTaskBarPlugin * p;            /* Back pointer to plugin */
 
 /* Representative of one launch button.
  * Note that the launch parameters come from the specified desktop file, or from the configuration file.
  * This structure is also used during the "add to launchtaskbar" dialog to hold menu items. */
 typedef struct {
     LaunchTaskBarPlugin * p;            /* Back pointer to plugin */
-    GtkWidget * widget;         /* Pointer to button */
-    GtkWidget * image_widget;   /* Pointer to image */
+    GtkWidget * widget;                 /* Pointer to button */
     FmFileInfo * fi;                    /* Launcher application descriptor */
     config_setting_t * settings;        /* Pointer to settings */
     FmDndDest * dd;                     /* Drag and drop support */
     FmFileInfo * fi;                    /* Launcher application descriptor */
     config_setting_t * settings;        /* Pointer to settings */
     FmDndDest * dd;                     /* Drag and drop support */
-} LaunchButton;
+} LaunchButton; /* FIXME: convert it into GtkWidget, button itself */
 
 /* Private context for taskbar plugin. */
 struct LaunchTaskBarPlugin {
 
 /* Private context for taskbar plugin. */
 struct LaunchTaskBarPlugin {
@@ -137,7 +137,6 @@ struct LaunchTaskBarPlugin {
     GtkWidget *lb_icon_grid;         /* Icon grid managing the container */
     GSList        *buttons;          /* Launchbar buttons */
     LaunchButton  *bootstrap_button; /* Bootstrapping button for empty launchtaskbar */
     GtkWidget *lb_icon_grid;         /* Icon grid managing the container */
     GSList        *buttons;          /* Launchbar buttons */
     LaunchButton  *bootstrap_button; /* Bootstrapping button for empty launchtaskbar */
-    FmIcon * add_icon;                  /* Icon for bootstrap_button */
     GtkWidget     *p_button_add, *p_button_remove, *p_label_menu_app_exec, *p_label_def_app_exec;
     /* TASKBAR */
     Task * p_task_list;            /* List of tasks to be displayed in taskbar */
     GtkWidget     *p_button_add, *p_button_remove, *p_label_menu_app_exec, *p_label_def_app_exec;
     /* TASKBAR */
     Task * p_task_list;            /* List of tasks to be displayed in taskbar */
@@ -163,6 +162,7 @@ struct LaunchTaskBarPlugin {
     gboolean flat_button;          /* User preference: taskbar buttons have visible background */
     gboolean grouped_tasks;        /* User preference: windows from same task are grouped onto a single button */
     gboolean same_monitor_only;    /* User preference: only show windows that are in the same monitor as the taskbar */
     gboolean flat_button;          /* User preference: taskbar buttons have visible background */
     gboolean grouped_tasks;        /* User preference: windows from same task are grouped onto a single button */
     gboolean same_monitor_only;    /* User preference: only show windows that are in the same monitor as the taskbar */
+    gboolean disable_taskbar_upscale; /* User preference: don't upscale taskbar icons */
     int task_width_max;            /* Maximum width of a taskbar button in horizontal orientation */
     int spacing;                   /* Spacing between taskbar buttons */
     gboolean use_net_active;       /* NET_WM_ACTIVE_WINDOW is supported by the window manager */
     int task_width_max;            /* Maximum width of a taskbar button in horizontal orientation */
     int spacing;                   /* Spacing between taskbar buttons */
     gboolean use_net_active;       /* NET_WM_ACTIVE_WINDOW is supported by the window manager */
@@ -372,31 +372,21 @@ static void launchbutton_build_bootstrap(LaunchTaskBarPlugin *lb)
 {
     if(lb->bootstrap_button == NULL)
     {
 {
     if(lb->bootstrap_button == NULL)
     {
-        GdkPixbuf * icon;
         /* Build a button that has the stock "Add" icon.
          * The "desktop-id" being NULL is the marker that this is the bootstrap button. */
         lb->bootstrap_button = g_new0(LaunchButton, 1);
         lb->bootstrap_button->p = lb;
 
         /* Create an event box. */
         /* Build a button that has the stock "Add" icon.
          * The "desktop-id" being NULL is the marker that this is the bootstrap button. */
         lb->bootstrap_button = g_new0(LaunchButton, 1);
         lb->bootstrap_button->p = lb;
 
         /* Create an event box. */
-        GtkWidget * event_box = gtk_event_box_new();
-        gtk_container_set_border_width(GTK_CONTAINER(event_box), 0);
-        gtk_widget_set_can_focus            (event_box, FALSE);
-        lb->bootstrap_button->widget = event_box;
-        g_signal_connect(event_box, "button-press-event", G_CALLBACK(launchbutton_press_event), lb->bootstrap_button);
-
-        /* Create an image containing the stock "Add" icon as a child of the event box. */
-        lb->add_icon = fm_icon_from_name(GTK_STOCK_ADD);
-        icon = fm_pixbuf_from_icon(lb->add_icon, lb->icon_size);
-        lb->bootstrap_button->image_widget = gtk_image_new_from_pixbuf(icon);
-        g_object_unref(icon);
-        gtk_misc_set_padding(GTK_MISC(lb->bootstrap_button->image_widget), 0, 0);
-        gtk_misc_set_alignment(GTK_MISC(lb->bootstrap_button->image_widget), 0, 0);
-        gtk_container_add(GTK_CONTAINER(event_box), lb->bootstrap_button->image_widget);
+        lb->bootstrap_button->widget = lxpanel_button_new_for_icon(lb->panel,
+                                                                   GTK_STOCK_ADD,
+                                                                   NULL, NULL);
+        g_signal_connect(lb->bootstrap_button->widget, "button-press-event",
+                         G_CALLBACK(launchbutton_press_event), lb->bootstrap_button);
 
         /* Add the bootstrap button to the icon grid.  By policy it is empty at this point. */
 
         /* Add the bootstrap button to the icon grid.  By policy it is empty at this point. */
-        gtk_container_add(GTK_CONTAINER(lb->lb_icon_grid), event_box);
-        gtk_widget_show_all(event_box);
+        gtk_container_add(GTK_CONTAINER(lb->lb_icon_grid), lb->bootstrap_button->widget);
+        //plugin_widget_set_background(lb->bootstrap_button->widget, lb->panel);
     }
     else
         gtk_widget_show(lb->bootstrap_button->widget);
     }
     else
         gtk_widget_show(lb->bootstrap_button->widget);
@@ -496,7 +486,6 @@ static LaunchButton *launchbutton_for_file_info(LaunchTaskBarPlugin * lb, FmFile
     button = lxpanel_button_new_for_fm_icon(lb->panel, fm_file_info_get_icon(fi),
                                             NULL, NULL);
     btn->widget = button;
     button = lxpanel_button_new_for_fm_icon(lb->panel, fm_file_info_get_icon(fi),
                                             NULL, NULL);
     btn->widget = button;
-    gtk_widget_set_can_focus(button, FALSE);
 
     gtk_widget_set_tooltip_text(button, fm_file_info_get_disp_name(fi));
 
 
     gtk_widget_set_tooltip_text(button, fm_file_info_get_disp_name(fi));
 
@@ -518,8 +507,7 @@ static LaunchButton *launchbutton_for_file_info(LaunchTaskBarPlugin * lb, FmFile
     lb->buttons = g_slist_append(lb->buttons, btn);
 
     /* Show the widget and return. */
     lb->buttons = g_slist_append(lb->buttons, btn);
 
     /* Show the widget and return. */
-    gtk_widget_show(button);
-    plugin_widget_set_background(button, lb->panel);
+    //plugin_widget_set_background(button, lb->panel);
     return btn;
 }
 
     return btn;
 }
 
@@ -716,6 +704,8 @@ static void launchtaskbar_constructor_task(LaunchTaskBarPlugin *ltbp)
             ltbp->show_all_desks = (tmp_int != 0);
         if (config_setting_lookup_int(s, "SameMonitorOnly", &tmp_int))
             ltbp->same_monitor_only = (tmp_int != 0);
             ltbp->show_all_desks = (tmp_int != 0);
         if (config_setting_lookup_int(s, "SameMonitorOnly", &tmp_int))
             ltbp->same_monitor_only = (tmp_int != 0);
+        if (config_setting_lookup_int(s, "DisableUpscale", &tmp_int))
+            ltbp->disable_taskbar_upscale = (tmp_int != 0);
         config_setting_lookup_int(s, "MaxTaskWidth", &ltbp->task_width_max);
         config_setting_lookup_int(s, "spacing", &ltbp->spacing);
         if (config_setting_lookup_int(s, "UseMouseWheel", &tmp_int))
         config_setting_lookup_int(s, "MaxTaskWidth", &ltbp->task_width_max);
         config_setting_lookup_int(s, "spacing", &ltbp->spacing);
         if (config_setting_lookup_int(s, "UseMouseWheel", &tmp_int))
@@ -734,7 +724,6 @@ static void launchtaskbar_constructor_task(LaunchTaskBarPlugin *ltbp)
                                                  panel_get_height(ltbp->panel));
         panel_icon_grid_set_constrain_width(PANEL_ICON_GRID(ltbp->tb_icon_grid), TRUE);
         gtk_box_pack_start(GTK_BOX(ltbp->plugin), ltbp->tb_icon_grid, TRUE, TRUE, 0);
                                                  panel_get_height(ltbp->panel));
         panel_icon_grid_set_constrain_width(PANEL_ICON_GRID(ltbp->tb_icon_grid), TRUE);
         gtk_box_pack_start(GTK_BOX(ltbp->plugin), ltbp->tb_icon_grid, TRUE, TRUE, 0);
-        gtk_container_set_border_width(GTK_CONTAINER(ltbp->tb_icon_grid), 0);
         taskbar_update_style(ltbp);
 
         /* Add GDK event filter. */
         taskbar_update_style(ltbp);
 
         /* Add GDK event filter. */
@@ -817,9 +806,6 @@ static GtkWidget *_launchtaskbar_constructor(LXPanel *panel, config_setting_t *s
                                              3, 0, panel_get_height(panel));
     gtk_box_pack_start(GTK_BOX(p), ltbp->lb_icon_grid, FALSE, TRUE, 0);
 
                                              3, 0, panel_get_height(panel));
     gtk_box_pack_start(GTK_BOX(p), ltbp->lb_icon_grid, FALSE, TRUE, 0);
 
-    gtk_container_set_border_width(GTK_CONTAINER(p), 0);
-    gtk_container_set_border_width(GTK_CONTAINER(ltbp->lb_icon_grid), 0);
-
     /* Read parameters from the configuration file. */
     config_setting_lookup_int(settings, "LaunchTaskBarMode", &ltbp->mode);
     switch (ltbp->mode) {
     /* Read parameters from the configuration file. */
     config_setting_lookup_int(settings, "LaunchTaskBarMode", &ltbp->mode);
     switch (ltbp->mode) {
@@ -857,9 +843,6 @@ static void launchtaskbar_destructor_launch(LaunchTaskBarPlugin *ltbp)
         launchbutton_free(ltbp->bootstrap_button);
         ltbp->bootstrap_button = NULL;
     }
         launchbutton_free(ltbp->bootstrap_button);
         ltbp->bootstrap_button = NULL;
     }
-
-    if (ltbp->add_icon != NULL)
-        g_object_unref(ltbp->add_icon);
 }
 
 static void launchtaskbar_destructor_task(LaunchTaskBarPlugin *ltbp)
 }
 
 static void launchtaskbar_destructor_task(LaunchTaskBarPlugin *ltbp)
@@ -1207,6 +1190,15 @@ static void on_checkbutton_same_monitor_only_toggled(GtkToggleButton *p_togglebu
     taskbar_apply_configuration(ltbp);
 }
 
     taskbar_apply_configuration(ltbp);
 }
 
+static void on_checkbutton_disable_taskbar_upscale_toggled(GtkToggleButton *p_togglebutton, gpointer p_data)
+{
+    LaunchTaskBarPlugin *ltbp = (LaunchTaskBarPlugin *)p_data;
+    ltbp->disable_taskbar_upscale = gtk_toggle_button_get_active(p_togglebutton);
+    //g_print("\ntb->disable_taskbar_upscale upd\n");
+    config_group_set_int(ltbp->settings, "DisableUpscale", ltbp->disable_taskbar_upscale);
+    taskbar_apply_configuration(ltbp);
+}
+
 static void on_checkbutton_mouse_wheel_toggled(GtkToggleButton *p_togglebutton, gpointer p_data)
 {
     LaunchTaskBarPlugin *ltbp = (LaunchTaskBarPlugin *)p_data;
 static void on_checkbutton_mouse_wheel_toggled(GtkToggleButton *p_togglebutton, gpointer p_data)
 {
     LaunchTaskBarPlugin *ltbp = (LaunchTaskBarPlugin *)p_data;
@@ -1319,6 +1311,8 @@ static void on_menu_view_row_activated(GtkTreeView *tree_view, GtkTreePath *path
     _launchbar_configure_add(tree_view, ltbp);
 }
 
     _launchbar_configure_add(tree_view, ltbp);
 }
 
+/* FIXME: add support for global hotkeys for launchers */
+
 /* Callback when the configuration dialog is to be shown. */
 static GtkWidget *launchtaskbar_configure(LXPanel *panel, GtkWidget *p)
 {
 /* Callback when the configuration dialog is to be shown. */
 static GtkWidget *launchtaskbar_configure(LXPanel *panel, GtkWidget *p)
 {
@@ -1388,7 +1382,15 @@ static GtkWidget *launchtaskbar_configure(LXPanel *panel, GtkWidget *p)
         SETUP_TOGGLE_BUTTON(checkbutton_mouse_wheel, use_mouse_wheel);
         SETUP_TOGGLE_BUTTON(checkbutton_urgency_hint, use_urgency_hint);
         SETUP_TOGGLE_BUTTON(checkbutton_grouped_tasks, grouped_tasks);
         SETUP_TOGGLE_BUTTON(checkbutton_mouse_wheel, use_mouse_wheel);
         SETUP_TOGGLE_BUTTON(checkbutton_urgency_hint, use_urgency_hint);
         SETUP_TOGGLE_BUTTON(checkbutton_grouped_tasks, grouped_tasks);
+        //SETUP_TOGGLE_BUTTON(checkbutton_disable_taskbar_upscale, disable_taskbar_upscale);
 #undef SETUP_TOGGLE_BUTTON
 #undef SETUP_TOGGLE_BUTTON
+        /* FIXME: for transitional period, turn into SETUP_TOGGLE_BUTTON later */
+        object = gtk_builder_get_object(builder, "checkbutton_disable_taskbar_upscale");
+        if (object)
+        {
+            gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(object), ltbp->disable_taskbar_upscale); \
+            g_signal_connect(object, "toggled", G_CALLBACK(on_checkbutton_disable_taskbar_upscale_toggled), ltbp);
+        }
 
 #define SETUP_SPIN_BUTTON(button,member) \
         object = gtk_builder_get_object(builder, #button); \
 
 #define SETUP_SPIN_BUTTON(button,member) \
         object = gtk_builder_get_object(builder, #button); \
@@ -1441,25 +1443,10 @@ static void launchtaskbar_panel_configuration_changed(LXPanel *panel, GtkWidget
                                      new_icon_size, new_icon_size, 3, 0,
                                      panel_get_height(panel));
 
                                      new_icon_size, new_icon_size, 3, 0,
                                      panel_get_height(panel));
 
-    /* Reset the bootstrap button. */
-    if (ltbp->bootstrap_button != NULL)
-    {
-        GdkPixbuf * icon = fm_pixbuf_from_icon(ltbp->add_icon, new_icon_size);
-        gtk_image_set_from_pixbuf(GTK_IMAGE(ltbp->bootstrap_button->image_widget), icon);
-        g_object_unref(icon);
-    }
-
-    if (ltbp->tb_built)
-    {
-        taskbar_update_style(ltbp);
-        taskbar_make_menu(ltbp);
-    }
-
     /* If the icon size changed, refetch all the icons. */
     if (new_icon_size != ltbp->icon_size)
     {
         Task * tk;
     /* If the icon size changed, refetch all the icons. */
     if (new_icon_size != ltbp->icon_size)
     {
         Task * tk;
-        GSList * l;
         ltbp->icon_size = new_icon_size;
         for (tk = ltbp->p_task_list; tk != NULL; tk = tk->p_task_flink_xwid)
         {
         ltbp->icon_size = new_icon_size;
         for (tk = ltbp->p_task_list; tk != NULL; tk = tk->p_task_flink_xwid)
         {
@@ -1470,18 +1457,15 @@ static void launchtaskbar_panel_configuration_changed(LXPanel *panel, GtkWidget
                 g_object_unref(pixbuf);
             }
         }
                 g_object_unref(pixbuf);
             }
         }
-        for (l = ltbp->buttons; l != NULL; l = l->next)
-        {
-            LaunchButton * btn = (LaunchButton *) l->data;
-            lxpanel_button_update_icon(btn->widget, fm_file_info_get_icon(btn->fi),
-                                       new_icon_size);
-        }
-
     }
 
     /* Redraw all the labels.  Icon size or font color may have changed. */
     if (ltbp->tb_built)
     }
 
     /* Redraw all the labels.  Icon size or font color may have changed. */
     if (ltbp->tb_built)
+    {
+        taskbar_update_style(ltbp);
+        taskbar_make_menu(ltbp);
         taskbar_redraw(ltbp);
         taskbar_redraw(ltbp);
+    }
 }
 
 /* Set an urgency timer on a task. */
 }
 
 /* Set an urgency timer on a task. */
@@ -1490,13 +1474,13 @@ static void set_timer_on_task(Task * tk)
     gint interval;
     g_return_if_fail(tk->flash_timeout == 0);
     g_object_get(gtk_widget_get_settings(tk->button), "gtk-cursor-blink-time", &interval, NULL);
     gint interval;
     g_return_if_fail(tk->flash_timeout == 0);
     g_object_get(gtk_widget_get_settings(tk->button), "gtk-cursor-blink-time", &interval, NULL);
-    tk->flash_timeout = g_timeout_add(interval, flash_window_timeout, tk);
+    tk->flash_timeout = g_timeout_add(interval / 2, flash_window_timeout, tk);
 }
 
 /* Determine if a task is visible considering only its desktop placement. */
 static gboolean task_is_visible_on_current_desktop(LaunchTaskBarPlugin * tb, Task * tk)
 {
 }
 
 /* Determine if a task is visible considering only its desktop placement. */
 static gboolean task_is_visible_on_current_desktop(LaunchTaskBarPlugin * tb, Task * tk)
 {
-    return ((tk->desktop == ALL_WORKSPACES) || (tk->desktop == tb->current_desktop) || (tb->show_all_desks));
+    return ((tk->desktop == ALL_WORKSPACES) || (tk->desktop == tb->current_desktop) || (tb->show_all_desks) || (tk->urgency));
 }
 
 /* Recompute the visible task for a class when the class membership changes.
 }
 
 /* Recompute the visible task for a class when the class membership changes.
@@ -1519,7 +1503,7 @@ static void recompute_group_visibility_for_class(LaunchTaskBarPlugin * tb, TaskC
             tc->visible_count += 1;
 
             /* Compute summary bit for urgency anywhere in the class. */
             tc->visible_count += 1;
 
             /* Compute summary bit for urgency anywhere in the class. */
-            if (tk->urgency)
+            if (tk->urgency && !tk->focused)
                 class_has_urgency = TRUE;
 
             /* If there is urgency, record the currently flashing task. */
                 class_has_urgency = TRUE;
 
             /* If there is urgency, record the currently flashing task. */
@@ -1558,6 +1542,10 @@ static void recompute_group_visibility_for_class(LaunchTaskBarPlugin * tb, TaskC
             flashing_task->flash_timeout = 0;
             tc->p_task_visible->flash_state = flashing_task->flash_state;
             flashing_task->flash_state = FALSE;
             flashing_task->flash_timeout = 0;
             tc->p_task_visible->flash_state = flashing_task->flash_state;
             flashing_task->flash_state = FALSE;
+            if (tc->p_task_visible->menu_item != NULL)
+                g_object_unref(tc->p_task_visible->menu_item);
+            tc->p_task_visible->menu_item = flashing_task->menu_item;
+            flashing_task->menu_item = NULL;
             set_timer_on_task(tc->p_task_visible);
         }
     }
             set_timer_on_task(tc->p_task_visible);
         }
     }
@@ -1616,7 +1604,8 @@ static gboolean task_is_visible(LaunchTaskBarPlugin * tb, Task * tk)
         return FALSE;
 
     /* Not on same monitor */
         return FALSE;
 
     /* Not on same monitor */
-    if (tb->same_monitor_only && panel_get_monitor(tb->panel) != tk->monitor)
+    if (tb->same_monitor_only && panel_get_monitor(tb->panel) != tk->monitor
+        && panel_get_monitor(tb->panel) >= 0)
         return FALSE;
 
     /* Desktop placement. */
         return FALSE;
 
     /* Desktop placement. */
@@ -1874,6 +1863,12 @@ static void task_delete(LaunchTaskBarPlugin * tb, Task * tk, gboolean unlink, gb
         tk->flash_timeout = 0;
     }
 
         tk->flash_timeout = 0;
     }
 
+    if (tk->menu_item)
+    {
+        g_object_unref(tk->menu_item);
+        tk->menu_item = NULL;
+    }
+
     /* Deallocate structures. */
     if (remove)
     {
     /* Deallocate structures. */
     if (remove)
     {
@@ -1936,20 +1931,12 @@ static GdkPixbuf * _wnck_gdk_pixbuf_get_from_pixmap(Pixmap xpixmap, int width, i
             colormap = NULL;
         else
         {
             colormap = NULL;
         else
         {
-#if GTK_CHECK_VERSION(2, 24, 0)
             colormap = gdk_screen_get_system_colormap(gdk_window_get_screen(drawable));
             colormap = gdk_screen_get_system_colormap(gdk_window_get_screen(drawable));
-#else
-            colormap = gdk_screen_get_system_colormap(gdk_drawable_get_screen(drawable));
-#endif
             g_object_ref(G_OBJECT(colormap));
         }
 
         /* Be sure we aren't going to fail due to visual mismatch. */
             g_object_ref(G_OBJECT(colormap));
         }
 
         /* Be sure we aren't going to fail due to visual mismatch. */
-#if GTK_CHECK_VERSION(2,22,0)
         if ((colormap != NULL) && (gdk_visual_get_depth(gdk_colormap_get_visual(colormap)) != depth))
         if ((colormap != NULL) && (gdk_visual_get_depth(gdk_colormap_get_visual(colormap)) != depth))
-#else
-        if ((colormap != NULL) && (gdk_colormap_get_visual(colormap)->depth != depth))
-#endif
         {
             g_object_unref(G_OBJECT(colormap));
             colormap = NULL;
         {
             g_object_unref(G_OBJECT(colormap));
             colormap = NULL;
@@ -1999,7 +1986,9 @@ static GdkPixbuf * apply_mask(GdkPixbuf * pixbuf, GdkPixbuf * mask)
 }
 
 /* Get an icon from the window manager for a task, and scale it to a specified size. */
 }
 
 /* Get an icon from the window manager for a task, and scale it to a specified size. */
-static GdkPixbuf * get_wm_icon(Window task_win, guint required_width, guint required_height, Atom source, Atom * current_source)
+static GdkPixbuf * get_wm_icon(Window task_win, guint required_width,
+                               guint required_height, Atom source,
+                               Atom * current_source, LaunchTaskBarPlugin * tb)
 {
     /* The result. */
     GdkPixbuf * pixmap = NULL;
 {
     /* The result. */
     GdkPixbuf * pixmap = NULL;
@@ -2239,9 +2228,21 @@ static GdkPixbuf * get_wm_icon(Window task_win, guint required_width, guint requ
         return NULL;
     else
     {
         return NULL;
     else
     {
-        GdkPixbuf * ret = gdk_pixbuf_scale_simple(pixmap, required_width, required_height, GDK_INTERP_TILES);
-        g_object_unref(pixmap);
+        GdkPixbuf * ret;
+
         *current_source = possible_source;
         *current_source = possible_source;
+        if (tb->disable_taskbar_upscale)
+        {
+            guint w = gdk_pixbuf_get_width (pixmap);
+            guint h = gdk_pixbuf_get_height (pixmap);
+            if (w <= required_width || h <= required_height)
+            {
+                return pixmap;
+            }
+        }
+        ret = gdk_pixbuf_scale_simple(pixmap, required_width, required_height,
+                                      GDK_INTERP_BILINEAR);
+        g_object_unref(pixmap);
         return ret;
     }
 }
         return ret;
     }
 }
@@ -2252,7 +2253,7 @@ static GdkPixbuf * task_update_icon(LaunchTaskBarPlugin * tb, Task * tk, Atom so
     /* Get the icon from the window's hints. */
     GdkPixbuf * pixbuf = get_wm_icon(tk->win, MAX(0, tb->icon_size - ICON_BUTTON_TRIM),
                                      MAX(0, tb->icon_size - ICON_BUTTON_TRIM),
     /* Get the icon from the window's hints. */
     GdkPixbuf * pixbuf = get_wm_icon(tk->win, MAX(0, tb->icon_size - ICON_BUTTON_TRIM),
                                      MAX(0, tb->icon_size - ICON_BUTTON_TRIM),
-                                     source, &tk->image_source);
+                                     source, &tk->image_source, tb);
 
     /* If that fails, and we have no other icon yet, return the fallback icon. */
     if ((pixbuf == NULL)
 
     /* If that fails, and we have no other icon yet, return the fallback icon. */
     if ((pixbuf == NULL)
@@ -2276,6 +2277,9 @@ static void flash_window_update(Task * tk)
     if ( ! tk->tb->flat_button)
         gtk_widget_set_state(tk->button, tk->flash_state ? GTK_STATE_SELECTED : GTK_STATE_NORMAL);
     task_draw_label(tk);
     if ( ! tk->tb->flat_button)
         gtk_widget_set_state(tk->button, tk->flash_state ? GTK_STATE_SELECTED : GTK_STATE_NORMAL);
     task_draw_label(tk);
+    if (tk->menu_item != NULL && gtk_widget_get_mapped(tk->menu_item))
+        /* if submenu exists and mapped then set state too */
+        gtk_widget_set_state(tk->menu_item, tk->flash_state ? GTK_STATE_SELECTED : GTK_STATE_NORMAL);
 
     /* Complement the flashing context. */
     tk->flash_state = ! tk->flash_state;
 
     /* Complement the flashing context. */
     tk->flash_state = ! tk->flash_state;
@@ -2323,6 +2327,11 @@ static void task_clear_urgency(Task * tk)
             g_source_remove(tk->flash_timeout);
             tk->flash_timeout = 0;
         }
             g_source_remove(tk->flash_timeout);
             tk->flash_timeout = 0;
         }
+        if (tk->menu_item)
+        {
+            g_object_unref(tk->menu_item);
+            tk->menu_item = NULL;
+        }
 
         /* Clear the flashing context and unflash the window immediately. */
         tk->flash_state = FALSE;
 
         /* Clear the flashing context and unflash the window immediately. */
         tk->flash_state = FALSE;
@@ -2434,6 +2443,7 @@ static gboolean taskbar_task_control_event(GtkWidget * widget, GdkEventButton *
             menu = gtk_menu_new();
             /* Bring up a popup menu listing all the class members. */
             Task * tk_cursor;
             menu = gtk_menu_new();
             /* Bring up a popup menu listing all the class members. */
             Task * tk_cursor;
+            GtkWidget * flashing_menu = NULL;
             for (tk_cursor = tc->p_task_head; tk_cursor != NULL;
                     tk_cursor = tk_cursor->p_task_flink_same_class)
             {
             for (tk_cursor = tc->p_task_head; tk_cursor != NULL;
                     tk_cursor = tk_cursor->p_task_flink_same_class)
             {
@@ -2449,8 +2459,18 @@ static gboolean taskbar_task_control_event(GtkWidget * widget, GdkEventButton *
                     g_signal_connect(mi, "button-press-event",
                             G_CALLBACK(taskbar_popup_activate_event), (gpointer) tk_cursor);
                     gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
                     g_signal_connect(mi, "button-press-event",
                             G_CALLBACK(taskbar_popup_activate_event), (gpointer) tk_cursor);
                     gtk_menu_shell_append(GTK_MENU_SHELL(menu), mi);
+                    /* set mi as if it's urgent with reference */
+                    if (tk_cursor->menu_item != NULL)
+                        g_object_unref(tk_cursor->menu_item);
+                    tk_cursor->menu_item = NULL;
+                    if (tk_cursor->urgency && !tk_cursor->focused && flashing_menu == NULL)
+                        flashing_menu = g_object_ref_sink(mi);
                 }
             }
     &n