Xfce

Subdomains
 

Improving the Xfce infrastructure: Blog

  • May 30, 2017
  • Pasi Lallinaho

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

  • May 30, 2017
  • Skunnyk

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 :

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) :

xfce-test

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 ! :) bz issue catch
  • 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 ! bz gitbot
  • 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 bugzilla theme
  • 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

  • May 30, 2017
  • Skunnyk

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 :

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) :

xfce-test

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 ! :) bz issue catch
  • 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 ! bz gitbot
  • 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 bugzilla theme
  • 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!

  • May 24, 2017
  • Simon Steinbeiß

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
A very simple setup

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

  • May 21, 2017
  • Pasi Lallinaho

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!