Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
dev:howto:panel_plugins [2010/04/06 03:40] – old revision restored hashimo | dev:howto:panel_plugins [2019/01/03 18:44] – [Testing and Releasing the plugin] landry | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Xfce Panel Plugins How To ====== | ====== Xfce Panel Plugins How To ====== | ||
- | {{wiki: | + | <note tip>You can get the sample plugin |
===== Introduction ===== | ===== Introduction ===== | ||
Line 7: | Line 6: | ||
Starting from version 4.4 the Xfce Panel support two types of plugins: internal and external. | Starting from version 4.4 the Xfce Panel support two types of plugins: internal and external. | ||
The internal plugins are loadable modules, using the | The internal plugins are loadable modules, using the | ||
- | [[http:// | + | [[https:// |
interface. External plugins are separate programs that are embedded into the panel using the | interface. External plugins are separate programs that are embedded into the panel using the | ||
- | [[http:// | + | [[https:// |
- | [[http:// | + | [[https:// |
In order to handle these plugins the plugin system was entirely rewritten, along with the rest | In order to handle these plugins the plugin system was entirely rewritten, along with the rest | ||
Line 45: | Line 44: | ||
X-XFCE-Unique=true | X-XFCE-Unique=true | ||
+ | If the plugin is compatible with GTK+ 3, you need to add this line: | ||
+ | |||
+ | X-XFCE-API=2.0 | ||
===== Library ===== | ===== Library ===== | ||
Line 51: | Line 53: | ||
line like this: | line like this: | ||
- | XDT_CHECK_PACKAGE ([LIBXFCE4PANEL], | + | XDT_CHECK_PACKAGE ([LIBXFCE4PANEL], |
The above assumes that you are using the xfce4-dev-tools package, which you really should, | The above assumes that you are using the xfce4-dev-tools package, which you really should, | ||
Line 272: | Line 274: | ||
For creating a release you need to run '' | For creating a release you need to run '' | ||
+ | |||
+ | To help development, | ||
+ | |||
+ | * Create a symbolic link from your plugin binary to the panel' | ||
+ | * Copy ''/ | ||
+ | * Edit the latter to point at ' | ||
+ | * If you're porting a plugin to GTK+ 3, make sure to add '' | ||
+ | |||
+ | An example: | ||
+ | |||
+ | < | ||
+ | $cat / | ||
+ | [Xfce Panel] | ||
+ | Type=X-XFCE-PanelPlugin | ||
+ | Encoding=UTF-8 | ||
+ | Name=Disk Performance Monitor (git) | ||
+ | Comment=Show disk performance | ||
+ | Icon=drive-harddisk | ||
+ | X-XFCE-Internal=FALSE | ||
+ | X-XFCE-Module=diskperf-git | ||
+ | X-XFCE-API=2.0 | ||
+ | </ | ||
+ | |||
+ | Now the ' | ||
===== Debugging ===== | ===== Debugging ===== | ||
- | One can use Valgrind to debug external plugins, using the technique described [[:howto/panel_plugin_debug|here]]. | + | One can use GDB and Valgrind to debug external plugins, using the technique described [[https:// |