Improving the Xfce infrastructure: Bugzilla
Bug management is a vital part of any open source project. Today I’m happy to introduce you to yet another project which aims to improve the Xfce infrastructure – you guessed it – the Xfce Bugzilla!
The project to improve the Xfce bug management started quite some time ago. The first tasks in this were unrelated to the infrastructure; the team has done some work to clean up old bugs as well as triaging newer ones. Tasks like that can become extremely tedious if the tools are constantly slowing you down.
To try to remedy this situation we started a project to improve the look and feel of Bugzilla. In addition to just a general facelift we also ended up reorganizing bits here and there and even touch some functionality. I specifically want to highlight a few parts of the project:
- Make bug filing easier and faster than before. We’ve streamlined the bug filing process by removing one unnecessary page load and a click but also by doing a big reorganization in the bug filing page.
- Make bug handling easier and faster than before. In addition to a revamp for the bug filing procedure, the individual bug report pages have had a big update as well; information is now more clearly organized and the long bug description and comments have been brought much closer to the top of the page. We have also merged the status and resolution fields to let you choose the right combination with less clicks – and make it obvious which combinations are possible…
- Allow using search filters on-the-fly. Whenever you are on a search result page with any filters, you can remove them individually from the search. You can now also click the product, component and assignee fields to add additional filters.
- Highlight bug statuses. This is a smaller update, but we’re now using color-coded boxes for bug statuses anywhere they are shown. This should both help users digest information and see where work needs to be done.
Today, we’re finally at the point where we are quite happy with the changes and are ready to make them the default for the Xfce Bugzilla – all users using the default theme have been converted to the new Xfce skin and templates related to this skin. If you have specifically selected any other theme, you will be still using that; if you want to see the new theme, please go change your preferences.
We hope you like the new improvements and that they can make your life easier. As always, if you find any weirdness or bugs with the new skin and templates, file them in Bugzilla against the Bugzilla product on Xfce Bugzilla. Please note that this is not the correct place for bugs about Bugzilla itself – a good way to find out whether something is affecting the Xfce skin and related templates is to check the functionality with another skin enabled.
Development Release: Parole 0.9.2
With a huge code cleanup effort, complete plugin development documentation, and numerous bug fixes, Parole Media Player 0.9.2 paves the way for future development. What’s New? General Homepage updated to docs.xfce.org Xfce URLs were switched to HTTPS New Features A new keyboard shortcuts helper was added to the Help menu New and keybindings for previous … Continue reading Development Release: Parole 0.9.2Improving the Xfce infrastructure: Blog
Along with all Romain mentioned on his blog today, I’ve finished one small bit of infrastructure update after this; the Xfce blog is now sporting a theme that matches the style of the rest of the Xfce websites.
Again, if you find any problems with the new theme, whether in its looks or functionality, file a bug against the blog product on Xfce bugzilla.
Happy reading until the next update – which should happen soon…
Road to Xfce 4.14, part 2
More than 1 year since my latest blogpost… wow !
Lots of activities these last months, on code and infra side :)
But the good news is that we had done a lots of background tasks (see the Infrastructure section) !
As you might know, Xfce 4.14 is a transitionnal release, where the main goal is to port all components to GTK+3.
GTK+3 minimum version has been bumped to version 3.20 (and maybe 3.22), because of so much changes since gtk 3.14 (broken themes, css), this will remove a lot of ifdef maze and code complexity to support several gtk versions. By the time of 4.14 release, all major distributions will have gtk>3.20.
You can check the status of all currents efforts on the wiki. Please check this page before starting a GTK+3 port, maybe it’s already done but not yet on master !
Core
Almost all core components have now a gtk+3 version (yai !), with developement releases lately ! Here a small summary :
- xfce4-settings 4.13.0
- xfce4-session 4.13.0
- garcon 0.6.0
- xfdesktop 4.13.0
- xfce4-panel 4.13.0
- tumbler 0.1.90
- exo 0.11.2
- libxfce4ui 4.13.1
In the help wanted section, AndreLDM is currently working on Thunar gtk+3 port ! If you have gtk/gdk/cairo knowledges, any contributor is welcome ! Contact us on #xfce-dev irc channel (freenode) or xfce4-dev mailist.
Ochosi made some great blog posts on all activities theses last months, (xfce4-notifyd, panel, taskmanager, clipman), stay tuned on https://blog.xfce.org/ !
Xfce Apps
In the xfce apps world, please notice the work on xfce4-terminal , with a complete port to gtk+3 in 0.8 (+ get rid of the old and insecure vte 0.28), new features and more : https://git.xfce.org/apps/xfce4-terminal/tree/NEWS .
This work will be available in the future Debian Stretch! Thanks to Igor for his hard work !
You can also notice the GTK+3 port of xfce4-screenshooter by AndreLDM.
Xfce Panel plugins
On the panel plugins side, tons of new releases, I can’t list all of them - netload, clipman, datetime, cpufreq etc - with of course a bunch of gtk3 ports, thanks to all of our contributors.
Look at the https://mail.xfce.org/pipermail/xfce-announce/ mailist to see the work done.
I also updated the xfce4-sample-plugin which can be used as a base if you want to start a new panel plugin !
Tests
If you want to test the current state of Xfce 4.14, you can look at xfce-test, a docker image by Florian which allow you to test git master and to run behave (behaviour-driven development) ! -okay sometimes it’s b0rken-
Ochosi wrote a small blog post about this docker image last month.
Here a screenshot of a git master build (a.k.a : xfce 4.14) :
Infrastructure
Almost all the infrastructure problems we had by the time of my last blog post have been fixed.
Thanks to gaston, user repositories are now working, and all services are now HTTPS enabled (with let’s encrypt) ! Youhou !
Moreover, since a few month, I try to take care of the Xfce servers infrastructure. Here a small summary of latest actions.
Git / Bugzilla
- Enabling syntax highlighting on cgit web interface ! Based on python fragment, it detect c/h files, see https://git.xfce.org/xfce/xfce4-power-manager/tree/panel-plugins/power-manager-plugin/power-manager-button.c as an example.
- Bug number catch in commit message to highlight them in cgit and link to the related bugzilla issue ! It catch several patterns like Bug #xxxx or bug xxxx. Developers, please use it ! :)
- Speaking of bug number, a new git hook is in place, it parse the git commit message, detect if there is a bug number referenced, and automatically posts commits references to bugzilla ! An example: https://bugzilla.xfce.org/show_bug.cgi?id=12159#c4 ! This is a really cool new feature (thanks ochosi for the idea). It’s not perfect and it need more works, but it is now available on all repositories !
- The famous “Bug 12117 - The default desktop startup screen causes damage to monitor!” got a lot of attention (x10 in traffic!) last March on reddit, hackernews, fefes.de and killed our poor bugzilla instance ! (thanks mod_perl :] ). Here are some visitor stats, see the difference…
- A new bugzilla template/theme by knome is available, with a lot of improvements ! You can enable it in your account preferences. It’s still a work in progress but should be released as the default theme soon
- Upgrade to latest cgit version (1.1)
Website
Maybe you already seen it, but the https://xfce.org website got a nice revamp with a more modern code/css, and is now responsive. Many thanks to knome, you can read his blog post which contain more informations :)
Misc
- http://geoip.xfce.org (used by the weather plugin to auto-detect the user localization) has been updated and should be more accurate. It is also available in https.
- The wiki engine (dokuwiki) and plugins used on wiki.x.o, docs.x.o and goodies.x.o, has been updated to latest release.
- The forum engine has been updated.
- Some obsoletes/outdated subdomains now redirect to the main xfce.org website (xfc.x.o, squeeze.x.o, thunar.x.o, foundation.x.o etc)
- The wiki now use an invisible captcha and not an ugly one like previously.
- Tons of Infrastructure bugs opened on our bugzilla has been fixed.
Enjoy,
Road to Xfce 4.14, part 2
More than 1 year since my latest blogpost… wow !
Lots of activities these last months, on code and infra side :)
But the good news is that we had done a lots of background tasks (see the Infrastructure section) !
As you might know, Xfce 4.14 is a transitionnal release, where the main goal is to port all components to GTK+3.
GTK+3 minimum version has been bumped to version 3.20 (and maybe 3.22), because of so much changes since gtk 3.14 (broken themes, css), this will remove a lot of ifdef maze and code complexity to support several gtk versions. By the time of 4.14 release, all major distributions will have gtk>3.20.
You can check the status of all currents efforts on the wiki. Please check this page before starting a GTK+3 port, maybe it’s already done but not yet on master !
Core
Almost all core components have now a gtk+3 version (yai !), with developement releases lately ! Here a small summary :
- xfce4-settings 4.13.0
- xfce4-session 4.13.0
- garcon 0.6.0
- xfdesktop 4.13.0
- xfce4-panel 4.13.0
- tumbler 0.1.90
- exo 0.11.2
- libxfce4ui 4.13.1
In the help wanted section, AndreLDM is currently working on Thunar gtk+3 port ! If you have gtk/gdk/cairo knowledges, any contributor is welcome ! Contact us on #xfce-dev irc channel (freenode) or xfce4-dev mailist.
Ochosi made some great blog posts on all activities theses last months, (xfce4-notifyd, panel, taskmanager, clipman), stay tuned on https://blog.xfce.org/ !
Xfce Apps
In the xfce apps world, please notice the work on xfce4-terminal , with a complete port to gtk+3 in 0.8 (+ get rid of the old and insecure vte 0.28), new features and more : https://git.xfce.org/apps/xfce4-terminal/tree/NEWS .
This work will be available in the future Debian Stretch! Thanks to Igor for his hard work !
You can also notice the GTK+3 port of xfce4-screenshooter by AndreLDM.
Xfce Panel plugins
On the panel plugins side, tons of new releases, I can’t list all of them - netload, clipman, datetime, cpufreq etc - with of course a bunch of gtk3 ports, thanks to all of our contributors.
Look at the https://mail.xfce.org/pipermail/xfce-announce/ mailist to see the work done.
I also updated the xfce4-sample-plugin which can be used as a base if you want to start a new panel plugin !
Tests
If you want to test the current state of Xfce 4.14, you can look at xfce-test, a docker image by Florian which allow you to test git master and to run behave (behaviour-driven development) ! -okay sometimes it’s b0rken-
Ochosi wrote a small blog post about this docker image last month.
Here a screenshot of a git master build (a.k.a : xfce 4.14) :
Infrastructure
Almost all the infrastructure problems we had by the time of my last blog post have been fixed.
Thanks to gaston, user repositories are now working, and all services are now HTTPS enabled (with let’s encrypt) ! Youhou !
Moreover, since a few month, I try to take care of the Xfce servers infrastructure. Here a small summary of latest actions.
Git / Bugzilla
- Enabling syntax highlighting on cgit web interface ! Based on python fragment, it detect c/h files, see https://git.xfce.org/xfce/xfce4-power-manager/tree/panel-plugins/power-manager-plugin/power-manager-button.c as an example.
- Bug number catch in commit message to highlight them in cgit and link to the related bugzilla issue ! It catch several patterns like Bug #xxxx or bug xxxx. Developers, please use it ! :)
- Speaking of bug number, a new git hook is in place, it parse the git commit message, detect if there is a bug number referenced, and automatically posts commits references to bugzilla ! An example: https://bugzilla.xfce.org/show_bug.cgi?id=12159#c4 ! This is a really cool new feature (thanks ochosi for the idea). It’s not perfect and it need more works, but it is now available on all repositories !
- The famous “Bug 12117 - The default desktop startup screen causes damage to monitor!” got a lot of attention (x10 in traffic!) last March on reddit, hackernews, fefes.de and killed our poor bugzilla instance ! (thanks mod_perl :] ). Here are some visitor stats, see the difference…
- A new bugzilla template/theme by knome is available, with a lot of improvements ! You can enable it in your account preferences. It’s still a work in progress but should be released as the default theme soon
- Upgrade to latest cgit version (1.1)
Website
Maybe you already seen it, but the https://xfce.org website got a nice revamp with a more modern code/css, and is now responsive. Many thanks to knome, you can read his blog post which contain more informations :)
Misc
- http://geoip.xfce.org (used by the weather plugin to auto-detect the user localization) has been updated and should be more accurate. It is also available in https.
- The wiki engine (dokuwiki) and plugins used on wiki.x.o, docs.x.o and goodies.x.o, has been updated to latest release.
- The forum engine has been updated.
- Some obsoletes/outdated subdomains now redirect to the main xfce.org website (xfc.x.o, squeeze.x.o, thunar.x.o, foundation.x.o etc)
- The wiki now use an invisible captcha and not an ugly one like previously.
- Tons of Infrastructure bugs opened on our bugzilla has been fixed.
Enjoy,
Road to Xfce 4.14, part 2
More than 1 year since my latest blogpost… wow !
Lots of activities these last months, on code and infra side :)
But the good news is that we had done a lots of background tasks (see the Infrastructure section) !
As you might know, Xfce 4.14 is a transitionnal release, where the main goal is to port all components to GTK+3.
GTK+3 minimum version has been bumped to version 3.20 (and maybe 3.22), because of so much changes since gtk 3.14 (broken themes, css), this will remove a lot of ifdef maze and code complexity to support several gtk versions. By the time of 4.14 release, all major distributions will have gtk>3.20.
You can check the status of all currents efforts on the wiki. Please check this page before starting a GTK+3 port, maybe it’s already done but not yet on master !
Core
Almost all core components have now a gtk+3 version (yai !), with developement releases lately ! Here a small summary :
- xfce4-settings 4.13.0
- xfce4-session 4.13.0
- garcon 0.6.0
- xfdesktop 4.13.0
- xfce4-panel 4.13.0
- tumbler 0.1.90
- exo 0.11.2
- libxfce4ui 4.13.1
In the help wanted section, AndreLDM is currently working on Thunar gtk+3 port ! If you have gtk/gdk/cairo knowledges, any contributor is welcome ! Contact us on #xfce-dev irc channel (freenode) or xfce4-dev mailist.
Ochosi made some great blog posts on all activities theses last months, (xfce4-notifyd, panel, taskmanager, clipman), stay tuned on https://blog.xfce.org/ !
Xfce Apps
In the xfce apps world, please notice the work on xfce4-terminal , with a complete port to gtk+3 in 0.8 (+ get rid of the old and insecure vte 0.28), new features and more : https://git.xfce.org/apps/xfce4-terminal/tree/NEWS .
This work will be available in the future Debian Stretch! Thanks to Igor for his hard work !
You can also notice the GTK+3 port of xfce4-screenshooter by AndreLDM.
Xfce Panel plugins
On the panel plugins side, tons of new releases, I can’t list all of them - netload, clipman, datetime, cpufreq etc - with of course a bunch of gtk3 ports, thanks to all of our contributors.
Look at the https://mail.xfce.org/pipermail/xfce-announce/ mailist to see the work done.
I also updated the xfce4-sample-plugin which can be used as a base if you want to start a new panel plugin !
Tests
If you want to test the current state of Xfce 4.14, you can look at xfce-test, a docker image by Florian which allow you to test git master and to run behave (behaviour-driven development) ! -okay sometimes it’s b0rken-
Ochosi wrote a small blog post about this docker image last month.
Here a screenshot of a git master build (a.k.a : xfce 4.14) :
Infrastructure
Almost all the infrastructure problems we had by the time of my last blog post have been fixed.
Thanks to gaston, user repositories are now working, and all services are now HTTPS enabled (with let’s encrypt) ! Youhou !
Moreover, since a few month, I try to take care of the Xfce servers infrastructure. Here a small summary of latest actions.
Git / Bugzilla
- Enabling syntax highlighting on cgit web interface ! Based on python fragment, it detect c/h files, see https://git.xfce.org/xfce/xfce4-power-manager/tree/panel-plugins/power-manager-plugin/power-manager-button.c as an example.
- Bug number catch in commit message to highlight them in cgit and link to the related bugzilla issue ! It catch several patterns like Bug #xxxx or bug xxxx. Developers, please use it ! :)
- Speaking of bug number, a new git hook is in place, it parse the git commit message, detect if there is a bug number referenced, and automatically posts commits references to bugzilla ! An example: https://bugzilla.xfce.org/show_bug.cgi?id=12159#c4 ! This is a really cool new feature (thanks ochosi for the idea). It’s not perfect and it need more works, but it is now available on all repositories !
- The famous “Bug 12117 - The default desktop startup screen causes damage to monitor!” got a lot of attention (x10 in traffic!) last March on reddit, hackernews, fefes.de and killed our poor bugzilla instance ! (thanks mod_perl :] ). Here are some visitor stats, see the difference…
- A new bugzilla template/theme by knome is available, with a lot of improvements ! You can enable it in your account preferences. It’s still a work in progress but should be released as the default theme soon
- Upgrade to latest cgit version (1.1)
Website
Maybe you already seen it, but the https://xfce.org website got a nice revamp with a more modern code/css, and is now responsive. Many thanks to knome, you can read his blog post which contain more informations :)
Misc
- http://geoip.xfce.org (used by the weather plugin to auto-detect the user localization) has been updated and should be more accurate. It is also available in https.
- The wiki engine (dokuwiki) and plugins used on wiki.x.o, docs.x.o and goodies.x.o, has been updated to latest release.
- The forum engine has been updated.
- Some obsoletes/outdated subdomains now redirect to the main xfce.org website (xfc.x.o, squeeze.x.o, thunar.x.o, foundation.x.o etc)
- The wiki now use an invisible captcha and not an ugly one like previously.
- Tons of Infrastructure bugs opened on our bugzilla has been fixed.
Enjoy,
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).
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!
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