Forewarning: This write up assumes you are at least a user of */Linux or *BSD, and have some familiarity with developing anything.

Required Programs and Libraries

apt-get install build-essentials libxfce4ui-common libxfce4ui-2-0

Setting up ./make.sh

chmod 755 ./make.sh

make.sh

libxfce4panel-1.0

libxfce4panel-2.0

./make.sh

The Fun Part

constructor

XFCE_PANEL_PLUGIN_REGISTER_INTERNAL

Installation

/usr/lib/xfce4/panel-plugins

mypluginname.desktop

/usr/share/xfce4/panel-plugins

As a FOSS OS user, there are times when my environment is lacking. As a FOSS OS user, there are times when my problems can be immediately addressed! I wanted a file manager that integrated with my desktop environment, such that I could manage files quickly in a tree view-style file manager that would always be visible on my left. Little did I know programming a plugin for XFCE was not straight forward due to the lack of documentation and instruction. The information that was available was convoluted and I had to resort to looking at the source of other plugins instead, as well as Makefiles to understand how to build them. This write up aims to fill this niche and make programming XFCE panel plugins a breeze! We'll begin with what you'll need, setting up the simple build process, implementation of the plugin, and installation.The following command is for Debian sid, which should work on Ubuntu as well.Depending if you already have GTK and friends installed, this will either be a big download, or around 25MB.For really tiny projects like this, I avoid using Makefiles. They are just an unnecessary complexity. So instead we'll call our compiler with a simple script that we'll call make.sh.So first create a directory for your project. Call it whatever you wish. I named mine after a moon, enceladus.Next, create the make.sh file. Runso that you can execute it later. Open upand add this to it:You may have to change theto. Save the file and quit.Now when you want to compile your program, you just run! Easy-peasy.Time to get coding! Every plugin you write will begin with these lines:is the entry point to our code. You can rename it anything you want, but remember to use the register macro () so XFCE knows where to start executing code.Now you just start programming like you would with any GTK application, with some tiny differences. The code below explains what you need to do next:And that's it! Very simple and straight forward. If you compiled this, you would just get a blank XFCE plugin. The XFCE panel library offers more but most of the time people just want to create a simple plugin. You can check out my finished product, which uses exactly what I've described here Now this may vary from system to system. I had to have root permissions to install my custom plugins, because plugins are located at. After you've copied your plugin there you have to create afile.And install it inHere is a quick visual result of my plugin. I'd say it's quite nice. (It's on the very left)If there are any questions or better ways to do a certain aspect of this tutorial, feel free to leave a comment! I love comments (but not spam).References:1: https://wiki.xfce.org/dev/howto/panel_plugins