|The Update applet will help you use the development version of Cairo-Dock. It's first goal is to manage the compilation of the cairo-dock sources and applets. It will also provide a few other helpers like information on commits, or other usefull tools to develop for the dock or its applets.
It provides some actions that you can assign the way you like to buttons ans shortkeys.
Two user modes are available with different goals and actions:
- Tester - Will be the default mode for most people. It provide an easy way to keep your Cairo-Dock at the latest version using the development branches.
- Show versions : Compare your version with the trunk and see details on commits you miss. The version check can be run on a regular basis with a timer.
- Update all : Download the latest versions and launch a full rebuild.
- Download all : Download the latest version.
- Build all : launch a full rebuild.
- Toggle user mode : to easily swap between user modes.
- Developer - With the same options and a lot more, it will help you work for the dock.
- Toggle target : You can define a list of build targets and easily swap between them with the mouse wheel. Valid targets are
- core : the dock core.
- plug-ins : targets the full plug-ins repository.
- any internal module by its directory name.
- any external module by its directory name (should be the same as applet name). This will trigger a "make" command if available on rebuild, which should allow to cover all cases.
- Show diff : opens a diff editor on the selected target (core or applets). The application can be managed (grab its icon and act as a launcher). Usefull to prepare patches for commit. Works very well with meld.
- Build target : Build your current target. An optional reload option is provided. Works really well to develop an external applet, as you can assign a shortcut for the "rebuild + reload" action. The reloading of the dock still has some issues. First, it depends on a program I haven't released yet. Second, I'm forced to use a nohup to keep my child process opened, which will prevent any messages in the console for the new dock instance. To be improved (which is a shame for such a simple need ).
More actions are still to come,
- Generate Report : will help you upload your compilation logs on dedicated sites and prepare a basic report for the Bzr forum.
- Initial branches download : Set up a working directory and install dependencies if possible.
- Use a specified branch : pull other branches and revert to core.
Open settings and configure your core and plug-ins sources directories. Configure the buttons actions, and you're ready. Other actions will be available using the right click menu.
It's a new module, and I the first in Golang, so you may still expect bugs. But as it is really stable, I guess it can start its
seem already nice enough for everyone to use it. If you are using the bzr version, please give it a try.
It still lacks some startup options to download branches if needed, and a lot of documentation.
As I'd like to make it an adviceable choice to tell users how to compile a BZR version or report problems, I'm open for any comment, idea or test.
I'd also like to add a few actions that would grep the system informations we need for some common problems, like display, package versions, or desktop environment.
Show versions popup :
What you will need : Sources directory
Currently, it can't install a dev environment, you will have to do it yourself as usual, or using the bzr script. Once you have a dir that contains the cairo-dock-core and cairo-dock-plugins folders, open the applet config, fill the Sources folder setting, check it is set as expected, and save.
bzr pull lp:~sqp/cairo-dock-plug-ins-extras/CairoBzr
Compilation (if needed) :
There is a compile.sh script included that will rebuild the applet. (option -r will reload the applet if you want to hack it)
Known problems :
To remove the popup asking for your password after compilation, you need to edit
the /etc/sudoers file (edit with visudo as root) and add the line (replace
YOUR_USERNAME with your correct username) :
YOUR_USERNAME ALL = NOPASSWD: /usr/bin/make
Warning launchpad users ! Problem loading BZR Password
I don't know why bzr ask for your password for basic tasks on public branches
when you have defined a name in it's config, but here is a way to only have to
set it once per session. Just load your ssh ID with ssh-agent. It depends on which key file you use :