[Goodies-commits] r2390 - in verve-plugin/tags: . 0.3.5 0.3.5/panel-plugin 0.3.5/po 0.3.5/scripts
Jannis Pohlmann
jannis at xfce.org
Tue Jan 16 22:51:22 CET 2007
Author: jannis
Date: 2007-01-16 21:51:22 +0000 (Tue, 16 Jan 2007)
New Revision: 2390
Added:
verve-plugin/tags/0.3.5/
verve-plugin/tags/0.3.5/ChangeLog
verve-plugin/tags/0.3.5/README
verve-plugin/tags/0.3.5/THANKS
verve-plugin/tags/0.3.5/configure.in.in
verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c
verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h
verve-plugin/tags/0.3.5/panel-plugin/verve-env.c
verve-plugin/tags/0.3.5/panel-plugin/verve-env.h
verve-plugin/tags/0.3.5/panel-plugin/verve-history.c
verve-plugin/tags/0.3.5/panel-plugin/verve-history.h
verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c
verve-plugin/tags/0.3.5/panel-plugin/verve.c
verve-plugin/tags/0.3.5/panel-plugin/verve.h
verve-plugin/tags/0.3.5/po/ca.po
verve-plugin/tags/0.3.5/po/cs.po
verve-plugin/tags/0.3.5/po/de.po
verve-plugin/tags/0.3.5/po/el.po
verve-plugin/tags/0.3.5/po/eu.po
verve-plugin/tags/0.3.5/po/fi.po
verve-plugin/tags/0.3.5/po/fr.po
verve-plugin/tags/0.3.5/po/it.po
verve-plugin/tags/0.3.5/po/ja.po
verve-plugin/tags/0.3.5/po/nl.po
verve-plugin/tags/0.3.5/po/pl.po
verve-plugin/tags/0.3.5/po/pt_BR.po
verve-plugin/tags/0.3.5/po/ru.po
verve-plugin/tags/0.3.5/po/vi.po
verve-plugin/tags/0.3.5/po/zh_TW.po
verve-plugin/tags/0.3.5/scripts/verve-focus.c
Removed:
verve-plugin/tags/0.3.5/ChangeLog
verve-plugin/tags/0.3.5/README
verve-plugin/tags/0.3.5/THANKS
verve-plugin/tags/0.3.5/configure.in.in
verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c
verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h
verve-plugin/tags/0.3.5/panel-plugin/verve-env.c
verve-plugin/tags/0.3.5/panel-plugin/verve-env.h
verve-plugin/tags/0.3.5/panel-plugin/verve-history.c
verve-plugin/tags/0.3.5/panel-plugin/verve-history.h
verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c
verve-plugin/tags/0.3.5/panel-plugin/verve.c
verve-plugin/tags/0.3.5/panel-plugin/verve.h
verve-plugin/tags/0.3.5/po/ca.po
verve-plugin/tags/0.3.5/po/cs.po
verve-plugin/tags/0.3.5/po/de.po
verve-plugin/tags/0.3.5/po/el.po
verve-plugin/tags/0.3.5/po/eu.po
verve-plugin/tags/0.3.5/po/fi.po
verve-plugin/tags/0.3.5/po/fr.po
verve-plugin/tags/0.3.5/po/it.po
verve-plugin/tags/0.3.5/po/ja.po
verve-plugin/tags/0.3.5/po/nl.po
verve-plugin/tags/0.3.5/po/pl.po
verve-plugin/tags/0.3.5/po/pt_BR.po
verve-plugin/tags/0.3.5/po/ru.po
verve-plugin/tags/0.3.5/po/vi.po
verve-plugin/tags/0.3.5/po/zh_TW.po
verve-plugin/tags/0.3.5/scripts/verve-focus.c
Log:
Tag 0.3.5 release.
Copied: verve-plugin/tags/0.3.5 (from rev 2388, verve-plugin/trunk)
Deleted: verve-plugin/tags/0.3.5/ChangeLog
Copied: verve-plugin/tags/0.3.5/ChangeLog (from rev 2389, verve-plugin/trunk/ChangeLog)
===================================================================
--- verve-plugin/tags/0.3.5/ChangeLog (rev 0)
+++ verve-plugin/tags/0.3.5/ChangeLog 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,424 @@
+2007-01-16 Jannis Pohlmann <jannis at xce.org>
+
+ * 0.3.5 released!
+ * configure.in.in, po/*.po, panel-plugin/*.{c,h},
+ scripts/verve-plugin.c: Update copyright years.
+ * THANKS: Honour all translators for their great work.
+
+2007-01-16 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Add some more G_LOCK/G_UNLOCK
+ calls to protect the command completion. This fixes some
+ serious issues I had with Verve crashing when a command was
+ entered but the completion had not been loaded completely.
+
+2006-11-27 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Properly modify the foreground
+ color of the input entry while blinking - thanks to Mike
+ Massonnet (mmassonnet at gmail.com) for the patch.
+
+2006-08-24 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Finnish translations added.
+
+2006-08-16 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c, panel-plugin/verve-history.c,
+ panel-plugin/verve.c, panel-plugin/verve-env.c: Apply patch
+ from Jasper, which removes several unused variables, evil
+ C99-style and avoids a double-free'd GList. Bug #2175.
+
+2006-08-09 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c, panel-plugin/verve-history.c:
+ Make number of history items configurable.
+
+2006-08-08 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/verve-focus.c: Check if objects are != NULL before
+ unref'ing them. This fixes bug #2125 as reported by
+ huggie at earth.li.
+ * panel-plugin/verve-plugin.c: Unhide the panel when Verve grabs
+ the focus. Re-hide it after a command was successfully
+ started.
+ * configure.in.in: Depend on version 4.3.90.2svn-22691 of the
+ panel when the xfce_panel_plugin_set_hidden was introduced.
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in, po/*.po: Version 0.3.4 released, which fixes
+ a major verve-focus bug (#2113).
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/verve-focus.c: Fix segfault caused by a DBusError
+ pointer not being initialized (bug #2113).
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * README: Add optional D-BUS dependency.
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * 0.3.3 released.
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * TODO: TODO list updated
+ * THANKS: Translator credits updated
+ * README: Dependencies updated
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * Makefile.am, panel-plugin/Makefile.am: Add dist-bzip2 automake
+ option and fix distcheck errors with D-BUS service information
+ generated by dbus-binding-tool. These changes will go into
+ 0.3.3, of course.
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * Preparing for 0.3.3 release
+ * configure.in.in, po/*.po: Bump version to 0.3.3.
+
+2006-08-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugins/verve.c: Add "/?" to the URL expressions. This
+ way URIs with a trailing "/" are properly recognized as URIs.
+ Fixes bug #2102.
+
+2006-08-01 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Executes commands when GDK_KP_Enter
+ is pressed (in addition to GDK_Return). Fixes bug #2094.
+
+2006-08-01 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/Makefile.am, scripts/verve-focus, scripts/verve-focus.c:
+ Added a C program to replace the old Python verve-focus script.
+ It's a lot faster than the old one and it calls
+ org.xfce.Verve#GrabFocus instead of the 'OpenDialog' method.
+ * panel-plugin/verve-dbus-service-infos.xml,
+ panel-plugin/verve-dbus-service.c: Added 'GrabFocus' method to the
+ org.xfce.Verve service. Also implemented a 'grab-focus' signal which
+ is emitted when the 'GrabFocus' method is called.
+ * panel-plugin/verve-plugin.c: Connect to the 'grab-focus' signal of the
+ D-BUS service. Use one method to handle both, 'open-dialog' and
+ 'grab-focus'.
+
+2006-07-26 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c, panel-plugin/verve-env.c: Properly sort
+ items of the completion list and also insert new items using
+ g_list_insert_sorted. This fixes bug #2074 (reported by Nick Arend).
+
+2006-07-26 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in, panel-plugin/verve-dbus-service.c: Add switch to
+ use different D-BUS flags when requesting a service name depending
+ on the available D-BUS version (the flags changed with 0.60).
+
+2006-07-26 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-dbus-service-infos.xml: Add the same 'OpenDialog'
+ method to the 'org.xfce.Verve' interface as we already support in
+ 'org.xfce.RunDialog'.
+ * scripts/verve-focus: Use 'OpenDialog' method of 'org.xfce.Verve'
+ interface to make sure we actually target a Verve instance and no
+ other 'org.xfce.RunDialog' providers.
+ * panel-plugin/verve-dbus-service.c: Add
+ DBUS_NAME_FLAGS_ALLOW_REPLACEMENT to the 'org.xfce.Verve' name
+ request. I bet users expect the last created Verve instance to have
+ the ownership and to be focused when verve-focus is executed. Don't
+ do this for 'org.xfce.RunDialog' (until someone complains), because
+ I suppose a user using Verve doesn't want to use other RunDialog
+ providers.
+
+2006-07-25 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/verve-focus: Call 'import pygtk; pygtk.require("2.0")' before
+ importing the gtk module.
+ * panel-plugin/verve-plugin.c: Connect to "focus-out-event" of the input
+ field in order to stop blinking whenever any other widget gains the
+ focus (this fixes a bug reported by Nikolas Arend).
+
+2006-07-19 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-env.c: Remove debug statements.
+ * panel-plugin/verve-plugin.c: Use XfceTitledDialog instead of the
+ old plain GTK one.
+ * panel-plugin/verve.desktop.in.in, panel-plugin/verve-plugin.c:
+ Use "utilities-terminal" icon instead of "Terminal".
+ * configure.in.in, po/*.po: Version bump to 0.3.2.
+
+2006-07-13 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Lock command completion using
+ G_LOCK_DEFINE_STATIC. This replaces the global GDK locks and should
+ avoid random crashes when the worker thread (which loads contents of
+ $PATH) and the panel plugin try to access the completion at the same
+ time.
+
+2006-07-11 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Use gdk_threads_enter/leave to lock
+ completion access (only one thread is allowed to access it at once).
+ * panel-plugin/verve-dbus-service.c: Remove C++ comment style.
+
+2006-07-11 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/Makefile.am: Add verve-focus to EXTRA_DIST (it's missing in
+ the 0.3.1 tarball.
+ * panel-plugin/verve-env.c, panel-plugin/verve-plugin.c: Implemented
+ threaded, asynchronous loading of $PATH entries. This avoids slower
+ panel startup if $PATH includes slow media folders.
+ Use more precise filters when loading the binaries (check for
+ executable flag, avoid duplicate entries etc.).
+
+2006-06-17 Jannis Pohlmann <jannis at xfce.org>
+
+ * Added Italian translation to the XDT_I18N list.
+
+2006-04-22 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Bump version.
+
+2006-04-22 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Fix adding to command history when
+ history is empty.
+
+2006-04-19 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/Makefile.am: Applied patch by Yves-Alexis Perez
+ <corsac at corsac.net>, which fixes an error during installation.
+ of the scripts/ directory.
+
+2006-04-08 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in, po/el.po: Greek translations by Stavros
+ Giannouris <stavrosg2002 at freemail.gr> added.
+
+2006-04-08 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Applied Daichi's patch (which adds pl to the
+ translations).
+
+2006-04-03 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Fix compilation error without
+ D-BUS.
+
+2006-04-03 Jannis Pohlmann <jannis at xfce.org>
+
+ * scripts/Makefile.am, scripts/verve-focus, Makefile.am,
+ configure.in.in: Added verve-focus script and a Makefile
+ to install it into $(bindir).
+
+2006-04-03 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-env.{h,c}: Remove all the shell stuff. As I
+ dropped the idea of user-defined commands this is just annoying
+ overhead. Code cleaned up.
+ * panel-plugin/verve-plugin.c: Cleaned up the code. Avoid to add
+ a command to the history if it's the same as the previously added
+ command. This fixes bug #6900. Entries from the command history
+ now appear in the auto-completion results.
+ * panel-plugin/verve-history.{c,h}: Another bug fixed: Don't write
+ more than 25 commands to the cache. I'll add an option for this
+ to the preferences dialog later, so that the user can choose
+ how many commands he wants to have saved. Code cleaned up.
+ * panel-plugin/verve.c: Code cleaned up.
+
+2006-03-25 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Enhance flash highlighting.
+
+2006-03-25 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Implement flash timeout in order to
+ notify the user when Verve got the focus through the D-BUS service.
+ Unregister the timeout as soon as a mouse button or key is pressed.
+
+2006-03-22 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/Makefile.am: Add hints for building
+ verve-dbus-service-infos.h from verve-dbus-service-infos.xml during
+ make.
+
+2006-03-22 Jannis Pohlmann <jannis at xfce.org>
+
+ * TODO: Remove startup notification, terminal startup support.
+ * scripts/verve-focus.py: Add helper script for focussing Verve
+ using the org.xfce.RunDialog D-BUS service.
+ * panel-plugin/verve-dbus-service.c, panel-plugin/verve-plugin.c:
+ Use a signal ("open-dialog") callback for grabbing the focus rather
+ than using VerveDBusService "plugin" and "input" properties. This
+ moves GUI stuff out of VerveDBusService again.
+ * panel-plugin/*.{c,h}: Wrap function parameters and clean up the
+ code.
+ * configure.in.in: Remove libstartup-notification from dependencies.
+
+2006-03-22 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Fix completion loading. Re-add
+ accidently removed line to create the completion at startup.
+ Add terminal exec feature using the <Control> key.
+ panel-plugin/verve.{c,h}: Add terminal exec feature. Open
+ directories with exo-open, just like URLs and eMail addresses.
+
+2006-03-21 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Remove debug print statements.
+
+2006-03-21 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-dbus-service.c: Add "plugin" property and call
+ xfce_panel_focus_widget () when the "OpenDialog" method is called.
+ * panel-plugin/verve-plugin.c: Set "plugin" property of D-BUS
+ service.
+
+2006-03-21 Jannis Pohlmann <jannis at xfce.org>
+
+ * verve/*.{c,h}: Moved all source files to panel-plugin/.
+ * panel-plugin/verve-dbus-services.*: Implemented org.xfce.RunDialog
+ D-BUS service.
+ * tests/*.*: Removed test script.
+ * configure.in.in, Makefile.am: Add optional D-BUS support.
+
+2006-03-21 Jannis Pohlmann <jannis at xfce.org>
+
+ * verve/verve-db.{c,h}, tests/Makefile.am, panel-plugin/Makefile.am,
+ verve/verve.{c,h}: Removed unused verve command database.
+ * verve/verve-history.h: Include <libxfce4util/libxfce4util.h>.
+ * verve/verve.c: Fixed error handling which made the plugin crash on
+ shell errors (this fixes bug #6663).
+
+2006-03-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * Fix version string (use 0.2.0 instead of 0.2).
+
+2006-03-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * Fixed another resize bug. The user-defined width will now
+ be used no matter how the panel behaves.
+
+2006-03-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * Create 0.2 tag
+
+2006-03-02 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Change package version to 0.2
+ * THANKS: Update translator credits
+ * po/*.po[t]: Update translation files
+
+2006-02-14 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Added config.h include. This
+ fixes translation problems (translations weren't displayed
+ before).
+
+2006-02-14 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c: Return TRUE in
+ verve_plugin_update_size.
+ * configure.in.in: Rename fr_CH to fr.
+
+2006-02-12 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Define libxfce4panel version more specific.
+ * panel-plugin/verve-plugin.c: Apply Jasper's patch in order to
+ make use of the new focus grab method for external plugins.
+
+2006-02-12 Jannis Pohlmann <jannis at xfce.org>
+
+ * Fix use of unterminated supported_shells array. Use
+ G_N_ELEMENTS() instead of g_strv_length(). Thanks to
+ Jasper for the patch.
+
+2006-02-11 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/verve-plugin.c, panel-plugin/configure.in.in:
+ Make plugin exteral. Patch provided by Jasper.
+
+2006-02-11 Jannis Pohlmann <jannis at xfce.org>
+
+ * panel-plugin/Makefile.am: Applied another one of Daichi's
+ patches
+
+2006-02-11 Jannis Pohlmann <jannis at xfce.org>
+
+ * configure.in.in: Applied Daichi's AC_INIT patch
+
+2006-02-09 Jannis Pohlmann <jannis at xfce.org>
+
+ * Implement size-changed signal in order to keep the width
+ defined in the properties dialog when the panel size changes
+
+2006-02-09 Jannis Pohlmann <jannis at xfce.org>
+
+ * Cache the last 25 commands on disk when closing the panel
+ and restore them on the next start
+
+2006-02-08 Jannis Pohlmann <jannis at xfce.org>
+
+ * Don't display an error when executing an URL
+
+2006-02-08 Jannis Pohlmann <jannis at xfce.org>
+
+ * Make libstartup-notification non-optional
+
+2O06-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Added a small test program in order to search for
+ memory leaks
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Avoid the error dialog to appear twice
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Don't trim before auto-completing, as this would make
+ things just more complicated than necessary.
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Removed XFCE_PANEL_PLUGIN call from configure.in.in
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Trim whitespaces before parsing the command. This fixes
+ bug #6311.
+ * Don't clear input if exec_command (libfcegui4). Bug #6310.
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Added intltool-* scripts to DIST_EXTRA and DISTCLEAN
+ * Added po/Makefil.am added
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Added intltool-* scripts
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Moved src/ to verve/
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Added missing NEWS file
+
+2006-02-07 Jannis Pohlmann <jannis at xfce.org>
+
+ * Initial import into Xfce Goodies SVN
+
+2006-02-06 Jannis Pohlmann <jannis at xfce.org>
+
+ * src/verve-history.{c,h}: Function for getting the last item
+ of the list added
+ * src/verve-plugin.c: Use newly added history function when
+ pressing GDK_Down
+
+# vi:set ts=8 sw=8 tw=72 noet ai nocindent:
Deleted: verve-plugin/tags/0.3.5/README
Copied: verve-plugin/tags/0.3.5/README (from rev 2389, verve-plugin/trunk/README)
===================================================================
--- verve-plugin/tags/0.3.5/README (rev 0)
+++ verve-plugin/tags/0.3.5/README 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,9 @@
+Required packages:
+ * exo >= 0.3.1.3
+ * xfce4-panel >= 4.3.28
+ * libxfce4util >= 4.3.0
+ * GLib >= 2.6.4
+ * pcre
+
+Optionally required packages:
+ * D-BUS >= 0.34
Deleted: verve-plugin/tags/0.3.5/THANKS
Copied: verve-plugin/tags/0.3.5/THANKS (from rev 2389, verve-plugin/trunk/THANKS)
===================================================================
--- verve-plugin/tags/0.3.5/THANKS (rev 0)
+++ verve-plugin/tags/0.3.5/THANKS 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,22 @@
+Translators
+-----------
+Michal Várady (cs) <miko.vaji at gmail.com>
+Carles Munoz Gorriz (ca) <carlesmu at internautas.org>
+Stavros Giannouris (el) <stavrosg at serverhive.com>
+Jarbas Araujo Jr. (eo) <jarbasaraujojr at yahoo.com.br>
+Piarres Beobide (eu) <pi at beobide.net>
+Jannis Pohlmann (de) <jannis at xfce.org>
+Jari Rahkonen (fi) <jari.rakhonen at pp1.inet.fi>
+Maximilian Schleiss (fr) <maxschleiss at bluewin.ch>
+SZERVÁC Attila (hu) <sas at 321.hu>
+Roberto Pariset (it) <r.pariset at gmail.com>
+Daichi Kawahata (ja) <daichi at xfce.org>
+Vincent (nl) <imnotb at gmail.com>
+Stephan Arts (nl) <stephan at xfce.org>
+Piotr Malinski (po) <admin at rk.edu.pl>
+Piotr Maliński (pl) <admin at rk.edu.pl>
+Tomas A. Schertel (pt_BR) <tschertel at gmail.com>
+A S Alam (pu) <aalam at users.sf.net>
+Andrey Fedoseev (ru) <andrey.fedoseev at gmail.com>
+Phan Vĩnh Thịnh (vi) <teppi at vnlinux.org>
+Hydonsingore Cia (zh_TW) <hydonsingore at educities.edu.tw>
Deleted: verve-plugin/tags/0.3.5/configure.in.in
Copied: verve-plugin/tags/0.3.5/configure.in.in (from rev 2389, verve-plugin/trunk/configure.in.in)
===================================================================
--- verve-plugin/tags/0.3.5/configure.in.in (rev 0)
+++ verve-plugin/tags/0.3.5/configure.in.in 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,102 @@
+dnl $Id$
+dnl
+dnl Copyright (c) 2006 - Jannis Pohlmann <jannis at xfce.org>
+dnl
+
+dnl ***************************
+dnl *** Initialize autoconf ***
+dnl ***************************
+AC_COPYRIGHT([Copyright (c) 2006-2007 Jannis Pohlmann <jannis at xfce.org>])
+AC_INIT([verve-plugin], [0.3.5], [jannis at xfce.org], [verve-plugin])
+AC_REVISION([$Id$])
+AC_PREREQ([2.50])
+
+dnl ***************************
+dnl *** Initialize automake ***
+dnl ***************************
+AM_INIT_AUTOMAKE([AC_PACKAGE_TARNAME()], [AC_PACKAGE_VERSION()])
+AM_CONFIG_HEADER([config.h])
+AM_MAINTAINER_MODE()
+
+dnl *******************************
+dnl *** Check for UNIX variants ***
+dnl *******************************
+AC_AIX()
+AC_ISC_POSIX()
+AC_MINIX()
+
+dnl ********************************
+dnl *** Check for basic programs ***
+dnl ********************************
+AC_PROG_CC()
+AC_PROG_LD()
+AC_PROG_INSTALL()
+AC_PROG_INTLTOOL()
+
+dnl **************************
+dnl *** Initialize libtool ***
+dnl **************************
+AC_DISABLE_STATIC()
+AC_PROG_LIBTOOL()
+
+dnl **********************************
+dnl *** Check for standard headers ***
+dnl **********************************
+AC_HEADER_STDC()
+
+dnl ******************************
+dnl *** Check for i18n support ***
+dnl ******************************
+XDT_I18N([ca cs de el eu fi fr it ja nl pl pt_BR ru vi])
+
+dnl ***********************************
+dnl *** Check for required packages ***
+dnl ***********************************
+XDT_CHECK_PACKAGE([LIBEXO], [exo-0.3], [0.3.1.3])
+XDT_CHECK_PACKAGE([LIBXFCE4PANEL], [libxfce4panel-1.0], [4.3.90.2svn-22691])
+XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.3.0])
+XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.6.4])
+XDT_CHECK_PACKAGE([GTHREAD], [gthread-2.0], [2.6.4])
+
+dnl **************************
+dnl *** Check for libpcre3 ***
+dnl **************************
+LIBPCRE_LIBS=""
+LIBPCRE_CFLAGS=""
+AC_CHECK_LIB([pcre], [pcre_compile],
+[
+ AC_CHECK_HEADER([pcre.h],
+ [
+ LIBPCRE_LIBS="-lpcre"
+ AC_DEFINE([HAVE_LIBPCRE], [1], [Define to 1 if libpcre is found])
+ AC_DEFINE([HAVE_PCRE_H], [1], [Define to 1 if pcre.h is found])
+ ])
+], [-lm])
+AC_SUBST([LIBPCRE_CFLAGS])
+AC_SUBST([LIBPCRE_LIBS])
+
+dnl *********************************
+dnl ** Optional support for D-BUS ***
+dnl *********************************
+XDT_CHECK_OPTIONAL_PACKAGE([DBUS], [dbus-glib-1],
+ [0.34], [dbus], [D-BUS support])
+
+dnl *******************************************************
+dnl ** Determine if D-BUS version is >= 0.60 in order to **
+dnl ** set correct flags when calling D-BUS functions **
+dnl *******************************************************
+if $PKG_CONFIG --atleast-version=0.60 dbus-glib-1 >/dev/null 2>&1; then
+ AC_DEFINE([HAVE_DBUS_NEW_FLAGS], [1], [Define if D-BUS version >= 0.60])
+fi
+
+dnl ***********************************
+dnl *** Check for debugging support ***
+dnl ***********************************
+BM_DEBUG_SUPPORT()
+
+AC_OUTPUT([
+Makefile
+panel-plugin/Makefile
+scripts/Makefile
+po/Makefile.in
+])
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c (from rev 2389, verve-plugin/trunk/panel-plugin/verve-dbus-service.c)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,224 @@
+/***************************************************************************
+ * verve-dbus-service.c
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <glib-object.h>
+#include <glib/gstdio.h>
+
+#include <gtk/gtk.h>
+
+#include <dbus/dbus-glib-bindings.h>
+#include <dbus/dbus-glib-lowlevel.h>
+#include <dbus/dbus.h>
+
+#include <libxfce4panel/xfce-panel-plugin.h>
+
+#include "verve-dbus-service.h"
+
+
+
+static void verve_dbus_service_class_init (VerveDBusServiceClass *klass);
+static void verve_dbus_service_init (VerveDBusService *dbus_service);
+static void verve_dbus_service_finalize (GObject *object);
+static gboolean verve_dbus_service_open_dialog (VerveDBusService *dbus_service,
+ const gchar *dir,
+ const gchar *display,
+ GError **error);
+static gboolean verve_dbus_service_grab_focus (VerveDBusService *dbus_service);
+
+
+
+struct _VerveDBusServiceClass
+{
+ GObjectClass __parent__;
+
+ /* Signal identifiers */
+ guint open_dialog_signal_id;
+ guint grab_focus_signal_id;
+};
+
+struct _VerveDBusService
+{
+ GObject __parent__;
+
+ /* D-BUS connection */
+ DBusGConnection *connection;
+};
+
+
+
+static GObjectClass *verve_dbus_service_parent_class;
+
+
+
+GType
+verve_dbus_service_get_type (void)
+{
+ static GType type = G_TYPE_INVALID;
+
+ if (G_UNLIKELY (type == G_TYPE_INVALID))
+ {
+ static const GTypeInfo info =
+ {
+ sizeof (VerveDBusServiceClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) verve_dbus_service_class_init,
+ NULL,
+ NULL,
+ sizeof (VerveDBusService),
+ 0,
+ (GInstanceInitFunc) verve_dbus_service_init,
+ NULL,
+ };
+
+ type = g_type_register_static (G_TYPE_OBJECT, "VerveDBusService", &info, 0);
+ }
+
+ return type;
+}
+
+
+
+static void
+verve_dbus_service_class_init (VerveDBusServiceClass *klass)
+{
+ extern const DBusGObjectInfo dbus_glib_verve_dbus_service_object_info;
+ GObjectClass *gobject_class;
+
+#if 0
+ g_type_class_add_private (klass, sizeof (VerveDBusServicePrivate));
+#endif
+
+ verve_dbus_service_parent_class = g_type_class_peek_parent (klass);
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = verve_dbus_service_finalize;
+
+ /* Register "open-dialog" signal */
+ klass->open_dialog_signal_id = g_signal_newv ("open-dialog",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ NULL,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+ /* Register "grab-focus" signal */
+ klass->grab_focus_signal_id = g_signal_newv ("grab-focus",
+ G_TYPE_FROM_CLASS (gobject_class),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE | G_SIGNAL_NO_HOOKS,
+ NULL,
+ NULL,
+ NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0,
+ NULL);
+
+ /* Install the D-BUS info */
+ dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_verve_dbus_service_object_info);
+}
+
+
+
+static void
+verve_dbus_service_init (VerveDBusService *dbus_service)
+{
+ GError *error = NULL;
+
+ /* Try to connect to the session bus */
+ dbus_service->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
+ if (G_LIKELY (dbus_service->connection != NULL))
+ {
+ /* Register the /org/xfce/RunDialog object for Verve */
+ dbus_g_connection_register_g_object (dbus_service->connection, "/org/xfce/RunDialog", G_OBJECT (dbus_service));
+
+ /* Request service names */
+#ifdef HAVE_DBUS_NEW_FLAGS
+ dbus_bus_request_name (dbus_g_connection_get_connection (dbus_service->connection), "org.xfce.Verve", DBUS_NAME_FLAG_REPLACE_EXISTING|DBUS_NAME_FLAG_ALLOW_REPLACEMENT, NULL);
+ dbus_bus_request_name (dbus_g_connection_get_connection (dbus_service->connection), "org.xfce.RunDialog", DBUS_NAME_FLAG_REPLACE_EXISTING|DBUS_NAME_FLAG_ALLOW_REPLACEMENT, NULL);
+#else
+ dbus_bus_request_name (dbus_g_connection_get_connection (dbus_service->connection), "org.xfce.Verve", DBUS_NAME_FLAG_REPLACE_EXISTING, NULL);
+ dbus_bus_request_name (dbus_g_connection_get_connection (dbus_service->connection), "org.xfce.RunDialog", DBUS_NAME_FLAG_REPLACE_EXISTING, NULL);
+#endif /* !HAVE_DBUS_NEW_FLAGS */
+ }
+ else
+ {
+ /* Notify the user that D-BUS won't be a available */
+ g_fprintf (stderr, "Verve: Failed to connect to the D-BUS session bus: %s\n", error->message);
+ g_error_free (error);
+ }
+}
+
+
+
+static void
+verve_dbus_service_finalize (GObject *object)
+{
+ VerveDBusService *dbus_service = VERVE_DBUS_SERVICE (object);
+
+ /* Release the D-BUS connection object */
+ if (G_LIKELY (dbus_service->connection != NULL))
+ dbus_g_connection_unref (dbus_service->connection);
+
+ (*G_OBJECT_CLASS (verve_dbus_service_parent_class)->finalize) (object);
+}
+
+
+
+static gboolean
+verve_dbus_service_open_dialog (VerveDBusService *dbus_service,
+ const gchar *dir,
+ const gchar *display,
+ GError **error)
+{
+ /* Emit "open-dialog" signal */
+ g_signal_emit (dbus_service, VERVE_DBUS_SERVICE_GET_CLASS (dbus_service)->open_dialog_signal_id, 0, NULL);
+
+ return TRUE;
+}
+
+
+
+static gboolean
+verve_dbus_service_grab_focus (VerveDBusService *dbus_service)
+{
+ /* Emit "grab-focus" signal */
+ g_signal_emit (dbus_service, VERVE_DBUS_SERVICE_GET_CLASS (dbus_service)->grab_focus_signal_id, 0, NULL);
+
+ return TRUE;
+}
+
+
+
+#include "verve-dbus-service-infos.h"
+
+/* vim:set expandtab ts=1 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h (from rev 2389, verve-plugin/trunk/panel-plugin/verve-dbus-service.h)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-dbus-service.h 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,48 @@
+/***************************************************************************
+ * verve-dbus-service.h
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifndef __VERVE_DBUS_SERVICE_H__
+#define __VERVE_DBUS_SERVICE_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _VerveDBusServiceClass VerveDBusServiceClass;
+typedef struct _VerveDBusService VerveDBusService;
+
+#define VERVE_TYPE_DBUS_SERVICE (verve_dbus_service_get_type ())
+#define VERVE_DBUS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VERVE_TYPE_DBUS_SERVICE, VerveDBusService))
+#define VERVE_DBUS_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass, VERVE_TYPE_DBUS_SERVICE, VerveDBusServiceClass)))
+#define VERVE_IS_DBUS_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VERVE_TYPE_DBUS_SERVICE))
+#define VERVE_IS_DBUS_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VERVE_TYPE_DBUS_SERVICE))
+#define VERVE_DBUS_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VERVE_TYPE_DBUS_SERVICE, VerveDBusServiceClass))
+
+GType verve_dbus_service_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS;
+
+#endif /* __VERVE_DBUS_SERVICE_H__ */
+
+/* vim:set expandtab ts=1 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-env.c
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-env.c (from rev 2389, verve-plugin/trunk/panel-plugin/verve-env.c)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-env.c (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-env.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,309 @@
+/***************************************************************************
+ * verve-env.c
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "verve-env.h"
+
+
+
+static void verve_env_class_init (VerveEnvClass *klass);
+static void verve_env_init (VerveEnv *env);
+static void verve_env_finalize (GObject *object);
+static void verve_env_load_binaries (VerveEnv *env);
+static gpointer verve_env_load_thread (gpointer user_data);
+
+
+
+struct _VerveEnvClass
+{
+ GObjectClass __parent__;
+
+ guint load_binaries_signal;
+
+ /* Signals */
+ void (*load_binaries) (VerveEnv *env);
+};
+
+
+
+struct _VerveEnv
+{
+ GObject __parent__;
+
+ /* $PATH list */
+ gchar **paths;
+
+ /* Binaries in $PATH */
+ GList *binaries;
+
+ /* Thread used for loading $PATH binary names */
+ gboolean load_thread_cancelled;
+ GThread *load_thread;
+};
+
+
+
+static GObjectClass *verve_env_parent_class;
+
+
+
+GType
+verve_env_get_type (void)
+{
+ static GType type = G_TYPE_INVALID;
+
+ if (G_UNLIKELY (type == G_TYPE_INVALID))
+ {
+ static const GTypeInfo info =
+ {
+ sizeof (VerveEnvClass),
+ NULL,
+ NULL,
+ (GClassInitFunc) verve_env_class_init,
+ NULL,
+ NULL,
+ sizeof (VerveEnv),
+ 0,
+ (GInstanceInitFunc) verve_env_init,
+ NULL,
+ };
+
+ type = g_type_register_static (G_TYPE_OBJECT, "VerveEnv", &info, 0);
+ }
+
+ return type;
+}
+
+
+
+void
+verve_env_class_init (VerveEnvClass *klass)
+{
+ GObjectClass *gobject_class;
+
+ /* Determine parent class */
+ verve_env_parent_class = g_type_class_peek_parent (klass);
+
+ gobject_class = G_OBJECT_CLASS (klass);
+ gobject_class->finalize = verve_env_finalize;
+
+ klass->load_binaries = verve_env_load_binaries;
+
+ /* Register "load-binaries" signal */
+ klass->load_binaries_signal = g_signal_new ("load-binaries",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (VerveEnvClass, load_binaries),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE,
+ 0);
+}
+
+
+
+void
+verve_env_init (VerveEnv *env)
+{
+ env->paths = NULL;
+ env->binaries = NULL;
+
+ /* Spawn the thread used to load the command completion data */
+ env->load_thread = g_thread_create_full (verve_env_load_thread, env, 0, TRUE, FALSE, G_THREAD_PRIORITY_LOW, NULL);
+}
+
+
+
+static VerveEnv *env = NULL;
+
+
+
+VerveEnv*
+verve_env_get (void)
+{
+ if (G_UNLIKELY (env == NULL))
+ {
+ env = g_object_new (VERVE_TYPE_ENV, NULL);
+ g_object_add_weak_pointer (G_OBJECT (env), (gpointer) &env);
+ }
+ else
+ g_object_ref (G_OBJECT (env));
+
+ return env;
+}
+
+
+
+void
+verve_env_shutdown (void)
+{
+ if (G_LIKELY (env != NULL))
+ g_object_unref (G_OBJECT (env));
+}
+
+
+
+static void
+verve_env_finalize (GObject *object)
+{
+ VerveEnv *env = VERVE_ENV (object);
+
+ /* Cancel and join the loading thread */
+ env->load_thread_cancelled = TRUE;
+ g_thread_join (env->load_thread);
+
+ /* Free path list */
+ if (G_LIKELY (env->paths != NULL))
+ g_strfreev (env->paths);
+
+ /* Free binaries list */
+ if (G_LIKELY (env->binaries != NULL))
+ {
+ g_list_foreach (env->binaries, (GFunc) g_free, NULL);
+#if 0
+ GList *iter = g_list_first (env->binaries);
+ while (iter != NULL)
+ {
+ g_free ((gchar *)iter->data);
+ iter = g_list_next (iter);
+ }
+#endif
+ g_list_free (env->binaries);
+ env->binaries = NULL;
+ }
+}
+
+
+
+/*********************************************************************
+ *
+ * PATH parsing and search routines
+ *
+ *********************************************************************/
+
+gchar**
+verve_env_get_path (VerveEnv *env)
+{
+ if (G_UNLIKELY (env->paths == NULL))
+ env->paths = g_strsplit (g_getenv ("PATH"), G_SEARCHPATH_SEPARATOR_S, -1);
+
+ return env->paths;
+}
+
+
+
+GList *
+verve_env_get_path_binaries (VerveEnv *env)
+{
+ return env->binaries;
+}
+
+
+
+static gpointer
+verve_env_load_thread (gpointer user_data)
+{
+ VerveEnv *env = VERVE_ENV (user_data);
+ gchar **paths;
+ int i;
+
+ /* Get $PATH directories */
+ paths = verve_env_get_path (env);
+
+ /* Iterate over paths list */
+ for (i=0; !env->load_thread_cancelled && i<g_strv_length (paths); i++)
+ {
+ const gchar *current;
+ gchar *filename;
+ GList *lp;
+ /* Try opening the directory */
+ GDir *dir = g_dir_open (paths[i], 0, NULL);
+
+ /* Continue with next directory if this one cant' be opened */
+ if (G_UNLIKELY (dir == NULL))
+ continue;
+
+ /* Iterate over files in this directory */
+ while (!env->load_thread_cancelled && (current = g_dir_read_name (dir)) != NULL)
+ {
+ /* Convert to valid UTF-8 */
+ filename = g_filename_display_name (current);
+
+ /* Avoid duplicates */
+ for (lp = g_list_first (env->binaries); lp != NULL; lp = lp->next)
+ if (g_ascii_strcasecmp (lp->data, filename) == 0)
+ break;
+
+ /* Check details of file if it's not in the list already */
+ if (G_LIKELY (lp == NULL))
+ {
+ /* Determine the absolute path to the file */
+ gchar *path = g_build_filename (paths[i], current, NULL);
+
+ /* Check if the path refers to an executable */
+ if (g_file_test (path, G_FILE_TEST_IS_EXECUTABLE) &&
+ !g_file_test (path, G_FILE_TEST_IS_DIR))
+ {
+ /* Add file filename to the list */
+ env->binaries = g_list_prepend (env->binaries, filename);
+
+ /* No need to free the filename later in this function */
+ filename = NULL;
+ }
+
+ /* Free absolute path */
+ g_free (path);
+ }
+
+ /* Release filename if necessary */
+ g_free (filename);
+ }
+
+ /* Close directory */
+ g_dir_close (dir);
+ }
+
+ /* Sort binaries */
+ env->binaries = g_list_sort (env->binaries, (GCompareFunc) g_utf8_collate);
+
+ /* Emit 'load-binaries' signal */
+ g_signal_emit_by_name (env, "load-binaries");
+
+ return env->binaries;
+}
+
+
+
+static void
+verve_env_load_binaries (VerveEnv *env)
+{
+ /* Do nothing */
+}
+
+
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-env.h
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-env.h (from rev 2389, verve-plugin/trunk/panel-plugin/verve-env.h)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-env.h (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-env.h 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,53 @@
+/***************************************************************************
+ * verve-env.h
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifndef __VERVE_ENV_H__
+#define __VERVE_ENV_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS;
+
+typedef struct _VerveEnvClass VerveEnvClass;
+typedef struct _VerveEnv VerveEnv;
+
+#define VERVE_TYPE_ENV (verve_env_get_type ())
+#define VERVE_ENV(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VERVE_TYPE_ENV, VerveEnv))
+#define VERVE_ENV_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass, VERVE_TYPE_ENV, VerveEnvClass)))
+#define VERVE_IS_ENV(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VERVE_TYPE_ENV))
+#define VERVE_IS_ENV_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VERVE_TYPE_ENV))
+#define VERVE_ENV_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VERVE_TYPE_ENV, VerveEnvClass))
+
+GType verve_env_get_type (void) G_GNUC_CONST;
+VerveEnv *verve_env_get (void);
+gchar **verve_env_get_path (VerveEnv *env);
+GList *verve_env_get_path_binaries (VerveEnv *env);
+
+void verve_env_shutdown (void);
+
+G_END_DECLS;
+
+#endif /* __VERVE_ENV_H__ */
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-history.c
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-history.c (from rev 2389, verve-plugin/trunk/panel-plugin/verve-history.c)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-history.c (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-history.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,329 @@
+/***************************************************************************
+ * verve-history.h
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <libxfce4util/libxfce4util.h>
+
+#include "verve.h"
+#include "verve-history.h"
+
+
+
+const gchar *verve_history_cache_get_filename (void);
+static void verve_history_cache_load (void);
+static void verve_history_cache_write (void);
+static void verve_history_append (gchar *command);
+
+
+
+/*********************************************************************
+ *
+ * Init / Shutdown functions
+ *
+ *********************************************************************/
+
+static gint history_length = 25;
+static GList *history = NULL;
+
+
+
+void
+verve_history_init (void)
+{
+ verve_history_cache_load ();
+}
+
+
+
+void
+verve_history_shutdown (void)
+{
+ /* Write history into the cache file */
+ verve_history_cache_write ();
+
+ /* Free history data */
+ if (G_LIKELY (history != NULL))
+ {
+ /* Free entries */
+ GList *iter = g_list_first (history);
+ while (iter != NULL)
+ {
+ g_free ((gchar *)iter->data);
+ iter = g_list_next (iter);
+ }
+
+ /* Free list */
+ g_list_free (history);
+ }
+}
+
+
+
+void
+verve_history_set_length (gint length)
+{
+ history_length = length;
+}
+
+
+
+void
+verve_history_add (gchar *input)
+{
+ /* Prepend input to history */
+ history = g_list_prepend (history, input);
+}
+
+
+
+void
+verve_history_append (gchar *command)
+{
+ /* Append command to history */
+ history = g_list_append (history, command);
+}
+
+
+
+GList*
+verve_history_begin (void)
+{
+ /* Return first list entry or NULL */
+ return g_list_first (history);
+}
+
+
+
+GList*
+verve_history_end (void)
+{
+ /* Return last list entry or NULL */
+ return g_list_last (history);
+}
+
+
+
+GList*
+verve_history_get_prev (const GList *current)
+{
+ /* Return command before the current one or NULL */
+ return g_list_previous (current);
+}
+
+
+
+GList*
+verve_history_get_next (const GList *current)
+{
+ /* Return command after the current one or NULL */
+ return g_list_next (current);
+}
+
+
+
+gboolean
+verve_history_is_empty (void)
+{
+ /* Check whether history is uninitialized or its length is zero */
+ if (G_UNLIKELY (history == NULL) || g_list_length (history) == 0)
+ return TRUE;
+ else
+ return FALSE;
+}
+
+
+
+const gchar*
+verve_history_get_last_command (void)
+{
+ /* Get first (= latest) history entry */
+ GList *list = verve_history_begin ();
+
+ /* Return NULL if list is empty */
+ if (G_UNLIKELY (list == NULL))
+ return NULL;
+
+ /* Return command data */
+ return (gchar *)list->data;
+}
+
+
+
+const gchar *
+verve_history_cache_get_filename (void)
+{
+ static const gchar *filename = "xfce4/Verve/history";
+ return filename;
+}
+
+
+
+static void
+verve_history_cache_load (void)
+{
+ const gchar *basename = verve_history_cache_get_filename ();
+
+ /* Search for cache file */
+ gchar *filename = xfce_resource_lookup (XFCE_RESOURCE_CONFIG, basename);
+
+ /* Only read cache if file exists */
+ if (G_LIKELY (filename != NULL))
+ {
+ GError *error = NULL;
+ GIOChannel *handle;
+
+ /* Open file input stream */
+ handle = g_io_channel_new_file (filename, "r", &error);
+
+ /* Instantly destroy error messages - just ignore them */
+ if (G_UNLIKELY (error != NULL))
+ g_error_free (error);
+
+ /* Only read contents if stream could be opened */
+ if (G_LIKELY (handle != NULL))
+ {
+ GIOStatus status;
+ gchar *line;
+ gsize length;
+
+ /* Read first line */
+ status = g_io_channel_read_line (handle, &line, &length, NULL, &error);
+
+ /* Read lines until EOF is reached or an error occurs */
+ while (status != G_IO_STATUS_EOF && error == NULL)
+ {
+ /* Get current line, remove leading and trailing whitespace */
+ GString *strline = g_string_new (g_strstrip (line));
+
+ /* Only add non-empty lines to the history */
+ if (G_LIKELY (strline->len > 0))
+ verve_history_append (strline->str);
+
+ /* Free string data */
+ g_free (line);
+ g_string_free (strline, FALSE);
+
+ /* Read next line */
+ status = g_io_channel_read_line (handle, &line, &length, NULL, &error);
+ }
+
+ /* Free error message */
+ if (G_UNLIKELY (error != NULL))
+ g_error_free (error);
+
+ /* Close file handle */
+ g_io_channel_shutdown (handle, TRUE, &error);
+
+ /* Again: Free error message */
+ if (G_UNLIKELY (error != NULL))
+ g_error_free (error);
+
+ /* Destroy stream object */
+ g_io_channel_unref (handle);
+ }
+ }
+
+ /* Free filename string */
+ g_free (filename);
+}
+
+
+
+static void
+verve_history_cache_write (void)
+{
+ /* Do not write history if it is empty */
+ if (verve_history_is_empty ())
+ return;
+
+ const gchar *basename = verve_history_cache_get_filename ();
+
+ /* Search for history file, create if it does not exist yet */
+ gchar *filename = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, basename, TRUE);
+
+ if (G_LIKELY (filename != NULL))
+ {
+ GError *error = NULL;
+ GIOChannel *handle;
+
+ /* Open output stream */
+ handle = g_io_channel_new_file (filename, "w+", &error);
+
+ /* Ignore and free error messages */
+ if (G_UNLIKELY (error != NULL))
+ g_error_free (error);
+
+ /* Only write contents if stream could be opened */
+ if (G_LIKELY (handle != NULL))
+ {
+ GList *current;
+ gsize bytes;
+ int i;
+
+ /* Get first history entry */
+ current = verve_history_begin();
+
+ /* Save the last 25 commands */
+ for (i = 0; i < history_length && current != NULL; i++)
+ {
+ /* Build output line */
+ gchar *line = g_strconcat ("", current->data, "\n", NULL);
+
+ /* Write line */
+ g_io_channel_write_chars (handle, line, -1, &bytes, &error);
+
+ /* Free line string */
+ g_free (line);
+
+ /* Do not write more records if there was an error (e.g. no space left on device) */
+ if (G_UNLIKELY (error != NULL))
+ {
+ g_error_free (error);
+ break;
+ }
+
+ /* Step over to next entry */
+ current = verve_history_get_next (current);
+ }
+
+ /* Close file handle */
+ g_io_channel_shutdown (handle, TRUE, &error);
+
+ /* Free error message */
+ if (G_UNLIKELY (error != NULL))
+ g_error_free (error);
+
+ /* Destroy stream object */
+ g_io_channel_unref (handle);
+ }
+ }
+
+ /* Free filename string */
+ g_free (filename);
+}
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-history.h
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-history.h (from rev 2389, verve-plugin/trunk/panel-plugin/verve-history.h)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-history.h (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-history.h 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,45 @@
+/***************************************************************************
+ * verve-history.h
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifndef __VERVE_HISTORY_H__
+#define __VERVE_HISTORY_H__
+
+#include <glib-object.h>
+
+/* Init / Shutdown history database */
+void verve_history_init (void);
+void verve_history_shutdown (void);
+
+void verve_history_set_length (gint length);
+void verve_history_add (gchar *input);
+GList *verve_history_begin (void);
+GList *verve_history_end (void);
+GList *verve_history_get_prev (const GList *current);
+GList *verve_history_get_next (const GList *current);
+gboolean verve_history_is_empty (void);
+const gchar *verve_history_get_last_command (void);
+
+#endif /* !__VERVE_HISTORY_H__ */
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c (from rev 2389, verve-plugin/trunk/panel-plugin/verve-plugin.c)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve-plugin.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,910 @@
+/***************************************************************************
+ * verve-plugin.c
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <X11/Xlib.h>
+#include <X11/Xatom.h>
+
+#include <glib.h>
+#include <gdk/gdkkeysyms.h>
+#include <gtk/gtk.h>
+
+#include <libxfce4util/libxfce4util.h>
+#include <libxfce4panel/xfce-panel-plugin.h>
+#include <libxfcegui4/libxfcegui4.h>
+
+#include "verve.h"
+#include "verve-env.h"
+#include "verve-history.h"
+
+#ifdef HAVE_DBUS
+#include "verve-dbus-service.h"
+#endif
+
+
+
+typedef struct
+{
+ XfcePanelPlugin *plugin;
+
+ /* User interface */
+ GtkWidget *event_box;
+ GtkWidget *input;
+
+ /* Command history */
+ GList *history_current;
+
+ /* Timeouts */
+ guint focus_timeout;
+
+ /* Autocompletion */
+ GCompletion *completion;
+ gint n_complete;
+
+ /* Properties */
+ gint size;
+ gint history_length;
+
+#ifdef HAVE_DBUS
+ VerveDBusService *dbus_service;
+#endif
+
+} VervePlugin;
+
+
+/* Mutex lock used to avoid thread collisions when accessing the command
+ * completion
+ */
+G_LOCK_DEFINE_STATIC (plugin_completion_mutex);
+
+
+void
+verve_plugin_load_completion (VerveEnv* env, gpointer user_data)
+{
+ VervePlugin *verve = (VervePlugin*) user_data;
+
+ /* Load command history */
+ GList *history = verve_history_begin ();
+
+ /* Load linux binaries from PATH */
+ GList *binaries = verve_env_get_path_binaries (env);
+
+ /* Merged (and sorted) list */
+ GList *items = NULL;
+
+ /* Iterator */
+ GList *iter = NULL;
+
+ G_LOCK (plugin_completion_mutex);
+
+ /* Build merged list */
+ items = g_list_copy (binaries);
+ for (iter = g_list_first (history); iter != NULL; iter = g_list_next (iter))
+ items = g_list_insert_sorted (items, iter->data, (GCompareFunc) g_utf8_collate);
+
+ verve->completion = g_completion_new (NULL);
+
+ /* Add merged items to completion */
+ if (G_LIKELY (history != NULL))
+ g_completion_add_items (verve->completion, items);
+
+ /* Free merged list */
+ g_list_free (items);
+
+ G_UNLOCK (plugin_completion_mutex);
+}
+
+
+
+static gboolean
+verve_plugin_focus_timeout (VervePlugin *verve)
+{
+ GtkStyle *default_style;
+ GtkStyle *style;
+
+ g_return_val_if_fail (verve != NULL, FALSE);
+ g_return_val_if_fail (verve->input != NULL || GTK_IS_ENTRY (verve->input), FALSE);
+
+ /* Determine current entry style */
+ style = gtk_widget_get_style (verve->input);
+
+ /* Get default style for widgets */
+ default_style = gtk_widget_get_default_style ();
+
+ /* Check whether the entry already is highlighted */
+ if (gdk_color_equal (&style->base[GTK_STATE_NORMAL], &style->base[GTK_STATE_SELECTED]))
+ {
+ /* Make it look normal again */
+ gtk_widget_modify_base (verve->input, GTK_STATE_NORMAL, &default_style->base[GTK_STATE_NORMAL]);
+ gtk_widget_modify_bg (verve->input, GTK_STATE_NORMAL, &default_style->bg[GTK_STATE_NORMAL]);
+ gtk_widget_modify_text (verve->input, GTK_STATE_NORMAL, &default_style->text[GTK_STATE_NORMAL]);
+ }
+ else
+ {
+ /* Highlight the entry by changing base and background colors */
+ gtk_widget_modify_base (verve->input, GTK_STATE_NORMAL, &style->base[GTK_STATE_SELECTED]);
+ gtk_widget_modify_bg (verve->input, GTK_STATE_NORMAL, &style->bg[GTK_STATE_SELECTED]);
+ gtk_widget_modify_text (verve->input, GTK_STATE_NORMAL, &style->text[GTK_STATE_SELECTED]);
+ }
+
+ return TRUE;
+}
+
+
+
+static void
+verve_plugin_focus_timeout_reset (VervePlugin *verve)
+{
+ GtkStyle *default_style;
+
+ g_return_if_fail (verve != NULL);
+ g_return_if_fail (verve->input != NULL || GTK_IS_ENTRY (verve->input));
+
+ /* Unregister timeout */
+ if (G_LIKELY (verve->focus_timeout != 0))
+ {
+ g_source_remove (verve->focus_timeout);
+ verve->focus_timeout = 0;
+ }
+
+ /* Get default style */
+ default_style = gtk_widget_get_default_style ();
+
+ /* Reset entry background */
+ gtk_widget_modify_base (verve->input, GTK_STATE_NORMAL, &default_style->base[GTK_STATE_NORMAL]);
+ gtk_widget_modify_bg (verve->input, GTK_STATE_NORMAL, &default_style->bg[GTK_STATE_NORMAL]);
+ gtk_widget_modify_text (verve->input, GTK_STATE_NORMAL, &default_style->text[GTK_STATE_NORMAL]);
+}
+
+
+
+static gboolean
+verve_plugin_focus_out (GtkWidget *entry,
+ GdkEventFocus *event,
+ VervePlugin *verve)
+{
+ g_return_val_if_fail (verve != NULL, FALSE);
+ g_return_val_if_fail (verve->input != NULL || GTK_IS_ENTRY (verve->input), FALSE);
+
+ /* Stop blinking */
+ verve_plugin_focus_timeout_reset (verve);
+
+ return TRUE;
+}
+
+
+
+static gboolean
+verve_plugin_buttonpress_cb (GtkWidget *entry,
+ GdkEventButton *event,
+ VervePlugin *verve)
+{
+ GtkWidget *toplevel;
+
+ g_return_val_if_fail (entry != NULL || GTK_IS_ENTRY (entry), FALSE);
+ g_return_val_if_fail (verve != NULL, FALSE);
+
+ /* Determine toplevel parent widget */
+ toplevel = gtk_widget_get_toplevel (entry);
+
+ /* Reset focus timeout if necessary */
+ if (G_LIKELY (verve->focus_timeout != 0))
+ verve_plugin_focus_timeout_reset (verve);
+
+ /* Grab entry focus if possible */
+ if (event->button != 3 && toplevel && toplevel->window)
+ xfce_panel_plugin_focus_widget (verve->plugin, entry);
+
+ return FALSE;
+}
+
+
+
+#ifdef HAVE_DBUS
+static void
+verve_plugin_grab_focus (VerveDBusService *dbus_service,
+ VervePlugin *verve)
+{
+ GtkWidget *toplevel;
+
+ g_return_if_fail (verve != NULL);
+ g_return_if_fail (verve->input != NULL || GTK_IS_ENTRY (verve->input));
+
+ /* Determine toplevel widget */
+ toplevel = gtk_widget_get_toplevel (verve->input);
+
+ if (toplevel && toplevel->window)
+ {
+ /* Unhide the panel */
+ xfce_panel_plugin_set_panel_hidden (verve->plugin, FALSE);
+
+ /* Focus the command entry */
+ xfce_panel_plugin_focus_widget (verve->plugin, verve->input);
+
+ /* Make it flashy so chances are higher that the user notices the focus */
+ if (verve->focus_timeout == 0)
+ verve->focus_timeout = g_timeout_add_full (G_PRIORITY_DEFAULT_IDLE, 250, (GSourceFunc)verve_plugin_focus_timeout, verve, NULL);
+ }
+}
+#endif
+
+
+
+static gboolean
+verve_plugin_keypress_cb (GtkWidget *entry,
+ GdkEventKey *event,
+ VervePlugin *verve)
+{
+ GCompletion *completion;
+ gchar *command;
+ gboolean terminal;
+ const gchar *prefix;
+ GList *similar = NULL;
+ gboolean selected = FALSE;
+ gint selstart;
+ gint i;
+ gint len;
+
+ g_return_val_if_fail (verve != NULL, FALSE);
+
+ /* Get entry completion */
+ completion = verve->completion;
+
+ /* Reset focus timeout, if necessary */
+ if (verve->focus_timeout != 0)
+ verve_plugin_focus_timeout_reset (verve);
+
+ switch (event->keyval)
+ {
+ /* Reset entry value when ESC is pressed */
+ case GDK_Escape:
+ gtk_entry_set_text (GTK_ENTRY (entry), "");
+ return TRUE;
+
+ /* Browse backwards through the command history */
+ case GDK_Down:
+ /* Do nothing if history is empty */
+ if (verve_history_is_empty ())
+ return TRUE;
+
+ /* Check if we already are in "history browsing mode" */
+ if (G_LIKELY (verve->history_current != NULL))
+ {
+ /* Get entry before current */
+ GList *tmp = verve_history_get_prev (verve->history_current);
+
+ /* Make sure we did not reach the end yet */
+ if (G_LIKELY (tmp != NULL))
+ {
+ /* Set current entry */
+ verve->history_current = tmp;
+
+ /* Set verve input entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), verve->history_current->data);
+ }
+ else
+ {
+ /* Reset pointer to current history entry */
+ verve->history_current = NULL;
+
+ /* Clear verve input entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), "");
+ }
+ }
+ else
+ {
+ /* Get last history entry */
+ verve->history_current = verve_history_end();
+
+ /* Set input entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), verve->history_current->data);
+ }
+
+ return TRUE;
+
+ /* Browse forwards through the command history */
+ case GDK_Up:
+ /* Do nothing if the history is empty */
+ if (verve_history_is_empty ())
+ return TRUE;
+
+ /* Check whether we already are in history browsing mode */
+ if (G_LIKELY (verve->history_current != NULL))
+ {
+ /* Get command after current entry */
+ GList *tmp = verve_history_get_next (verve->history_current);
+
+ /* Make sure we did not reach the end yet */
+ if (G_LIKELY (tmp != NULL))
+ {
+ /* Set current history entry */
+ verve->history_current = tmp;
+
+ /* Set entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), verve->history_current->data);
+ }
+ else
+ {
+ /* Reset current history entry */
+ verve->history_current = NULL;
+
+ /* Clear entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), "");
+ }
+ }
+ else
+ {
+ /* Begin with latest history command */
+ verve->history_current = verve_history_begin ();
+
+ /* Set entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), verve->history_current->data);
+ }
+
+ return TRUE;
+
+ /* Execute command entered by the user */
+ case GDK_Return:
+ case GDK_KP_Enter:
+ /* Retrieve a copy of the entry text */
+ command = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
+
+ /* Remove leading and trailing whitespace */
+ command = g_strstrip (command);
+
+ /* Run command in terminal if the CTRL key is pressed */
+ if ((event->state) & GDK_CONTROL_MASK)
+ terminal = TRUE;
+ else
+ terminal = FALSE;
+
+ /* Try executing the command */
+ if (G_LIKELY (verve_execute (command, terminal)))
+ {
+ /* Hide the panel again */
+ xfce_panel_plugin_set_panel_hidden (verve->plugin, TRUE);
+
+ /* Do not add command to history if it is the same as the one before */
+ if (verve_history_is_empty () || g_utf8_collate (verve_history_get_last_command (), command) != 0)
+ {
+ /* Add command to history */
+ verve_history_add (g_strdup (command));
+
+ G_LOCK (plugin_completion_mutex);
+
+ /* Add command to completion */
+ verve->completion->items = g_list_insert_sorted (verve->completion->items, g_strdup (command), (GCompareFunc) g_utf8_collate);
+
+ G_UNLOCK (plugin_completion_mutex);
+ }
+
+ /* Reset current history entry */
+ verve->history_current = NULL;
+
+ /* Clear input entry text */
+ gtk_entry_set_text (GTK_ENTRY (entry), "");
+ }
+ else
+ {
+ /* Generate error message */
+ gchar *msg = g_strconcat (_("Could not execute command:"), " ", command, NULL);
+
+ /* Display error message dialog */
+ show_error (msg);
+
+ /* Free message */
+ g_free (msg);
+ }
+
+ /* Free entry text copy */
+ g_free (command);
+
+ return TRUE;
+
+ /* Cycle through completion results */
+ case GDK_Tab:
+ /* Retrieve a copy of the entry text */
+ command = g_strdup (gtk_entry_get_text (GTK_ENTRY (entry)));
+
+ /* Determine command length and abort if it is empty */
+ if ((len = g_utf8_strlen (command, -1)) == 0)
+ return TRUE;
+
+ /* Determine currently selected chars */
+ selected = gtk_editable_get_selection_bounds (GTK_EDITABLE (entry), &selstart, NULL);
+
+ /* Check if we are in auto-completion browsing mode */
+ if (selected && selstart != 0)
+ {
+ /* Switch over to the next completion result */
+ verve->n_complete++;
+
+ /* Determine the prefix (which is what the user actually typed by himself) */
+ prefix = g_strndup (command, selstart);
+ }
+ else
+ {
+ /* Start with first completion result */
+ verve->n_complete = 0;
+
+ /* The complete input is the prefix */
+ prefix = command;
+ }
+
+ G_LOCK (plugin_completion_mutex);
+
+ /* Get all completion results */
+ similar = g_completion_complete (completion, prefix, NULL);
+
+ G_UNLOCK (plugin_completion_mutex);
+
+ /* Check if there are any results */
+ if (G_LIKELY (similar != NULL))
+ {
+ /* Check if we are in browsing mode already */
+ if (selected && selstart != 0)
+ {
+ /* Go back to the first entry if we reached the end of the result list */
+ if (verve->n_complete >= g_list_length (similar))
+ verve->n_complete = 0;
+
+ /* Search the next result */
+ for (i=0; i<verve->n_complete; i++)
+ if (similar->next != NULL)
+ similar = similar->next;
+ }
+
+ /* Put result text into input entry */
+ gtk_entry_set_text (GTK_ENTRY (entry), similar->data);
+
+ /* Select chars after the prefix entered by the user */
+ gtk_editable_select_region (GTK_EDITABLE (entry), (selstart == 0 ? len : selstart), -1);
+ }
+
+ /* Free entry text copy */
+ g_free (command);
+
+ return TRUE;
+
+ /* Any other key pressed, so the entry will handle the input itself */
+ default:
+ return FALSE;
+ }
+}
+
+
+
+static VervePlugin*
+verve_plugin_new (XfcePanelPlugin *plugin)
+{
+ /* Set application name */
+ g_set_application_name ("Verve");
+
+ /* Init thread system */
+ g_thread_init (NULL);
+
+ /* Init Verve mini-framework */
+ verve_init ();
+
+ /* Create the plugin object */
+ VervePlugin *verve = g_new (VervePlugin, 1);
+
+ /* Assign the panel plugin to the plugin member */
+ verve->plugin = plugin;
+
+ /* Initialize completion variables */
+ verve->history_current = NULL;
+ verve->completion = NULL;
+ verve->n_complete = 0;
+ verve->size = 20;
+ verve->history_length = 25;
+
+ /* Connect to load-binaries signal of environment */
+ g_signal_connect (G_OBJECT (verve_env_get()), "load-binaries", G_CALLBACK (verve_plugin_load_completion), verve);
+
+ /* Initialize focus timeout */
+ verve->focus_timeout = 0;
+
+ /* Create an event box to put the input entry into */
+ verve->event_box = gtk_event_box_new ();
+ gtk_widget_show (verve->event_box);
+
+ /* Create the input entry */
+ verve->input = gtk_entry_new ();
+ gtk_entry_set_width_chars (GTK_ENTRY (verve->input), 20);
+ gtk_widget_show (verve->input);
+ gtk_container_add (GTK_CONTAINER (verve->event_box), verve->input);
+
+ /* Handle mouse button and key press events */
+ g_signal_connect (verve->input, "key-press-event", G_CALLBACK (verve_plugin_keypress_cb), verve);
+ g_signal_connect (verve->input, "button-press-event", G_CALLBACK (verve_plugin_buttonpress_cb), verve);
+ g_signal_connect (verve->input, "focus-out-event", G_CALLBACK (verve_plugin_focus_out), verve);
+
+#ifdef HAVE_DBUS
+ /* Attach the D-BUS service */
+ verve->dbus_service = g_object_new (VERVE_TYPE_DBUS_SERVICE, NULL);
+
+ /* Connect to D-BUS service signals */
+ g_signal_connect (G_OBJECT (verve->dbus_service), "open-dialog", G_CALLBACK (verve_plugin_grab_focus), verve);
+ g_signal_connect (G_OBJECT (verve->dbus_service), "grab-focus", G_CALLBACK (verve_plugin_grab_focus), verve);
+#endif
+
+ return verve;
+}
+
+
+
+static void
+verve_plugin_free (XfcePanelPlugin *plugin,
+ VervePlugin *verve)
+{
+#ifdef HAVE_DBUS
+ g_object_unref (G_OBJECT (verve->dbus_service));
+#endif
+
+ /* Unregister focus timeout */
+ verve_plugin_focus_timeout_reset (verve);
+
+ /* Unload completion */
+ g_completion_free (verve->completion);
+
+ /* Free plugin data structure */
+ g_free (verve);
+
+ /* Shutdown Verve mini-framework */
+ verve_shutdown ();
+}
+
+
+
+static gboolean
+verve_plugin_update_size (XfcePanelPlugin *plugin, gint size, VervePlugin *verve)
+{
+ g_return_val_if_fail (verve != NULL, FALSE);
+ g_return_val_if_fail (verve->input != NULL || GTK_IS_ENTRY (verve->input), FALSE);
+
+ /* Set internal size variable */
+ verve->size = size;
+
+ /* Update entry width */
+ gtk_entry_set_width_chars (GTK_ENTRY (verve->input), size);
+
+ return TRUE;
+}
+
+
+
+static gboolean
+verve_plugin_size_changed_request (XfcePanelPlugin *plugin,
+ gint size,
+ VervePlugin *verve)
+{
+ g_return_val_if_fail (verve != NULL, FALSE);
+
+ /* Update Verve size */
+ verve_plugin_update_size (plugin, verve->size, verve);
+
+ return TRUE;
+}
+
+
+
+static gboolean
+verve_plugin_update_history_length (XfcePanelPlugin *plugin,
+ gint history_length,
+ VervePlugin *verve)
+{
+ g_return_val_if_fail (verve != NULL, FALSE);
+
+ /* Set internal history length variable */
+ verve->history_length = history_length;
+
+ /* Apply length to history */
+ verve_history_set_length (history_length);
+
+ return TRUE;
+}
+
+
+
+static void
+verve_plugin_read_rc_file (XfcePanelPlugin *plugin,
+ VervePlugin *verve)
+{
+ XfceRc *rc;
+ gchar *filename;
+
+ /* Default size */
+ gint size = 20;
+
+ /* Default number of saved history entries */
+ gint history_length = 25;
+
+ g_return_if_fail (plugin != NULL);
+ g_return_if_fail (verve != NULL);
+
+ /* Search for config file */
+ filename = xfce_panel_plugin_lookup_rc_file (plugin);
+
+ /* Abort if file could not be found */
+ if (G_UNLIKELY (filename == NULL))
+ return;
+
+ /* Open rc handle */
+ rc = xfce_rc_simple_open (filename, TRUE);
+
+ /* Only read config if rc handle could be opened */
+ if (G_LIKELY (rc != NULL))
+ {
+ /* Read size value */
+ size = xfce_rc_read_int_entry (rc, "size", size);
+
+ /* Read number of saved history entries */
+ history_length = xfce_rc_read_int_entry (rc, "history-length", history_length);
+
+ /* Update plugin size */
+ verve_plugin_update_size (NULL, size, verve);
+
+ /* Update history length */
+ verve_plugin_update_history_length (NULL, history_length, verve);
+
+ /* Close handle */
+ xfce_rc_close (rc);
+ }
+
+ /* Free filename string */
+ g_free (filename);
+}
+
+
+
+static void
+verve_plugin_write_rc_file (XfcePanelPlugin *plugin,
+ VervePlugin *verve)
+{
+ XfceRc *rc;
+ gchar *filename;
+
+ g_return_if_fail (plugin != NULL);
+ g_return_if_fail (verve != NULL);
+
+ /* Search for the config file */
+ filename = xfce_panel_plugin_save_location (plugin, TRUE);
+
+ /* Abort saving if the file does not exists */
+ if (G_UNLIKELY (filename == NULL))
+ return;
+
+ /* Open rc handle */
+ rc = xfce_rc_simple_open (filename, FALSE);
+
+ if (G_LIKELY (rc != NULL))
+ {
+ /* Write size value */
+ xfce_rc_write_int_entry (rc, "size", verve->size);
+
+ /* Write number of saved history entries */
+ xfce_rc_write_int_entry (rc, "history-length", verve->history_length);
+
+ /* Close handle */
+ xfce_rc_close (rc);
+ }
+
+ /* Free filename string */
+ g_free (filename);
+}
+
+
+
+static void
+verve_plugin_size_changed (GtkSpinButton *spin,
+ VervePlugin *verve)
+{
+ g_return_if_fail (verve != NULL);
+
+ /* Update plugin size */
+ verve_plugin_update_size (NULL, gtk_spin_button_get_value_as_int (spin), verve);
+}
+
+
+
+static void
+verve_plugin_history_length_changed (GtkSpinButton *spin,
+ VervePlugin *verve)
+{
+ g_return_if_fail (verve != NULL);
+
+ /* Update history length */
+ verve_plugin_update_history_length (NULL, gtk_spin_button_get_value_as_int (spin), verve);
+}
+
+
+
+static void
+verve_plugin_response (GtkWidget *dialog,
+ int response,
+ VervePlugin *verve)
+{
+ g_return_if_fail (verve != NULL);
+ g_return_if_fail (verve->plugin != NULL);
+
+ /* Disconnect from dialog */
+ g_object_set_data (G_OBJECT (verve->plugin), "dialog", NULL);
+
+ /* Destroy dialog object */
+ gtk_widget_destroy (dialog);
+
+ /* Unblock plugin context menu */
+ xfce_panel_plugin_unblock_menu (verve->plugin);
+
+ /* Save changes to config file */
+ verve_plugin_write_rc_file (verve->plugin, verve);
+}
+
+
+
+static void
+verve_plugin_properties (XfcePanelPlugin *plugin,
+ VervePlugin *verve)
+{
+ GtkWidget *dialog;
+ GtkWidget *frame;
+ GtkWidget *bin1;
+ GtkWidget *bin2;
+ GtkWidget *hbox;
+ GtkWidget *size_label;
+ GtkWidget *size_spin;
+ GtkWidget *history_length_label;
+ GtkWidget *history_length_spin;
+ GtkObject *adjustment;
+
+ g_return_if_fail (plugin != NULL);
+ g_return_if_fail (verve != NULL);
+
+ /* Block plugin context menu */
+ xfce_panel_plugin_block_menu (plugin);
+
+ /* Create properties dialog */
+ dialog = xfce_titled_dialog_new_with_buttons (_("Verve"),
+ GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (plugin))),
+ GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+ NULL);
+
+ /* Set dialog property */
+ g_object_set_data (G_OBJECT (plugin), "dialog", dialog);
+
+ /* Be notified when the properties dialog is closed */
+ g_signal_connect (dialog, "response", G_CALLBACK (verve_plugin_response), verve);
+
+ /* Basic dialog window setup */
+ gtk_window_set_icon_name (GTK_WINDOW (dialog), "utilities-terminal");
+ gtk_window_set_position (GTK_WINDOW (dialog), GTK_WIN_POS_CENTER);
+ gtk_container_set_border_width (GTK_CONTAINER (dialog), 2);
+
+ /* Frame for appearance settings */
+ frame = xfce_create_framebox (_("Appearance"), &bin1);
+ gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), frame, TRUE, TRUE, 0);
+ gtk_widget_show (frame);
+
+ /* Plugin size container */
+ hbox = gtk_hbox_new (FALSE, 8);
+ gtk_container_add (GTK_CONTAINER (bin1), hbox);
+ gtk_widget_show (hbox);
+
+ /* Plugin size label */
+ size_label = gtk_label_new (_("Width (in chars):"));
+ gtk_box_pack_start (GTK_BOX (hbox), size_label, FALSE, TRUE, 0);
+ gtk_widget_show (size_label);
+
+ /* Plugin size adjustment */
+ adjustment = gtk_adjustment_new (verve->size, 5, 100, 1, 5, 10);
+
+ /* Plugin size spin button */
+ size_spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 1, 0);
+ gtk_widget_add_mnemonic_label (size_spin, size_label);
+ gtk_box_pack_start (GTK_BOX (hbox), size_spin, FALSE, TRUE, 0);
+ gtk_widget_show (size_spin);
+
+ /* Assign current size to spin button */
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (size_spin), verve->size);
+
+ /* Be notified when the user requests a different plugin size */
+ g_signal_connect (size_spin, "value-changed", G_CALLBACK (verve_plugin_size_changed), verve);
+
+ /* Frame for behaviour settings */
+ frame = xfce_create_framebox (_("Behaviour"), &bin2);
+ gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), frame, TRUE, TRUE, 0);
+ gtk_widget_show (frame);
+
+ /* Plugin history length container */
+ hbox = gtk_hbox_new (FALSE, 8);
+ gtk_container_add (GTK_CONTAINER (bin2), hbox);
+ gtk_widget_show (hbox);
+
+ /* History length label */
+ history_length_label = gtk_label_new (_("Number of saved history items:"));
+ gtk_box_pack_start (GTK_BOX (hbox), history_length_label, FALSE, TRUE, 0);
+ gtk_widget_show (history_length_label);
+
+ /* History length adjustment */
+ adjustment = gtk_adjustment_new (verve->history_length, 0, 1000, 1, 5, 10);
+
+ /* History length spin button */
+ history_length_spin = gtk_spin_button_new (GTK_ADJUSTMENT (adjustment), 1, 0);
+ gtk_widget_add_mnemonic_label (history_length_spin, history_length_label);
+ gtk_box_pack_start (GTK_BOX (hbox), history_length_spin, FALSE, TRUE, 0);
+ gtk_widget_show (history_length_spin);
+
+ /* Assign current length to the spin button */
+ gtk_spin_button_set_value (GTK_SPIN_BUTTON (history_length_spin), verve->history_length);
+
+ /* Be notified when the user requests a different history length */
+ g_signal_connect (history_length_spin, "value-changed", G_CALLBACK (verve_plugin_history_length_changed), verve);
+
+ /* Show properties dialog */
+ gtk_widget_show (dialog);
+}
+
+
+
+static void
+verve_plugin_construct (XfcePanelPlugin *plugin)
+{
+ /* Set gettext text domain */
+ xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+
+ /* Create Verve plugin */
+ VervePlugin *verve = verve_plugin_new (plugin);
+
+ /* Read config file */
+ verve_plugin_read_rc_file (plugin, verve);
+
+ /* Add event box to the panel plugin */
+ gtk_container_add (GTK_CONTAINER (plugin), verve->event_box);
+ xfce_panel_plugin_add_action_widget (plugin, verve->event_box);
+
+ /* Make the plugin configurable from the context menu */
+ xfce_panel_plugin_menu_show_configure (plugin);
+
+ /* Connect to panel plugin signals */
+ g_signal_connect (plugin, "save", G_CALLBACK (verve_plugin_write_rc_file), verve);
+ g_signal_connect (plugin, "free-data", G_CALLBACK (verve_plugin_free), verve);
+ g_signal_connect (plugin, "configure-plugin", G_CALLBACK (verve_plugin_properties), verve);
+ g_signal_connect (plugin, "size-changed", G_CALLBACK (verve_plugin_size_changed_request), verve);
+}
+
+
+
+/* Register exteral panel plugin */
+XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL (verve_plugin_construct);
+
+
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve.c
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve.c (from rev 2389, verve-plugin/trunk/panel-plugin/verve.c)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve.c (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,283 @@
+/***************************************************************************
+ * verve.c
+ *
+ * $Id$
+ * Copyright 2006-2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#include <pcre.h>
+
+#include <glib-object.h>
+
+#include <libxfcegui4/libxfcegui4.h>
+
+#include "verve.h"
+#include "verve-env.h"
+#include "verve-history.h"
+
+
+
+static gboolean verve_is_url (const gchar *str);
+static gboolean verve_is_email (const gchar *str);
+static gboolean verve_is_directory (const gchar *str);
+
+
+
+/* URL/eMail matching patterns */
+#define USERCHARS "-A-Za-z0-9"
+#define PASSCHARS "-A-Za-z0-9,?;.:/!%$^*&~\"#'"
+#define HOSTCHARS "-A-Za-z0-9"
+#define USER "[" USERCHARS "]+(:["PASSCHARS "]+)?"
+#define MATCH_URL1 "^((file|https?|ftps?)://(" USER "@)?)[" HOSTCHARS ".]+(:[0-9]+)?" \
+ "(/[-A-Za-z0-9_$.+!*(),;:@&=?/~#%]*[^]'.}>) \t\r\n,\\\"])?/?$"
+#define MATCH_URL2 "^(www|ftp)[" HOSTCHARS "]*\\.[" HOSTCHARS ".]+(:[0-9]+)?" \
+ "(/[-A-Za-z0-9_$.+!*(),;:@&=?/~#%]*[^]'.}>) \t\r\n,\\\"])?/?$"
+#define MATCH_EMAIL "^(mailto:)?[a-z0-9][a-z0-9.-]*@[a-z0-9][a-z0-9-]*(\\.[a-z0-9][a-z0-9-]*)+$"
+
+
+
+/*********************************************************************
+ *
+ * Initialize/shutdown Verve
+ * -------------------------
+ *
+ * The execution of these functions is necessary before and after
+ * your program makes use of Verve.
+ *
+ *********************************************************************/
+
+void
+verve_init (void)
+{
+ /* Init history database */
+ verve_history_init ();
+}
+
+
+
+void
+verve_shutdown (void)
+{
+ /* Free history database */
+ verve_history_shutdown ();
+
+ /* Shutdown environment */
+ verve_env_shutdown ();
+}
+
+
+
+/*********************************************************************
+ *
+ * Verve command line execution function
+ * -------------------------------------
+ *
+ * With the help of this function, shell commands can be executed.
+ *
+ *********************************************************************/
+
+gboolean verve_spawn_command_line (const gchar *cmdline)
+{
+ gint argc;
+ gchar **argv;
+ gboolean success;
+ GError *error = NULL;
+ const gchar *home_dir;
+ GSpawnFlags flags;
+
+ /* Parse command line arguments */
+ success = g_shell_parse_argv (cmdline, &argc, &argv, &error);
+
+ /* Return false if command line arguments failed to be arsed */
+ if (G_UNLIKELY (error != NULL))
+ {
+ g_error_free (error);
+ return FALSE;
+ }
+
+ /* Get user's home directory */
+ home_dir = xfce_get_homedir ();
+
+ /* Set up spawn flags */
+ flags = G_SPAWN_STDOUT_TO_DEV_NULL;
+ flags |= G_SPAWN_STDERR_TO_DEV_NULL;
+ flags |= G_SPAWN_SEARCH_PATH;
+
+ /* Spawn subprocess */
+ success = g_spawn_async (home_dir, argv, NULL, flags, NULL, NULL, NULL, &error);
+
+ /* Return false if subprocess could not be spawned */
+ if (G_UNLIKELY (error != NULL))
+ {
+ g_error_free (error);
+ return FALSE;
+ }
+
+ /* Free command line arguments */
+ g_strfreev (argv);
+
+ /* Return whether process was spawned successfully */
+ return success;
+}
+
+
+
+/*********************************************************************
+ *
+ * Verve main execution method
+ * ---------------------------
+ *
+ * This method should be used whenever you want to run command line
+ * input, be it a URL, an eMail address or a custom command.
+ *
+ *********************************************************************/
+
+gboolean
+verve_execute (const gchar *input,
+ gboolean terminal)
+{
+ gchar *command;
+ gboolean result = FALSE;
+
+ /* Open URLs, eMail addresses and directories using exo-open */
+ if (verve_is_url (input) || verve_is_email (input) || verve_is_directory (input))
+ {
+ /* Build exo-open command */
+ command = g_strconcat ("exo-open ", input, NULL);
+ }
+ else
+ {
+ /* Run command using the xfterm4 wrapper if the terminal flag was set */
+ if (G_UNLIKELY (terminal))
+ command = g_strconcat ("xfterm4 -e ", input, NULL);
+ else
+ command = g_strdup (input);
+ }
+
+ /* Try to execute the exo-open command */
+ if (verve_spawn_command_line (command))
+ result = TRUE;
+
+ /* Free command string */
+ g_free (command);
+
+ /* Return spawn result */
+ return result;
+}
+
+
+
+/*********************************************************************
+ *
+ * Internal pattern matching functions
+ *
+ *********************************************************************/
+
+gboolean
+verve_is_url (const gchar *str)
+{
+ GString *string = g_string_new (str);
+ pcre *pattern;
+ const gchar *error;
+ int error_offset;
+ int ovector[30];
+ gboolean success = FALSE;
+
+ /* Compile first pattern */
+ pattern = pcre_compile (MATCH_URL1, 0, &error, &error_offset, NULL);
+
+ /* Test whether the string matches this pattern */
+ if (pcre_exec (pattern, NULL, string->str, string->len, 0, 0, ovector, 30) >= 0)
+ success = TRUE;
+
+ /* Free pattern */
+ pcre_free (pattern);
+
+ /* Free data and return true if string matched the first pattern */
+ if (success)
+ {
+ g_string_free (string, TRUE);
+ return TRUE;
+ }
+
+ /* Compile second pattern */
+ pattern = pcre_compile (MATCH_URL2, 0, &error, &error_offset, NULL);
+
+ /* Test whether the string matches this pattern */
+ if (pcre_exec (pattern, NULL, string->str, string->len, 0, 0, ovector, 30) >= 0)
+ success = TRUE;
+
+ /* Free pattern */
+ pcre_free (pattern);
+
+ /* Free string */
+ g_string_free (string, TRUE);
+
+ /* Return whether the string matched any of the URL patterns */
+ return success;
+}
+
+
+
+gboolean
+verve_is_email (const gchar *str)
+{
+ GString *string = g_string_new (str);
+ const gchar *error;
+ pcre *pattern;
+ int error_offset;
+ int ovector[30];
+ gboolean success = FALSE;
+
+ /* Compile the pattern */
+ pattern = pcre_compile (MATCH_EMAIL, 0, &error, &error_offset, NULL);
+
+ /* Test whether the string matches this pattern */
+ if (pcre_exec (pattern, NULL, string->str, string->len, 0, 0, ovector, 30) >= 0)
+ success = TRUE;
+
+ /* Free pattern */
+ pcre_free (pattern);
+
+ /* Free string data */
+ g_string_free (string, TRUE);
+
+ /* Return whether the string matched any of the eMail patterns */
+ return success;
+}
+
+
+
+gboolean
+verve_is_directory (const gchar *str)
+{
+ /* Avoid opening directories with the same name as an existing executable. */
+ if (g_find_program_in_path (str))
+ return FALSE;
+
+ if (g_file_test (str, G_FILE_TEST_IS_DIR))
+ return TRUE;
+ else
+ return FALSE;
+}
+
+
+
+/* vim:set expandtab sts=2 ts=2 sw=2: */
Deleted: verve-plugin/tags/0.3.5/panel-plugin/verve.h
Copied: verve-plugin/tags/0.3.5/panel-plugin/verve.h (from rev 2389, verve-plugin/trunk/panel-plugin/verve.h)
===================================================================
--- verve-plugin/tags/0.3.5/panel-plugin/verve.h (rev 0)
+++ verve-plugin/tags/0.3.5/panel-plugin/verve.h 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,41 @@
+/***************************************************************************
+ * verve.h
+ *
+ * $Id$
+ * Copyright 2007 Jannis Pohlmann
+ * jannis at xfce.org
+ ****************************************************************************/
+
+/*
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * 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.
+ */
+
+#ifndef __VERVE_H__
+#define __VERVE_H__
+
+#include "verve-env.h"
+#include "verve-history.h"
+
+/* Init / Shutdown Verve */
+void verve_init (void);
+void verve_shutdown (void);
+
+/* Command line methods */
+gboolean verve_spawn_command_line (const gchar *cmdline);
+gboolean verve_execute (const gchar *input, gboolean terminal);
+
+#endif /* !__VERVE_H__ */
+
+/* vim:set expandtab ts=1 sw=2: */
Deleted: verve-plugin/tags/0.3.5/po/ca.po
Copied: verve-plugin/tags/0.3.5/po/ca.po (from rev 2389, verve-plugin/trunk/po/ca.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/ca.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/ca.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,79 @@
+# Catalan translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the
+# verve-plugin package.
+# Carles Muñoz Gorriz <carlesmu at internautas.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-04-17 19:32+0100\n"
+"Last-Translator: Carles Muñoz Gorriz <carlesmu at internautas.org>\n"
+"Language-Team: catalan\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "No es pot executar l'ordre:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+#, fuzzy
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Aparença"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Amplada en caràcters:"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr ""
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr ""
+
+# auto-completion = emplenament automàtic ?
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr ""
+"Interfície de línia d'ordres amb emplenament automàtic i explorador de "
+"l'històric."
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+#, fuzzy
+msgid "Verve Command Line"
+msgstr "Línia d'ordres de «Verve»"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr ""
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+
+#, fuzzy
+#~ msgid "Verve Properties"
+#~ msgstr "Propietats de «Verve»"
Deleted: verve-plugin/tags/0.3.5/po/cs.po
Copied: verve-plugin/tags/0.3.5/po/cs.po (from rev 2389, verve-plugin/trunk/po/cs.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/cs.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/cs.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,71 @@
+# Czech translations for verve-plugin package.
+# Copyright (C) 2006 THE verve-plugin'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the verve-plugin package.
+# Michal Várady <miko.vaji at gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-08-26 20:53+0100\n"
+"Last-Translator: Michal Várady <miko.vaji at gmail.com>\n"
+"Language-Team: Czech <translation-team-cs at lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Nelze spustit příkaz:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Vzhled"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Šířka (počet znaků):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Chování"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Množství zapamatovaných položek:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr ""
+"Prostředí příkazové řádky s automatickým doplňováním a historií příkazů"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Příkazová řádka Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Nepodařilo se připojení k sezení sběrnice D-BUS."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Zdá se, že neběží žádný zprostředkovatel sběrnice D-BUS pro Verve (například "
+"zásuvný modul panelu Verve)"
Deleted: verve-plugin/tags/0.3.5/po/de.po
Copied: verve-plugin/tags/0.3.5/po/de.po (from rev 2389, verve-plugin/trunk/po/de.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/de.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/de.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,68 @@
+# German translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Jannis Pohlmann <jannis at xfce.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-08-09 00:21+0100\n"
+"Last-Translator: Jannis Pohlmann <jannis at xfce.org>\n"
+"Language-Team: German <jannis at xfce.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Konnte den Befehl nicht ausführen:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Erscheinungsbild"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Breite (in Zeichen):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Verhalten"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Gespeicherte Einträge im Verlauf:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Mit Autovervollständigung, Befehlsverlauf und URL-Erkennung"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve-Kommandozeile"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Verbindung zu D-BUS konnte nicht hergestellt werden."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Es scheint kein Verve D-BUS-Service (z.B. das Verve-Panel-Plugin) zu laufen."
Deleted: verve-plugin/tags/0.3.5/po/el.po
Copied: verve-plugin/tags/0.3.5/po/el.po (from rev 2389, verve-plugin/trunk/po/el.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/el.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/el.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,74 @@
+# Greek translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Stavros Giannouris <stavrosg at serverhive.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:12+0200\n"
+"PO-Revision-Date: 2006-10-14 19:52+0200\n"
+"Last-Translator: Stavros Giannouris <stavrosg at serverhive.com>\n"
+"Language-Team: Greek <nls at tux.hellug.gr>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Αδυναμία εκτέλεσης της εντολής:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Εμφάνιση"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Πλάτος (χαρακτήρες):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Συμπεριφορά"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Μέγεθος λίστας ιστορικού:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Γραμμή εντολών με αυτόματη συμπλήρωση και ιστορικό"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Γραμμή Εντολών Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Η σύνδεση με το δίαυλο μηνυμάτων D-BUS απέτυχε."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr "Δεν φαίνεται να εκτελείται πάροχος μέσω D-BUS για το Verve."
+
+#~ msgid "Verve Properties"
+#~ msgstr "Ιδιότητες Verve"
+
+#~ msgid "Failed to deliver the org.xfce.Verve#GrabFocus method."
+#~ msgstr "Η παροχή της μεθόδου org.xfce.Verve#GrabFocus απέτυχε."
Deleted: verve-plugin/tags/0.3.5/po/eu.po
Copied: verve-plugin/tags/0.3.5/po/eu.po (from rev 2389, verve-plugin/trunk/po/eu.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/eu.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/eu.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,76 @@
+# Basque translations for PACKAGE package.
+# Copyright (C) 2006 THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# ^pi^ <pi at beobide.net>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-02-14 10:45+0100\n"
+"Last-Translator: Piarres Beobide <pi at beobide.net>\n"
+"Language-Team: Librezale <librezale at librezale.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Pootle 0.6.3.20060126\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Ezin da komandoa exekutatu:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Itxura"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Zabalera (karaktere):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Portaera"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Gordeko diren historia elementu kopurua:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Komando lerro interfazea auto-betetze eta komando historiarekin"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve Komando Lerroa"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Huts D-BUS saio bus-arekin konektatzerakoan."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Dirudienez ez dago Verve D-BUS hornitzailerik (adib. Verve panel plugin-a) "
+"abiarazirik"
+
+#~ msgid "Verve Properties"
+#~ msgstr "Verve Propietateak"
+
+#~ msgid "Failed to deliver the org.xfce.Verve#GrabFocus method."
+#~ msgstr "Huts org.xfce.Verve#GrabFocus metodoa erabiltzean."
Deleted: verve-plugin/tags/0.3.5/po/fi.po
Copied: verve-plugin/tags/0.3.5/po/fi.po (from rev 2389, verve-plugin/trunk/po/fi.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/fi.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/fi.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,68 @@
+# Finnish translations for verve-plugin.
+# This file is distributed under the same license as the verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# Jari Rahkonen <jari.rahkonen at pp1.inet.fi>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-08-24 12:00+0300\n"
+"Last-Translator: jari <jari.rahkonen at pp1.inet.fi>\n"
+"Language-Team: Finnish <translation-team-fi at lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Komentoa ei voi suorittaa:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Ulkoasu"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Leveys (merkkiä):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Käytös"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Historian kohteiden määrä:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Komentorivi automaattitäydennyksellä ja komentohistorialla"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve-komentorivi"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Ei voi muodostaa yhteyttä D-BUS -istuntoväylään."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Verven D-BUS -tarjoajaa (esim. Verve-paneeliliitännäinen) ei ole käynnissä."
Deleted: verve-plugin/tags/0.3.5/po/fr.po
Copied: verve-plugin/tags/0.3.5/po/fr.po (from rev 2389, verve-plugin/trunk/po/fr.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/fr.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/fr.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,71 @@
+# French translation of the verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Maximilian Schleiss <maxschleiss at bluewin.ch>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-09-16 22:57+0100\n"
+"Last-Translator: Maximilian Schleiss <maxschleiss at bluewin.ch>\n"
+"Language-Team: French <xfce-i18n at xfce.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Échec à l'exécution de la commande :"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Apparence"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Largeur (en pixels) :"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Comportement"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Commandes max. dans l'historique :"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Interface de ligne de commande avec saisie auto-complétée et historique"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Ligne de commande Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Impossible de se connecter à la session D-BUS."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid "There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) running."
+msgstr "Il semblerait qu'il n'y à pas de fournisseur D-BUS pour Verve (p.ex. le greffon verve pour le panneau) en cours."
+
+#~ msgid "Verve Properties"
+#~ msgstr "Préférences Verve"
+#~ msgid "Unkown command."
+#~ msgstr "Commande inconnue."
+
Deleted: verve-plugin/tags/0.3.5/po/it.po
Copied: verve-plugin/tags/0.3.5/po/it.po (from rev 2389, verve-plugin/trunk/po/it.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/it.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/it.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,72 @@
+# Italian translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Roberto Pariset <r.pariset at gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-06-16 16:10+0100\n"
+"Last-Translator: Roberto Pariset <r.pariset at gmail.com>\n"
+"Language-Team: Italian <xfce-i18n at xfce.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Impossibile eseguire il comando:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Aspetto"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Larghezza (numero di caratteri):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr ""
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr ""
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr ""
+"Interfaccia a riga di comando con completamento automatico e history browsing"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Riga di comando di Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr ""
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+
+#~ msgid "Verve Properties"
+#~ msgstr "Proprietà di Verve"
Deleted: verve-plugin/tags/0.3.5/po/ja.po
Copied: verve-plugin/tags/0.3.5/po/ja.po (from rev 2389, verve-plugin/trunk/po/ja.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/ja.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/ja.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,71 @@
+# Japanese translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Daichi Kawahata <daichi at xfce.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-02-12 12:55+0900\n"
+"Last-Translator: Daichi Kawahata <daichi at xfce.org>\n"
+"Language-Team: Japanese <xfce-users-jp at ml.fdiary.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "コマンドを実行できませんでした:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "外観"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "幅 (文字単位):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr ""
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr ""
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr "コマンドの自動補完や履歴を参照できるコマンド行インターフェイスです。"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve コマンドライン"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr ""
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+
+#~ msgid "Verve Properties"
+#~ msgstr "Verveのプロパティ"
Deleted: verve-plugin/tags/0.3.5/po/nl.po
Copied: verve-plugin/tags/0.3.5/po/nl.po (from rev 2389, verve-plugin/trunk/po/nl.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/nl.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/nl.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,76 @@
+# Verve Command Line plugin
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the Verve package.
+# Jannis <jannis at xfce.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-02-09 16:20+0100\n"
+"Last-Translator: Stephan Arts <stephan at xfce.org>\n"
+"Language-Team: Dutch <vertaling at vrijschrift.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Kan commando niet uitvoeren:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Beeld"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Breedte (in tekens):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Gedrag"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Aantal opgeslagen geschiedenis items."
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr "Commandoregel interface met auto-aanvulling en geschiedenis bladeren"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve commandoregel"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Kan niet verbinden met de D-BUS sessie bus."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Er schijnt geen Verve D-BUS provider (de Verve paneel plugin) te "
+"draaien."
+
+#~ msgid "Verve Properties"
+#~ msgstr "Verve eigenschappen"
+
+#~ msgid "Unkown command."
+#~ msgstr "Onbekend commando."
Deleted: verve-plugin/tags/0.3.5/po/pl.po
Copied: verve-plugin/tags/0.3.5/po/pl.po (from rev 2389, verve-plugin/trunk/po/pl.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/pl.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/pl.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,70 @@
+# Polish translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Piotr Maliński <admin at rk.edu.pl>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-04-08 12:19+0900\n"
+"Last-Translator: Piotr Maliński <admin at rk.edu.pl>\n"
+"Language-Team: Polish <translation-team-pl at lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Nie mogę wykonać polecenia:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Wygląd"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Długość (znaki):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Zachowanie"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Liczba zapisanych elementów historii:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Wiersz poleceń z autouzupełnianiem i historią komend"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Wiersz Poleceń Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Nie udało się połączyć z sesją D-BUSa."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr "Wygląda na to że nie ma działającej obecnie wtyczki panelu Verve."
+
+#~ msgid "Verve Properties"
+#~ msgstr "Ustawienia Verve"
Deleted: verve-plugin/tags/0.3.5/po/pt_BR.po
Copied: verve-plugin/tags/0.3.5/po/pt_BR.po (from rev 2389, verve-plugin/trunk/po/pt_BR.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/pt_BR.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/pt_BR.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,69 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# Tomas Acauan Schertel <tschertel at gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:12+0200\n"
+"PO-Revision-Date: 2006-11-07 13:11-0300\n"
+"Last-Translator: Tomas A. Schertel <tschertel at gmail.com>\n"
+"Language-Team: Brazilan Portuguese <xfce-i18n at xfce.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Não foi possível executar o comando:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Aparência"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Tamanho (em caracteres):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "Comportamento"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "Número de itens salvos no histórico:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "Linha de comando com auto-completar e histórico de comandos"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Linha de comando"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "Falha ao conectar com a sessão D-BUS."
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+"Parece não existir um provedor D-BUS Verve (ex. plugin de painel Verve) "
+"rodando."
Deleted: verve-plugin/tags/0.3.5/po/ru.po
Copied: verve-plugin/tags/0.3.5/po/ru.po (from rev 2389, verve-plugin/trunk/po/ru.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/ru.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/ru.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,71 @@
+# Russian translation of verve-plugin.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Andrey Fedoseev <andrey.fedoseev at gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-03-24 21:31+0500\n"
+"Last-Translator: Andrey Fedoseev <andrey.fedoseev at gmail.com>\n"
+"Language-Team: Russian <ru at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Невозможно выполнить команду:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Внешний вид"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Ширина (в символах):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr ""
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr ""
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr "Командная строка с автодополнением и просмотром истории"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Командная строка Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr ""
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+
+#~ msgid "Verve Properties"
+#~ msgstr "Параметры Verve"
Deleted: verve-plugin/tags/0.3.5/po/vi.po
Copied: verve-plugin/tags/0.3.5/po/vi.po (from rev 2389, verve-plugin/trunk/po/vi.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/vi.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/vi.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,72 @@
+# This file is distributed under the same license as the PACKAGE package.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
+# Phan Vĩnh Thịnh <teppi at vnlinux.org>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-02-19 22:50+0300\n"
+"Last-Translator: Phan Vĩnh Thịnh <teppi at vnlinux.org>\n"
+"Language-Team: Vietnamese <none at li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.9.1\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "Không thực hiện được câu lệnh:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "Vẻ ngoài"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "Rộng (theo ký tự):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr ""
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr ""
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+#, fuzzy
+msgid "Command line interface with auto-completion and command history"
+msgstr ""
+"Giao diện dòng lệnh với khả năng tự động kết thúc dòng lệnh và duyệt lịch sử"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Dòng lệnh Verve"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr ""
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr ""
+
+#~ msgid "Verve Properties"
+#~ msgstr "Thuộc tính Verve"
Deleted: verve-plugin/tags/0.3.5/po/zh_TW.po
Copied: verve-plugin/tags/0.3.5/po/zh_TW.po (from rev 2389, verve-plugin/trunk/po/zh_TW.po)
===================================================================
--- verve-plugin/tags/0.3.5/po/zh_TW.po (rev 0)
+++ verve-plugin/tags/0.3.5/po/zh_TW.po 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,67 @@
+# Traditional Chinese translations for verve-plugin package.
+# Copyright (C) 2006 Jannis Pohlmann.
+# This file is distributed under the same license as the verve-plugin package.
+# Hydonsingore Cia <hydonsingore at educities.edu.tw>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: verve-plugin 0.3.5\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-09-10 21:29+0200\n"
+"PO-Revision-Date: 2006-08-12 11:41+0800\n"
+"Last-Translator: Hydonsingore Cia <hydonsingore at educities.edu.tw>\n"
+"Language-Team: Chinese (traditional) <zh-l10n at linux.org.tw>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Generate error message
+#: ../panel-plugin/verve-plugin.c:407
+msgid "Could not execute command:"
+msgstr "無法執行指令:"
+
+#. Create properties dialog
+#: ../panel-plugin/verve-plugin.c:781
+msgid "Verve"
+msgstr "Verve"
+
+#. Frame for appearance settings
+#: ../panel-plugin/verve-plugin.c:799
+msgid "Appearance"
+msgstr "外觀"
+
+#. Plugin size label
+#: ../panel-plugin/verve-plugin.c:810
+msgid "Width (in chars):"
+msgstr "寬度 (多少字元):"
+
+#. Frame for behaviour settings
+#: ../panel-plugin/verve-plugin.c:830
+msgid "Behaviour"
+msgstr "行為"
+
+#. History length label
+#: ../panel-plugin/verve-plugin.c:841
+msgid "Number of saved history items:"
+msgstr "歷史條目的儲存數量:"
+
+#. vim:set expandtab sts=2 ts=2 sw=2:
+#: ../panel-plugin/verve.desktop.in.in.h:1
+msgid "Command line interface with auto-completion and command history"
+msgstr "具有自動補齊和指令歷史紀錄的指令列介面"
+
+#: ../panel-plugin/verve.desktop.in.in.h:2
+msgid "Verve Command Line"
+msgstr "Verve 指令列"
+
+#. Print error message
+#: ../scripts/verve-focus.c:61
+msgid "Failed to connect to the D-BUS session bus."
+msgstr "無法連結至 D-BUS session 匯流排。"
+
+#. Print error message
+#: ../scripts/verve-focus.c:84
+msgid ""
+"There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) "
+"running."
+msgstr "似乎沒有 Verve D-BUS 提供者 (如 Verve 面板外掛程式) 執行中。"
Deleted: verve-plugin/tags/0.3.5/scripts/verve-focus.c
Copied: verve-plugin/tags/0.3.5/scripts/verve-focus.c (from rev 2389, verve-plugin/trunk/scripts/verve-focus.c)
===================================================================
--- verve-plugin/tags/0.3.5/scripts/verve-focus.c (rev 0)
+++ verve-plugin/tags/0.3.5/scripts/verve-focus.c 2007-01-16 21:51:22 UTC (rev 2390)
@@ -0,0 +1,104 @@
+/* $Id$ */
+/* vi:set expandtab sw=2 sts=2: */
+/*-
+ * Copyright (c) 2006-2007 Jannis Pohlmann <jannis at xfce.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#ifdef HAVE_STDLIB_H
+#include <stdlib.h>
+#endif
+
+#include <libxfce4util/libxfce4util.h>
+
+#include <glib.h>
+
+#include <dbus/dbus.h>
+
+
+
+int
+main (int argc,
+ gchar **argv)
+{
+ DBusConnection *connection;
+ DBusMessage *method;
+ DBusMessage *result;
+ DBusError error;
+ gint exit_status;
+
+ /* Configure gettext */
+ xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
+
+ /* Initialize error structure */
+ dbus_error_init (&error);
+
+ /* Connect to the session bus */
+ connection = dbus_bus_get (DBUS_BUS_SESSION, &error);
+
+ /* Print error if connection failed */
+ if (G_UNLIKELY (connection == NULL))
+ {
+ /* Print error message */
+ g_error (_("Failed to connect to the D-BUS session bus."));
+
+ /* Free error structure */
+ dbus_error_free (&error);
+
+ /* Exit with error code */
+ return EXIT_FAILURE;
+ }
+
+ /* Generate D-BUS message */
+ method = dbus_message_new_method_call ("org.xfce.Verve", "/org/xfce/RunDialog", "org.xfce.Verve", "GrabFocus");
+
+ /* Send message and wait for reply */
+ result = dbus_connection_send_with_reply_and_block (connection, method, 5000, &error);
+
+ /* Destroy sent message */
+ if (G_LIKELY (method != NULL))
+ dbus_message_unref (method);
+
+ /* Handle method send error */
+ if (G_UNLIKELY (result == NULL))
+ {
+ /* Print error message */
+ g_debug (_("There seems to be no Verve D-BUS provider (e.g. the Verve panel plugin) running."));
+
+ /* Free error structure */
+ dbus_error_free (&error);
+
+ /* Set exit status */
+ exit_status = EXIT_FAILURE;
+ }
+ else
+ exit_status = EXIT_SUCCESS;
+
+ /* Destroy result */
+ if (G_LIKELY (result != NULL))
+ dbus_message_unref (result);
+
+ /* Disconnect from session bus */
+ if (G_LIKELY (connection != NULL))
+ dbus_connection_unref (connection);
+
+ return exit_status;
+}
More information about the Goodies-commits
mailing list