Preview: Per application settings and Do-not-disturb mode in xfce4-notifyd
As previously announced I’ve been working on per-application settings and a “Do not disturb” mode for xfce4-notifyd, which is Xfce’s notification daemon.
Finally I’ve come to a point where I’m ok with pointing to the code and encouraging people to try it and spot potential issues with it. As both of these features have been long-time requested I hope it’ll make quite a few people happy. I know I’ve been quite happy myself since I can use it
The way that the “known applications” are handled by xfce4-notifyd is that they are remembered once they have sent a notification. This means that you can only mute applications which have – at some point since you’ve been running the code from the branch – actually sent notifications. I’ve been previously thinking about trying to collect all potential candidates somehow but this turned out too pesky and personally I think most users will want to mute those applications that send notifications often and those will quickly appear in that (alphabetically sorted) list.
Caveats: Some of this isn’t final – I might still be updating the wording on some of the labels or even some of the functionality might be amended a little, but generally I’m quite pleased with how things are working. Furthermore there may be memory leaks, I just haven’t had the time to really get to that (bugreports and patches are warmly welcomed ;)).
If you have feedback or suggestions please feel free to add some comments to this post or contact me on other communication channels.
So here’s the code: https://git.xfce.org/users/ochosi/xfce4-notifyd/log/?h=private/per_app_settings
Related bugreports:
Xfce goings on (Gtk+3 port etc.)
So I’ve been busy lately porting Xfce apps and components to Gtk+3 (you can see on the roadmap page for 4.14 that we’ve come some way already – only the really uncomfortable behemoths are missing ) and since I’ve been working on apps which I haven’t touched before (and which haven’t really seen much or any development in a while).
I thought I’d do a quick overview of some of my recent activities so everyone knows Xfce is still alive.
clipman
I have ported clipman to Gtk+3 mostly as an exercise, to get back to coding and to re-acquaint myself with the “fun” that is porting to Gtk+3 (including the obligatory #ifdefs for different Gtk+3 releases).
I didn’t really have the energy to add any new features there (apart from general Gtk+3 stuff like symbolic icons, which is nice for the panel plugin), but it had the intended effect for me plus Eric and Florian helped out, which made it more fun. In the end we even got Steve to sit down and crank out a very nice fix for an extremely widespread issue in Xfce.
notifyd
Basically Ali did all the hard work of porting notifyd to Gtk+3. I was left with the hard work of polishing the edges and making it release-ready (which ended up being much more work than I anticipated and now that I’m mostly familiar with the codebase I’ve also started to add – for now: small – features). So yeah, 0.3.0 is out! Hooray!
I also managed to write down some basic docs for notifyd (they’ll be linked to in the 0.3.1 release) which also explains the theming aspect a little bit.
For now I’ve planned some features – we’ll see when and if I get to them, but amongst others:
- “Do not disturb” mode (still have to figure out where and how to display the “missed” stuff or whether to bother with that at all)
- More themes by default (currently we only have good ‘ol Smoke and evergreen ZOMG PONIES!)
- More bugfixing
- Better docs
settings
This is actually Sean’s project and he already ported most of the dialogs (only display missing at the time of writing) and this is really exciting as it is one of the core components. Can’t wait to install this beast on a productive machine to see what will happen
libxfce4ui
I didn’t do much here apart from handling the release and fixing the theming of XfceTitledDialog for Gtk3.20 (and below) in accordance with the Gtk+ Devs (still unreleased, will come with libxfce4ui-4.13.1). Generally speaking now that Glade support is fixed and we have working dialogs I guess there’s not much more to do in that lib (I may be wrong though).
terminal
This is Igor’s playground now, I merely helped with porting the settings dialog and getting rid of some rough edges there. I’m using the Gtk+3 port of the terminal on a daily basis though and am very happy with it – nice work Igor!
Xubuntu 16.04 LTS “Xenial Xerus” Released
Here we are again, folks. After six more months of development (two years since the last LTS), we’ve got another fantastic release — Xubuntu 16.04 LTS “Xenial Xerus”! I wanted to find a nice squirrel quote, but it seems most folks have a horrific dislike for the little critters. — Myself, after looking up squirrel … Continue reading Xubuntu 16.04 LTS “Xenial Xerus” ReleasedTranslation Updates!
Some releases are notable only for their improved translations. LightDM GTK+ Greeter Settings 1.2.1, MenuLibre 2.1.3, and Xfce Panel Switch 1.0.4 are such releases. Translation Updates LightDM GTK+ Greeter Settings Arabic, Brazilian Portuguese, Catalan, Chinese (Simplified), Croatian, Dutch, Finnish, French, German, Greek, Japanese, Lithuanian, Polish, Portuguese, Russian, Serbian, Spanish MenuLibre Brazilian Portuguese, Chinese (Simplified), Croatian, Czech, … Continue reading Translation Updates!Road to Xfce 4.14
The looong road to xfce 4.14. I hope you still want some news about Xfce !
As usual, the xfce development is slow, has some organisation problems (only few members have access to servers, and are often not present), and lack “core” maintainers/mentors. But hey, we do our best :).
The bigger change for 4.14 is the port / upgrade to GTK+ 3.x.
It will be a like-for-like port. New and “big” features are postponed to 4.16.
You can read the thread on the ML https://mail.xfce.org/pipermail/xfce4-dev/2015-February/031146.html about the decision of only port to gtk3 and not introduce any new features for now.
The roadmap is available on the Wiki : http://wiki.xfce.org/releng/4.14/roadmap. The minimum requiered version has been fixed to be GTK+ 3.14.
Roadmap / Planned Features :
- All components of -core will be ported to Gtk+ 3.
- Replace dbus-glib with GDbus.
- Review icon-names in all components and use consistent naming, following the fd.o spec where possible
- Use symbolic icons for panel plugins and in apps where suitable
- Replace deprecated widgets.
Here is a quick (and somewhat incomplete) overview of what is already done !
Core components
Work is on progress for core components, with “users” branches availables on http://git.xfce.org/ (xfce4-panel, libxfce4ui, xfce4-session, panel etc). Nothing really available for daily use though.
Lots of works on xfwm4’ compositor (in master), with implementation of vsync using OpenGL, libepoxy support, adding of DRI3/Present to the compositor, use of GLX for compositing instead of Xrender…
Libxfce4ui 4.12 already compile with gtk2 and gtk3 support, exo git master have a gtk3 preliminary support, garcon is already ported. xfdesktop have a gtk3 branch
The panel support GTK-3 plugins since 4.12, but it core need to be upgraded to use gtk3.
Xfce4-power-manager
One of the most active project. Version 1.6 (released last month) is a complete port to gtk3 and gdbus, see http://git.xfce.org/xfce/xfce4-power-manager/tree/NEWS
Xfce4-notifyd
A GTK3 branch exist, you can read the thread on the ML : https://mail.xfce.org/pipermail/xfce4-dev/2015-October/031504.html. I use it since few months, and it works pretty well :)
Xfce4-Appfinder
xfce4-appfinder progress to gtk3 : https://mail.xfce.org/pipermail/xfce4-dev/2015-August/031438.html
Can you guess which one use GTK3 ? (hint: the left one ;))
Plugins
Some plugins are still active, and are already ported to GTK-3 (xfce4-indicator-plugin, xfce4-pulseaudio-plugin), as xfce4-panel support both gtk2 and gtk3 plugins.
Last months have seen new versions of xfce4-equake-plugin, xfce4-embed-plugin, xfce4-verve-plugin, xfce4-notes-plugin, xfce4-cpufreq-plugin.
One of the more usefull new plugin is the pulseaudio-plugin, a replacement for xfce4-mixer : http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/, I use it and it works well.
Stay tuned !
Road to Xfce 4.14
The looong road to xfce 4.14. I hope you still want some news about Xfce !
As usual, the xfce development is slow, has some organisation problems (only few members have access to servers, and are often not present), and lack “core” maintainers/mentors. But hey, we do our best :).
The bigger change for 4.14 is the port / upgrade to GTK+ 3.x.
It will be a like-for-like port. New and “big” features are postponed to 4.16.
You can read the thread on the ML https://mail.xfce.org/pipermail/xfce4-dev/2015-February/031146.html about the decision of only port to gtk3 and not introduce any new features for now.
The roadmap is available on the Wiki : http://wiki.xfce.org/releng/4.14/roadmap. The minimum requiered version has been fixed to be GTK+ 3.14.
Roadmap / Planned Features :
- All components of -core will be ported to Gtk+ 3.
- Replace dbus-glib with GDbus.
- Review icon-names in all components and use consistent naming, following the fd.o spec where possible
- Use symbolic icons for panel plugins and in apps where suitable
- Replace deprecated widgets.
Here is a quick (and somewhat incomplete) overview of what is already done !
Core components
Work is on progress for core components, with “users” branches availables on http://git.xfce.org/ (xfce4-panel, libxfce4ui, xfce4-session, panel etc). Nothing really available for daily use though.
Lots of works on xfwm4’ compositor (in master), with implementation of vsync using OpenGL, libepoxy support, adding of DRI3/Present to the compositor, use of GLX for compositing instead of Xrender…
Libxfce4ui 4.12 already compile with gtk2 and gtk3 support, exo git master have a gtk3 preliminary support, garcon is already ported. xfdesktop have a gtk3 branch
The panel support GTK-3 plugins since 4.12, but it core need to be upgraded to use gtk3.
Xfce4-power-manager
One of the most active project. Version 1.6 (released last month) is a complete port to gtk3 and gdbus, see http://git.xfce.org/xfce/xfce4-power-manager/tree/NEWS
Xfce4-notifyd
A GTK3 branch exist, you can read the thread on the ML : https://mail.xfce.org/pipermail/xfce4-dev/2015-October/031504.html. I use it since few months, and it works pretty well :)
Xfce4-Appfinder
xfce4-appfinder progress to gtk3 : https://mail.xfce.org/pipermail/xfce4-dev/2015-August/031438.html
Can you guess which one use GTK3 ? (hint: the left one ;))
Plugins
Some plugins are still active, and are already ported to GTK-3 (xfce4-indicator-plugin, xfce4-pulseaudio-plugin), as xfce4-panel support both gtk2 and gtk3 plugins.
Last months have seen new versions of xfce4-equake-plugin, xfce4-embed-plugin, xfce4-verve-plugin, xfce4-notes-plugin, xfce4-cpufreq-plugin.
One of the more usefull new plugin is the pulseaudio-plugin, a replacement for xfce4-mixer : http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/, I use it and it works well.
Stay tuned !
Road to Xfce 4.14
The looong road to xfce 4.14. I hope you still want some news about Xfce !
As usual, the xfce development is slow, has some organisation problems (only few members have access to servers, and are often not present), and lack “core” maintainers/mentors. But hey, we do our best :).
The bigger change for 4.14 is the port / upgrade to GTK+ 3.x.
It will be a like-for-like port. New and “big” features are postponed to 4.16.
You can read the thread on the ML https://mail.xfce.org/pipermail/xfce4-dev/2015-February/031146.html about the decision of only port to gtk3 and not introduce any new features for now.
The roadmap is available on the Wiki : http://wiki.xfce.org/releng/4.14/roadmap. The minimum requiered version has been fixed to be GTK+ 3.14.
Roadmap / Planned Features :
- All components of -core will be ported to Gtk+ 3.
- Replace dbus-glib with GDbus.
- Review icon-names in all components and use consistent naming, following the fd.o spec where possible
- Use symbolic icons for panel plugins and in apps where suitable
- Replace deprecated widgets.
Here is a quick (and somewhat incomplete) overview of what is already done !
Core components
Work is on progress for core components, with “users” branches availables on http://git.xfce.org/ (xfce4-panel, libxfce4ui, xfce4-session, panel etc). Nothing really available for daily use though.
Lots of works on xfwm4’ compositor (in master), with implementation of vsync using OpenGL, libepoxy support, adding of DRI3/Present to the compositor, use of GLX for compositing instead of Xrender…
Libxfce4ui 4.12 already compile with gtk2 and gtk3 support, exo git master have a gtk3 preliminary support, garcon is already ported. xfdesktop have a gtk3 branch
The panel support GTK-3 plugins since 4.12, but it core need to be upgraded to use gtk3.
Xfce4-power-manager
One of the most active project. Version 1.6 (released last month) is a complete port to gtk3 and gdbus, see http://git.xfce.org/xfce/xfce4-power-manager/tree/NEWS
Xfce4-notifyd
A GTK3 branch exist, you can read the thread on the ML : https://mail.xfce.org/pipermail/xfce4-dev/2015-October/031504.html. I use it since few months, and it works pretty well :)
Xfce4-Appfinder
xfce4-appfinder progress to gtk3 : https://mail.xfce.org/pipermail/xfce4-dev/2015-August/031438.html
Can you guess which one use GTK3 ? (hint: the left one ;))
Plugins
Some plugins are still active, and are already ported to GTK-3 (xfce4-indicator-plugin, xfce4-pulseaudio-plugin), as xfce4-panel support both gtk2 and gtk3 plugins.
Last months have seen new versions of xfce4-equake-plugin, xfce4-embed-plugin, xfce4-verve-plugin, xfce4-notes-plugin, xfce4-cpufreq-plugin.
One of the more usefull new plugin is the pulseaudio-plugin, a replacement for xfce4-mixer : http://git.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/, I use it and it works well.
Stay tuned !
Catfish 1.3.4 Released (New PPA)
With a slew of updates and a new build system, Catfish 1.3.4 is now available! This update fixes a number of bugs, adds initial support for PolicyKit, and introduces a new PPA for Ubuntu users. What’s New? New Features Initial PolicyKit integration for requesting administrative rights to update the search database. Bug Fixes Fixes for … Continue reading Catfish 1.3.4 Released (New PPA)Clock applets in the Xfce panel in Xubuntu 15.10
Both Xfce and Xubuntu have had new releases relatively lately. In a way or another, this has resulted in an issue with Xubuntu 15.10 release: the Orage clock doesn’t show a transparent background even if it is set to show one. (Upstream bug in Xfce: 11915.)
Don’t be afraid! Instead of using the Orage applet, you can use the DateTime and Clock applets to get a transparent background – and while they itself do not allow for changing the color of the text in the applet, you can work around that with a .gtkrc-2.0 file in your home directory. Here’s how.
Set up the applets
To set up the applets, simply add the DateTime and/or Clock applets to your panel. You can control the format in which the time/date is shown in the applet via their preference dialogs found from their right-click context menus.
Bear in mind, if you wish to have two different clocks in the panel, we will be using the regular panel foreground (text) color for DateTime (white for Greybird) and modify the text color for the Clock applet in the steps below.
Modify the Clock applet color
To modify the Clock applet foreground color, we will need to make a modification in a theming file. The best way to do this is to use the per-user config file, found at ~/.gtkrc-2.0. If you don’t have this file, simply create one.
The code snippet to modify the Clock applest text color is the following:
style "panel-clock-custom"
{
fg[NORMAL] = "#66CCCC"
fg[PRELIGHT] = "#66CCCC"
fg[ACTIVE] = "#66CCCC"
text[NORMAL] = "#66CCCC"
text[PRELIGHT] = "#66CCCC"
text[ACTIVE] = "#66CCCC"
}
widget "Xfce*Panel*clock*" style "panel-clock-custom"
In this snippet, we’re setting the foreground color for all the Clock applets to a certain turquoise – #66CCCC – which compliments the 15.10 wallpaper well.
You can substitute this hex color value with any other that fits your needs.
The end result
For me, the end result looks like this:
Have fun modifying your own!