The first Gtk+3 release of xfce4-panel is out!
After a looong waiting time – the original port of the panel was first kicked off in March 2013 by Nick – the first development release of the xfce4-panel is out and I am happy to say it is usable! There are however some regressions and of course a lot of potential bugs that simply haven’t been uncovered because of the limited usage and testing so far (I guess I haven’t gone through all possible kinds of panel setups).
![xfce4-panel 4.13.0](https://simon.shimmerproject.org/wp-content/uploads/sites/3/2017/05/xfce4-panel-4.13.0-1024x576.jpg)
General functionality and features
I know this is very boring, but the Gtk+3 version of the panel is on par with 4.12.1. Most of the functionality is there (see regressions and known issues), but no dramatic new features were introduced (apart from what the Gtk+3 toolkit brings to the table itself).
One notable feature that people have also been requesting for a while – in fact yours truly originally reported the bug – is support for RandR’s “primary monitor” feature. This means the panel will not stay on the left-most monitor by default but jump to the monitor that you define as “primary” in xfce4-settings Display dialogue.
Known issues and regressions
- Not all panel settings may be kept as the configuration is not 100% backward compatible (e.g. we’re using GdkRGBA instead of GdkColor for the background)
- Moving panel plugins via drag and drop on the panel directly via the plugins context menu action “Move” is currently broken (works fine in preferences dialog)
- Small regression with intelligent hiding (when opening a menu, the panel hides and comes back immediately while it should just remain visible)
- Enter/leave opacity does not work for Gtk2 plugins
- The panel is not visually focused by default (fixed in Xfwm4>=4.12.4)
There is also one deprecation that is worth mentioning. While the panel relied on xfce_panel_image in Gtk+2 (i.e. pixbuf drawing and scaling) we decided to deprecate this approach in favor of using the toolkit’s features directly (which is now possible more efficiently with Gtk+3). The newly added xfce_panel_plugin_get_icon_size relies on GtkImage directly and which introduces defined, meaningful icon size-steps to avoid fuzzy icons in the panel.
Theming
I have already added some basic theming for the panel to Greybird and I hope this will help others. I’ve also noticed that the GtkCalendar widget in Gtk+3 is visually broken (actually also codewise really terrible, and likely therefore unmaintained) and made some effort to improve that in Greybird.
What’s next?
Well, there are still a lot of things to do. The top two of the todo list for the panel are of course fixing all known and not yet reported bugs as well as cleaning up more deprecations (currently your terminal’s backlog is filled with warnings when running make, which makes it hard to distinguish the meaningful from the meaningless information).
How can you help?
Do some testing, either by using something like VirtualBox or xfce-test or use a distribution that is brave enough to package the panel (I presume we will see it in some Ubuntu PPA in the near future). Set the panel up your way and just use it and hopefully we will manage to cover all existing use-cases and have them working in 4.14 as well.
Please report bugs against the 4.13.0 version of the panel so that we can get a clean todo list for the next development release!
Thanks to everyone involved!
Finally let me give a big shout-out to everyone involved in the port – more people than I could meaningfully mention here.
The translators, everybody who reported bugs or did testing so far and of course the developers who invested a lot of their free time and energy in this enterprise.
Improving the Xfce infrastructure: Website
In addition to porting Xfce to GTK3, the Xfce team has become more active in (at least) one other area: improving the infrastructure. Today I’m happy to tell you that we’ve finished another bit of the infrastructure update: the Xfce website!
The most important feature of the updated website is that it is now fully responsive. You can now browse the website with a huge resolution or with one of the smallest smartphones and the site accommodates to your environment.
The responsive design isn’t limited to just tweaking the site width either; we have also mobile-optimized the slideshow on the front page and a lot more!
On the front page you can see another new feature as well – a section showing the latest articles from the Xfce Blog feed. We have some plans to integrate an all Xfce releases feed to the front page later, but for this we’ll need some other updates for the infrastructure.
Along with these bigger improvements, we’ve fixed a bunch of bugs, updated many HTTP links to their HTTPS counterparts and updated the content to be as up-to-date as possible.
Should you find a bug on the website, please file it against the website product on Xfce Bugzilla.
Enjoy!
Xubuntu 17.04 “Zesty Zapus” Released
Xubuntu 17.04 “Zesty Zapus” was released on April 13, 2017 with several fresh Xfce GTK+ 3 releases, bug fixes, and new features in tow. What’s New? Several Xfce panel plugins and applications have been ported to GTK+ 3 Core Xfce libraries exo and libxfce4ui have been updated with full GTK+ 3 support Greybird and Numix were … Continue reading Xubuntu 17.04 “Zesty Zapus” ReleasedReleases, releases, releases! Part 2
Testing Xfce
Xfce – like many other open source projects – is not exactly following a test-driven development workflow. I would argue that we need a slight mindset change here plus we need some (standardized) infrastructure to make testing easier for people who want to get involved.
Luckily what we have been waiting for in terms of the latter is already here! xfce-test is a Docker-based setup built by Florian which enables anyone to quickly spin up a container (based on Xubuntu 17.04 for now) with some components integrated from Git master, e.g. the Gtk3 panel. The great thing is it does not create the overhead of a real virtual machine for a tester but instead stays in the lightweight world of containers. This also makes it easy for everyone to adapt and rebuild the container and to create a reproducible environment that can be shared.
Just check out these few steps to try it in action – it really does all the heavy lifting for you!
![](https://simon.shimmerproject.org/wp-content/uploads/sites/3/2017/04/xfce-test-300x169.jpg)
Kudos also go out to the Gnome team for setting up a real nice contribution workflow for their community. We should really strive to reach that level at some point!
xfce4-notifyd 0.3.6
And another bugfix release for xfce4-notifyd is out! The best part about this is that apart from code-review there was nothing for me to do to get there!
So a big shout-out goes to both Mattias and Igor for fixing some of my – slowly but surely traditional – shortcomings (memleaks here we go again!).
Greybird 3.22.2 and 3.22.3
So there are also new releases out for Greybird, and not a bad ones I may add. On the feature side I added a preliminary version of a dark theme, which I hope will please some of the Gnome users of this theme.
Furthermore I did some polishing on making GtkPopover and Headerbar buttons more integrated and tight. Finally some fixes went into Nautilus notifications, the xfce4-notifyd theme and GtkCalendar looks acceptable at last (which makes the Gtk3 version of the panel usable)!
So all in all two micro-releases worth upgrading to!
Download:
https://github.com/shimmerproject/Greybird/releases/tag/v3.22.2
https://github.com/shimmerproject/Greybird/releases/tag/v3.22.3
elementary-xfce 0.8
This release adds support for the new icon names of Gnome 3.24. I also pulled in several icons from upstream elementary, especially updated mimetypes (thanks Dan!) plus I added support for Pantheon Photos.
Finally I added more sizes to some of the icons, ridding the theme of some inconsistencies.
Download:
https://github.com/shimmerproject/elementary-xfce/releases/tag/v0.8
xfce4-panel 4.13.0 in the works
As hinted at in the previous installment of “Releases, releases, releases!” I’ve been pouring quite some time into getting xfce4-panel close to a first 4.13 development release. This should help testers to get a packaged up stable point of reference and it should also help us to track the remaining issues in our issue tracker like normal human beings instead of collecting everything in the wiki roadmap page.
So while there are still some issues remaining (one of the more prominent disfunctions is broken drag-and-drop in certain contexts) I use the panel on a daily basis and it hasn’t crashed upon me once and does pretty much what it should – even with Gtk2 plugins in it (nnnice!).
Feel free to test it out with xfce-test
Releases, releases, releases!
So it’s not that I’ve been quiet and lazy – I was actually busy preparing some releases and hacking on stuff. So here’s an update on what’s been going on and what’s to come.
xfce4-taskmanager 1.2.0
This is a new release which brings a handy feature, i.e. identifying windows by clicking on them. Just use the crosshair-button in the toolbar and click on a window. This will result in the appropriate/associated process being selected in the tree or listview. Thanks a lot to Florian for helping getting this feature release-ready!
Some small improvements to keyboard navigation have also been pushed with this release, namely hitting the Delete or Shift+Delete keys will let you terminate or kill processes respectively.
Finally Olivier improved the memory usage for the FreeBSD.
Looking a little into the future, I’ve also been busy porting taskmanager to Gtk3 entirely, i.e. dropping support for Gtk2. This will happen with the next major release (2.x), which means no more feature-releases are planned for the 1.x series and Gtk2. It’s not out of the question though, that there will be a bugfix or maintenance release for 1.x later on.
So far the Gtk3 branch already works and has feature-parity with master. I also cleaned up the interface a little. If you want, you can check it out here (also seen the screenshot on the right)
https://github.com/ochosi/xfce4-taskmanager/tree/gtk3_only
xfce4-notifyd 0.3.5
This long-awaited feature release finally brings the persistence support I have been working on for a while. So you can now enable a notification log and get your “away log” easily this way. There are even some options to only get the log for certain apps or only with “do not disturb” mode enabled.
Handy, right?
I have also – and this is maybe even more important – reworked the settings dialog towards something that I would hope could be the future direction of Xfce settings dialogs in general (or to the least open the discussion about it). Initially we settled on doing a 1:1 port from Gtk2 to Gtk3 to keep the disturbance and changes for users as small as possible. However, Gnome’s HIG (Human Interface Guidelines) that Xfce originally relied on – and still relies on – have changed dramatically and with that most Gtk+3 applications. So personally I think we should re-think the Xfce HIG and the new xfce4-notifyd settings dialog tries to be a best practice for some things. I’ll probably do a separate writeup of that though as this article is already long enough and there are still some releases to be announced.
Thunar 1.6.11
This maintenance release brings some important fixes that have made users complain a lot in the recent past – and understandably so. Thunar was fairly unstable with copy, rename, move and drag-and-drop operations and would simply crash. While a lot of people in the community did testing (and whining :)), several folks got to work, identified the underlying issue and submitted patches (that I pushed recently).
So hopefully this new release will provide a new baseline for testers and we can close many of the existing up- and downstream reports, many of which may be duplicates (at least in the sense that they were caused by the same pieces of code).
Greybird 3.22.1
This is mostly a maintenance release, which fixes a bug in Geary’s conversation view and improves the readability of OSDs.
However, it also features a new (round) style for GtkSwitches, which makes them take up less space. Sweet!
What’s next?
Currently I’ve been hacking a little on Xfce’s display dialog to add a feature I once rejected (mea culpa, live and learn…). At the time I was more optimistic about me – or anyone else for that matter – finding the time to implement proper colord support in Xfce, which means support for color profiles. Unfortunately we didn’t make it, so what I can offer now is the rebasing and improvement of a patch that was once written against Gtk2 and merge-ready for Gtk3 (including a small rework of the settings dialog as a whole) and an honest apology to Andreas Lampersberger, the author of the original patch.
There are still more things I’d like to fix in display dialog land, like scaled mirror mode by default if two displays don’t share any resolutions (which is generally supported by XRandR, but not implemented yet).
The other thing I’ll probably get back to now is the panel. The gtk3_css branch that I was last working at needs some revisiting and I hope that some of the recent activity on the IRC channel and mailing list will also lead to more people testing the code and helping out with the porting or just smaller patches even.
Anyway, there’s a lot to do and your help is much appreciated along the way! So get in touch with us if you feel like contributing.
Parole Media Player 0.9.0 Released
Development for the Xfce media player is back on! Well over a year since the last release, Parole 0.9.0 brings a fresh set of features and fixes. What’s New? New “mini mode”, activated from the right-click menu. New play and replay icons in the player content area. Clicking on these will play or replay your … Continue reading Parole Media Player 0.9.0 ReleasedPidgin elementary style
Status icon theme
A while ago I started working on making Xubuntu’s default messenger app Pidgin look a little more integrated by creating a status-icon theme for it. As Xubuntu relies on the wonderful elementary set for iconography (in a variant maintained by me which is while being distro agnostic slightly misleadingly labeled “elementary-xfce”) the Pidgin theme was obviously done in that vein.
Smiley theme![pidgin_elementary](https://simon.shimmerproject.org/wp-content/uploads/sites/3/2017/01/pidgin_elementary-300x170.png)
Last week I extended this effort to emoticons and created an initial smiley theme for Pidgin. While it may not support all protocol standards yet it should be pretty usable already. I’m hoping for people to submit some bug-reports on github if they encounter a lack of support for a protocol standard for emoticons.
It makes use of all meaningful emotes provided by upstream elementary.
Download and install
You can get both themes from the same github repository. To my knowledge, neither of them have been packaged in any distribution, so you will have to run the Makefile I included to install both themes.
https://github.com/shimmerproject/pidgin-elementary
Caveat: As Pidgin does not support system-wide status-icon themes, you will have to install that theme locally and it will only be available on a per-user basis. Hopefully this will be fixed/implemented in Pidgin upstream in the future.
Install the status-icon theme
make install-status
Install the smiley theme
sudo make install-emotes
Clipman 1.4.1 released
While I haven’t been very active in terms of clipman lately I decided to push out a maintenance release in the 1.4 series nevertheless, as some useful patches had piled up in the master branch.
The probably single most important patch was contributed by Rinat and fixes the menu of clipman when used in a bottom-aligned panel. As I myself am using a panel at the top of my screen I didn’t notice this at all when releasing 1.4.0.
Other than that I improved the icon sizing for the panel plugin, which was another common – and understandable complaint – with 1.4.0. So the icon doesn’t remain at 16px, but scales in (meaningful) steps – very much like the power manager’s plugin.
Finally I decided to draw up a new application icon for clipman, as the old one was quite dusty already, low resolution and inconsistently looking at different sizes. Gaze at it in all its glory
Download
As always, wait patiently until your favorite distribution packages up clipman 1.4.1 or grab the tarball from here:
https://git.xfce.org/panel-plugins/xfce4-clipman-plugin/snapshot/xfce4-clipman-plugin-1.4.1.tar.bz2
Greybird 3.22.0 released
![Old, busted and puffy](https://simon.shimmerproject.org/wp-content/uploads/sites/3/2016/11/terminal_puffy-300x286.png)
Greybird has finally seen a first release supporting Gtk+3.22. To this end, I have decided to rebase on top of Adwaita 3.22.1, which also means I remain close to the original SCSS code. So far I can safely say that rebasing the whole Greybird theme on Adwaita has made my maintenance life a lot more fun again.
One slightly annoying issue in Gtk+3.22 seems to be the deprecation of the “font” shorthand, so instead of “font: Courier bold 22px;” you have to
![New, shiny and normal](https://simon.shimmerproject.org/wp-content/uploads/sites/3/2016/11/terminal_normal-300x272.png)
write something like “font-family: Courier; font-weight: bold; font-size: 22px;”. This in itself would be okayish, but Gtk+ seems to treat this deprecation as an error and consequently xfce4-notifyd would no longer build on systems with Gtk+3.22.
I also fixed some minor issues, one of the more annoying ones was the tall tabs in e.g. xfce4-terminal, which now looks a lot more normal again.
Another nice fix that I borrowed from Numix is a workaround to make applications in Ubuntu that have their CSDs patched out look more normal. And apart from fixing an issue in the notification theme I also managed to sneak in a preparatory commit for the xfce4-panel in its Gtk+3 flavor, which is still in the works.
Enjoy!
Download
https://github.com/shimmerproject/Greybird/releases/tag/v3.22.0