Merge lxpanel_back_pixmap branch back to trunk.
authorHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Sun, 30 Mar 2008 13:48:39 +0000 (13:48 +0000)
committerHong Jen Yee (PCMan) <pcman.tw@gmail.com>
Sun, 30 Mar 2008 13:48:39 +0000 (13:48 +0000)
Bump the version number to 0.2.9.

36 files changed:
configure.ac
po/fr.po
po/hu.po
po/ko.po
po/pl.po
po/sk.po
po/zh_TW.po
src/bg.c
src/configurator.c
src/misc.c
src/panel.c
src/panel.h
src/plugin.c
src/plugin.h
src/plugins/batt/batt.c
src/plugins/cpu/cpu.c
src/plugins/dclock.c
src/plugins/deskno/deskno.c
src/plugins/deskno/deskno2.c
src/plugins/dirmenu.c
src/plugins/image.c
src/plugins/launchbar.c
src/plugins/menu.c
src/plugins/netstat/netstat.c
src/plugins/netstat/statusicon.c
src/plugins/netstatus/netstatus.c
src/plugins/pager.c
src/plugins/separator.c
src/plugins/space.c
src/plugins/taskbar.c
src/plugins/test.c
src/plugins/volume/volume.c
src/plugins/volumealsa/volumealsa.c
src/plugins/wincmd.c
src/systray/eggtraymanager.c
src/systray/tray.c

index 145b21e..30f340d 100644 (file)
@@ -1,5 +1,5 @@
 AC_PREREQ(2.53)
-AC_INIT(lxpanel, 0.2.8.3, http://lxde.sourceforge.net/)
+AC_INIT(lxpanel, 0.2.9.0, http://lxde.sourceforge.net/)
 AM_INIT_AUTOMAKE
 AC_CONFIG_SRCDIR([src/bg.c])
 AC_CONFIG_HEADER([config.h])
index 18fe347..b7762ec 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxpanel-0.2.6\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
 "PO-Revision-Date: 2008-05-01 00:00+0100\n"
 "Last-Translator: Frank Endres <frank_endres@yahoo.fr>\n"
 "Language-Team: French\n"
@@ -18,19 +18,19 @@ msgstr ""
 "X-Poedit-Bookmarks: 19,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 "X-Poedit-Country: Poland\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "Préférences"
 
-#: ../src/configurator.c:46 ../src/gtk-run.c:112
+#: ../src/configurator.c:45 ../src/gtk-run.c:112
 msgid "Run"
 msgstr "Exécuter"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "Redémarrer"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr "Déconnexion"
 
@@ -100,150 +100,154 @@ msgstr "pourcentage"
 msgid "Height:"
 msgstr "Hauteur:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr "Transparent"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "Teinte:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr "Image:"
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr "Sélectionner une image de fond pour le panneau"
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr "<b>Fond du panneau</b>"
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr "Normal (utiliser le thème du système)"
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>Propriétés</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr "Ancrer le panneau"
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr "Empêcher les fenêtres de recouvrir le panneau"
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "Plugins actifs"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr "Ajouter un plugin au panneau"
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr "Plugins disponibles"
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr "<b>Applications préférées</b>"
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr "Gestionnaire de fichiers:"
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr "Émulateur de terminal:"
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 msgid "Logout Command:"
 msgstr "Commande de déconnexion:"
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "Configuration du panneau LXPanel"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "Général"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr ""
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "Plugins"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 msgid "Applications"
 msgstr ""
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr "La commande de déconnexion n'est pas définie"
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - panneau léger GTK2+ pour environnement de bureau UNIX\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "Options de la ligne de commande:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr " --help      -- affiche ce message d'aide et quitte\n"
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr " --version   -- affiche le numéro de version et quitte\n"
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
 msgstr ""
 " --log <nombre> -- défini la quantité d'informations de débogage 0-5. 0 - "
 "aucun 5 -  maximum\n"
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr " --configure -- lance l'utilitaire de configuration\n"
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr " --profile nom -- utilise le profile spécifié\n"
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr " -h  -- équivalent à --help\n"
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr " -p  -- équivalent à --profile\n"
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr " -v  -- équivalent à --version\n"
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr " -C  -- équivalent à --configure\n"
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -267,11 +271,11 @@ msgstr "Zone de notification"
 msgid "Old KDE/GNOME Tray"
 msgstr "Zone de notification système"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "Moniteur du processeur"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "Affiche le taux d'utilisation du processeur"
 
@@ -287,19 +291,19 @@ msgstr "Affiche le numéro de l'espace de travail, par cmeury@users.sf.net"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr "Choisir le programme"
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr "Boutons"
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "Boutons d'applications"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "Barre d'accès direct aux applications"
 
@@ -347,127 +351,127 @@ msgstr "Bureautique"
 msgid "Accessories"
 msgstr "Accessoires"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "Afficher"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "Restaurer"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "Maximiser"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "Minimiser"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr "Espace de travail %d"
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 msgid "All workspaces"
 msgstr "Tous les espaces de travail"
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr "Déplacer vers l'espace de travail"
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "Fermer la fenêtre"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "Montrer les bulles d'aide"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "Icônes uniquement"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 msgid "Accept SkipPager"
 msgstr "Inclure le gestionnaire de bureau virtuels"
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "Montrer les fenêtres minimisées"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr "Montrer les fenêtres visibles"
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "Montrer les fenêtres de tous les espaces de travail"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "Utiliser la molette de la souris"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "Clignoter lorsque une fenêtre requiert de l'attention"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "Largeur maximale d'un bouton de tâche"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "Espacement entre les boutons"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "Barre des tâches"
 
-#: ../src/plugins/taskbar.c:1576
+#: ../src/plugins/taskbar.c:1590
 msgid ""
 "Taskbar shows all opened windows and allow to iconify them, shade or get "
 "focus"
 msgstr "Montre la liste des fenêtres"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "Format de l'heure"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "Format des bulles d'aide"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr ""
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr "Police grasse"
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "Montre digitale"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "Affiche l'heure et la date"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "Menu d'applications"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr "Accès aux applications"
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr "Séparateur"
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr "Ajouter un séparateur sur le panneau"
 
@@ -475,72 +479,72 @@ msgstr "Ajouter un séparateur sur le panneau"
 msgid "Dispaly Image and Tooltip"
 msgstr "Afficher les images et les bulles d'aide"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "Bureaux virtuels"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "Affiche les bureaux virtuels"
 
-#: ../src/plugins/space.c:131 ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133 ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "Taille"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "<Espace>"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr "Espacement"
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr ""
 "Clic gauche pour masquer toutes les fenêtres. Bouton du milieu pour les "
 "enrouler"
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr "Masquer le bureau"
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
 msgstr "Minimise les fenêtres de l'espace de travail."
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr "Ouvrir avec un _Terminal"
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr "Menu des Répertoires"
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr "Parcours de l'arborescence via un menu"
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr "Contrôle du volume"
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr "Contrôle du volume"
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr ""
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr "Muet"
 
@@ -625,13 +629,13 @@ msgstr "Adresse de diffusion:"
 msgid "HW Address:"
 msgstr "Adresse:"
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr "Moniteur des connexions réseau"
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr "Affiche l'état des connexions réseau"
 
@@ -651,11 +655,11 @@ msgstr ""
 msgid "Encryption Key:"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr "Interface"
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr "Outil de configuration"
 
@@ -825,78 +829,82 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr "Commande d'alarme"
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr "Moment de l'alarme (minutes restantes)"
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr "Couleur de fond"
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr "Couleur de chargement n°1"
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr "Couleur de chargement n°2"
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr "Couleur de déchargement n°1"
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr "Couleur de déchargement n°2"
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr "Épaisseur de la bordure"
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 msgid "Battery Monitor"
 msgstr "Moniteur des batteries"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr "Afficher l'état de charge des batteries"
 
+#, fuzzy
+#~ msgid "Background"
+#~ msgstr "Couleur de fond"
+
 #~ msgid "Update interval (seconds)"
 #~ msgstr "Intervale de mise à jour (en secondes)"
 
index b360d2b..f5844ec 100644 (file)
--- a/po/hu.po
+++ b/po/hu.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxpanel-0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
 "PO-Revision-Date: 2008-03-30 08:35+0100\n"
 "Last-Translator: SZERVÁC Attila <sas@321.hu>\n"
 "Language-Team: Hungarian <debian-l10n-hungarian@lists.debian.org>\n"
@@ -18,20 +18,19 @@ msgstr ""
 "Plural-Forms: nplurals=1; plural=n>1;\n"
 "X-Poedit-Language: Hungarian\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "Jellemzők"
 
-#: ../src/configurator.c:46
-#: ../src/gtk-run.c:112
+#: ../src/configurator.c:45 ../src/gtk-run.c:112
 msgid "Run"
 msgstr "Futtat"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "Újraindít"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr "Kijelentkezés"
 
@@ -44,13 +43,11 @@ msgstr "<b>Helyzet</b>"
 msgid "Edge:"
 msgstr "Szél:"
 
-#: ../src/configurator.c:257
-#: ../src/configurator.c:281
+#: ../src/configurator.c:257 ../src/configurator.c:281
 msgid "Left"
 msgstr "Balra"
 
-#: ../src/configurator.c:258
-#: ../src/configurator.c:283
+#: ../src/configurator.c:258 ../src/configurator.c:283
 msgid "Right"
 msgstr "Jobbra"
 
@@ -89,8 +86,7 @@ msgstr "Szélesség:"
 msgid "dynamic"
 msgstr "dinamikus"
 
-#: ../src/configurator.c:398
-#: ../src/configurator.c:426
+#: ../src/configurator.c:398 ../src/configurator.c:426
 msgid "pixels"
 msgstr "képpontok"
 
@@ -104,148 +100,154 @@ msgstr "% a széléből"
 msgid "Height:"
 msgstr "Magasság:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr "Átlátszóság bekapcsolva"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "Színárnyalat:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr "Kép bekapcsolása:"
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr "Válassz egy háttér-kép fájlt"
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr "<b>Háttér</b>"
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr "Nincs (Rendszertéma használata)"
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>Tulajdonságok</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr "Az ablakkezelők a panelt dokként kezeljék"
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr "Hely fenntartása, melyet nem fednek le a maximált ablakok"
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "A most betöltött beillesztések"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr "Beillesztések hozzáadása a panelhoz"
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr "Elérhető beillesztések"
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr "<b>Kedvenc alkalmazások beállítása</b>"
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr "Fájlkezelő:"
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr "Terminál emulátor:"
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 msgid "Logout Command:"
 msgstr "Kijelentkező parancs:"
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "lxpanel beállító"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "Általános"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr ""
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "Beillesztések"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 msgid "Applications"
 msgstr "Alkalmazások"
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr "Nincs beállítva kijelentkező parancs"
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - könnyű GTK2+ panel UNIXos jellegű asztalokhoz\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "Parancssori lehetőségek:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr " --help      -- kiírja e súgót és kilép\n"
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr " --version   -- kiírja a verziót és kilép\n"
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
-msgstr " --log <szám> -- napló szint beállítása 0 és 5 között. 0 - üres 5 - csacsogó\n"
+msgstr ""
+" --log <szám> -- napló szint beállítása 0 és 5 között. 0 - üres 5 - "
+"csacsogó\n"
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr " --configure -- beállító eszköz indítása\n"
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr " --profile name -- adott profil használata\n"
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr " -h  -- ugyanaz, mint a --help\n"
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr " -p  -- ugyanaz, mint a --profile\n"
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr " -v  -- ugyanaz, mint a --version\n"
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr " -C  -- ugyanaz, mint a --configure\n"
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -268,11 +270,11 @@ msgstr "Rendszer tálca"
 msgid "Old KDE/GNOME Tray"
 msgstr "Régi KDE/GNOME tálca"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "CPU használat figyelő"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "CPU használat mutatása"
 
@@ -288,19 +290,19 @@ msgstr "Munkaterület szám kiírása: cmeury@users.sf.net"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr "Válassz alkalmazást"
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr "Gombok"
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "Alkalmazás-indító sáv"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "Alkalmazás-indító gomb sáv"
 
@@ -348,125 +350,129 @@ msgstr "Iroda"
 msgid "Accessories"
 msgstr "Kellékek"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "Előhoz"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "Visszaállít"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "Maximalizál"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "Ikonizál"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr "%d. munkaterület"
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 msgid "All workspaces"
 msgstr "Minden munkaterület"
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr "Munkaterületre mozgatás"
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "Ablak bezárása"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "Eszköztippek mutatása"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "Csak ikonok"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 msgid "Accept SkipPager"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "Ikonná tett ablakok mutatása"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr "Elhelyezett ablakok mutatása"
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "Ablakok mutatása minden asztalról"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "Egérgörgő használata"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "Villan, ha egy ablak figyelmet kér"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "Feladat gomb maximális mérete"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "Térköz"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "Feladatsáv (ablak lista)"
 
-#: ../src/plugins/taskbar.c:1576
-msgid "Taskbar shows all opened windows and allow to iconify them, shade or get focus"
-msgstr "A feladatsáv mutatja a megnyitott ablakokat és lehetővé teszi ikonná tevésüket, az árnyékolást vagy fókusz kapást"
+#: ../src/plugins/taskbar.c:1590
+msgid ""
+"Taskbar shows all opened windows and allow to iconify them, shade or get "
+"focus"
+msgstr ""
+"A feladatsáv mutatja a megnyitott ablakokat és lehetővé teszi ikonná "
+"tevésüket, az árnyékolást vagy fókusz kapást"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "Óra forma"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "Eszköztipp forma"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr "Művelet"
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr "Félkövér betű"
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "Digitális óra"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "Digitális óra és eszköztipp mutatása"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "Menü"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr ""
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr "Elválasztó"
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr "Elválasztó hozzáadása a panelhoz"
 
@@ -474,36 +480,35 @@ msgstr "Elválasztó hozzáadása a panelhoz"
 msgid "Dispaly Image and Tooltip"
 msgstr "Kép és eszköztipp mutatása"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "Asztali lapozó"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "Egyszerű lapozó beillesztés"
 
-#: ../src/plugins/space.c:131
-#: ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133 ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "Méret"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "<Térköz>"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr "Helyfoglalás"
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr "A bal gomb minden ablakot ikonná tesz. A középső árnyékba teszi őket"
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr "Ablakok minimalizálása"
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
@@ -511,36 +516,36 @@ msgstr ""
 "Parancsokat küld az összes asztali ablaknak.\n"
 " Támogatott parancsok: 1) ikon állapot váltása és 2) árnyékolás váltása"
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr "Megnyitás _terminálban"
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr "Könyvtár menü"
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr "Könyvtárfa böngészése menüvel (Szerző: PCMan)"
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr "Hangerő:"
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr "Hangerő-szabályzó"
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr "Hangerő"
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr "Némít"
 
@@ -561,8 +566,7 @@ msgstr ""
 msgid "Connection has limited or no connectivity"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:243
-#: ../src/plugins/netstat/netstat.c:254
+#: ../src/plugins/netstat/netstat.c:243 ../src/plugins/netstat/netstat.c:254
 #: ../src/plugins/netstat/netstat.c:265
 msgid "IP Address:"
 msgstr "IP cím:"
@@ -571,38 +575,32 @@ msgstr "IP cím:"
 msgid "Remote IP:"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:245
-#: ../src/plugins/netstat/netstat.c:256
+#: ../src/plugins/netstat/netstat.c:245 ../src/plugins/netstat/netstat.c:256
 #: ../src/plugins/netstat/netstat.c:267
 msgid "Netmask:"
 msgstr "Hálózati maszk"
 
-#: ../src/plugins/netstat/netstat.c:246
-#: ../src/plugins/netstat/netstat.c:258
+#: ../src/plugins/netstat/netstat.c:246 ../src/plugins/netstat/netstat.c:258
 #: ../src/plugins/netstat/netstat.c:269
 msgid "Activity"
 msgstr "Aktivitás"
 
-#: ../src/plugins/netstat/netstat.c:246
-#: ../src/plugins/netstat/netstat.c:258
+#: ../src/plugins/netstat/netstat.c:246 ../src/plugins/netstat/netstat.c:258
 #: ../src/plugins/netstat/netstat.c:269
 msgid "Sent"
 msgstr "Küldött"
 
-#: ../src/plugins/netstat/netstat.c:246
-#: ../src/plugins/netstat/netstat.c:258
+#: ../src/plugins/netstat/netstat.c:246 ../src/plugins/netstat/netstat.c:258
 #: ../src/plugins/netstat/netstat.c:269
 msgid "Received"
 msgstr "Fogadott"
 
-#: ../src/plugins/netstat/netstat.c:247
-#: ../src/plugins/netstat/netstat.c:259
+#: ../src/plugins/netstat/netstat.c:247 ../src/plugins/netstat/netstat.c:259
 #: ../src/plugins/netstat/netstat.c:270
 msgid "bytes"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:248
-#: ../src/plugins/netstat/netstat.c:260
+#: ../src/plugins/netstat/netstat.c:248 ../src/plugins/netstat/netstat.c:260
 #: ../src/plugins/netstat/netstat.c:271
 msgid "packets"
 msgstr "csomagok"
@@ -615,23 +613,21 @@ msgstr ""
 msgid "Protocol:"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:255
-#: ../src/plugins/netstat/netstat.c:266
+#: ../src/plugins/netstat/netstat.c:255 ../src/plugins/netstat/netstat.c:266
 msgid "Boradcast:"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:257
-#: ../src/plugins/netstat/netstat.c:268
+#: ../src/plugins/netstat/netstat.c:257 ../src/plugins/netstat/netstat.c:268
 msgid "HW Address:"
 msgstr "Hardver cím:"
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr "Hálózati állapot figyelő"
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr "Hálózati állapot figyelése"
 
@@ -651,11 +647,11 @@ msgstr ""
 msgid "Encryption Key:"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr "Figyelő felület"
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr "Beállító eszköz"
 
@@ -823,92 +819,102 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr "Riasztási parancs"
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr "Riasztási idő (maradó percek)"
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr "Háttérszín"
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr "Töltöttség szín 1"
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr "Töltöttség szín 2"
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr "Lemerülő szín 1"
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr "Lemerülő szín 2"
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr "A keret mérete"
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 msgid "Battery Monitor"
 msgstr "Aksi figyelő"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr "Aksi állapotának jelzése ACPI által"
 
+#, fuzzy
+#~ msgid "Background"
+#~ msgstr "Háttérszín"
+
 #~ msgid "<b>Transparency</b>"
 #~ msgstr "<b>Átlátszóság</b>"
+
 #~ msgid "Icons"
 #~ msgstr "Ikonok"
+
 #~ msgid "Change window icons"
 #~ msgstr "Ablak ikonok cseréje"
+
 #~ msgid "Set Dock Type"
 #~ msgstr "Dokk típus beállítása"
+
 #~ msgid "_Add"
 #~ msgstr "新增(_A)"
+
 #~ msgid "_Remove"
 #~ msgstr "移除(_R)"
+
 #~ msgid "Right-click to get context menu. Drag & Drop to change order."
 #~ msgstr "可以按右鍵使用選單,用拖曳改變順序"
+
 #~ msgid "Plugins..."
 #~ msgstr "外掛..."
-
index 5273c12..a271568 100644 (file)
--- a/po/ko.po
+++ b/po/ko.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxpanel 0.1.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
 "PO-Revision-Date: 2006-11-27 00:13+0800\n"
 "Last-Translator: 洪任諭 <pcman.tw@gmail.com>\n"
 "Language-Team: GNOME Korean Team <gnome-kr-hackers@lists.kldp.net>\n"
@@ -16,19 +16,19 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=1; plural=0;\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "속성"
 
-#: ../src/configurator.c:46 ../src/gtk-run.c:112
+#: ../src/configurator.c:45 ../src/gtk-run.c:112
 msgid "Run"
 msgstr "실행"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "다시 시작"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr ""
 
@@ -98,150 +98,154 @@ msgstr "비율"
 msgid "Height:"
 msgstr "높이:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr "투명하게"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "색조:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr ""
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr ""
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr ""
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr ""
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>속성</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr ""
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr ""
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "지금 쓰는 플러그인"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr ""
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr ""
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr ""
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr ""
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr ""
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 msgid "Logout Command:"
 msgstr ""
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "가벼운 패널 설정"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "일반"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr ""
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "플러그인"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 msgid "Applications"
 msgstr ""
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr ""
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - GTK2+를 쓴 유닉스 환경의 가벼운 패널\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "명령줄 옵션:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr " --help      -- 도움말이 나오고 끝납니다\n"
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr " --version   -- 버전이 나오고 끝납니다\n"
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
 msgstr ""
 " --log <숫자>   -- 기록 수준을 0부터 5까지 정합니다. 0은 조용하고 5는 수다쟁"
 "이\n"
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr " --configure -- 설정창을 띄웁니다\n"
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr " --profile 이름 -- 지정한 프로파일을 씁니다\n"
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr " -h  -- --help와 같습니다\n"
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr " -p  -- --profile과 같습니다\n"
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr " -v  -- --version과 같습니다\n"
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr " -C  -- --configure와 같습니다\n"
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -264,11 +268,11 @@ msgstr "시스템 트레이"
 msgid "Old KDE/GNOME Tray"
 msgstr "KDE/GNOME 트레이"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "CPU 사용 감시"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "CPU 사용량을 표시합니다"
 
@@ -284,19 +288,19 @@ msgstr "작업공간 번호를 표시합니다. cmeury@users.sf.net 제작"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr ""
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr ""
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "실행 막대"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "응용 프로그램을 실행하는 버튼들입니다"
 
@@ -344,85 +348,85 @@ msgstr "사무"
 msgid "Accessories"
 msgstr "기타"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "앞으로"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "복구"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "최대화"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "최소화"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 msgid "All workspaces"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr ""
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "닫기"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "툴팁 보기"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "아이콘만"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 msgid "Accept SkipPager"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "최소화한 창 보이기"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "모든 작업공간의 창 보이기"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "휠로 창 전환 가능"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "주목할 창이 있으면 깜빡이기"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "작업 버튼의 최대 너비"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "사이 띄우기"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "창 목록"
 
-#: ../src/plugins/taskbar.c:1576
+#: ../src/plugins/taskbar.c:1590
 msgid ""
 "Taskbar shows all opened windows and allow to iconify them, shade or get "
 "focus"
@@ -430,43 +434,43 @@ msgstr ""
 "Taskbar shows all opened windows and allow to iconify them, shade or get "
 "focus"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "시계 형식"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "툴팁 형식"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr "명령"
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr ""
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "숫자 시계"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "숫자 시계와 툴팁을 보여줍니다"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "메뉴"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr ""
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr ""
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr ""
 
@@ -474,71 +478,71 @@ msgstr ""
 msgid "Dispaly Image and Tooltip"
 msgstr "그림과 툴팁을 보여줍니다"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "pager"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "간단한 pager 플러그인"
 
-#: ../src/plugins/space.c:131 ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133 ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "크기"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "사이 띄우기"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr ""
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr ""
 "왼쪽 클릭으로 모든 창을 최소화하고, 가운데 클릭으로 모든 창을 말아올립니다"
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr "모든 창 최소화"
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr ""
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr "소리 크기 조절"
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr "소리 크기 조절"
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr "소리 크기"
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr ""
 
@@ -616,13 +620,13 @@ msgstr ""
 msgid "HW Address:"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr "네트 상태 감시기"
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr "네트워크 상태를 봅니다"
 
@@ -642,11 +646,11 @@ msgstr ""
 msgid "Encryption Key:"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr "감시할 장치"
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr "설정 도구"
 
@@ -810,76 +814,76 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 #, fuzzy
 msgid "Battery Monitor"
 msgstr "CPU 사용 감시"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr ""
 
index 096861d..7bcbe5b 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxpanel-0.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
 "PO-Revision-Date: 2006-11-27 21:56+0100\n"
 "Last-Translator: Artur Kruszewski <mazdac@gmail.com>\n"
 "Language-Team: Polish\n"
@@ -19,19 +19,19 @@ msgstr ""
 "X-Poedit-Bookmarks: 19,-1,-1,-1,-1,-1,-1,-1,-1,-1\n"
 "X-Poedit-Country: Poland\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "Preferencje"
 
-#: ../src/configurator.c:46 ../src/gtk-run.c:112
+#: ../src/configurator.c:45 ../src/gtk-run.c:112
 msgid "Run"
 msgstr "Uruchom"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "Restartuj"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr "Wyloguj"
 
@@ -103,151 +103,155 @@ msgstr ""
 msgid "Height:"
 msgstr "Wysokość:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr "Włącz przezroczystość"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "Kolor przesłony:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr ""
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr ""
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr ""
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr ""
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>Właściwości</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr ""
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr ""
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "Załadowane wtyczki"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr "Dodaj wtyczkę do panelu"
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr "Dostępne wtyczki"
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr ""
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr ""
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr ""
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 #, fuzzy
 msgid "Logout Command:"
 msgstr "Komenda wylogowania nie jest ustawiona"
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "konfigurator lxpanel"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "Ogólne"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr ""
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "Wtyczki"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 #, fuzzy
 msgid "Applications"
 msgstr "Wybierz program"
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr "Komenda wylogowania nie jest ustawiona"
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - lekki panel GTK2+ dla pulpitów UNIX\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "Opcje lini komend:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr " --help      -- wyświetla tą pomoc i wychodzi\n"
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr " --version   -- wyświetla numer wersji i wychodzi\n"
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
 msgstr ""
 " --log <number> -- ustawia poziom raportowania 0-5. 0 - brak 5 - wylewny\n"
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr " --configure -- uruchamia narzędzie konfiguracji\n"
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr " --profile nazwa -- używa określonego profilu\n"
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr " -h  -- to samo co --help\n"
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr " -p  -- to samo co --profile\n"
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr " -v  -- to samo co --version\n"
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr " -C  -- to samo co --configure\n"
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -271,11 +275,11 @@ msgstr "Tacka systemowa"
 msgid "Old KDE/GNOME Tray"
 msgstr "Stara tacka KDE/GNOME"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "Monitor użycia CPU"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "Wyświetl użycie CPU"
 
@@ -291,19 +295,19 @@ msgstr "Pokaż numer przestrzeni roboczej, dzięki cmeury@users.sf.net"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr "Wybierz program"
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr "Przyciski"
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "Pasek uruchamiania programów"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "Pasek z przyciskami do uruchamiania programów"
 
@@ -351,85 +355,85 @@ msgstr "Biuro"
 msgid "Accessories"
 msgstr "Akcesoria"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "Rozwiń"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "Przywróć"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "Maksymalizuj"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "Minimalizuj"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 msgid "All workspaces"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr ""
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "Zamknij okno"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "Pokaż podpowiedzi"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "Tylko ikony"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 msgid "Accept SkipPager"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "Pokaż zikonizowane oka"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "Pokaż okna ze wszytskich pulpitów"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "Użyj rolki myszy"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "Migaj gdy okno wymaga uwagi"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "Maksymalna szerokośc przycisku zadań"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "Odstępy"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "Pasek zadań (Lista okien)"
 
-#: ../src/plugins/taskbar.c:1576
+#: ../src/plugins/taskbar.c:1590
 msgid ""
 "Taskbar shows all opened windows and allow to iconify them, shade or get "
 "focus"
@@ -437,43 +441,43 @@ msgstr ""
 "Pasek zadań pokazuje wszyski otwarte okna i umożliwia ich ikonizację, "
 "zwinięcie lub wywołanie"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "Format zegara"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "Format podpowiedzi"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr "Akcja"
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr ""
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "Zegar cyfrowy"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "Wyświetl zegar cyfrowy i podpowiedź"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "Menu"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr ""
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr ""
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr ""
 
@@ -481,37 +485,37 @@ msgstr ""
 msgid "Dispaly Image and Tooltip"
 msgstr "Wyświetl obraz i podpowiedź"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "Pager pulpitu"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "Prosta wtyczka pagera"
 
-#: ../src/plugins/space.c:131 ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133 ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "Rozmiar"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "<Spacja>"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr ""
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr ""
 "Kilknij prawym klawiszem myszy aby zminimalizować, środkowym aby zwinąć "
 "wszystkie okna."
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr "Minimalizuj wszystkie okna"
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
@@ -519,36 +523,36 @@ msgstr ""
 "Wysyła komendę do wszystkich okien pulpity.\n"
 "Wsppierane komendy 1)minimalizuj wszystko 2) zwiń wszystko"
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr ""
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr "Poziom głoścności"
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr "Kontrola głośności"
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr "Głośność"
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr ""
 
@@ -633,13 +637,13 @@ msgstr "Adres rozgłoszeniowy"
 msgid "HW Address:"
 msgstr "Adres:"
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr "Monitor statusu sieci"
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr "Status monitora sieci"
 
@@ -659,11 +663,11 @@ msgstr ""
 msgid "Encryption Key:"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr "Interfejs do monitorowania"
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr "Narzędzie konfiguracji"
 
@@ -833,76 +837,76 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 #, fuzzy
 msgid "Battery Monitor"
 msgstr "Monitor użycia CPU"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr ""
 
index 518b89b..f0de3e5 100755 (executable)
--- a/po/sk.po
+++ b/po/sk.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: lxpanel\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
 "PO-Revision-Date: 2007-09-17 01:25+0100\n"
 "Last-Translator: Ivan Masár <helix84@centrum.sk>\n"
 "Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -17,19 +17,19 @@ msgstr ""
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
 "10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "Nastavenia"
 
-#: ../src/configurator.c:46 ../src/gtk-run.c:112
+#: ../src/configurator.c:45 ../src/gtk-run.c:112
 msgid "Run"
 msgstr "Spustiť"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "Reštartovať"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr "Odhlásiť"
 
@@ -99,148 +99,152 @@ msgstr "% okraja"
 msgid "Height:"
 msgstr "Výška:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr "Zapnúť priesvitnosť"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "Zafarbenie:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr ""
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr ""
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr ""
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr ""
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>Vlastnosti</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr "Správcovia okien majú ukotvovať panel"
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr "Rezervovať miesto, nezakrývať maximalizovanými oknami"
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "Momentálne načítané moduly"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr "Pridať modul do panela"
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr "Dostupné moduly"
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr "<b>Nastaviť preferované aplikácie</b>"
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr "Správca súborov:"
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr "Emulátor terminálu:"
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 msgid "Logout Command:"
 msgstr "Príkaz na odhlásenie:"
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "Konfigurátor lxpanel"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "Všeobecné"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr ""
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "Moduly"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 msgid "Applications"
 msgstr "Aplikácie"
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr "Príkaz na odhlásenie nie je nastavený"
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - odľahčený GTK2+ panel pre unixové pracovné prostredia\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "Voľby príkazového riadka:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr ""
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr ""
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
 msgstr ""
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr ""
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr ""
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr ""
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr ""
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr ""
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr ""
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -263,11 +267,11 @@ msgstr "Oznamovacia oblasť"
 msgid "Old KDE/GNOME Tray"
 msgstr "Stará oznamovacia oblasť KDE/GNOME"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "Monitor využitia CPU"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "Zobraziť využitie CPU"
 
@@ -283,19 +287,19 @@ msgstr "Zobrazenie čísla plochy, cmeury@users.sf.net"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr "Vybrať aplikáciu"
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr "Tlačidlá"
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "Spúšťací panel"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "Panel s tlačidlami pre spúšťanie aplikácií"
 
@@ -343,87 +347,87 @@ msgstr "Kancelária"
 msgid "Accessories"
 msgstr "Príslušenstvo"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "Zdvihnúť"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "Obnoviť"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "Maximalizovať"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "Ikonifikovať"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr ""
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 #, fuzzy
 msgid "All workspaces"
 msgstr "Vyhradiť miesto"
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr ""
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "Zatvoriť okno"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "Zobraziť bublinové tipy"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "Iba ikony"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 #, fuzzy
 msgid "Accept SkipPager"
 msgstr "Prijať SkipPager"
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "Zobraziť ikonifikované okná"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr "Zobraziť mapované okná"
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "Zobraziť okná zo všetkých plôch"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "Používať koliesko myši"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "Blikať, keď niektoré okno vyžaduje pozornosť"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "Max. šírka tlačidla úlohy"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "Rozostupy"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "Panel úloh (Zoznam okien)"
 
-#: ../src/plugins/taskbar.c:1576
+#: ../src/plugins/taskbar.c:1590
 msgid ""
 "Taskbar shows all opened windows and allow to iconify them, shade or get "
 "focus"
@@ -431,43 +435,43 @@ msgstr ""
 "Panel úloh zobrazuje všetky otvorené okná a umoňuje ich ikonifikovať, "
 "zatieniť alebo aktivovať"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "Formát hodín"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "Formát bublinových tipov"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr "Činnosť"
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr ""
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "Digitálne hodiny"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "Zobraziť digitálne hodiny a bublinové tipy"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "Ponuka"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr "Poskytnúť ponuku"
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr "Oddeľovač"
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr "Pridať oddeľovač do panela"
 
@@ -475,70 +479,70 @@ msgstr "Pridať oddeľovač do panela"
 msgid "Dispaly Image and Tooltip"
 msgstr "Zobraziť obrázok a bublinový tip"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "Stránkovač plôch"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "Jednoduchý stránkovací modul"
 
-#: ../src/plugins/space.c:131 ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133 ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "Veľkosť"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "<Miesto>"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr "Vyhradiť miesto"
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr ""
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr ""
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr ""
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr ""
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr ""
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr ""
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr ""
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr ""
 
@@ -616,13 +620,13 @@ msgstr ""
 msgid "HW Address:"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr ""
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr ""
 
@@ -642,11 +646,11 @@ msgstr ""
 msgid "Encryption Key:"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr ""
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr ""
 
@@ -809,76 +813,76 @@ msgid ""
 "%s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr ""
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 #, fuzzy
 msgid "Battery Monitor"
 msgstr "Monitor využitia CPU"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr ""
 
index 33e5974..edc991a 100644 (file)
@@ -7,8 +7,8 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-03-30 11:40+0800\n"
-"PO-Revision-Date: 2008-03-30 11:41+0800\n"
+"POT-Creation-Date: 2008-03-30 21:44+0800\n"
+"PO-Revision-Date: 2008-03-30 21:46+0800\n"
 "Last-Translator: 洪任諭 <pcman.tw@gmail.com>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
 "MIME-Version: 1.0\n"
@@ -16,20 +16,20 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
 
-#: ../src/configurator.c:45
+#: ../src/configurator.c:44
 msgid "Preferences"
 msgstr "偏好設定"
 
-#: ../src/configurator.c:46
+#: ../src/configurator.c:45
 #: ../src/gtk-run.c:112
 msgid "Run"
 msgstr "執行"
 
-#: ../src/configurator.c:47
+#: ../src/configurator.c:46
 msgid "Restart"
 msgstr "重新啟動"
 
-#: ../src/configurator.c:48
+#: ../src/configurator.c:47
 msgid "Logout"
 msgstr "登出"
 
@@ -102,148 +102,152 @@ msgstr "% 百分比"
 msgid "Height:"
 msgstr "高度:"
 
-#: ../src/configurator.c:466
+#: ../src/configurator.c:468
 msgid "Enable Transparency"
 msgstr " 啟用透明效果"
 
-#: ../src/configurator.c:470
+#: ../src/configurator.c:472
 msgid "Tint color:"
 msgstr "色彩:"
 
-#: ../src/configurator.c:528
+#: ../src/configurator.c:532
 msgid "Enable Image:"
 msgstr "啟用背景圖:"
 
-#: ../src/configurator.c:531
+#: ../src/configurator.c:535
 msgid "Select a background image file"
 msgstr "選擇背景圖片"
 
-#: ../src/configurator.c:575
+#: ../src/configurator.c:580
 msgid "<b>Background</b>"
 msgstr "<b>背景</b>"
 
 #. Disable Background option
-#: ../src/configurator.c:590
+#: ../src/configurator.c:595
 msgid "None (Use system theme)"
 msgstr "無 (使用系統佈景主題)"
 
-#: ../src/configurator.c:649
+#: ../src/configurator.c:654
 msgid "<b>Properties</b>"
 msgstr "<b>屬性</b>"
 
-#: ../src/configurator.c:671
+#: ../src/configurator.c:676
 msgid "Make window managers treat the panel as dock"
 msgstr "讓視窗管理員把面板當成 Dock 處理"
 
-#: ../src/configurator.c:687
+#: ../src/configurator.c:692
 msgid "Reserve space, and not covered by maximized windows"
 msgstr "保留空間,不被最大化視窗覆蓋"
 
-#: ../src/configurator.c:742
+#: ../src/configurator.c:747
 msgid "Currently loaded plugins"
 msgstr "目前載入的外掛"
 
-#: ../src/configurator.c:832
+#: ../src/configurator.c:837
 msgid "Add plugin to panel"
 msgstr "新增外掛到面板"
 
-#: ../src/configurator.c:859
+#: ../src/configurator.c:864
 msgid "Available plugins"
 msgstr "可選用的外掛"
 
-#: ../src/configurator.c:1132
+#: ../src/configurator.c:1148
 msgid "<b>Set Preferred Applications</b>"
 msgstr "<b>設定偏好使用的程式</b>"
 
-#: ../src/configurator.c:1142
+#: ../src/configurator.c:1158
 msgid "File Manager:"
 msgstr "檔案管理員:"
 
-#: ../src/configurator.c:1155
+#: ../src/configurator.c:1171
 msgid "Terminal Emulator:"
 msgstr "終端機:"
 
-#: ../src/configurator.c:1170
+#: ../src/configurator.c:1186
 msgid "Logout Command:"
 msgstr "登出指令:"
 
-#: ../src/configurator.c:1192
+#: ../src/configurator.c:1208
 msgid "lxpanel configurator"
 msgstr "lxpanel 偏好設定"
 
-#: ../src/configurator.c:1218
+#: ../src/configurator.c:1234
 #: ../src/plugins/netstatus/netstatus-dialog-ui.c:276
 msgid "General"
 msgstr "一般"
 
-#: ../src/configurator.c:1223
+#: ../src/configurator.c:1239
+msgid "Appearance"
+msgstr "外觀"
+
+#: ../src/configurator.c:1244
 msgid "Plugins"
 msgstr "外掛"
 
-#: ../src/configurator.c:1228
+#: ../src/configurator.c:1249
 msgid "Applications"
 msgstr "應用程式"
 
-#: ../src/configurator.c:1387
+#: ../src/configurator.c:1408
 msgid "Logout command is not set"
 msgstr "登出指令尚未設定"
 
-#: ../src/panel.c:816
+#: ../src/panel.c:815
 #, c-format
 msgid "lxpanel %s - lightweight GTK2+ panel for UNIX desktops\n"
 msgstr "lxpanel %s - UNIX 桌面的輕量級 GTK2+ 工作列\n"
 
-#: ../src/panel.c:817
+#: ../src/panel.c:816
 #, c-format
 msgid "Command line options:\n"
 msgstr "命令列選項:\n"
 
-#: ../src/panel.c:818
+#: ../src/panel.c:817
 #, c-format
 msgid " --help      -- print this help and exit\n"
 msgstr " --help      -- 顯示使用說明並離開\n"
 
-#: ../src/panel.c:819
+#: ../src/panel.c:818
 #, c-format
 msgid " --version   -- print version and exit\n"
 msgstr " --version   -- 顯示版本資訊並離開\n"
 
-#: ../src/panel.c:820
+#: ../src/panel.c:819
 #, c-format
 msgid " --log <number> -- set log level 0-5. 0 - none 5 - chatty\n"
 msgstr " --log <數值>   -- 設定程式運作紀錄的層級 (0-5). 0 - 無, 5 - 全部\n"
 
-#: ../src/panel.c:821
+#: ../src/panel.c:820
 #, c-format
 msgid " --configure -- launch configuration utility\n"
 msgstr " --configure -- 執行設定工具\n"
 
-#: ../src/panel.c:822
+#: ../src/panel.c:821
 #, c-format
 msgid " --profile name -- use specified profile\n"
 msgstr " --profile name -- 指定使用其他設定檔\n"
 
-#: ../src/panel.c:824
+#: ../src/panel.c:823
 #, c-format
 msgid " -h  -- same as --help\n"
 msgstr " -h  -- 和 --help 作用相同\n"
 
-#: ../src/panel.c:825
+#: ../src/panel.c:824
 #, c-format
 msgid " -p  -- same as --profile\n"
 msgstr " -p  -- 和 --profile 作用相同\n"
 
-#: ../src/panel.c:826
+#: ../src/panel.c:825
 #, c-format
 msgid " -v  -- same as --version\n"
 msgstr " -v  -- 和 --version 作用相同\n"
 
-#: ../src/panel.c:827
+#: ../src/panel.c:826
 #, c-format
 msgid " -C  -- same as --configure\n"
 msgstr " -C  -- 和 --configure 作用相同\n"
 
-#: ../src/panel.c:828
+#: ../src/panel.c:827
 #, c-format
 msgid ""
 "\n"
@@ -266,11 +270,11 @@ msgstr "系統匣 (通知區域)"
 msgid "Old KDE/GNOME Tray"
 msgstr "KDE/GNOME 系統列"
 
-#: ../src/plugins/cpu/cpu.c:217
+#: ../src/plugins/cpu/cpu.c:209
 msgid "CPU Usage Monitor"
 msgstr "CPU 使用量監視器"
 
-#: ../src/plugins/cpu/cpu.c:219
+#: ../src/plugins/cpu/cpu.c:211
 msgid "Display CPU usage"
 msgstr "顯示 CPU 資源使用量"
 
@@ -286,19 +290,19 @@ msgstr "顯示工作區編號,由 cmeury@users.sf.net 撰寫"
 #. 1. We can borrow the menu from menu plugin (PtkAppMenu).
 #. 2. We can borrow the app chooser from PCManFM.
 #.
-#: ../src/plugins/launchbar.c:498
+#: ../src/plugins/launchbar.c:485
 msgid "Select Application"
 msgstr "選擇應用程式"
 
-#: ../src/plugins/launchbar.c:647
+#: ../src/plugins/launchbar.c:634
 msgid "Buttons"
 msgstr "按鈕"
 
-#: ../src/plugins/launchbar.c:760
+#: ../src/plugins/launchbar.c:747
 msgid "Application Launch Bar"
 msgstr "應用程式啟動列"
 
-#: ../src/plugins/launchbar.c:762
+#: ../src/plugins/launchbar.c:749
 msgid "Bar with buttons to launch application"
 msgstr "具有應用程式啟動按鈕的工具列"
 
@@ -346,125 +350,125 @@ msgstr "辦公軟體"
 msgid "Accessories"
 msgstr "附屬應用程式"
 
-#: ../src/plugins/taskbar.c:1211
+#: ../src/plugins/taskbar.c:1216
 msgid "Raise"
 msgstr "移到最上層"
 
-#: ../src/plugins/taskbar.c:1215
+#: ../src/plugins/taskbar.c:1220
 msgid "Restore"
 msgstr "復原"
 
-#: ../src/plugins/taskbar.c:1219
+#: ../src/plugins/taskbar.c:1224
 msgid "Maximize"
 msgstr "最大化"
 
-#: ../src/plugins/taskbar.c:1223
+#: ../src/plugins/taskbar.c:1228
 msgid "Iconify"
 msgstr "最小化"
 
-#: ../src/plugins/taskbar.c:1232
+#: ../src/plugins/taskbar.c:1237
 #, c-format
 msgid "Workspace %d"
 msgstr "工作區 %d"
 
-#: ../src/plugins/taskbar.c:1240
+#: ../src/plugins/taskbar.c:1245
 msgid "All workspaces"
 msgstr "所有工作區"
 
-#: ../src/plugins/taskbar.c:1247
+#: ../src/plugins/taskbar.c:1252
 msgid "Move to Workspace"
 msgstr "移動到工作區"
 
 #. we want this item to be farest from mouse pointer
-#: ../src/plugins/taskbar.c:1255
+#: ../src/plugins/taskbar.c:1260
 msgid "Close Window"
 msgstr "關閉視窗"
 
-#: ../src/plugins/taskbar.c:1488
+#: ../src/plugins/taskbar.c:1502
 msgid "Show tooltips"
 msgstr "顯示工具提示"
 
-#: ../src/plugins/taskbar.c:1489
+#: ../src/plugins/taskbar.c:1503
 msgid "Icons only"
 msgstr "只顯示圖示"
 
-#: ../src/plugins/taskbar.c:1490
+#: ../src/plugins/taskbar.c:1504
 msgid "Accept SkipPager"
 msgstr "接受 SkipPager Hint"
 
-#: ../src/plugins/taskbar.c:1491
+#: ../src/plugins/taskbar.c:1505
 msgid "Show Iconified windows"
 msgstr "顯示最小化的視窗"
 
-#: ../src/plugins/taskbar.c:1492
+#: ../src/plugins/taskbar.c:1506
 msgid "Show mapped windows"
 msgstr "顯示已被映射的視窗"
 
-#: ../src/plugins/taskbar.c:1493
+#: ../src/plugins/taskbar.c:1507
 msgid "Show windows from all desktops"
 msgstr "顯示來自所有桌面的視窗"
 
-#: ../src/plugins/taskbar.c:1494
+#: ../src/plugins/taskbar.c:1508
 msgid "Use mouse wheel"
 msgstr "使用滑鼠滾輪"
 
-#: ../src/plugins/taskbar.c:1495
+#: ../src/plugins/taskbar.c:1509
 msgid "Flash when there is any window requiring attention"
 msgstr "當有視窗要求使用者注意時,閃爍工作列"
 
-#: ../src/plugins/taskbar.c:1496
+#: ../src/plugins/taskbar.c:1510
 msgid "Max width of task button"
 msgstr "工作列按鈕最大寬度"
 
-#: ../src/plugins/taskbar.c:1497
+#: ../src/plugins/taskbar.c:1511
 msgid "Spacing"
 msgstr "間距"
 
-#: ../src/plugins/taskbar.c:1574
+#: ../src/plugins/taskbar.c:1588
 msgid "Task Bar (Window List)"
 msgstr "工作列 (視窗清單)"
 
-#: ../src/plugins/taskbar.c:1576
+#: ../src/plugins/taskbar.c:1590
 msgid "Taskbar shows all opened windows and allow to iconify them, shade or get focus"
 msgstr "工作列顯示所有開啟的視窗,並讓能視窗最小化、折疊、或取得焦點"
 
-#: ../src/plugins/dclock.c:242
+#: ../src/plugins/dclock.c:238
 msgid "Clock Format"
 msgstr "時鐘格式"
 
-#: ../src/plugins/dclock.c:243
+#: ../src/plugins/dclock.c:239
 msgid "Tooltip Format"
 msgstr "工具提示格式"
 
-#: ../src/plugins/dclock.c:244
+#: ../src/plugins/dclock.c:240
 msgid "Action"
 msgstr "動作"
 
-#: ../src/plugins/dclock.c:245
+#: ../src/plugins/dclock.c:241
 msgid "Bold font"
 msgstr "粗體字型"
 
-#: ../src/plugins/dclock.c:280
+#: ../src/plugins/dclock.c:276
 msgid "Digital Clock"
 msgstr "數位時鐘"
 
-#: ../src/plugins/dclock.c:282
+#: ../src/plugins/dclock.c:278
 msgid "Display Digital clock and Tooltip"
 msgstr "顯示數位時鐘及在工具提示顯示日期"
 
-#: ../src/plugins/menu.c:589
+#: ../src/plugins/menu.c:588
 msgid "Menu"
 msgstr "選單"
 
-#: ../src/plugins/menu.c:591
+#: ../src/plugins/menu.c:590
 msgid "Provide Menu"
 msgstr "提供選單"
 
-#: ../src/plugins/separator.c:92
+#: ../src/plugins/separator.c:93
 msgid "Separator"
 msgstr "分隔線"
 
-#: ../src/plugins/separator.c:94
+#: ../src/plugins/separator.c:95
 msgid "Add a separator to the panel"
 msgstr "在面板上增加分隔線"
 
@@ -472,36 +476,36 @@ msgstr "在面板上增加分隔線"
 msgid "Dispaly Image and Tooltip"
 msgstr "顯示圖示及工具提示"
 
-#: ../src/plugins/pager.c:699
+#: ../src/plugins/pager.c:702
 msgid "Desktop Pager"
 msgstr "切換桌面"
 
-#: ../src/plugins/pager.c:701
+#: ../src/plugins/pager.c:704
 msgid "Simple pager plugin"
 msgstr "簡易桌面切換外掛"
 
-#: ../src/plugins/space.c:131
-#: ../src/plugins/batt/batt.c:816
+#: ../src/plugins/space.c:133
+#: ../src/plugins/batt/batt.c:818
 msgid "Size"
 msgstr "大小"
 
-#: ../src/plugins/space.c:146
+#: ../src/plugins/space.c:148
 msgid "<Space>"
 msgstr "<空白分隔>"
 
-#: ../src/plugins/space.c:148
+#: ../src/plugins/space.c:150
 msgid "Allocate space"
 msgstr "配置空間"
 
-#: ../src/plugins/wincmd.c:264
+#: ../src/plugins/wincmd.c:256
 msgid "Left click to iconify all windows. Middle click to shade them"
 msgstr "按左鍵最小化所有視窗 / 中鍵折疊所有視窗"
 
-#: ../src/plugins/wincmd.c:289
+#: ../src/plugins/wincmd.c:285
 msgid "Minimize All Windows"
 msgstr "最小化所有視窗"
 
-#: ../src/plugins/wincmd.c:291
+#: ../src/plugins/wincmd.c:287
 msgid ""
 "Sends commands to all desktop windows.\n"
 "Supported commnds are 1)toggle iconify and 2) toggle shade"
@@ -509,42 +513,42 @@ msgstr ""
 "發送指令給所有桌面視窗\n"
 "支援的指令  1) 最小化  2) 折疊"
 
-#: ../src/plugins/dirmenu.c:207
+#: ../src/plugins/dirmenu.c:206
 msgid "Open in _Terminal"
 msgstr "在終端機內開啟(_T)"
 
-#: ../src/plugins/dirmenu.c:373
+#: ../src/plugins/dirmenu.c:368
 msgid "Directory Menu"
 msgstr "目錄選單"
 
-#: ../src/plugins/dirmenu.c:375
+#: ../src/plugins/dirmenu.c:370
 msgid "Browse directory tree via menu (Author: PCMan)"
 msgstr "使用選單瀏覽目錄 (作者:PCMan)"
 
 #. FIXME: display current level in tooltip. ex: "Volume Control: 80%"
-#: ../src/plugins/volume/volume.c:148
-#: ../src/plugins/volumealsa/volumealsa.c:297
+#: ../src/plugins/volume/volume.c:146
+#: ../src/plugins/volumealsa/volumealsa.c:287
 msgid "Volume control"
 msgstr "音量控制"
 
-#: ../src/plugins/volume/volume.c:159
-#: ../src/plugins/volumealsa/volumealsa.c:308
+#: ../src/plugins/volume/volume.c:158
+#: ../src/plugins/volumealsa/volumealsa.c:301
 msgid "Volume Control"
 msgstr "音量控制"
 
 #. create frame
 #: ../src/plugins/volume/volume-impl.c:100
-#: ../src/plugins/volumealsa/volumealsa.c:191
+#: ../src/plugins/volumealsa/volumealsa.c:190
 msgid "Volume"
 msgstr "音量"
 
-#: ../src/plugins/volumealsa/volumealsa.c:207
+#: ../src/plugins/volumealsa/volumealsa.c:206
 msgid "Mute"
 msgstr "靜音"
 
 #: ../src/plugins/netstat/netstat.c:141
 msgid "<Hidden Access Point>"
-msgstr ""
+msgstr "<隱藏的 Access Point>"
 
 #. Repair
 #: ../src/plugins/netstat/netstat.c:179
@@ -623,20 +627,20 @@ msgstr "廣播位址:"
 msgid "HW Address:"
 msgstr "實體位址:"
 
-#: ../src/plugins/netstat/netstat.c:385
-#: ../src/plugins/netstatus/netstatus.c:179
+#: ../src/plugins/netstat/netstat.c:388
+#: ../src/plugins/netstatus/netstatus.c:181
 msgid "Net Status Monitor"
 msgstr "網路狀態監視器"
 
-#: ../src/plugins/netstat/netstat.c:387
-#: ../src/plugins/netstatus/netstatus.c:181
+#: ../src/plugins/netstat/netstat.c:390
+#: ../src/plugins/netstatus/netstatus.c:183
 msgid "Monitor network status"
 msgstr "監控網路狀態"
 
 #. create dialog
 #: ../src/plugins/netstat/passwd_gui.c:96
 msgid "Setting Encryption Key"
-msgstr ""
+msgstr "設定加密金鑰"
 
 #. messages
 #: ../src/plugins/netstat/passwd_gui.c:106
@@ -644,16 +648,18 @@ msgid ""
 "This wireless network was encrypted.\n"
 "You must have the encryption key."
 msgstr ""
+"這是經過加密的無線網路連線。\n"
+"你必須要有加密金鑰。"
 
 #: ../src/plugins/netstat/passwd_gui.c:111
 msgid "Encryption Key:"
-msgstr ""
+msgstr "加密金鑰:"
 
-#: ../src/plugins/netstatus/netstatus.c:161
+#: ../src/plugins/netstatus/netstatus.c:163
 msgid "Interface to monitor"
 msgstr "要監控的介面"
 
-#: ../src/plugins/netstatus/netstatus.c:162
+#: ../src/plugins/netstatus/netstatus.c:164
 msgid "Config tool"
 msgstr "設定工具"
 
@@ -822,78 +828,81 @@ msgstr ""
 "\n"
 "%s"
 
-#: ../src/plugins/batt/batt.c:331
+#: ../src/plugins/batt/batt.c:330
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d until full"
 msgstr "電池:剩餘電量 %d%%,充滿還需 %d:%02d"
 
-#: ../src/plugins/batt/batt.c:340
+#: ../src/plugins/batt/batt.c:339
 #, c-format
 msgid "Battery: %d%% charged, %s"
 msgstr "電池:剩餘電量 %d%%,%s"
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "charging finished"
 msgstr "充電完成"
 
-#: ../src/plugins/batt/batt.c:342
+#: ../src/plugins/batt/batt.c:341
 msgid "not charging"
 msgstr "未充電"
 
-#: ../src/plugins/batt/batt.c:347
+#: ../src/plugins/batt/batt.c:346
 #, c-format
 msgid "Battery: %d%% charged, %d:%02d left"
 msgstr "電池:剩餘電量 %d%%,剩餘可用時間 %d:%02d"
 
-#: ../src/plugins/batt/batt.c:395
+#: ../src/plugins/batt/batt.c:394
 #, c-format
 msgid "No batteries found"
 msgstr "沒有電池"
 
-#: ../src/plugins/batt/batt.c:806
+#: ../src/plugins/batt/batt.c:808
 msgid "Hide if there is no battery"
 msgstr "沒有電池時隱藏"
 
-#: ../src/plugins/batt/batt.c:808
+#: ../src/plugins/batt/batt.c:810
 msgid "Alarm command"
 msgstr "發出警示時要執行的命令"
 
-#: ../src/plugins/batt/batt.c:809
+#: ../src/plugins/batt/batt.c:811
 msgid "Alarm time (minutes left)"
 msgstr "電池剩餘時間低於此數值時警示 (分鐘)"
 
-#: ../src/plugins/batt/batt.c:810
+#: ../src/plugins/batt/batt.c:812
 msgid "Background color"
 msgstr "背景顏色"
 
-#: ../src/plugins/batt/batt.c:811
+#: ../src/plugins/batt/batt.c:813
 msgid "Charging color 1"
 msgstr "充電顯示顏色 1"
 
-#: ../src/plugins/batt/batt.c:812
+#: ../src/plugins/batt/batt.c:814
 msgid "Charging color 2"
 msgstr "充電顯示顏色 2"
 
-#: ../src/plugins/batt/batt.c:813
+#: ../src/plugins/batt/batt.c:815
 msgid "Discharging color 1"
 msgstr "放電顯示顏色 1"
 
-#: ../src/plugins/batt/batt.c:814
+#: ../src/plugins/batt/batt.c:816
 msgid "Discharging color 2"
 msgstr "放電顯示顏色 2"
 
-#: ../src/plugins/batt/batt.c:815
+#: ../src/plugins/batt/batt.c:817
 msgid "Border width"
 msgstr "邊框寬度"
 
-#: ../src/plugins/batt/batt.c:850
+#: ../src/plugins/batt/batt.c:852
 msgid "Battery Monitor"
 msgstr "電池電量顯示"
 
-#: ../src/plugins/batt/batt.c:852
+#: ../src/plugins/batt/batt.c:854
 msgid "Display battery status using ACPI"
 msgstr "透過 ACPI 顯示電池狀態"
 
+#, fuzzy
+#~ msgid "Background"
+#~ msgstr "背景顏色"
 #~ msgid "Update interval (seconds)"
 #~ msgstr "更新頻率 (秒)"
 
index 63fc000..a3592e3 100644 (file)
--- a/src/bg.c
+++ b/src/bg.c
@@ -276,7 +276,10 @@ FbBg *fb_bg_get_for_display(void)
 {
     ENTER;
     if (!default_bg)
+    {
         default_bg = fb_bg_new();
+        g_object_add_weak_pointer( default_bg, &default_bg );
+    }
     else
         g_object_ref(default_bg);
     RET(default_bg);
index 26408e8..ed41663 100644 (file)
@@ -24,7 +24,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "bg.h"
-#include "gtkbgbox.h"
 #include <stdlib.h>
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -191,6 +190,7 @@ set_edge(GtkComboBox *widget, gpointer bp)
     p->edge = edge;
     panel_set_orientation( p );
     update_panel_geometry();
+    panel_update_background( p );
     RET();
 }
 
@@ -449,8 +449,10 @@ transparency_toggle(GtkWidget *b, gpointer bp)
     /* Update background immediately. */
     if (t&&!p->transparent) {
         p->transparent = 1;
+        p->background = 0;
         config_save();
-        restart();
+        panel_update_background( p );
+        //restart();
     }
     RET();
 }
@@ -497,8 +499,9 @@ background_toggle(GtkWidget *b, gpointer bp)
             p->background = 1;
             /* Update background immediately. */
             config_save();
-            restart();
-        }
+            panel_update_background( p );
+            //restart();
+            }
     }
 
     RET();
@@ -513,12 +516,13 @@ background_changed(GtkFileChooser *file_chooser, gpointer data)
     p->background_file = g_strdup(gtk_file_chooser_get_filename(file_chooser));
     /* Update background immediately. */
     config_save();
-    restart();
+    panel_update_background( p );
+    //restart();
     RET();
 }
 
 GtkWidget *
-mk_backgroundimg()
+mk_appearanceimg()
 {
     GtkWidget *frame;
 
@@ -554,7 +558,8 @@ background_disable_toggle(GtkWidget *b, gpointer bp)
             p->transparent = 0;
             /* Update background immediately. */
             config_save();
-            restart();
+            panel_update_background( p );
+            //restart();
         }
     }
 
@@ -562,7 +567,7 @@ background_disable_toggle(GtkWidget *b, gpointer bp)
 }
 
 GtkWidget *
-mk_background()
+mk_appearance()
 {
     GtkWidget *vbox, *vbox2, *label, *frame, *incframe;
     GSList *check_group;
@@ -595,7 +600,7 @@ mk_background()
     incframe = mk_transparency();
     gtk_box_pack_start(GTK_BOX (vbox), incframe, FALSE, FALSE, 0);
 
-    incframe = mk_backgroundimg();
+    incframe = mk_appearanceimg();
     gtk_box_pack_start(GTK_BOX (vbox), incframe, FALSE, FALSE, 0);
 
     /* set group */
@@ -906,7 +911,7 @@ static void on_remove_plugin( GtkButton* btn, GtkTreeView* view )
         gtk_list_store_remove( GTK_LIST_STORE(model), &it );
         p->plugins = g_list_remove( p->plugins, pl );
         plugin_stop( pl ); /* free the plugin widget & its data */
-        plugin_put( pl ); /* free th lib if necessary */
+        plugin_put( pl ); /* free the lib if necessary */
 
         gtk_tree_selection_select_path( tree_sel, tree_path );
         gtk_tree_path_free( tree_path );
@@ -1116,15 +1121,15 @@ mk_tab_general()
 }
 
 static GtkWidget *
-mk_tab_background()
+mk_tab_appearance()
 {
     GtkWidget *frame, *page;
     page = gtk_vbox_new(FALSE, 1);
 
     sg = gtk_size_group_new(GTK_SIZE_GROUP_HORIZONTAL);
 
-    //background
-    frame = mk_background();
+    //appearance
+    frame = mk_appearance();
     gtk_box_pack_start(GTK_BOX (page), frame, FALSE, TRUE, 0);
 
     RET(page);
@@ -1230,8 +1235,8 @@ mk_dialog()
     gtk_misc_set_padding(GTK_MISC(label), 4, 1);
     gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, label);
 
-    sw = mk_tab_background();
-    label = gtk_label_new(_("Background"));
+    sw = mk_tab_appearance();
+    label = gtk_label_new(_("Appearance"));
     gtk_misc_set_padding(GTK_MISC(label), 4, 1);
     gtk_notebook_append_page(GTK_NOTEBOOK(nb), sw, label);
 
index f3cb188..900ebe6 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "misc.h"
 #include "panel.h"
-#include "gtkbgbox.h"
 
 //#define DEBUG
 #include "dbg.h"
@@ -1139,7 +1138,8 @@ fb_button_new_from_file(gchar *fname, int width, int height, gulong hicolor, gbo
 {
     GtkWidget *b, *image;
     ENTER;
-    b = gtk_bgbox_new();
+//    b = gtk_vbox_new(FALSE, 0); //gtk_bgbox_new();
+    b = gtk_event_box_new();
     gtk_container_set_border_width(GTK_CONTAINER(b), 0);
     GTK_WIDGET_UNSET_FLAGS (b, GTK_CAN_FOCUS);
 
@@ -1167,7 +1167,7 @@ fb_button_new_from_file_with_label(gchar *fname, int width, int height,
     GtkWidget *b, *image, *box, *label;
 
     ENTER;
-    b = gtk_bgbox_new();
+    b = gtk_event_box_new();
     gtk_container_set_border_width(GTK_CONTAINER(b), 0);
     GTK_WIDGET_UNSET_FLAGS (b, GTK_CAN_FOCUS);
 
@@ -1259,7 +1259,7 @@ GtkWidget* recreate_box( GtkBox* oldbox, GtkOrientation orientation )
         if( orientation == GTK_ORIENTATION_VERTICAL )
             return GTK_WIDGET(oldbox);
     }
-    my_box_new = orientation == GTK_ORIENTATION_HORIZONTAL ? gtk_hbox_new : gtk_vbox_new;
+    my_box_new = (orientation == GTK_ORIENTATION_HORIZONTAL ? gtk_hbox_new : gtk_vbox_new);
 
     newbox = GTK_BOX(my_box_new( gtk_box_get_homogeneous(oldbox),
                                  gtk_box_get_spacing(oldbox) ));
@@ -1268,10 +1268,11 @@ GtkWidget* recreate_box( GtkBox* oldbox, GtkOrientation orientation )
     children = gtk_container_get_children( GTK_CONTAINER (oldbox) );
     for( child = children; child; child = child->next ) {
         gboolean expand, fill;
-    guint padding;
+        guint padding;
         GtkWidget* w = GTK_WIDGET(child->data);
         gtk_box_query_child_packing( oldbox, w,
                                      &expand, &fill, &padding, NULL );
+        /* g_debug( "repack %s, expand=%d, fill=%d", gtk_widget_get_name(w), expand, fill ); */
         g_object_ref( w );
         gtk_container_remove( GTK_CONTAINER (oldbox), w );
         gtk_box_pack_start( newbox, w, expand, fill, padding );
index 32ae954..6c4c495 100644 (file)
@@ -35,7 +35,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "bg.h"
-#include "gtkbgbox.h"
 
 #include "lxpanelctl.h"
 
@@ -257,26 +256,89 @@ static gint
 panel_destroy_event(GtkWidget * widget, GdkEvent * event, gpointer data)
 {
     //panel *p = (panel *) data;
-
-    ENTER;
     //if (!p->self_destroy)
     gtk_main_quit();
     RET(FALSE);
 }
 
+static void
+on_root_bg_changed(FbBg *bg, panel* p)
+{
+    panel_update_background( p );
+}
+
+/* This function should only be called after the panel has been realized */
+void panel_update_background( panel* p )
+{
+    GList* l;
+    GdkPixmap* pixmap = NULL;
+
+    /* handle background image of panel */
+    gtk_widget_set_app_paintable(p->topgwin, TRUE);
+
+    if (p->background) {
+        pixmap = fb_bg_get_pix_from_file(p->topgwin, p->background_file);
+        if( p->bg )
+        {
+            g_object_unref( p->bg );
+            p->bg = NULL;
+        }
+    } else if (p->transparent) {
+        if( ! p->bg )
+        {
+            p->bg = fb_bg_get_for_display();
+            g_signal_connect(G_OBJECT(p->bg), "changed", G_CALLBACK(on_root_bg_changed), p);
+        }
+        pixmap = fb_bg_get_xroot_pix_for_win( p->bg, p->topgwin );
+
+        if (pixmap && pixmap !=  GDK_NO_BG) {
+            if (p->alpha)
+                fb_bg_composite( pixmap, p->topgwin->style->black_gc, p->tintcolor, p->alpha );
+        }
+    }
+    else
+    {
+        if( p->bg )
+        {
+            g_object_unref( p->bg );
+            p->bg = NULL;
+        }
+    }
+
+    if( pixmap )
+    {
+        gtk_widget_set_app_paintable( p->topgwin, TRUE );
+        gdk_window_set_back_pixmap( p->topgwin->window, pixmap, FALSE );
+        g_object_unref( pixmap );
+    }
+    else
+    {
+//        gdk_window_set_back_pixmap( p->topgwin->window, p->topgwin->style->bg_pixmap[0], FALSE );
+        gtk_widget_set_app_paintable( p->topgwin, FALSE );
+//        gdk_window_set_background( p->topgwin->window, &p->topgwin->style->bg[0] );
+    }
+
+    for( l = p->plugins; l; l = l->next )
+    {
+        plugin* pl = (plugin*)l->data;
+        plugin_set_background( pl, p );
+    }
+
+    gdk_window_clear( p->topgwin->window );
+    gtk_widget_queue_draw( p->topgwin );
+}
 
 static void
 panel_realize(GtkWidget *widget, panel *p)
 {
-    ENTER;
-    RET();
 
 }
+
 static gint
 panel_size_req(GtkWidget *widget, GtkRequisition *req, panel *p)
 {
     ENTER;
-    DBG("IN req=(%d, %d)\n", req->width, req->height);
+
     if (p->widthtype == WIDTH_REQUEST)
         p->width = (p->orientation == ORIENT_HORIZ) ? req->width : req->height;
     if (p->heighttype == HEIGHT_REQUEST)
@@ -284,7 +346,7 @@ panel_size_req(GtkWidget *widget, GtkRequisition *req, panel *p)
     calculate_position(p);
     req->width  = p->aw;
     req->height = p->ah;
-    DBG("OUT req=(%d, %d)\n", req->width, req->height);
+
     RET( TRUE );
 }
 
@@ -292,22 +354,17 @@ static gint
 panel_size_alloc(GtkWidget *widget, GtkAllocation *a, panel *p)
 {
     ENTER;
-    DBG("installed alloc: size (%d, %d). pos (%d, %d)\n", a->width, a->height, a->x, a->y);
-    DBG("suggested alloc: size (%d, %d). pos (%d, %d)\n", a->width, a->height, a->x, a->y);
-    DBG("prev pref alloc: size (%d, %d). pos (%d, %d)\n", p->aw, p->ah, p->ax, p->ay);
     if (p->widthtype == WIDTH_REQUEST)
         p->width = (p->orientation == ORIENT_HORIZ) ? a->width : a->height;
     if (p->heighttype == HEIGHT_REQUEST)
         p->height = (p->orientation == ORIENT_HORIZ) ? a->height : a->width;
     calculate_position(p);
-    DBG("curr pref alloc: size (%d, %d). pos (%d, %d)\n", p->aw, p->ah, p->ax, p->ay);
+
     if (a->width == p->aw && a->height == p->ah && a->x == p->ax && a->y == p ->ay) {
-        DBG("actual coords eq to preffered. just returning\n");
         RET(TRUE);
     }
 
     gtk_window_move(GTK_WINDOW(p->topgwin), p->ax, p->ay);
-    DBG("moving to %d %d\n", p->ax, p->ay);
     panel_set_wm_strut(p);
     RET(TRUE);
 }
@@ -323,13 +380,11 @@ panel_configure_event (GtkWidget *widget, GdkEventConfigure *e, panel *p)
     p->ch = e->height;
     p->cx = e->x;
     p->cy = e->y;
-    DBG("here\n");
+
     if (p->transparent)
         fb_bg_notify_changed_bg(p->bg);
-    DBG("here\n");
-    DBG("geom: size (%d, %d). pos (%d, %d)\n", e->width, e->height, e->x, e->y);
-    RET(FALSE);
 
+    RET(FALSE);
 }
 
 
@@ -340,48 +395,7 @@ static void
 make_round_corners(panel *p)
 {
     /* FIXME: This should be re-written with shape extension of X11 */
-#if 0
-    GtkWidget *b1, *b2, *img;
-    GtkWidget *(*box_new) (gboolean, gint);
-    void (*box_pack)(GtkBox *, GtkWidget *, gboolean, gboolean, guint);
-    gchar *s1, *s2;
-#define IMGPREFIX  PACKAGE_DATA_DIR "/lxpanel/images/"
-
-    ENTER;
-    if (p->edge == EDGE_TOP) {
-        s1 = IMGPREFIX "top-left.xpm";
-        s2 = IMGPREFIX "top-right.xpm";
-    } else if (p->edge == EDGE_BOTTOM) {
-        s1 = IMGPREFIX "bottom-left.xpm";
-        s2 = IMGPREFIX "bottom-right.xpm";
-    } else if (p->edge == EDGE_LEFT) {
-        s1 = IMGPREFIX "top-left.xpm";
-        s2 = IMGPREFIX "bottom-left.xpm";
-    } else if (p->edge == EDGE_RIGHT) {
-        s1 = IMGPREFIX "top-right.xpm";
-        s2 = IMGPREFIX "bottom-right.xpm";
-    } else
-        RET();
-
-    box_new = (p->orientation == ORIENT_HORIZ) ? gtk_vbox_new : gtk_hbox_new;
-    b1 = box_new(0, FALSE);
-    gtk_widget_show(b1);
-    b2 = box_new(0, FALSE);
-    gtk_widget_show(b2);
-
-    box_pack = (p->edge == EDGE_TOP || p->edge == EDGE_LEFT) ?
-        gtk_box_pack_start : gtk_box_pack_end;
-
-    img = gtk_image_new_from_file(s1);
-    gtk_widget_show(img);
-    box_pack(GTK_BOX(b1), img, FALSE, FALSE, 0);
-    img = gtk_image_new_from_file(s2);
-    gtk_widget_show(img);
-    box_pack(GTK_BOX(b2), img, FALSE, FALSE, 0);
-    gtk_box_pack_start(GTK_BOX(p->lbox), b1, FALSE, FALSE, 0);
-    gtk_box_pack_end(GTK_BOX(p->lbox), b2, FALSE, FALSE, 0);
-    RET();
-#endif
+    /* gdk_window_shape_combine_mask() can be used */
 }
 
 void panel_set_dock_type(panel *p)
@@ -430,32 +444,12 @@ panel_start_gui(panel *p)
 
     gtk_widget_realize(p->topgwin);
     //gdk_window_set_decorations(p->topgwin->window, 0);
-    gtk_widget_set_app_paintable(p->topgwin, TRUE);
-
-    // background box all over toplevel
-    p->bbox = gtk_bgbox_new();
-    gtk_container_add(GTK_CONTAINER(p->topgwin), p->bbox);
-    gtk_widget_show(p->bbox);
-    gtk_container_set_border_width(GTK_CONTAINER(p->bbox), 0);
-
-    /* font color */
-    gtk_widget_modify_text(GTK_WIDGET(p->bbox), GTK_STATE_NORMAL, &p->gfontcolor);
 
-    /* background image */
-    //p->defstyle = gtk_style_copy(p->bbox->style);
-    p->defstyle = gtk_style_new();
-    if (p->background) {
-        p->bbox->style->bg_pixmap[0] = fb_bg_get_pix_from_file(p->bbox, p->background_file);
-        gtk_bgbox_set_background(p->bbox, BG_STYLE, 0, 0);
-    } else if (p->transparent) {
-        p->bg = fb_bg_get_for_display();
-        gtk_bgbox_set_background(p->bbox, BG_ROOT, p->tintcolor, p->alpha);
-    }
-
-    // main layout manager as a single child of background widget box
+    // main layout manager as a single child of panel
     p->box = p->my_box_new(FALSE, 0);
     gtk_container_set_border_width(GTK_CONTAINER(p->box), 0);
-    gtk_container_add(GTK_CONTAINER(p->bbox), p->box);
+//    gtk_container_add(GTK_CONTAINER(p->bbox), p->box);
+    gtk_container_add(GTK_CONTAINER(p->topgwin), p->box);
     gtk_widget_show(p->box);
     if (p->round_corners)
         make_round_corners(p);
@@ -529,7 +523,7 @@ void panel_set_orientation(panel *p)
         GtkBox* newbox = GTK_BOX(recreate_box( GTK_BOX(p->box), p->orientation ));
         if( GTK_WIDGET(newbox) != p->box ) {
             p->box = GTK_WIDGET(newbox);
-            gtk_container_add( GTK_CONTAINER(p->bbox), GTK_WIDGET(newbox) );
+            gtk_container_add( GTK_CONTAINER(p->topgwin), GTK_WIDGET(newbox) );
         }
     }
     /* NOTE: This loop won't be executed when panel started since
@@ -616,6 +610,7 @@ panel_parse_global(panel *p, char **fp)
         }
     }
     panel_set_orientation( p );
+
     if (p->width < 0)
         p->width = 100;
     if (p->widthtype == WIDTH_PERCENT && p->width > 100)
@@ -764,6 +759,10 @@ panel_start( panel *p, char **fp )
         panel_parse_plugin(p, fp);
     }
     gtk_widget_show_all(p->topgwin);
+
+    /* update backgrond of panel and all plugins */
+    panel_update_background( p );
+
     print_wmdata(p);
     RET(1);
 }
index 4aefe81..fe3e321 100644 (file)
@@ -50,7 +50,6 @@ typedef struct {
     Window topxwin;               /* and it X window   */
     GtkStyle *defstyle;
     GtkWidget *box;              /* primary layout box which contains all plugins */
-    GtkWidget *bbox;              /* backgound box for box */
     GtkRequisition requisition;
     GtkWidget *(*my_box_new) (gboolean, gint);
     GtkWidget *(*my_separator_new) ();
@@ -190,5 +189,6 @@ extern FbEv *fbev;
 void panel_set_wm_strut(panel *p);
 void panel_set_dock_type(panel *p);
 void panel_set_orientation(panel *p);
+void panel_update_background( panel* p );
 
 #endif
index e98e183..99f1c9b 100644 (file)
@@ -30,7 +30,6 @@
 
 #include "misc.h"
 #include "bg.h"
-#include "gtkbgbox.h"
 
 #include <glib-object.h>
 
@@ -244,26 +243,23 @@ plugin_start(plugin *this, char** fp)
     ENTER;
 
     DBG("%s\n", this->class->type);
-    if (!this->class->invisible) {
-        this->pwid = gtk_bgbox_new();
+
+    if (!this->class->constructor(this, fp)) {
+//        if (!this->class->invisible)
+//            gtk_widget_destroy(this->pwid);
+        RET(0);
+    }
+
+    if (!this->class->invisible && this->pwid ) {
+        /* this->pwid is created by the plugin */
+        //this->pwid = gtk_bgbox_new();
         gtk_widget_set_name(this->pwid, this->class->type);
         gtk_box_pack_start(GTK_BOX(this->panel->box), this->pwid, this->expand, TRUE,
               this->padding);
         gtk_container_set_border_width(GTK_CONTAINER(this->pwid), this->border);
-        /* background image */
-        if (this->panel->background) {
-            this->pwid->style->bg_pixmap[0] = this->panel->bbox->style->bg_pixmap[0];
-            gtk_bgbox_set_background(this->pwid, BG_STYLE, 0, 0);
-        } else if (this->panel->transparent) {
-            gtk_bgbox_set_background(this->pwid, BG_ROOT, this->panel->tintcolor, this->panel->alpha);
-        }
+
         gtk_widget_show(this->pwid);
     }
-    if (!this->class->constructor(this, fp)) {
-        if (!this->class->invisible)
-            gtk_widget_destroy(this->pwid);
-        RET(0);
-    }
     RET(1);
 }
 
@@ -274,8 +270,9 @@ void plugin_stop(plugin *this)
     DBG("%s\n", this->class->type);
     this->class->destructor(this);
     this->panel->plug_num--;
-    if (!this->class->invisible)
+    if (!this->class->invisible && this->pwid )
         gtk_widget_destroy(this->pwid);
+    /* this->pwid is destroyed in the dtor of plugins */
     RET();
 }
 
@@ -365,3 +362,57 @@ void plugin_class_list_free( GList* classes )
    g_list_foreach( classes, plugin_class_unref, NULL );
    g_list_free( classes );
 }
+
+void
+plugin_widget_set_background( GtkWidget* w, panel* p )
+{
+    if( ! w )
+        return;
+
+    if( ! GTK_WIDGET_NO_WINDOW( w ) )
+    {
+        if( p->background || p->transparent )
+        {
+            gtk_widget_set_app_paintable( w, TRUE );
+            if( GTK_WIDGET_REALIZED(w) )
+                gdk_window_set_back_pixmap( w->window, NULL, TRUE );
+        }
+        else
+        {
+            gtk_widget_set_app_paintable( w, FALSE );
+            if( GTK_WIDGET_REALIZED(w) )
+                gdk_window_set_back_pixmap( w->window, NULL, FALSE );
+        }
+        // g_debug("%s has window (%s)", gtk_widget_get_name(w), G_OBJECT_TYPE_NAME(w) );
+    }
+    else
+        // g_debug("%s has NO window (%s)", gtk_widget_get_name(w), G_OBJECT_TYPE_NAME(w) );
+
+    if( GTK_IS_CONTAINER( w ) )
+    {
+        gtk_container_foreach( w, plugin_widget_set_background, p );
+    }
+
+    /* Dirty hack: Force repaint of tray icons!!
+     * Normal gtk+ repaint cannot work across different processes.
+     * So, we need some dirty tricks here.
+     */
+    if( strcmp( gtk_widget_get_name( w ), "tray" ) == 0 )
+    {
+        gtk_widget_set_size_request( w, w->allocation.width, w->allocation.height );
+        gtk_widget_hide (gtk_bin_get_child((GtkBin*)w));
+        if( gtk_events_pending() )
+            gtk_main_iteration();
+        gtk_widget_show (gtk_bin_get_child((GtkBin*)w));
+        if( gtk_events_pending() )
+            gtk_main_iteration();
+        gtk_widget_set_size_request( w, -1, -1 );
+    }
+}
+
+void plugin_set_background( plugin* pl, panel* p )
+{
+    if( G_UNLIKELY( pl->class->invisible || ! pl->pwid ) )
+        return;
+    plugin_widget_set_background( pl->pwid, p );
+}
index 024e549..b6caa66 100644 (file)
@@ -75,6 +75,9 @@ void plugin_class_unref( plugin_class* pc );
 GList* plugin_get_available_classes();
 void plugin_class_list_free( GList* classes );
 
+void plugin_set_background( plugin* pl, panel* p );
+void plugin_widget_set_background( GtkWidget* w, panel* p );
+
 /* FIXME: optional definitions */
 #define STATIC_SEPARATOR
 /* #define STATIC_IMAGE */
index 637ce6b..38a8c59 100644 (file)
@@ -44,7 +44,6 @@
 #include <string.h>
 
 #include "dbg.h"
-#include "gtkbgbox.h"
 #include "misc.h" /* used for the line struct */
 #include "panel.h" /* used to determine panel orientation */
 #include "plugin.h"
@@ -558,9 +557,15 @@ constructor(plugin *p, char **fp)
 
     batt *b;
     p->priv = b = g_new0(batt, 1);
+    p->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW );
+    gtk_container_set_border_width( GTK_CONTAINER(p->pwid), 1 );
+
     b->drawingArea = gtk_drawing_area_new();
     gtk_widget_add_events( b->drawingArea, GDK_BUTTON_PRESS_MASK );
 
+    gtk_container_add( (GtkContainer*)p->pwid, b->drawingArea );
+
     if ((b->orientation = p->panel->orientation) == ORIENT_HORIZ) {
         b->height = b->length = 20;
         b->thickness = b->width = 8;
@@ -578,9 +583,6 @@ constructor(plugin *p, char **fp)
     b->gc1 = gdk_gc_new(p->panel->topgwin->window);
     b->gc2 = gdk_gc_new(p->panel->topgwin->window);
 
-    gtk_bgbox_set_background(p->pwid, BG_STYLE, 0, 0);
-    gtk_container_add(GTK_CONTAINER(p->pwid), b->drawingArea);
-    gtk_container_set_border_width (GTK_CONTAINER (p->pwid), 1);
     g_signal_connect (G_OBJECT (b->drawingArea), "button_press_event",
             G_CALLBACK(buttonPressEvent), (gpointer) b);
     g_signal_connect (G_OBJECT (b->drawingArea),"configure_event",
index de6b5bf..6b8a347 100644 (file)
@@ -16,7 +16,7 @@
  * You should have received a copy of the GNU General Public License
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- * 
+ *
  */
 /*A little bug fixed by Mykola <mykola@2ka.mipt.ru>:) */
 
@@ -30,7 +30,6 @@
 
 #include "plugin.h"
 #include "panel.h"
-#include "gtkbgbox.h"
 #include "misc.h"
 
 #define KILOBYTE 1024
@@ -70,11 +69,11 @@ cpu_update(cpu_t *c)
     struct cpu_stat cpu, cpu_r;
     FILE *stat;
     float total;
-    
+
     ENTER;
     if(!c->pixmap)
-        RET(TRUE); 
-     
+        RET(TRUE);
+
     stat = fopen("/proc/stat", "r");
     if(!stat)
         RET(TRUE);
@@ -93,15 +92,15 @@ cpu_update(cpu_t *c)
     cpu_i = cpu_r.i * c->Hwg / total;
 
     c->cpu_anterior = cpu;
-    
+
     c->stats_cpu[c->ini_stats++] = cpu_u + cpu_s + cpu_n;
     c->ini_stats %= c->Wwg;
 
     gdk_draw_rectangle(c->pixmap, c->da->style->black_gc, TRUE, 0, 0, c->Wwg, c->Hwg);
     for (i = 0; i < c->Wwg; i++) {
-       int val;
-       
-       val = c->stats_cpu[(i + c->ini_stats) % c->Wwg];
+    int val;
+
+    val = c->stats_cpu[(i + c->ini_stats) % c->Wwg];
         if (val)
             gdk_draw_line(c->pixmap, c->gc_cpu, i, c->Hwg, i, c->Hwg - val);
     }
@@ -130,7 +129,7 @@ configure_event(GtkWidget *widget, GdkEventConfigure *event, cpu_t *c)
           0, 0,
           widget->allocation.width,
           widget->allocation.height);
-    
+
    RET(TRUE);
 }
 
@@ -145,7 +144,7 @@ expose_event(GtkWidget *widget, GdkEventExpose *event, cpu_t *c)
           event->area.x, event->area.y,
           event->area.x, event->area.y,
           event->area.width, event->area.height);
-    
+
     RET(FALSE);
 }
 
@@ -158,36 +157,29 @@ cpu_constructor(plugin *p, char **fp)
     c = g_new0(cpu_t, 1);
     p->priv = c;
 
+    p->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW );
+
     c->da = gtk_drawing_area_new();
     gtk_widget_set_size_request(c->da, 40, 20);
 
     gtk_widget_show(c->da);
 
-/*
-    c->tip = gtk_tooltips_new();
-#if GLIB_CHECK_VERSION( 2, 10, 0 )
-    g_object_ref_sink( c->tip );
-#else
-    g_object_ref( c->tip );
-    gtk_object_sink( c->tip );
-#endif
-*/
-
     c->gc_cpu = gdk_gc_new(p->panel->topgwin->window);
     DBG("here1\n");
     c->ccpu = (GdkColor *)malloc(sizeof(GdkColor));
     gdk_color_parse("green",  c->ccpu);
     gdk_colormap_alloc_color(gdk_drawable_get_colormap(p->panel->topgwin->window),  c->ccpu, FALSE, TRUE);
     gdk_gc_set_foreground(c->gc_cpu,  c->ccpu);
-    gtk_bgbox_set_background(p->pwid, BG_STYLE, 0, 0);
+
     gtk_container_add(GTK_CONTAINER(p->pwid), c->da);
     gtk_container_set_border_width (GTK_CONTAINER (p->pwid), 1);
+
     g_signal_connect (G_OBJECT (c->da),"configure_event",
           G_CALLBACK (configure_event), (gpointer) c);
     g_signal_connect (G_OBJECT (c->da), "expose_event",
           G_CALLBACK (expose_event), (gpointer) c);
-    
+
     c->timer = g_timeout_add(1000, (GSourceFunc) cpu_update, (gpointer) c);
     RET(1);
 }
index 13785b9..7129e22 100644 (file)
@@ -28,7 +28,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "plugin.h"
-#include "gtkbgbox.h"
 #include "glib-mem.h"
 
 #include "dbg.h"
@@ -178,7 +177,6 @@ dclock_constructor(plugin *p, char** fp)
 #endif
 
     dc->timer = g_timeout_add(1000, (GSourceFunc) clock_update, (gpointer)dc);
-    gtk_container_add(GTK_CONTAINER(p->pwid), dc->main);
 
     /* font color */
     if (p->panel->usefontcolor)
@@ -186,13 +184,11 @@ dclock_constructor(plugin *p, char** fp)
 
     dc->usefontcolor = p->panel->usefontcolor;
 
-    /* background image */
-    if (p->panel->background) {
-        dc->main->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        gtk_bgbox_set_background(dc->main, BG_STYLE, 0, 0);
-    }
-
     clock_update( dc );
+
+    /* store the created plugin widget in plugin->pwid */
+    p->pwid = dc->main;
+
     RET(1);
 
  error:
@@ -213,7 +209,7 @@ dclock_destructor(plugin *p)
     dc = (dclock *) p->priv;
     if (dc->timer)
         g_source_remove(dc->timer);
-    gtk_widget_destroy(dc->main);
+
     /* g_object_unref( dc->tip ); */
     g_free(dc->cfmt);
     g_free(dc->tfmt);
index c60810b..03d7acd 100644 (file)
@@ -28,9 +28,9 @@ clicked( GtkWidget *widget, gpointer data)
 
     ENTER;
     if(desknum == (desks - 1))
-       newdesk = 0;
+    newdesk = 0;
     else
-       newdesk = desknum + 1;
+    newdesk = desknum + 1;
     g_assert(data != NULL);
     Xclimsg(GDK_ROOT_WINDOW(), a_NET_CURRENT_DESKTOP, newdesk, 0, 0, 0, 0);
     RET();
@@ -57,12 +57,12 @@ deskno_constructor(plugin *p, char** fp)
 {
     deskno *dc;
     GtkWidget *button;
-    
+
     ENTER;
     dc = g_new0(deskno, 1);
     g_return_val_if_fail(dc != NULL, 0);
     p->priv = dc;
-    
+
     dc->main = gtk_event_box_new();
     dc->tip  = gtk_tooltips_new();
     button = gtk_button_new();
@@ -70,13 +70,13 @@ deskno_constructor(plugin *p, char** fp)
     g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (clicked), (gpointer) dc);
     dc->namew = gtk_label_new("ww");
     gtk_container_add(GTK_CONTAINER(button), dc->namew);
-    gtk_container_add(GTK_CONTAINER(p->pwid), button);
-    gtk_widget_show_all(p->pwid);
     name_update(button, dc);
     g_signal_connect (G_OBJECT (fbev), "current_desktop", G_CALLBACK (name_update), (gpointer) dc);
-    RET(1);
 
+    p->pwid = button;
+    gtk_widget_show_all(p->pwid);
 
+    RET(1);
 }
 
 
@@ -87,7 +87,7 @@ deskno_destructor(plugin *p)
 
   ENTER;
   dc = (deskno *) p->priv;
-  g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), name_update, dc); 
+  g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), name_update, dc);
   g_free(dc);
   RET();
 }
index b62e26c..5baa716 100644 (file)
@@ -98,7 +98,7 @@ deskno_constructor(plugin *p, char** fp)
 
     update_all(dc->main, dc);
 
-    gtk_container_add(GTK_CONTAINER(p->pwid), dc->main);
+    p->pwid = dc->main;
     gtk_widget_show_all(p->pwid);
 
     g_signal_connect (G_OBJECT (fbev), "current_desktop", G_CALLBACK (update_dno), (gpointer) dc);
index 34bbbfa..7b57a4b 100644 (file)
@@ -26,7 +26,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "plugin.h"
-#include "gtkbgbox.h"
 #include "dbg.h"
 
 /* NOTE: dirty hack for g_quark_from_static_string */
@@ -328,19 +327,12 @@ dirmenu_constructor(plugin *p, char **fp)
         fname = strdup("file-manager");
 
     dm->button = fb_button_new_from_file(fname, w, h, 0x202020, TRUE);
+
     gtk_container_set_border_width( GTK_CONTAINER(dm->button), 0 );
     g_signal_connect( dm->button, "button_press_event",
                       G_CALLBACK(clicked), p );
 
     gtk_widget_show( dm->button );
-    gtk_container_add( GTK_CONTAINER(p->pwid), dm->button );
-    /* background image */
-    if (p->panel->background) {
-        dm->button->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        gtk_bgbox_set_background(dm->button, BG_STYLE, 0, 0);
-    } else if (p->panel->transparent)
-        gtk_bgbox_set_background( dm->button, BG_ROOT, p->panel->tintcolor, p->panel->alpha );
-
     g_free(fname);
 
     fname = dm->path ? expand_tilda(dm->path) : NULL;
@@ -349,6 +341,9 @@ dirmenu_constructor(plugin *p, char **fp)
                          fname ? fname : g_get_home_dir(), NULL);
     g_free( fname );
 
+    /* store the created plugin widget in plugin->pwid */
+    p->pwid = dm->button;
+
     RET(1);
 
  error:
index 5432e17..2166d5a 100644 (file)
@@ -139,7 +139,7 @@ image_constructor(plugin *p, char **fp)
     gtk_container_add(GTK_CONTAINER(img->mainw), wid);
     gtk_container_set_border_width(GTK_CONTAINER(img->mainw), 0);
     g_free(fname);
-    gtk_container_add(GTK_CONTAINER(p->pwid), img->mainw);
+
     if (tooltip) {
         gtk_tooltips_set_tip(GTK_TOOLTIPS (img->tips), img->mainw, tooltip, NULL);
         g_free(tooltip);
index 25ee820..9f7d365 100644 (file)
@@ -31,7 +31,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "plugin.h"
-#include "gtkbgbox.h"
 
 //#define DEBUG
 #include "dbg.h"
@@ -313,15 +312,6 @@ read_button(plugin *p, char** fp)
     lb->btns = g_slist_append( lb->btns, btn );
 
     gtk_widget_show(button);
-    //gtk_bgbox_set_background(button, BG_ROOT, 0xFFFFFF, 20);
-
-    /* background image */
-    if (p->panel->background) {
-        button->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        gtk_bgbox_set_background(button, BG_STYLE, 0, 0);
-    } else if (p->panel->transparent) {
-        gtk_bgbox_set_background(button, BG_ROOT, p->panel->tintcolor, p->panel->alpha);
-    }
 
     g_free(fname);
 
@@ -329,7 +319,6 @@ read_button(plugin *p, char** fp)
     if ( btn->tooltip ) {
         gtk_tooltips_set_tip(GTK_TOOLTIPS (lb->tips), button, btn->tooltip, NULL);
     }
-
     RET(1);
 
  error:
@@ -366,30 +355,28 @@ launchbar_constructor(plugin *p, char **fp)
         "widget '*' style 'launchbar-style'";
 
     ENTER;
-    gtk_widget_set_name(p->pwid, "launchbar");
     gtk_rc_parse_string(launchbar_rc);
+
+    p->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW );
+
+    gtk_widget_set_name(p->pwid, "launchbar");
     get_button_spacing(&req, GTK_CONTAINER(p->pwid), "");
 
     lb = g_slice_new0(launchbar);
     g_return_val_if_fail(lb != NULL, 0);
     p->priv = lb;
     lb->box = p->panel->my_box_new(FALSE, 0);
-    gtk_container_add(GTK_CONTAINER(p->pwid), lb->box);
+
+    gtk_container_add( (GtkContainer*)p->pwid, lb->box );
+
     gtk_container_set_border_width (GTK_CONTAINER (lb->box), 0);
     gtk_widget_show(lb->box);
 
     /* Use the shared tooltip object provided by the panel, and
        we don't need to create a new one. */
     lb->tips = p->panel->tooltips;
-/*
-    lb->tips = gtk_tooltips_new();
-#if GLIB_CHECK_VERSION( 2, 10, 0 )
-    g_object_ref_sink( lb->tips );
-#else
-    g_object_ref( lb->tips );
-    gtk_object_sink( lb->tips );
-#endif
-*/
+
     if  (p->panel->orientation == ORIENT_HORIZ)
         lb->iconsize = GTK_WIDGET(p->panel->box)->allocation.height;
     else
index a40fb55..26c5ea8 100644 (file)
@@ -27,7 +27,6 @@
 #include "misc.h"
 #include "plugin.h"
 #include "bg.h"
-#include "gtkbgbox.h"
 
 #include "ptk-app-menu.h"
 
@@ -73,7 +72,9 @@ menu_destructor(plugin *p)
 
     g_signal_handler_disconnect(G_OBJECT(m->bg), m->handler_id);
     gtk_widget_destroy(m->menu);
+    /* The widget is destroyed in plugin_stop().
     gtk_widget_destroy(m->box);
+    */
     g_free(m);
     RET();
 }
@@ -222,9 +223,6 @@ make_button(plugin *p, gchar *fname, gchar *name, GtkWidget *menu)
           (p->panel->orientation == ORIENT_HORIZ ? name : NULL));
     gtk_widget_show(m->bg);
     gtk_box_pack_start(GTK_BOX(m->box), m->bg, FALSE, FALSE, 0);
-    if (p->panel->transparent)
-        gtk_bgbox_set_background(m->bg, BG_ROOT, p->panel->tintcolor, p->panel->alpha);
-
 
     m->handler_id = g_signal_connect (G_OBJECT (m->bg), "button-press-event",
           G_CALLBACK (my_button_pressed), p);
@@ -539,7 +537,6 @@ menu_constructor(plugin *p, char **fp)
 
     m->box = gtk_hbox_new(FALSE, 0);
     gtk_container_set_border_width(GTK_CONTAINER(m->box), 0);
-    gtk_container_add(GTK_CONTAINER(p->pwid), m->box);
 
     if( ! fp )
         fp = &config_default;
@@ -559,6 +556,8 @@ menu_constructor(plugin *p, char **fp)
     m->config_data = g_strndup( config_start,
                                 (config_end-config_start) );
 
+    p->pwid = m->box;
+
     RET(1);
 
  error:
index 1f1e18b..28c1e1e 100644 (file)
@@ -307,7 +307,9 @@ static void netstat_destructor(plugin *p)
     ENTER;
     g_source_remove(ns->ttag);
     netproc_netdevlist_clear(&ns->fnetd->netdevlist);
+    /* The widget is destroyed in plugin_stop().
     gtk_widget_destroy(ns->mainw);
+    */
     lxnm_close(ns->fnetd->lxnmchannel);
     close(ns->fnetd->sockfd);
     close(ns->fnetd->iwsockfd);
@@ -357,7 +359,6 @@ static int netstat_constructor(plugin *p, char **fp)
 
     /* main */
     ns->mainw = p->panel->my_box_new(FALSE, 1);
-    gtk_container_add(GTK_CONTAINER(p->pwid), ns->mainw);
     gtk_widget_show_all(ns->mainw);
 
     /* Initializing network device list*/
@@ -369,6 +370,8 @@ static int netstat_constructor(plugin *p, char **fp)
 
     ns->ttag = g_timeout_add(NETSTAT_IFACE_POLL_DELAY, (GSourceFunc)refresh_devstat, ns);
 
+    p->pwid = ns->mainw;
+
     RET(1);
 error:
     g_free(ns->fnetd);
index 83b5412..a106c73 100644 (file)
 #include "statusicon.h"
 
 struct statusicon *create_statusicon(GtkWidget *box, const char *filename,
-               const char *tooltips)
+        const char *tooltips)
 {
-       struct statusicon *newicon;
+    struct statusicon *newicon;
+    newicon = malloc(sizeof(struct statusicon));
 
-       newicon = malloc(sizeof(struct statusicon));
+    /* main */
+    newicon->main = gtk_event_box_new();
 
-       /* main */
-       newicon->main = gtk_event_box_new();
+    gtk_widget_add_events(newicon->main, GDK_BUTTON_PRESS_MASK);
+    gtk_widget_set_size_request(newicon->main, 24, 24);
+    gtk_box_pack_start(GTK_BOX(box), newicon->main, TRUE, TRUE, 0);
 
-       gtk_widget_add_events(newicon->main, GDK_BUTTON_PRESS_MASK);
-       gtk_widget_set_size_request(newicon->main, 24, 24);
-       gtk_box_pack_start(GTK_BOX(box), newicon->main, TRUE, TRUE, 0);
+    /* icon */
+    newicon->icon = gtk_image_new_from_file(filename);
+    gtk_container_add(GTK_CONTAINER(newicon->main), newicon->icon);
+    gtk_widget_show_all(newicon->main);
 
-       /* icon */
-       newicon->icon = gtk_image_new_from_file(filename);
-       gtk_container_add(GTK_CONTAINER(newicon->main), newicon->icon);
-       gtk_widget_show_all(newicon->main);
-
-       /* tooltip */
-       newicon->tooltips = gtk_tooltips_new();
+    /* tooltip */
+    newicon->tooltips = gtk_tooltips_new();
 #if GLIB_CHECK_VERSION( 2, 10, 0 )
-       g_object_ref_sink(newicon->tooltips);
+    g_object_ref_sink(newicon->tooltips);
 #else
-       g_object_ref(newicon->tooltips);
-       gtk_object_sink(newicon->tooltips);
+    g_object_ref(newicon->tooltips);
+    gtk_object_sink(newicon->tooltips);
 #endif
-       gtk_tooltips_set_tip(newicon->tooltips, newicon->main, tooltips, NULL);
+    gtk_tooltips_set_tip(newicon->tooltips, newicon->main, tooltips, NULL);
 
-       return newicon;
+    return newicon;
 }
 
 void statusicon_destroy(struct statusicon *icon)
 {
-       g_object_unref(icon->tooltips);
-       gtk_widget_destroy(GTK_WIDGET(icon->icon));
-       gtk_widget_destroy(GTK_WIDGET(icon->main));
+    g_object_unref(icon->tooltips);
+    gtk_widget_destroy(GTK_WIDGET(icon->icon));
+    gtk_widget_destroy(GTK_WIDGET(icon->main));
 }
 
 
 void set_statusicon_image_from_file(struct statusicon *widget, const char *filename)
 {
-       gtk_image_set_from_file(widget->icon, filename);
+    gtk_image_set_from_file(widget->icon, filename);
 }
 
 void set_statusicon_tooltips(struct statusicon *widget, const char *tooltips)
 {
-       gtk_tooltips_set_tip(widget->tooltips, widget->main, tooltips, NULL);
+    gtk_tooltips_set_tip(widget->tooltips, widget->main, tooltips, NULL);
 }
 
 void set_statusicon_visible(struct statusicon *widget, gboolean b)
 {
-       if (b)
-               gtk_widget_show(widget->main);
-       else
-               gtk_widget_hide(widget->main);
+    if (b)
+        gtk_widget_show(widget->main);
+    else
+        gtk_widget_hide(widget->main);
 }
index 8d835ba..1a6cce4 100644 (file)
@@ -1,4 +1,4 @@
-/**                                                                                                 
+/**
  * Copyright (c) 2006 LxDE Developers, see the file AUTHORS for details.
  *
  * This program is free software; you can redistribute it and/or modify
@@ -45,7 +45,9 @@ netstatus_destructor(plugin *p)
     netstatus *ns = (netstatus *)p->priv;
 
     ENTER;
+    /* The widget is destroyed in plugin_stop().
     gtk_widget_destroy(ns->mainw);
+    */
     g_free( ns->iface );
     g_free( ns->config_tool );
     g_free(ns);
@@ -94,7 +96,7 @@ netstatus_constructor(plugin *p, char** fp)
     NetstatusIface* iface;
 
     ENTER;
-    s.len = 256;  
+    s.len = 256;
     ns = g_new0(netstatus, 1);
     g_return_val_if_fail(ns != NULL, 0);
     p->priv = ns;
@@ -136,7 +138,7 @@ netstatus_constructor(plugin *p, char** fp)
 
     gtk_widget_show_all(ns->mainw);
 
-    gtk_container_add(GTK_CONTAINER(p->pwid), ns->mainw);
+    p->pwid = ns->mainw;
 
     RET(1);
 
index dac3b69..707ba74 100644 (file)
@@ -17,7 +17,7 @@
  *
  * You should have received a copy of the GNU General Public License
  * along with sawfish; see the file COPYING.   If not, write to
- * the Free Software Foundation, 51 Franklin Street, Fifth Floor, 
+ * the Free Software Foundation, 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301 USA.
  */
 #include <stdlib.h>
@@ -35,7 +35,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "plugin.h"
-#include "gtkbgbox.h"
 
 //#define DEBUG
 #include "dbg.h"
@@ -90,7 +89,7 @@ struct _pager {
  (!( ((tk)->ws != NormalState) || (tk)->nws.hidden || (tk)->nws.skip_pager ))
 
 //if (t->nws.skip_pager || t->nwwt.desktop /*|| t->nwwt.dock || t->nwwt.splash*/ )
-   
+
 static void pager_rebuild_all(FbEv *ev, pager *pg);
 
 static inline void desk_set_dirty_by_win(pager *p, task *t);
@@ -141,16 +140,16 @@ task_get_sizepos(task *t)
     int rx, ry;
     guint dummy;
     XWindowAttributes win_attributes;
-    
+
     ENTER;
     if (!XGetWindowAttributes(GDK_DISPLAY(), t->win, &win_attributes)) {
         if (!XGetGeometry (GDK_DISPLAY(), t->win, &root, &t->x, &t->y, &t->w, &t->h,
                   &dummy, &dummy)) {
             t->x = t->y = t->w = t->h = 2;
         }
-        
+
     } else {
-        XTranslateCoordinates (GDK_DISPLAY(), t->win, win_attributes.root, 
+        XTranslateCoordinates (GDK_DISPLAY(), t->win, win_attributes.root,
               -win_attributes.border_width,
               -win_attributes.border_width,
               &rx, &ry, &junkwin);
@@ -169,7 +168,7 @@ task_update_pix(task *t, desk *d)
 {
     int x, y, w, h;
     GtkWidget *widget;
-    
+
     ENTER;
     g_return_if_fail(d->pix != NULL);
     if (!TASK_VISIBLE(t))
@@ -178,7 +177,7 @@ task_update_pix(task *t, desk *d)
     if (t->desktop < p->desknum &&
           t->desktop != d->no)
         RET();
-          
+
     x = (gfloat)t->x * d->scalew;
     y = (gfloat)t->y * d->scaleh;
     w = (gfloat)t->w * d->scalew;
@@ -187,19 +186,19 @@ task_update_pix(task *t, desk *d)
     if (w < 3 || h < 3)
         RET();
     widget = GTK_WIDGET(d->da);
-    gdk_draw_rectangle (d->pix, 
-          (d->pg->focusedtask == t) ?       
+    gdk_draw_rectangle (d->pix,
+          (d->pg->focusedtask == t) ?
           widget->style->bg_gc[GTK_STATE_SELECTED] :
-          widget->style->bg_gc[GTK_STATE_NORMAL], 
-          TRUE,                         
-          x+1, y+1, w-1, h-1);                
-    gdk_draw_rectangle (d->pix, 
-          (d->pg->focusedtask == t) ?       
+          widget->style->bg_gc[GTK_STATE_NORMAL],
+          TRUE,
+          x+1, y+1, w-1, h-1);
+    gdk_draw_rectangle (d->pix,
+          (d->pg->focusedtask == t) ?
           widget->style->fg_gc[GTK_STATE_SELECTED] :
-          widget->style->fg_gc[GTK_STATE_NORMAL], 
+          widget->style->fg_gc[GTK_STATE_NORMAL],
           FALSE,
           x, y, w, h);
-    RET();    
+    RET();
 }
 
 
@@ -217,14 +216,14 @@ desk_clear_pixmap(desk *d)
         RET();
     widget = GTK_WIDGET(d->da);
     gdk_draw_rectangle (d->pix,
-          ((d->no == d->pg->curdesk) ? 
+          ((d->no == d->pg->curdesk) ?
                 widget->style->dark_gc[GTK_STATE_SELECTED] :
                 widget->style->dark_gc[GTK_STATE_NORMAL]),
-          TRUE, 
+          TRUE,
           0, 0,
           widget->allocation.width,
           widget->allocation.height);
-    
+
     RET();
 }
 
@@ -250,12 +249,12 @@ desk_set_dirty_all(pager *pg)
 }
 
 static inline void
-desk_set_dirty_by_win(pager *p, task *t) 
+desk_set_dirty_by_win(pager *p, task *t)
 {
     ENTER;
     if (t->nws.skip_pager || t->nwwt.desktop /*|| t->nwwt.dock || t->nwwt.splash*/ )
         RET();
-    if (t->desktop < p->desknum) 
+    if (t->desktop < p->desknum)
         desk_set_dirty(p->desks[t->desktop]);
     else
         desk_set_dirty_all(p);
@@ -273,7 +272,7 @@ desk_expose_event (GtkWidget *widget, GdkEventExpose *event, desk *d)
         pager *pg = d->pg;
         task *t;
         int j;
-        
+
         d->dirty = 0;
         desk_clear_pixmap(d);
         for (j = 0; j < pg->winnum; j++) {
@@ -300,11 +299,11 @@ desk_configure_event (GtkWidget *widget, GdkEventConfigure *event, desk *d)
     DBG("d->no=%d %dx%d\n", d->no, widget->allocation.width, widget->allocation.height);
     if (d->pix)
         g_object_unref(d->pix);
-    
+
     d->pix = gdk_pixmap_new(widget->window,
           widget->allocation.width,
           widget->allocation.height,
-          -1);    
+          -1);
 
     d->scalew = (gfloat)widget->allocation.height / (gfloat)gdk_screen_height();
     d->scaleh = (gfloat)widget->allocation.width  / (gfloat)gdk_screen_width();
@@ -320,7 +319,7 @@ desk_configure_event (GtkWidget *widget, GdkEventConfigure *event, desk *d)
     }
     DBG("requesting %dx%d\n", w, h);
     gtk_widget_set_size_request(widget, w, h);
-    
+
     RET(FALSE);
 }
 
@@ -378,7 +377,7 @@ desk_new(pager *pg, int i)
     d->dirty = 0;
     d->first = 1;
     d->no = i;
-    
+
     d->da = gtk_drawing_area_new();
     //gtk_widget_set_size_request(GTK_WIDGET(d->da), 10, 10);
     gtk_box_pack_start(GTK_BOX(pg->box), d->da, TRUE, TRUE, 0);
@@ -388,7 +387,7 @@ desk_new(pager *pg, int i)
     g_signal_connect (G_OBJECT (d->da), "expose_event",
           (GCallback) desk_expose_event, (gpointer)d);
     g_signal_connect (G_OBJECT (d->da), "configure_event",
-          (GCallback) desk_configure_event, (gpointer)d);    
+          (GCallback) desk_configure_event, (gpointer)d);
     g_signal_connect (G_OBJECT (d->da), "scroll-event",
           (GCallback) desk_scroll_event, (gpointer)d);
     g_signal_connect (G_OBJECT (d->da), "button_press_event",
@@ -517,7 +516,7 @@ pager_unmapnotify(pager *p, XEvent *ev)
 {
     Window win = ev->xunmap.window;
     task *t;
-    if (!(t = g_hash_table_lookup(p->htable, &win))) 
+    if (!(t = g_hash_table_lookup(p->htable, &win)))
         RET();
     DBG("pager_unmapnotify: win=0x%x\n", win);
     RET();
@@ -533,8 +532,8 @@ pager_configurenotify(pager *p, XEvent *ev)
     task *t;
 
     ENTER;
-    if (!(t = g_hash_table_lookup(p->htable, &win))) 
+
+    if (!(t = g_hash_table_lookup(p->htable, &win)))
         RET();
     DBG("win=0x%x\n", win);
     task_get_sizepos(t);
@@ -549,11 +548,14 @@ pager_propertynotify(pager *p, XEvent *ev)
     Window win = ev->xproperty.window;
     task *t;
 
-    
     ENTER;
     if ((win == GDK_ROOT_WINDOW()) || !(t = g_hash_table_lookup(p->htable, &win)))
         RET();
-      
+
+    /* The property is deleted */
+    if( ((XPropertyEvent*)ev)->state == 1 )
+        return;
+
     DBG("window=0x%x\n", t->win);
     if (at == a_WM_STATE)    {
         DBG("event=WM_STATE\n");
@@ -561,9 +563,9 @@ pager_propertynotify(pager *p, XEvent *ev)
     } else if (at == a_NET_WM_STATE) {
         DBG("event=NET_WM_STATE\n");
         get_net_wm_state(t->win, &t->nws);
-    } else if (at == a_NET_WM_DESKTOP) {          
+    } else if (at == a_NET_WM_DESKTOP) {
         DBG("event=NET_WM_DESKTOP\n");
-        desk_set_dirty_by_win(p, t); // to clean up desks where this task was 
+        desk_set_dirty_by_win(p, t); // to clean up desks where this task was
         t->desktop = get_net_wm_desktop(t->win);
     } else {
         RET();
@@ -595,7 +597,7 @@ pager_rebuild_all(FbEv *ev, pager *pg)
     ENTER;
     desknum = pg->desknum;
     curdesk = pg->curdesk;
-    
+
     pg->desknum = get_net_number_of_desktops();
     if (pg->desknum < 1)
         pg->desknum = 1;
@@ -615,10 +617,10 @@ pager_rebuild_all(FbEv *ev, pager *pg)
 
     if (dif < 0) {
         /* if desktops were deleted then delete their maps also */
-        for (i = pg->desknum; i < desknum; i++) 
+        for (i = pg->desknum; i < desknum; i++)
             desk_free(pg, i);
     } else {
-        for (i = desknum; i < pg->desknum; i++) 
+        for (i = desknum; i < pg->desknum; i++)
             desk_new(pg, i);
     }
     do_net_client_list_stacking(NULL, pg);
@@ -636,13 +638,15 @@ pager_constructor(plugin *plug, char **fp)
     g_return_val_if_fail(pg != NULL, 0);
     plug->priv = pg;
 
+    plug->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( plug->pwid, GTK_NO_WINDOW );
+
     pg->htable = g_hash_table_new (g_int_hash, g_int_equal);
 
     pg->box = plug->panel->my_box_new(TRUE, 1);
     gtk_container_set_border_width (GTK_CONTAINER (pg->box), 0);
     gtk_widget_show(pg->box);
 
-    gtk_bgbox_set_background(plug->pwid, BG_STYLE, 0, 0);
     gtk_container_set_border_width (GTK_CONTAINER (plug->pwid), 1);
     gtk_container_add(GTK_CONTAINER(plug->pwid), pg->box);
     pg->eb = pg->box;
@@ -651,7 +655,6 @@ pager_constructor(plugin *plug, char **fp)
     pg->scaley = (gfloat)pg->dh / (gfloat)gdk_screen_height();
     pg->scalex = (gfloat)pg->dw / (gfloat)gdk_screen_width();
 
-
     pager_rebuild_all(fbev, pg);
     //do_net_current_desktop(fbev, pg);
     //do_net_client_list_stacking(fbev, pg);
@@ -678,7 +681,7 @@ pager_destructor(plugin *p)
     g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_current_desktop, pg);
     g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_active_window, pg);
     g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), pager_rebuild_all, pg);
-    g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_client_list_stacking, pg);   
+    g_signal_handlers_disconnect_by_func(G_OBJECT (fbev), do_net_client_list_stacking, pg);
     gdk_window_remove_filter(NULL, (GdkFilterFunc)pager_event_filter, pg);
     while (--pg->desknum) {
         desk_free(pg, pg->desknum);
@@ -699,7 +702,7 @@ plugin_class pager_plugin_class = {
     name : N_("Desktop Pager"),
     version: "1.0",
     description : N_("Simple pager plugin"),
-
+    /* FIXME: orientation should be handled!! */
     constructor : pager_constructor,
     destructor  : pager_destructor,
     config : NULL,
index cb42a61..5f93508 100644 (file)
@@ -42,18 +42,17 @@ separator_constructor(plugin *p, char **fp)
         }
     }
     eb = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( eb, GTK_NO_WINDOW );
+
     gtk_container_set_border_width(GTK_CONTAINER(eb), 1);
     gtk_widget_show(eb);
-    /*
-    g_signal_connect(G_OBJECT(eb), "expose_event",
-          G_CALLBACK(gtk_widget_queue_draw), NULL);
-    */
+
     sep = p->panel->my_separator_new();
     gtk_widget_show(sep);
     gtk_container_add (GTK_CONTAINER (eb), sep);
-    gtk_container_add(GTK_CONTAINER(p->pwid), eb);
     p->priv = eb; /* just to alloc smth */
 
+    p->pwid = eb;
     RET(1);
 }
 
@@ -61,8 +60,10 @@ static void
 separator_destructor(plugin *p)
 {
     ENTER;
+/* The widget is destroyed in plugin_stop().
     GtkWidget* eb = GTK_WIDGET((GtkEventBox*)p->priv);
     gtk_widget_destroy( eb );
+*/
     RET();
 }
 
index 06aa2f7..5796f70 100644 (file)
@@ -43,7 +43,9 @@ space_destructor(plugin *p)
     space *sp = (space *)p->priv;
 
     ENTER;
+    /* The widget is destroyed in plugin_stop().
     gtk_widget_destroy(sp->mainw);
+    */
     g_free(sp);
     RET();
 }
@@ -59,7 +61,7 @@ space_constructor(plugin *p, char** fp)
     int w, h;
 
     ENTER;
-    s.len = 256;  
+    s.len = 256;
     sp = g_new0(space, 1);
     g_return_val_if_fail(sp != NULL, 0);
     p->priv = sp;
@@ -71,7 +73,7 @@ space_constructor(plugin *p, char** fp)
                 goto error;
             }
             if (s.type == LINE_VAR) {
-                if (!g_ascii_strcasecmp(s.t[0], "size")) 
+                if (!g_ascii_strcasecmp(s.t[0], "size"))
                     sp->size = atoi(s.t[1]);
                 else {
                     ERR( "space: unknown var %s\n", s.t[0]);
@@ -93,11 +95,11 @@ space_constructor(plugin *p, char** fp)
     } else {
         w = 2;
         h = sp->size;
-    } 
+    }
     gtk_widget_set_size_request(sp->mainw, w, h);
     gtk_container_set_border_width(GTK_CONTAINER(sp->mainw), 0);
-    //gtk_container_add(GTK_CONTAINER(p->pwid), sp->mainw);
-    gtk_widget_set_size_request(p->pwid, w, h);
+
+    p->pwid = sp->mainw;
 
     RET(1);
 
index 26905b4..0cbd41a 100644 (file)
@@ -1050,74 +1050,79 @@ tb_propertynotify(taskbar *tb, XEvent *ev)
 
     ENTER;
     DBG("win=%x\n", ev->xproperty.window);
+
+    /* The property is deleted */
+    if( ((XPropertyEvent*)ev)->state == 1 )
+        return;
+
     at = ev->xproperty.atom;
     win = ev->xproperty.window;
     if (win != GDK_ROOT_WINDOW()) {
-    task *tk = find_task(tb, win);
-
-    if (!tk) RET();
-        DBG("win=%x\n", ev->xproperty.window);
-    if (at == a_NET_WM_DESKTOP) {
-            DBG("NET_WM_DESKTOP\n");
-        tk->desktop = get_net_wm_desktop(win);
-        tb_display(tb);
-    }  else if (at == XA_WM_NAME) {
-            DBG("WM_NAME\n");
-        tk_set_names(tk);
-        //tk_display(tb, tk);
-    }  else if (at == XA_WM_CLASS) {
-            DBG("WM_CLASS\n");
-
-            //get_wmclass(tk);
-    } else if (at == a_WM_STATE)    {
-            DBG("WM_STATE\n");
-        /* iconified state changed? */
-        tk->iconified = (get_wm_state (tk->win) == IconicState);
+        task *tk = find_task(tb, win);
+
+        if (!tk) RET();
+            DBG("win=%x\n", ev->xproperty.window);
+        if (at == a_NET_WM_DESKTOP) {
+                DBG("NET_WM_DESKTOP\n");
+            tk->desktop = get_net_wm_desktop(win);
+            tb_display(tb);
+        }  else if (at == XA_WM_NAME) {
+                DBG("WM_NAME\n");
             tk_set_names(tk);
-        //tk_display(tb, tk);
-    } else if (at == XA_WM_HINTS)   {
-        /* some windows set their WM_HINTS icon after mapping */
-        DBG("XA_WM_HINTS\n");
-            //get_wmclass(tk);
-        tk_update_icon (tb, tk, XA_WM_HINTS);
-        gtk_image_set_from_pixbuf (GTK_IMAGE(tk->image), tk->pixbuf);
-            if (tb->use_urgency_hint) {
-                if (tk_has_urgency(tk)) {
-                    //tk->urgency = 1;
-                    tk_flash_window(tk);
-                } else {
-                    //tk->urgency = 0;
-                    tk_unflash_window(tk);
+            //tk_display(tb, tk);
+        }  else if (at == XA_WM_CLASS) {
+                DBG("WM_CLASS\n");
+
+                //get_wmclass(tk);
+        } else if (at == a_WM_STATE)    {
+                DBG("WM_STATE\n");
+            /* iconified state changed? */
+            tk->iconified = (get_wm_state (tk->win) == IconicState);
+                tk_set_names(tk);
+            //tk_display(tb, tk);
+        } else if (at == XA_WM_HINTS)   {
+            /* some windows set their WM_HINTS icon after mapping */
+            DBG("XA_WM_HINTS\n");
+                //get_wmclass(tk);
+            tk_update_icon (tb, tk, XA_WM_HINTS);
+            gtk_image_set_from_pixbuf (GTK_IMAGE(tk->image), tk->pixbuf);
+                if (tb->use_urgency_hint) {
+                    if (tk_has_urgency(tk)) {
+                        //tk->urgency = 1;
+                        tk_flash_window(tk);
+                    } else {
+                        //tk->urgency = 0;
+                        tk_unflash_window(tk);
+                    }
                 }
+            } else if (at == a_NET_WM_STATE) {
+                net_wm_state nws;
+
+            DBG("_NET_WM_STATE\n");
+            get_net_wm_state(tk->win, &nws);
+                if (!accept_net_wm_state(&nws, tb->accept_skip_pager)) {
+            del_task(tb, tk, 1);
+            tb_display(tb);
             }
-        } else if (at == a_NET_WM_STATE) {
-            net_wm_state nws;
-
-        DBG("_NET_WM_STATE\n");
-        get_net_wm_state(tk->win, &nws);
-            if (!accept_net_wm_state(&nws, tb->accept_skip_pager)) {
-        del_task(tb, tk, 1);
-        tb_display(tb);
-        }
-    } else if (at == a_NET_WM_ICON) {
-        DBG("_NET_WM_ICON\n");
-            DBG("#0 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
-            tk_update_icon (tb, tk, a_NET_WM_ICON);
-            DBG("#1 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
-        gtk_image_set_from_pixbuf (GTK_IMAGE(tk->image), tk->pixbuf);
-            DBG("#2 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
-    } else if (at == a_NET_WM_WINDOW_TYPE) {
-            net_wm_window_type nwwt;
-
-        DBG("_NET_WM_WINDOW_TYPE\n");
-        get_net_wm_window_type(tk->win, &nwwt);
-            if (!accept_net_wm_window_type(&nwwt)) {
-        del_task(tb, tk, 1);
-        tb_display(tb);
+        } else if (at == a_NET_WM_ICON) {
+            DBG("_NET_WM_ICON\n");
+                DBG("#0 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
+                tk_update_icon (tb, tk, a_NET_WM_ICON);
+                DBG("#1 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
+            gtk_image_set_from_pixbuf (GTK_IMAGE(tk->image), tk->pixbuf);
+                DBG("#2 %d\n", GDK_IS_PIXBUF (tk->pixbuf));
+        } else if (at == a_NET_WM_WINDOW_TYPE) {
+                net_wm_window_type nwwt;
+
+            DBG("_NET_WM_WINDOW_TYPE\n");
+            get_net_wm_window_type(tk->win, &nwwt);
+                if (!accept_net_wm_window_type(&nwwt)) {
+            del_task(tb, tk, 1);
+            tb_display(tb);
+            }
+        } else {
+                DBG("at = %d\n", at);
         }
-    } else {
-            DBG("at = %d\n", at);
-    }
     }
     RET();
 }
@@ -1130,7 +1135,7 @@ tb_event_filter( XEvent *xev, GdkEvent *event, taskbar *tb)
     //RET(GDK_FILTER_CONTINUE);
     g_assert(tb != NULL);
     if (xev->type == PropertyNotify )
-    tb_propertynotify(tb, xev);
+        tb_propertynotify(tb, xev);
     RET(GDK_FILTER_CONTINUE);
 }
 
@@ -1279,6 +1284,7 @@ taskbar_build_gui(plugin *p)
     GtkOrientation  bo;
 
     ENTER;
+
     bo = (tb->plug->panel->orientation == ORIENT_HORIZ) ? GTK_ORIENTATION_HORIZONTAL : GTK_ORIENTATION_VERTICAL;
     tb->bar = gtk_bar_new(bo, tb->spacing);
     if (tb->icons_only) {
@@ -1348,8 +1354,14 @@ taskbar_constructor(plugin *p, char** fp)
     GtkRequisition req;
 
     ENTER;
-    gtk_widget_set_name(p->pwid, "taskbar");
+
     gtk_rc_parse_string(taskbar_rc);
+
+    /* FIXME: Is there any better way to do this? */
+    p->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW );
+    gtk_widget_set_name(p->pwid, "taskbar");
+
     get_button_spacing(&req, GTK_CONTAINER(p->pwid), "");
 
     net_active_detect();
@@ -1442,7 +1454,9 @@ taskbar_destructor(plugin *p)
     gdk_window_remove_filter(NULL, (GdkFilterFunc)tb_event_filter, tb );
     g_object_unref( tb->tips );
     g_hash_table_destroy(tb->task_list);
+    /* The widget is destroyed in plugin_stop().
     gtk_widget_destroy(tb->bar);
+    */
     gtk_widget_destroy(tb->menu);
     RET();
 }
index 3063846..5c371b1 100644 (file)
@@ -4,7 +4,7 @@
  *  allocating and destroying widgets. It helps in debuging panels's
  *  geometry engine (panel.c )
  */
-    
+
 
 
 #include <time.h>
@@ -42,7 +42,7 @@ static gint
 clock_update(gpointer data )
 {
     test *dc = (test *)data;
-     
+
     ENTER;
     if (dc->count >= WID_NUM-1)
         dc->delta = -1;
@@ -64,7 +64,7 @@ test_constructor(plugin *p)
 {
     test *dc;
     line s;
-    
+
     ENTER;
     dc = g_new0(test, 1);
     g_return_val_if_fail(dc != NULL, 0);
@@ -76,7 +76,7 @@ test_constructor(plugin *p)
     }
     dc->main = p->panel->my_box_new(TRUE, 1);
     gtk_widget_show(dc->main);
-    gtk_container_add(GTK_CONTAINER(p->pwid), dc->main);
+    p->pwid = dc->main;
 
     dc->timer = g_timeout_add(200, clock_update, (gpointer)dc);
 
index 79f2223..a47285b 100644 (file)
@@ -1,4 +1,4 @@
-/**                                                                                                 
+/**
  * Copyright (c) 2006 LxDE Developers, see the file AUTHORS for details.
  *
  * This program is free software; you can redistribute it and/or modify
 int mixer_fd;
 
 typedef struct {
-       GtkWidget *mainw;
-       GtkWidget *dlg;
-       GtkTooltips* tooltips;
+    GtkWidget *mainw;
+    GtkWidget *dlg;
+    GtkTooltips* tooltips;
 } volume_t;
 
 static void
 volume_destructor(plugin *p)
 {
-       volume_t *vol = (volume_t *) p->priv;
-
-       ENTER;
-       if (vol->dlg)
-               gtk_widget_destroy(vol->dlg);
-       g_object_unref( vol->tooltips );
-       gtk_widget_destroy(vol->mainw);
-       if (mixer_fd)
-               close(mixer_fd);
-       g_free(vol);
-       RET();
+    volume_t *vol = (volume_t *) p->priv;
+
+    ENTER;
+    if (vol->dlg)
+        gtk_widget_destroy(vol->dlg);
+    g_object_unref( vol->tooltips );
+    gtk_widget_destroy(vol->mainw);
+    if (mixer_fd)
+        close(mixer_fd);
+    g_free(vol);
+    RET();
 }
 
 static void on_volume_focus (GtkWidget* dlg, GdkEventFocus *event, volume_t *vol)
 {
-       /* FIXME: use smarter method */
-       gtk_widget_destroy( dlg );
-       vol->dlg = NULL;
+    /* FIXME: use smarter method */
+    gtk_widget_destroy( dlg );
+    vol->dlg = NULL;
 }
 
 static void on_button_press (GtkWidget* widget, GdkEventButton* evt, plugin* p)
 {
-       volume_t *vol = (volume_t*) p->priv;
+    volume_t *vol = (volume_t*) p->priv;
 
-       if( evt->button == 1 ) { /*  Left click*/
-               if( ! vol->dlg ) {
-                       vol->dlg = create_volume_window();
+    if( evt->button == 1 ) { /*  Left click*/
+        if( ! vol->dlg ) {
+            vol->dlg = create_volume_window();
 
-                       /* setting background to default */
-                       gtk_widget_set_style(vol->dlg, p->panel->defstyle);
+            /* setting background to default */
+            gtk_widget_set_style(vol->dlg, p->panel->defstyle);
 
-                       g_signal_connect( vol->dlg, "focus-out-event", 
-                                         G_CALLBACK(on_volume_focus), vol );
+            g_signal_connect( vol->dlg, "focus-out-event",
+                      G_CALLBACK(on_volume_focus), vol );
 
-                       gtk_window_present( GTK_WINDOW(vol->dlg) );
-               } else {
-                       gtk_widget_destroy(vol->dlg);
-                       vol->dlg = NULL;
-               }
-       }
+            gtk_window_present( GTK_WINDOW(vol->dlg) );
+        } else {
+            gtk_widget_destroy(vol->dlg);
+            vol->dlg = NULL;
+        }
+    }
 }
 
 static int
 volume_constructor(plugin *p, char **fp)
 {
-       volume_t *vol;
-       line s;
-       GdkPixbuf *icon;
-       GtkWidget *image;
-       GtkIconTheme* theme;
-       GtkIconInfo* info;
-
-       ENTER;
-       s.len = 256;  
-       vol = g_new0(volume_t, 1);
-       g_return_val_if_fail(vol != NULL, 0);
-       p->priv = vol;
-
-       /* check if OSS mixer device could be open */
-       mixer_fd = open ("/dev/mixer", O_RDWR, 0);
-       if (mixer_fd < 0) {
-               RET(0);
-       }
-
-       vol->mainw = gtk_event_box_new();
-
-       theme = gtk_icon_theme_get_default();
-       if ( (info = gtk_icon_theme_lookup_icon( theme, "stock_volume", 24, 0 ) ) ) {
-               icon = gdk_pixbuf_new_from_file_at_size( 
-                               gtk_icon_info_get_filename( info ),
-                               24, 24, NULL );
-               gtk_icon_info_free( info );
-       }
-       else
-               icon = gdk_pixbuf_new_from_xpm_data((const char **) volume_xpm);
-       if (icon) {
-               image = gtk_image_new_from_pixbuf(icon);
-               gtk_container_add (GTK_CONTAINER (vol->mainw), image);
-       }
-
-       gtk_widget_add_events( vol->mainw, GDK_BUTTON_PRESS_MASK );
-       g_signal_connect( vol->mainw, "button-press-event",
-                       G_CALLBACK(on_button_press), p );
-       gtk_widget_set_size_request( vol->mainw, 24, 24 );
-
-       vol->dlg = NULL;
-       gtk_widget_show_all(vol->mainw);
-
-       gtk_container_add(GTK_CONTAINER(p->pwid), vol->mainw);
-
-       vol->tooltips = gtk_tooltips_new ();
+    volume_t *vol;
+    line s;
+    GdkPixbuf *icon;
+    GtkWidget *image;
+    GtkIconTheme* theme;
+    GtkIconInfo* info;
+
+    ENTER;
+    s.len = 256;
+    vol = g_new0(volume_t, 1);
+    g_return_val_if_fail(vol != NULL, 0);
+    p->priv = vol;
+
+    /* check if OSS mixer device could be open */
+    mixer_fd = open ("/dev/mixer", O_RDWR, 0);
+    if (mixer_fd < 0) {
+        RET(0);
+    }
+
+    vol->mainw = gtk_event_box_new();
+
+    theme = gtk_icon_theme_get_default();
+    if ( (info = gtk_icon_theme_lookup_icon( theme, "stock_volume", 24, 0 ) ) ) {
+        icon = gdk_pixbuf_new_from_file_at_size(
+                gtk_icon_info_get_filename( info ),
+                24, 24, NULL );
+        gtk_icon_info_free( info );
+    }
+    else
+            icon = gdk_pixbuf_new_from_xpm_data((const char **) volume_xpm);
+    if (icon) {
+        image = gtk_image_new_from_pixbuf(icon);
+        gtk_container_add (GTK_CONTAINER (vol->mainw), image);
+    }
+
+    gtk_widget_add_events( vol->mainw, GDK_BUTTON_PRESS_MASK );
+    g_signal_connect( vol->mainw, "button-press-event",
+            G_CALLBACK(on_button_press), p );
+    gtk_widget_set_size_request( vol->mainw, 24, 24 );
+
+    vol->dlg = NULL;
+    gtk_widget_show_all(vol->mainw);
+
+    vol->tooltips = gtk_tooltips_new ();
 #if GLIB_CHECK_VERSION( 2, 10, 0 )
     g_object_ref_sink( vol->tooltips );
 #else
@@ -144,24 +142,25 @@ volume_constructor(plugin *p, char **fp)
     gtk_object_sink( vol->tooltips );
 #endif
 
-       /* FIXME: display current level in tooltip. ex: "Volume Control: 80%"  */
-       gtk_tooltips_set_tip (vol->tooltips, vol->mainw, _("Volume control"), NULL);
+    /* FIXME: display current level in tooltip. ex: "Volume Control: 80%"  */
+    gtk_tooltips_set_tip (vol->tooltips, vol->mainw, _("Volume control"), NULL);
 
-       RET(1);
+    p->pwid = vol->mainw;
+    RET(1);
 }
 
 
 plugin_class volume_plugin_class = {
-       fname: NULL,
-       count: 0,
+    fname: NULL,
+    count: 0,
 
-       type : "volume",
+    type : "volume",
     name : N_("Volume Control"),
-       version: "1.0",
-       description : "Display and control volume",
+    version: "1.0",
+    description : "Display and control volume",
 
-       constructor : volume_constructor,
-       destructor  : volume_destructor,
+    constructor : volume_constructor,
+    destructor  : volume_destructor,
     config : NULL,
     save : NULL
 };
index fe1e5e2..924f541 100644 (file)
@@ -25,7 +25,6 @@
 #include <gdk-pixbuf/gdk-pixbuf.h>
 #include <alsa/asoundlib.h>
 #include "panel.h"
-#include "gtkbgbox.h"
 #include "misc.h"
 #include "plugin.h"
 #include "dbg.h"
 #define ICONS_MUTE PACKAGE_DATA_DIR "/lxpanel/images/mute.png"
 
 typedef struct {
-       GtkWidget *mainw;
-       GtkWidget *tray_icon;
-       GtkWidget *dlg;
-       GtkTooltips* tooltips;
-       GtkWidget *vscale;
-       snd_mixer_t *mixer;
-       snd_mixer_selem_id_t *sid;
-       snd_mixer_elem_t *master_element;
-       long alsa_min_vol, alsa_max_vol;
-       int mute;
-       int show;
+    GtkWidget *mainw;
+    GtkWidget *tray_icon;
+    GtkWidget *dlg;
+    GtkTooltips* tooltips;
+    GtkWidget *vscale;
+    snd_mixer_t *mixer;
+    snd_mixer_selem_id_t *sid;
+    snd_mixer_elem_t *master_element;
+    long alsa_min_vol, alsa_max_vol;
+    int mute;
+    int show;
 } volume_t;
 
 
@@ -52,240 +51,231 @@ typedef struct {
 /* ALSA */
 static gboolean find_element(volume_t *vol, const char *ename)
 {
-       for (vol->master_element=snd_mixer_first_elem(vol->mixer);vol->master_element;vol->master_element=snd_mixer_elem_next(vol->master_element)) {
-               snd_mixer_selem_get_id(vol->master_element, vol->sid);
-               if (!snd_mixer_selem_is_active(vol->master_element))
-                       continue;
+    for (vol->master_element=snd_mixer_first_elem(vol->mixer);vol->master_element;vol->master_element=snd_mixer_elem_next(vol->master_element)) {
+        snd_mixer_selem_get_id(vol->master_element, vol->sid);
+        if (!snd_mixer_selem_is_active(vol->master_element))
+            continue;
 
-               if (strcmp(ename, snd_mixer_selem_id_get_name(vol->sid))==0) {
-                       return TRUE;
-               }
-       }
+        if (strcmp(ename, snd_mixer_selem_id_get_name(vol->sid))==0) {
+            return TRUE;
+        }
+    }
 
-       return FALSE;
+    return FALSE;
 }
 
 static void asound_init(volume_t *vol)
 {
-       snd_mixer_selem_id_alloca(&vol->sid);
-       snd_mixer_open(&vol->mixer, 0);
-       snd_mixer_attach(vol->mixer, "default");
-       snd_mixer_selem_register(vol->mixer, NULL, NULL);
-       snd_mixer_load(vol->mixer);
-
-       /* Find Master element */
-       if (!find_element(vol, "Master"))
-               if (!find_element(vol, "Front"))
-                       if (!find_element(vol, "PCM"))
-                               exit;
-                               
-
-       snd_mixer_selem_get_playback_volume_range(vol->master_element, &vol->alsa_min_vol, &vol->alsa_max_vol);
-
-       snd_mixer_selem_set_playback_volume_range(vol->master_element, 0, 100);
+    snd_mixer_selem_id_alloca(&vol->sid);
+    snd_mixer_open(&vol->mixer, 0);
+    snd_mixer_attach(vol->mixer, "default");
+    snd_mixer_selem_register(vol->mixer, NULL, NULL);
+    snd_mixer_load(vol->mixer);
+
+    /* Find Master element */
+    if (!find_element(vol, "Master"))
+        if (!find_element(vol, "Front"))
+            if (!find_element(vol, "PCM"))
+                exit;
+
+
+    snd_mixer_selem_get_playback_volume_range(vol->master_element, &vol->alsa_min_vol, &vol->alsa_max_vol);
+
+    snd_mixer_selem_set_playback_volume_range(vol->master_element, 0, 100);
 }
 
 static int asound_read(volume_t *vol)
 {
-       long aleft, aright;
-       snd_mixer_handle_events(vol->mixer);
-       /* Left */
-       snd_mixer_selem_get_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_LEFT, &aleft);
-       /* Right */
-       snd_mixer_selem_get_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_RIGHT, &aright);
-
-       return (aleft + aright) >> 1;
+    long aleft, aright;
+    snd_mixer_handle_events(vol->mixer);
+    /* Left */
+    snd_mixer_selem_get_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_LEFT, &aleft);
+    /* Right */
+    snd_mixer_selem_get_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_RIGHT, &aright);
+
+    return (aleft + aright) >> 1;
 }
 
 static void asound_write(volume_t *vol, int volume)
 {
-       snd_mixer_selem_set_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_LEFT, volume);
-       snd_mixer_selem_set_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_RIGHT, volume);
+    snd_mixer_selem_set_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_LEFT, volume);
+    snd_mixer_selem_set_playback_volume(vol->master_element, SND_MIXER_SCHN_FRONT_RIGHT, volume);
 }
 
 static gboolean focus_out_event(GtkWidget *widget, GdkEvent *event, volume_t *vol)
 {
-       gtk_widget_hide(vol->dlg);
-       vol->show = 0;
-       return FALSE;
+    gtk_widget_hide(vol->dlg);
+    vol->show = 0;
+    return FALSE;
 }
 
 static void tray_icon_press(GtkWidget *widget, GdkEvent *event, volume_t *vol)
 {
-       if (vol->show==0) {
-               gtk_window_set_position(GTK_WINDOW(vol->dlg), GTK_WIN_POS_MOUSE);
-               gtk_scale_set_digits(GTK_SCALE(vol->vscale), asound_read(vol));
-               gtk_widget_show_all(vol->dlg);
-               vol->show = 1;
-       } else {
-               gtk_widget_hide(vol->dlg);
-               vol->show = 0;
-       }
+    if (vol->show==0) {
+        gtk_window_set_position(GTK_WINDOW(vol->dlg), GTK_WIN_POS_MOUSE);
+        gtk_scale_set_digits(GTK_SCALE(vol->vscale), asound_read(vol));
+        gtk_widget_show_all(vol->dlg);
+        vol->show = 1;
+    } else {
+        gtk_widget_hide(vol->dlg);
+        vol->show = 0;
+    }
 }
 
 static void on_vscale_value_changed(GtkRange *range, volume_t *vol)
 {
-       asound_write(vol, gtk_range_get_value(range));
+    asound_write(vol, gtk_range_get_value(range));
 }
 
 static void click_mute(GtkWidget *widget, volume_t *vol)
 {
-       int chn;
-
-       if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
-               gtk_image_set_from_file(vol->tray_icon, ICONS_MUTE);
-               for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++) {
-                       snd_mixer_selem_set_playback_switch(vol->master_element, chn, 0);
-               }
-       } else {
-               gtk_image_set_from_file(vol->tray_icon, ICONS_VOLUME);
-               for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++) {
-                       snd_mixer_selem_set_playback_switch(vol->master_element, chn, 1);
-               }
-       }
+    int chn;
+
+    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) {
+        gtk_image_set_from_file(vol->tray_icon, ICONS_MUTE);
+        for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++) {
+            snd_mixer_selem_set_playback_switch(vol->master_element, chn, 0);
+        }
+    } else {
+        gtk_image_set_from_file(vol->tray_icon, ICONS_VOLUME);
+        for (chn = 0; chn <= SND_MIXER_SCHN_LAST; chn++) {
+            snd_mixer_selem_set_playback_switch(vol->master_element, chn, 1);
+        }
+    }
 }
 
 static void panel_init(plugin *p)
 {
-       volume_t *vol = p->priv;
-       GtkWidget *scrolledwindow;
-       GtkWidget *viewport;
-       GtkWidget *box;
-       GtkWidget *frame;
-       GtkWidget *checkbutton;
-
-       /* set show flags */
-       vol->show = 0;
-
-       /* create a new window */
-       vol->dlg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
-       gtk_window_set_decorated(GTK_WINDOW(vol->dlg), FALSE);
-       gtk_container_set_border_width(GTK_CONTAINER(vol->dlg), 3);
-       gtk_window_set_default_size(GTK_WINDOW(vol->dlg), 80, 140);
-       gtk_window_set_skip_taskbar_hint(GTK_WINDOW(vol->dlg), TRUE);
-       gtk_window_set_skip_pager_hint(GTK_WINDOW(vol->dlg), TRUE);
-       gtk_window_set_type_hint(GTK_WINDOW(vol->dlg), GDK_WINDOW_TYPE_HINT_DIALOG);
-
-       /* setting background to default */
-       gtk_widget_set_style(vol->dlg, p->panel->defstyle);
-
-       /* Focus-out signal */
-       g_signal_connect (G_OBJECT (vol->dlg), "focus_out_event",
-                         G_CALLBACK (focus_out_event), vol);
-
-       scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
-       gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 1);
-       gtk_widget_show (scrolledwindow);
-       gtk_container_add (GTK_CONTAINER (vol->dlg), scrolledwindow);
-       GTK_WIDGET_UNSET_FLAGS (scrolledwindow, GTK_CAN_FOCUS);
-       gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
-       gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_SHADOW_OUT);
-
-       viewport = gtk_viewport_new (NULL, NULL);
-       gtk_widget_show (viewport);
-       gtk_container_add (GTK_CONTAINER (scrolledwindow), viewport);
-       gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
-       gtk_widget_show(viewport);
-
-       /* create frame */
-       frame = gtk_frame_new(_("Volume"));
-       gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
-       gtk_container_add(GTK_CONTAINER(viewport), frame);
-
-       /* create box */
-       box = gtk_vbox_new(FALSE, 0);
-
-       /* create controller */
-       vol->vscale = gtk_vscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(asound_read(vol), 0, 100, 0, 0, 0)));
-       gtk_scale_set_draw_value(GTK_SCALE(vol->vscale), FALSE);
-       gtk_range_set_inverted(GTK_RANGE(vol->vscale), TRUE);
-
-       g_signal_connect ((gpointer) vol->vscale, "value_changed",
+    volume_t *vol = p->priv;
+    GtkWidget *scrolledwindow;
+    GtkWidget *viewport;
+    GtkWidget *box;
+    GtkWidget *frame;
+    GtkWidget *checkbutton;
+
+    /* set show flags */
+    vol->show = 0;
+
+    /* create a new window */
+    vol->dlg = gtk_window_new(GTK_WINDOW_TOPLEVEL);
+    gtk_window_set_decorated(GTK_WINDOW(vol->dlg), FALSE);
+    gtk_container_set_border_width(GTK_CONTAINER(vol->dlg), 3);
+    gtk_window_set_default_size(GTK_WINDOW(vol->dlg), 80, 140);
+    gtk_window_set_skip_taskbar_hint(GTK_WINDOW(vol->dlg), TRUE);
+    gtk_window_set_skip_pager_hint(GTK_WINDOW(vol->dlg), TRUE);
+    gtk_window_set_type_hint(GTK_WINDOW(vol->dlg), GDK_WINDOW_TYPE_HINT_DIALOG);
+
+    /* setting background to default */
+    gtk_widget_set_style(vol->dlg, p->panel->defstyle);
+
+    /* Focus-out signal */
+    g_signal_connect (G_OBJECT (vol->dlg), "focus_out_event",
+              G_CALLBACK (focus_out_event), vol);
+
+    scrolledwindow = gtk_scrolled_window_new(NULL, NULL);
+    gtk_container_set_border_width (GTK_CONTAINER (scrolledwindow), 1);
+    gtk_widget_show (scrolledwindow);
+    gtk_container_add (GTK_CONTAINER (vol->dlg), scrolledwindow);
+    GTK_WIDGET_UNSET_FLAGS (scrolledwindow, GTK_CAN_FOCUS);
+    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW (scrolledwindow), GTK_POLICY_NEVER, GTK_POLICY_NEVER);
+    gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW(scrolledwindow), GTK_SHADOW_OUT);
+
+    viewport = gtk_viewport_new (NULL, NULL);
+    gtk_widget_show (viewport);
+    gtk_container_add (GTK_CONTAINER (scrolledwindow), viewport);
+    gtk_viewport_set_shadow_type (GTK_VIEWPORT (viewport), GTK_SHADOW_NONE);
+    gtk_widget_show(viewport);
+
+    /* create frame */
+    frame = gtk_frame_new(_("Volume"));
+    gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN);
+    gtk_container_add(GTK_CONTAINER(viewport), frame);
+
+    /* create box */
+    box = gtk_vbox_new(FALSE, 0);
+
+    /* create controller */
+    vol->vscale = gtk_vscale_new(GTK_ADJUSTMENT(gtk_adjustment_new(asound_read(vol), 0, 100, 0, 0, 0)));
+    gtk_scale_set_draw_value(GTK_SCALE(vol->vscale), FALSE);
+    gtk_range_set_inverted(GTK_RANGE(vol->vscale), TRUE);
+
+    g_signal_connect ((gpointer) vol->vscale, "value_changed",
                       G_CALLBACK (on_vscale_value_changed),
                       vol);
 
-       checkbutton = gtk_check_button_new_with_label(_("Mute"));
-       snd_mixer_selem_get_playback_switch(vol->master_element, 0, &vol->mute);
+    checkbutton = gtk_check_button_new_with_label(_("Mute"));
+    snd_mixer_selem_get_playback_switch(vol->master_element, 0, &vol->mute);
 
-       if (!vol->mute)
-               gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton), TRUE);
+    if (!vol->mute)
+        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton), TRUE);
 
-       g_signal_connect ((gpointer) checkbutton, "toggled",
+    g_signal_connect ((gpointer) checkbutton, "toggled",
                       G_CALLBACK (click_mute),
                       vol);
 
-       gtk_box_pack_start(GTK_BOX(box), vol->vscale, TRUE, TRUE, 0);
-       gtk_box_pack_end(GTK_BOX(box), checkbutton, FALSE, FALSE, 0);
-       gtk_container_add(GTK_CONTAINER(frame), box);
+    gtk_box_pack_start(GTK_BOX(box), vol->vscale, TRUE, TRUE, 0);
+    gtk_box_pack_end(GTK_BOX(box), checkbutton, FALSE, FALSE, 0);
+    gtk_container_add(GTK_CONTAINER(frame), box);
 
-       /* setting background to default */
-       gtk_widget_set_style(viewport, p->panel->defstyle);
+    /* setting background to default */
+    gtk_widget_set_style(viewport, p->panel->defstyle);
 }
 
 static void
 volumealsa_destructor(plugin *p)
 {
-       volume_t *vol = (volume_t *) p->priv;
-
-       ENTER;
-       if (vol->dlg)
-               gtk_widget_destroy(vol->dlg);
-       g_object_unref( vol->tooltips );
-       gtk_widget_destroy(vol->mainw);
-       g_free(vol);
-       RET();
+    volume_t *vol = (volume_t *) p->priv;
+
+    ENTER;
+    if (vol->dlg)
+        gtk_widget_destroy(vol->dlg);
+    g_object_unref( vol->tooltips );
+
+    g_free(vol);
+    RET();
 }
 
 static int
 volumealsa_constructor(plugin *p, char **fp)
 {
-       volume_t *vol;
-       line s;
-       GdkPixbuf *icon;
-       GtkWidget *image;
-       GtkIconTheme* theme;
-       GtkIconInfo* info;
-
-       ENTER;
-       s.len = 256;  
-       vol = g_new0(volume_t, 1);
-       g_return_val_if_fail(vol != NULL, 0);
-       p->priv = vol;
-
-       /* initializing */
-       asound_init(vol);
-       panel_init(p);
-
-       /* main */
-       vol->mainw = gtk_event_box_new();
-
-       gtk_widget_add_events(vol->mainw, GDK_BUTTON_PRESS_MASK);
-       gtk_widget_set_size_request( vol->mainw, 24, 24 );
-       gtk_container_add(GTK_CONTAINER(p->pwid), vol->mainw);
-       g_signal_connect(G_OBJECT(vol->mainw), "button-press-event", 
+    volume_t *vol;
+    line s;
+    GdkPixbuf *icon;
+    GtkWidget *image;
+    GtkIconTheme* theme;
+    GtkIconInfo* info;
+
+    ENTER;
+    s.len = 256;
+    vol = g_new0(volume_t, 1);
+    g_return_val_if_fail(vol != NULL, 0);
+    p->priv = vol;
+
+    /* initializing */
+    asound_init(vol);
+    panel_init(p);
+
+    /* main */
+    vol->mainw = gtk_event_box_new();
+
+    gtk_widget_add_events(vol->mainw, GDK_BUTTON_PRESS_MASK);
+    gtk_widget_set_size_request( vol->mainw, 24, 24 );
+
+    g_signal_connect(G_OBJECT(vol->mainw), "button-press-event",
                          G_CALLBACK(tray_icon_press), vol);
 
-       /* tray icon */
-       snd_mixer_selem_get_playback_switch(vol->master_element, 0, &vol->mute);
-       if (vol->mute==0)
-               vol->tray_icon = gtk_image_new_from_file(ICONS_MUTE);
-       else
-               vol->tray_icon = gtk_image_new_from_file(ICONS_VOLUME);
-
+    /* tray icon */
+    snd_mixer_selem_get_playback_switch(vol->master_element, 0, &vol->mute);
+    if (vol->mute==0)
+        vol->tray_icon = gtk_image_new_from_file(ICONS_MUTE);
+    else
+        vol->tray_icon = gtk_image_new_from_file(ICONS_VOLUME);
 
-       /* background image */
-       if (p->panel->background) {
-               vol->mainw->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-               gtk_bgbox_set_background(vol->mainw, BG_STYLE, 0, 0);
-       } else if (p->panel->transparent) {
-               gtk_bgbox_set_background(vol->mainw, BG_ROOT, p->panel->tintcolor, p->panel->alpha);
-       }
+    gtk_container_add(GTK_CONTAINER(vol->mainw), vol->tray_icon);
 
-       gtk_container_add(GTK_CONTAINER(vol->mainw), vol->tray_icon);
+    gtk_widget_show_all(vol->mainw);
 
-       gtk_widget_show_all(vol->mainw);
-
-       vol->tooltips = gtk_tooltips_new ();
+    vol->tooltips = gtk_tooltips_new ();
 #if GLIB_CHECK_VERSION( 2, 10, 0 )
     g_object_ref_sink( vol->tooltips );
 #else
@@ -293,24 +283,27 @@ volumealsa_constructor(plugin *p, char **fp)
     gtk_object_sink( vol->tooltips );
 #endif
 
-       /* FIXME: display current level in tooltip. ex: "Volume Control: 80%"  */
-       gtk_tooltips_set_tip (vol->tooltips, vol->mainw, _("Volume control"), NULL);
+    /* FIXME: display current level in tooltip. ex: "Volume Control: 80%"  */
+    gtk_tooltips_set_tip (vol->tooltips, vol->mainw, _("Volume control"), NULL);
+
+    /* store the created plugin widget in plugin->pwid */
+    p->pwid = vol->mainw;
 
-       RET(1);
+    RET(1);
 }
 
 
 plugin_class volumealsa_plugin_class = {
-       fname: NULL,
-       count: 0,
-
-       type : "volumealsa",
-       name : N_("Volume Control"),
-       version: "1.0",
-       description : "Display and control volume for ALSA",
-
-       constructor : volumealsa_constructor,
-       destructor  : volumealsa_destructor,
-       config : NULL,
-       save : NULL
+    fname: NULL,
+    count: 0,
+
+    type : "volumealsa",
+    name : N_("Volume Control"),
+    version: "1.0",
+    description : "Display and control volume for ALSA",
+
+    constructor : volumealsa_constructor,
+    destructor  : volumealsa_destructor,
+    config : NULL,
+    save : NULL
 };
index b646f7c..f39e992 100644 (file)
@@ -24,7 +24,6 @@
 #include "panel.h"
 #include "misc.h"
 #include "plugin.h"
-#include "gtkbgbox.h"
 //#define DEBUG
 #include "dbg.h"
 
@@ -57,7 +56,7 @@ toggle_shaded(wincmd *wc, guint32 action)
     ENTER;
     win = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CLIENT_LIST, XA_WINDOW, &num);
     if (!win)
-       RET();
+    RET();
     if (!num)
         goto end;
     //tmp = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CURRENT_DESKTOP, XA_CARDINAL, 0);
@@ -104,7 +103,7 @@ toggle_iconify(wincmd *wc, guint32 action)
     ENTER;
     win = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CLIENT_LIST, XA_WINDOW, &num);
     if (!win)
-       RET();
+    RET();
     if (!num)
         goto end;
     //tmp = get_xaproperty (GDK_ROOT_WINDOW(), a_NET_CURRENT_DESKTOP, XA_CARDINAL, 0);
@@ -252,16 +251,13 @@ wincmd_constructor(plugin *p, char **fp)
           G_CALLBACK(clicked), (gpointer)wc);
 
     gtk_widget_show(button);
-    gtk_container_add(GTK_CONTAINER(p->pwid), button);
-    /* background image */
-    if (p->panel->background) {
-        button->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        gtk_bgbox_set_background(button, BG_STYLE, 0, 0);
-    } else if (p->panel->transparent)
-        gtk_bgbox_set_background(button, BG_ROOT, p->panel->tintcolor, p->panel->alpha);
 
     g_free(fname);
     gtk_tooltips_set_tip(GTK_TOOLTIPS (wc->tips), button, _("Left click to iconify all windows. Middle click to shade them"), NULL);
+
+    /* store the created plugin widget in plugin->pwid */
+    p->pwid = button;
+
     RET(1);
 
  error:
index dfdd3f8..19163e8 100644 (file)
@@ -14,7 +14,7 @@
  *
  * You should have received a copy of the GNU Lesser General Public
  * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 
+ * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  * Boston, MA 02110-1301 USA.
  *
  * Used to be: eggtraymanager.c
@@ -60,7 +60,7 @@ typedef struct
 {
   long id, len;
   long remaining_len;
-  
+
   long timeout;
   char *str;
 #ifdef GDK_WINDOWING_X11
@@ -83,13 +83,13 @@ static gboolean na_tray_manager_check_running_screen_x11 (GdkScreen *screen);
 
 static void na_tray_manager_finalize     (GObject      *object);
 static void na_tray_manager_set_property (GObject      *object,
-                                         guint         prop_id,
-                                         const GValue *value,
-                                         GParamSpec   *pspec);
+                      guint         prop_id,
+                      const GValue *value,
+                      GParamSpec   *pspec);
 static void na_tray_manager_get_property (GObject      *object,
-                                         guint         prop_id,
-                                         GValue       *value,
-                                         GParamSpec   *pspec);
+                      guint         prop_id,
+                      GValue       *value,
+                      GParamSpec   *pspec);
 
 static void na_tray_manager_unmanage (NaTrayManager *manager);
 
@@ -106,7 +106,7 @@ static void
 na_tray_manager_class_init (NaTrayManagerClass *klass)
 {
   GObjectClass *gobject_class;
-  
+
   gobject_class = (GObjectClass *)klass;
 
   gobject_class->finalize = na_tray_manager_finalize;
@@ -114,67 +114,67 @@ na_tray_manager_class_init (NaTrayManagerClass *klass)
   gobject_class->get_property = na_tray_manager_get_property;
 
   g_object_class_install_property (gobject_class,
-                                  PROP_ORIENTATION,
-                                  g_param_spec_enum ("orientation",
-                                                     "orientation",
-                                                     "orientation",
-                                                     GTK_TYPE_ORIENTATION,
-                                                     GTK_ORIENTATION_HORIZONTAL,
-                                                     G_PARAM_READWRITE |
-                                                     G_PARAM_CONSTRUCT |
-                                                     G_PARAM_STATIC_NAME |
-                                                     G_PARAM_STATIC_NICK |
-                                                     G_PARAM_STATIC_BLURB));
-  
+                   PROP_ORIENTATION,
+                   g_param_spec_enum ("orientation",
+                              "orientation",
+                              "orientation",
+                              GTK_TYPE_ORIENTATION,
+                              GTK_ORIENTATION_HORIZONTAL,
+                              G_PARAM_READWRITE |
+                              G_PARAM_CONSTRUCT |
+                              G_PARAM_STATIC_NAME |
+                              G_PARAM_STATIC_NICK |
+                              G_PARAM_STATIC_BLURB));
+
   manager_signals[TRAY_ICON_ADDED] =
     g_signal_new ("tray_icon_added",
-                 G_OBJECT_CLASS_TYPE (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (NaTrayManagerClass, tray_icon_added),
-                 NULL, NULL,
-                 g_cclosure_marshal_VOID__OBJECT,
-                 G_TYPE_NONE, 1,
-                 GTK_TYPE_SOCKET);
+          G_OBJECT_CLASS_TYPE (klass),
+          G_SIGNAL_RUN_LAST,
+          G_STRUCT_OFFSET (NaTrayManagerClass, tray_icon_added),
+          NULL, NULL,
+          g_cclosure_marshal_VOID__OBJECT,
+          G_TYPE_NONE, 1,
+          GTK_TYPE_SOCKET);
 
   manager_signals[TRAY_ICON_REMOVED] =
     g_signal_new ("tray_icon_removed",
-                 G_OBJECT_CLASS_TYPE (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (NaTrayManagerClass, tray_icon_removed),
-                 NULL, NULL,
-                 g_cclosure_marshal_VOID__OBJECT,
-                 G_TYPE_NONE, 1,
-                 GTK_TYPE_SOCKET);
+          G_OBJECT_CLASS_TYPE (klass),
+          G_SIGNAL_RUN_LAST,
+          G_STRUCT_OFFSET (NaTrayManagerClass, tray_icon_removed),
+          NULL, NULL,
+          g_cclosure_marshal_VOID__OBJECT,
+          G_TYPE_NONE, 1,
+          GTK_TYPE_SOCKET);
   manager_signals[MESSAGE_SENT] =
     g_signal_new ("message_sent",
-                 G_OBJECT_CLASS_TYPE (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (NaTrayManagerClass, message_sent),
-                 NULL, NULL,
-                 _na_marshal_VOID__OBJECT_STRING_LONG_LONG,
-                 G_TYPE_NONE, 4,
-                 GTK_TYPE_SOCKET,
-                 G_TYPE_STRING,
-                 G_TYPE_LONG,
-                 G_TYPE_LONG);
+          G_OBJECT_CLASS_TYPE (klass),
+          G_SIGNAL_RUN_LAST,
+          G_STRUCT_OFFSET (NaTrayManagerClass, message_sent),
+          NULL, NULL,
+          _na_marshal_VOID__OBJECT_STRING_LONG_LONG,
+          G_TYPE_NONE, 4,
+          GTK_TYPE_SOCKET,
+          G_TYPE_STRING,
+          G_TYPE_LONG,
+          G_TYPE_LONG);
   manager_signals[MESSAGE_CANCELLED] =
     g_signal_new ("message_cancelled",
-                 G_OBJECT_CLASS_TYPE (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (NaTrayManagerClass, message_cancelled),
-                 NULL, NULL,
-                 _na_marshal_VOID__OBJECT_LONG,
-                 G_TYPE_NONE, 2,
-                 GTK_TYPE_SOCKET,
-                 G_TYPE_LONG);
+          G_OBJECT_CLASS_TYPE (klass),
+          G_SIGNAL_RUN_LAST,
+          G_STRUCT_OFFSET (NaTrayManagerClass, message_cancelled),
+          NULL, NULL,
+          _na_marshal_VOID__OBJECT_LONG,
+          G_TYPE_NONE, 2,
+          GTK_TYPE_SOCKET,
+          G_TYPE_LONG);
   manager_signals[LOST_SELECTION] =
     g_signal_new ("lost_selection",
-                 G_OBJECT_CLASS_TYPE (klass),
-                 G_SIGNAL_RUN_LAST,
-                 G_STRUCT_OFFSET (NaTrayManagerClass, lost_selection),
-                 NULL, NULL,
-                 g_cclosure_marshal_VOID__VOID,
-                 G_TYPE_NONE, 0);
+          G_OBJECT_CLASS_TYPE (klass),
+          G_SIGNAL_RUN_LAST,
+          G_STRUCT_OFFSET (NaTrayManagerClass, lost_selection),
+          NULL, NULL,
+          g_cclosure_marshal_VOID__VOID,
+          G_TYPE_NONE, 0);
 
 #if defined (GDK_WINDOWING_X11)
   /* Nothing */
@@ -189,22 +189,22 @@ static void
 na_tray_manager_finalize (GObject *object)
 {
   NaTrayManager *manager;
-  
+
   manager = NA_TRAY_MANAGER (object);
 
   na_tray_manager_unmanage (manager);
 
   g_list_free (manager->messages);
   g_hash_table_destroy (manager->socket_table);
-  
+
   G_OBJECT_CLASS (na_tray_manager_parent_class)->finalize (object);
 }
 
 static void
 na_tray_manager_set_property (GObject      *object,
-                             guint         prop_id,
-                             const GValue *value,
-                             GParamSpec   *pspec)
+                  guint         prop_id,
+                  const GValue *value,
+                  GParamSpec   *pspec)
 {
   NaTrayManager *manager = NA_TRAY_MANAGER (object);
 
@@ -221,9 +221,9 @@ na_tray_manager_set_property (GObject      *object,
 
 static void
 na_tray_manager_get_property (GObject    *object,
-                             guint       prop_id,
-                             GValue     *value,
-                             GParamSpec *pspec)
+                  guint       prop_id,
+                  GValue     *value,
+                  GParamSpec *pspec)
 {
   NaTrayManager *manager = NA_TRAY_MANAGER (object);
 
@@ -252,7 +252,7 @@ na_tray_manager_new (void)
 
 static gboolean
 na_tray_manager_plug_removed (GtkSocket       *socket,
-                             NaTrayManager   *manager)
+                  NaTrayManager   *manager)
 {
   Window *window;
 
@@ -260,8 +260,8 @@ na_tray_manager_plug_removed (GtkSocket       *socket,
 
   g_hash_table_remove (manager->socket_table, GINT_TO_POINTER (*window));
   g_object_set_data (G_OBJECT (socket), "na-tray-child-window",
-                    NULL);
-  
+             NULL);
+
   g_signal_emit (manager, manager_signals[TRAY_ICON_REMOVED], 0, socket);
 
   /* This destroys the socket. */
@@ -302,7 +302,7 @@ na_tray_manager_socket_style_set (GtkWidget *widget,
 
 static void
 na_tray_manager_handle_dock_request (NaTrayManager       *manager,
-                                    XClientMessageEvent *xevent)
+                     XClientMessageEvent *xevent)
 {
   GtkWidget *socket;
   GtkWidget *test;
@@ -314,7 +314,7 @@ na_tray_manager_handle_dock_request (NaTrayManager       *manager,
       /* We already got this notification earlier, ignore this one */
       return;
     }
-  
+
   socket = gtk_socket_new ();
 
   gtk_widget_set_app_paintable (socket, TRUE);
@@ -326,33 +326,33 @@ na_tray_manager_handle_dock_request (NaTrayManager       *manager,
                     G_CALLBACK (na_tray_manager_socket_exposed), NULL);
   g_signal_connect_after (socket, "style_set",
                           G_CALLBACK (na_tray_manager_socket_style_set), NULL);
-  
+
   /* We need to set the child window here
    * so that the client can call _get functions
    * in the signal handler
    */
   window = g_new (Window, 1);
   *window = xevent->data.l[2];
-      
+
   g_object_set_data_full (G_OBJECT (socket),
-                         "na-tray-child-window",
-                         window, g_free);
+              "na-tray-child-window",
+              window, g_free);
   g_signal_emit (manager, manager_signals[TRAY_ICON_ADDED], 0,
-                socket);
+         socket);
 
   /* Add the socket only if it's been attached */
   if (GTK_IS_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (socket))))
     {
       g_signal_connect (socket, "plug_removed",
-                       G_CALLBACK (na_tray_manager_plug_removed), manager);
-      
+            G_CALLBACK (na_tray_manager_plug_removed), manager);
+
       gtk_socket_add_id (GTK_SOCKET (socket), *window);
 
       g_hash_table_insert (manager->socket_table, GINT_TO_POINTER (*window), socket);
 
       /*
        * Make sure the icons have a meaningfull size ...
-       */ 
+       */
       req.width = req.height = 1;
       gtk_widget_size_request (socket, &req);
       /*
@@ -360,7 +360,7 @@ na_tray_manager_handle_dock_request (NaTrayManager       *manager,
       {
           gint nw = MAX (24, req.width);
           gint nh = MAX (24, req.height);
-          g_warning (_("tray icon has requested a size of (%i x %i), resizing to (%i x %i)"), 
+          g_warning (_("tray icon has requested a size of (%i x %i), resizing to (%i x %i)"),
                       req.width, req.height, nw, nh);
           gtk_widget_set_size_request(icon, nw,  nh);
       }
@@ -387,7 +387,7 @@ na_tray_manager_handle_client_message_message_data (GdkXEvent *xev,
   NaTrayManager       *manager;
   GList               *p;
   int                  len;
-  
+
   xevent  = (XClientMessageEvent *) xev;
   manager = data;
 
@@ -397,32 +397,32 @@ na_tray_manager_handle_client_message_message_data (GdkXEvent *xev,
       PendingMessage *msg = p->data;
 
       if (xevent->window == msg->window)
-       {
-         /* Append the message */
-         len = MIN (msg->remaining_len, 20);
+    {
+      /* Append the message */
+      len = MIN (msg->remaining_len, 20);
 
-         memcpy ((msg->str + msg->len - msg->remaining_len),
-                 &xevent->data, len);
-         msg->remaining_len -= len;
+      memcpy ((msg->str + msg->len - msg->remaining_len),
+          &xevent->data, len);
+      msg->remaining_len -= len;
 
-         if (msg->remaining_len == 0)
-           {
-             GtkSocket *socket;
+      if (msg->remaining_len == 0)
+        {
+          GtkSocket *socket;
 
-             socket = g_hash_table_lookup (manager->socket_table,
+          socket = g_hash_table_lookup (manager->socket_table,
                                             GINT_TO_POINTER (msg->window));
 
-             if (socket)
-                 g_signal_emit (manager, manager_signals[MESSAGE_SENT], 0,
-                                socket, msg->str, msg->id, msg->timeout);
+          if (socket)
+          g_signal_emit (manager, manager_signals[MESSAGE_SENT], 0,
+                 socket, msg->str, msg->id, msg->timeout);
 
-             pending_message_free (msg);
-             manager->messages = g_list_remove_link (manager->messages, p);
+          pending_message_free (msg);
+          manager->messages = g_list_remove_link (manager->messages, p);
               g_list_free_1 (p);
-           }
+        }
 
           break;
-       }
+    }
     }
 
   return GDK_FILTER_REMOVE;
@@ -430,7 +430,7 @@ na_tray_manager_handle_client_message_message_data (GdkXEvent *xev,
 
 static void
 na_tray_manager_handle_begin_message (NaTrayManager       *manager,
-                                     XClientMessageEvent *xevent)
+                      XClientMessageEvent *xevent)
 {
   GtkSocket      *socket;
   GList          *p;
@@ -451,14 +451,14 @@ na_tray_manager_handle_begin_message (NaTrayManager       *manager,
       PendingMessage *msg = p->data;
 
       if (xevent->window == msg->window &&
-         xevent->data.l[4] == msg->id)
-       {
-         /* Hmm, we found it, now remove it */
-         pending_message_free (msg);
-         manager->messages = g_list_remove_link (manager->messages, p);
+      xevent->data.l[4] == msg->id)
+    {
+      /* Hmm, we found it, now remove it */
+      pending_message_free (msg);
+      manager->messages = g_list_remove_link (manager->messages, p);
           g_list_free_1 (p);
-         break;
-       }
+      break;
+    }
     }
 
   timeout = xevent->data.l[2];
@@ -487,33 +487,33 @@ na_tray_manager_handle_begin_message (NaTrayManager       *manager,
 
 static void
 na_tray_manager_handle_cancel_message (NaTrayManager       *manager,
-                                      XClientMessageEvent *xevent)
+                       XClientMessageEvent *xevent)
 {
   GList     *p;
   GtkSocket *socket;
-  
+
   /* Check if the message is in the queue and remove it if so */
   for (p = manager->messages; p; p = p->next)
     {
       PendingMessage *msg = p->data;
 
       if (xevent->window == msg->window &&
-         xevent->data.l[4] == msg->id)
-       {
-         pending_message_free (msg);
-         manager->messages = g_list_remove_link (manager->messages, p);
+      xevent->data.l[4] == msg->id)
+    {
+      pending_message_free (msg);
+      manager->messages = g_list_remove_link (manager->messages, p);
           g_list_free_1 (p);
-         break;
-       }
+      break;
+    }
     }
 
   socket = g_hash_table_lookup (manager->socket_table,
                                 GINT_TO_POINTER (xevent->window));
-  
+
   if (socket)
     {
       g_signal_emit (manager, manager_signals[MESSAGE_CANCELLED], 0,
-                    socket, xevent->data.l[2]);
+             socket, xevent->data.l[2]);
     }
 }
 
@@ -564,11 +564,11 @@ na_tray_manager_window_filter (GdkXEvent *xev,
        * na_tray_manager_handle_client_message_opcode() for details */
       if (xevent->xclient.message_type == manager->opcode_atom &&
           xevent->xclient.data.l[1]    == SYSTEM_TRAY_REQUEST_DOCK)
-       {
+    {
           na_tray_manager_handle_dock_request (manager,
                                                (XClientMessageEvent *) xevent);
           return GDK_FILTER_REMOVE;
-       }
+    }
     }
   else if (xevent->type == SelectionClear)
     {
@@ -592,7 +592,7 @@ na_tray_manager_selection_clear_event (GtkWidget         *widget,
   return FALSE;
 }
 #endif
-#endif  
+#endif
 
 static void
 na_tray_manager_unmanage (NaTrayManager *manager)
@@ -609,13 +609,13 @@ na_tray_manager_unmanage (NaTrayManager *manager)
   g_assert (GTK_IS_INVISIBLE (invisible));
   g_assert (GTK_WIDGET_REALIZED (invisible));
   g_assert (GDK_IS_WINDOW (invisible->window));
-  
+
   display = gtk_widget_get_display (invisible);
-  
+
   if (gdk_selection_owner_get_for_display (display, manager->selection_atom) ==
       invisible->window)
     {
-      timestamp = gdk_x11_get_server_time (invisible->window);      
+      timestamp = gdk_x11_get_server_time (invisible->window);
       gdk_selection_owner_set_for_display (display,
                                            NULL,
                                            manager->selection_atom,
@@ -627,7 +627,7 @@ na_tray_manager_unmanage (NaTrayManager *manager)
   //available
   // See bug #351254
   gdk_window_remove_filter (invisible->window,
-                            na_tray_manager_window_filter, manager);  
+                            na_tray_manager_window_filter, manager);
 
   manager->invisible = NULL; /* prior to destroy for reentrancy paranoia */
   gtk_widget_destroy (invisible);
@@ -651,15 +651,15 @@ na_tray_manager_set_orientation_property (NaTrayManager *manager)
                                                             "_NET_SYSTEM_TRAY_ORIENTATION");
 
   data[0] = manager->orientation == GTK_ORIENTATION_HORIZONTAL ?
-               SYSTEM_TRAY_ORIENTATION_HORZ :
-               SYSTEM_TRAY_ORIENTATION_VERT;
+        SYSTEM_TRAY_ORIENTATION_HORZ :
+        SYSTEM_TRAY_ORIENTATION_VERT;
 
   XChangeProperty (GDK_DISPLAY_XDISPLAY (display),
-                  GDK_WINDOW_XWINDOW (manager->invisible->window),
+           GDK_WINDOW_XWINDOW (manager->invisible->window),
                    orientation_atom,
-                  XA_CARDINAL, 32,
-                  PropModeReplace,
-                  (guchar *) &data, 1);
+           XA_CARDINAL, 32,
+           PropModeReplace,
+           (guchar *) &data, 1);
 #endif
 }
 
@@ -667,14 +667,14 @@ na_tray_manager_set_orientation_property (NaTrayManager *manager)
 
 static gboolean
 na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
-                                  GdkScreen     *screen)
+                   GdkScreen     *screen)
 {
   GdkDisplay *display;
   Screen     *xscreen;
   GtkWidget  *invisible;
   char       *selection_atom_name;
   guint32     timestamp;
-  
+
   g_return_val_if_fail (NA_IS_TRAY_MANAGER (manager), FALSE);
   g_return_val_if_fail (manager->screen == NULL, FALSE);
 
@@ -687,20 +687,20 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
 #endif
   display = gdk_screen_get_display (screen);
   xscreen = GDK_SCREEN_XSCREEN (screen);
-  
+
   invisible = gtk_invisible_new_for_screen (screen);
   gtk_widget_realize (invisible);
-  
+
   gtk_widget_add_events (invisible,
                          GDK_PROPERTY_CHANGE_MASK | GDK_STRUCTURE_MASK);
 
   selection_atom_name = g_strdup_printf ("_NET_SYSTEM_TRAY_S%d",
-                                        gdk_screen_get_number (screen));
+                     gdk_screen_get_number (screen));
   manager->selection_atom = gdk_atom_intern (selection_atom_name, FALSE);
   g_free (selection_atom_name);
 
   na_tray_manager_set_orientation_property (manager);
-  
+
   timestamp = gdk_x11_get_server_time (invisible->window);
 
   /* Check if we could set the selection owner successfully */
@@ -724,16 +724,16 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
       xev.data.l[1] = gdk_x11_atom_to_xatom_for_display (display,
                                                          manager->selection_atom);
       xev.data.l[2] = GDK_WINDOW_XWINDOW (invisible->window);
-      xev.data.l[3] = 0;       /* manager specific data */
-      xev.data.l[4] = 0;       /* manager specific data */
+      xev.data.l[3] = 0;    /* manager specific data */
+      xev.data.l[4] = 0;    /* manager specific data */
 
       XSendEvent (GDK_DISPLAY_XDISPLAY (display),
-                 RootWindowOfScreen (xscreen),
-                 False, StructureNotifyMask, (XEvent *)&xev);
+          RootWindowOfScreen (xscreen),
+          False, StructureNotifyMask, (XEvent *)&xev);
 
       manager->invisible = invisible;
       g_object_ref (G_OBJECT (manager->invisible));
-      
+
       opcode_atom = gdk_atom_intern ("_NET_SYSTEM_TRAY_OPCODE", FALSE);
       manager->opcode_atom = gdk_x11_atom_to_xatom_for_display (display,
                                                                 opcode_atom);
@@ -764,7 +764,7 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
   else
     {
       gtk_widget_destroy (invisible);
+
       return FALSE;
     }
 }
@@ -773,7 +773,7 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
 
 gboolean
 na_tray_manager_manage_screen (NaTrayManager *manager,
-                              GdkScreen     *screen)
+                   GdkScreen     *screen)
 {
   g_return_val_if_fail (GDK_IS_SCREEN (screen), FALSE);
   g_return_val_if_fail (manager->screen == NULL, FALSE);
@@ -824,7 +824,7 @@ na_tray_manager_check_running (GdkScreen *screen)
 
 char *
 na_tray_manager_get_child_title (NaTrayManager      *manager,
-                                NaTrayManagerChild *child)
+                 NaTrayManagerChild *child)
 {
   char *retval = NULL;
 #ifdef GDK_WINDOWING_X11
@@ -839,11 +839,11 @@ na_tray_manager_get_child_title (NaTrayManager      *manager,
 
   g_return_val_if_fail (NA_IS_TRAY_MANAGER (manager), NULL);
   g_return_val_if_fail (GTK_IS_SOCKET (child), NULL);
-  
+
   display = gdk_screen_get_display (manager->screen);
 
   child_window = g_object_get_data (G_OBJECT (child),
-                                   "na-tray-child-window");
+                    "na-tray-child-window");
 
   utf8_string = gdk_x11_get_xatom_by_name_for_display (display, "UTF8_STRING");
   atom = gdk_x11_get_xatom_by_name_for_display (display, "_NET_WM_NAME");
@@ -851,20 +851,20 @@ na_tray_manager_get_child_title (NaTrayManager      *manager,
   gdk_error_trap_push ();
 
   result = XGetWindowProperty (GDK_DISPLAY_XDISPLAY (display),
-                              *child_window,
-                              atom,
-                              0, G_MAXLONG,
-                              False, utf8_string,
-                              &type, &format, &nitems,
-                              &bytes_after, (guchar **)&val);
-  
+                   *child_window,
+                   atom,
+                   0, G_MAXLONG,
+                   False, utf8_string,
+                   &type, &format, &nitems,
+                   &bytes_after, (guchar **)&val);
+
   if (gdk_error_trap_pop () || result != Success || type != utf8_string)
     return NULL;
 
   if (format != 8 || nitems == 0)
     {
       if (val)
-       XFree (val);
+    XFree (val);
       return NULL;
     }
 
@@ -883,7 +883,7 @@ na_tray_manager_get_child_title (NaTrayManager      *manager,
 
 void
 na_tray_manager_set_orientation (NaTrayManager  *manager,
-                                GtkOrientation  orientation)
+                 GtkOrientation  orientation)
 {
   g_return_if_fail (NA_IS_TRAY_MANAGER (manager));
 
index 416cd3b..10468b9 100644 (file)
@@ -9,8 +9,6 @@
 #include "misc.h"
 #include "plugin.h"
 #include "bg.h"
-#include "gtkbgbox.h"
-
 
 #include "eggtraymanager.h"
 #include "fixedtip.h"
 
 
 typedef struct {
-    GtkWidget *mainw;
     plugin *plug;
     GtkWidget *box;
-    /////
     NaTrayManager *tray_manager;
     int icon_num;
 } tray;
@@ -34,12 +30,17 @@ typedef struct {
 static void
 force_redraw (tray *tr)
 {
-  /* Force the icons to redraw their backgrounds.
-   * gtk_widget_queue_draw() doesn't work across process boundaries,
-   * so we do this instead.
-   */
-  gtk_widget_hide (tr->box);
-  gtk_widget_show (tr->box);
+    /* Force the icons to redraw their backgrounds.
+    * gtk_widget_queue_draw() doesn't work across process boundaries,
+    * so we do this instead.
+    */
+    GtkWidget* w = tr->plug->pwid;
+    gtk_widget_set_size_request( w, w->allocation.width, w->allocation.height );
+    gtk_widget_hide (tr->box);
+    if( gtk_events_pending() )
+        gtk_main_iteration();
+    gtk_widget_show (tr->box);
+    gtk_widget_set_size_request( w, -1, -1 );
 }
 
 
@@ -48,6 +49,9 @@ tray_added (NaTrayManager *manager, GtkWidget *icon, tray *tr)
 {
     gtk_box_pack_end (GTK_BOX (tr->box), icon, FALSE, FALSE, 0);
     gtk_widget_show (icon);
+    /* g_debug( "add icon %p", icon ); */
+    plugin_widget_set_background( icon, tr->plug->panel );
+
     if (!tr->icon_num) {
         DBG("first icon\n");
         gtk_widget_show_all(tr->box);
@@ -118,7 +122,6 @@ tray_constructor(plugin *p, char** fp)
     s.len = 256;
     if( fp )
     {
-        g_debug("_tray");
         while ( lxpanel_get_line(fp, &s) != LINE_BLOCK_END) {
             g_debug("s.str = \'%s\'", s.str);
             ERR("tray: illegal in this context %s\n", s.str);
@@ -132,19 +135,7 @@ tray_constructor(plugin *p, char** fp)
     tr->icon_num = 0;
 
     tr->box = p->panel->my_box_new(FALSE, 0);
-    gtk_container_add(GTK_CONTAINER(p->pwid), tr->box);
 
-    /* background */
-    if (p->panel->background) {
-        tr->box->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        p->pwid->style->bg_pixmap[0] = p->panel->bbox->style->bg_pixmap[0];
-        gtk_bgbox_set_background(tr->box, BG_STYLE, 0, 0);
-        gtk_bgbox_set_background(p->pwid, BG_STYLE, 0, 0);
-    } else if (p->panel->transparent) {
-        gtk_bgbox_set_background(p->pwid, BG_ROOT, p->panel->tintcolor, p->panel->alpha);
-    }
-
-    gtk_container_set_border_width(GTK_CONTAINER(p->pwid), 1);
     screen = gtk_widget_get_screen (GTK_WIDGET (p->panel->topgwin));
 
     if (na_tray_manager_check_running(screen)) {
@@ -163,6 +154,13 @@ tray_constructor(plugin *p, char** fp)
 
     gtk_widget_show_all(tr->box);
     gtk_widget_set_size_request (tr->box, -1, -1);
+
+    p->pwid = gtk_event_box_new();
+    GTK_WIDGET_SET_FLAGS( p->pwid, GTK_NO_WINDOW );
+
+    gtk_container_add( (GtkContainer*)p->pwid, tr->box );
+    gtk_container_set_border_width(GTK_CONTAINER(p->pwid), 1);
+
     RET(1);
 
 }
@@ -171,13 +169,15 @@ static void orientation_changed( plugin* p )
 {
     tray *tr = (tray *)p->priv;
     GtkBox* newbox;
-    newbox = GTK_BOX(recreate_box( GTK_BOX(tr->box), p->panel->orientation ));
-    if( GTK_WIDGET(newbox) != tr->box ) {
-        /* Since the old box has been destroyed,
-        we need to re-add the new box to the container */
-        tr->box = GTK_WIDGET(newbox);
-        gtk_container_add(GTK_CONTAINER(p->pwid), tr->box);
-    }
+    GList *l, *children;
+    int width = 0, height = 0;
+
+    na_tray_manager_set_orientation( tr->tray_manager, p->panel->orientation );
+
+    /* weird... na_tray_manager will re-add the icons to the tray automatically... */
+    gtk_widget_destroy( tr->box );
+    tr->box = p->panel->my_box_new( FALSE, 0 );
+    gtk_container_add(GTK_CONTAINER(p->pwid), tr->box);
 
     force_redraw(tr);
 }