My journey to a new laptop enabled by Xfce donations
I have been contributing to Xfce since about 2013. Over the years, computers have come and gone, from netbooks to desktops to laptops. Since I moved to another country, I’ve been avoiding owning a desktop for practical reasons - the less bulky my belongings, the better. Before the move, I decided to sell my aging desktop (self-built) and even older laptop (a Dell Vostro - ah, fond memories of playing GTA V at 20 FPS) for peanuts and invest in a gaming laptop.Xfce is moving from IRC to Matrix
Apr 23,2024
Xfce is moving from IRC to Matrix
After a 6-month trial period, as of April 1, 2024, Xfce moved its official communication channels from IRC to Matrix.
The old IRC channels will remain open, so you can still hang out there. However, the 'official' channels linked in the Xfce Wiki now will be the Matrix channels.
This change affects the following channels:
- #xfce on libera.chat --> #xfce:matrix.org -- general user support and discussion
- #xfce-dev on libera.chat --> #xfce-dev:matrix.org -- development discussion
- #xfce-commits on libera.chat --> #xfce-commits:matrix.org -- notable GitLab activity
Reasoning
In the past, it was possible to connect and idle on libera IRC channels via Matrix.org bridge. Using Matrix to connect is very convenient for several reasons:
- When accessing IRC channels via Matrix bridge, it's not necessary to manage an IRC bouncer. Bridged Matrix channels retain messages that arrive while you are offline.
- Chat history is synchronised across multiple devices by default. No special BNC setup is required.
- Based on personal experience, the entry barrier for Matrix seems to be lower than for IRC.
- On IRC, after answering a support question, you might realize that the person asking it went offline hours ago (no BNC used) and as such you wasted your time. Won't happen if the question was raised by a Matrix user.
As such, several people started connecting to the Xfce IRC channels via Matrix (including myself). However, on July 2023, the party was over. Libera.Chat decided to disable Matrix bridging and suggested to use so-called "channel plumbing" until further notice. I'm not sure about the technical details here, but in the end, "plumbing" did not work out for some reason. By November 2023 it became clear that bridging would not come back either.
Meanwhile, Xfce communication became fragmented. Some people dusted off their IRC bouncers and used them again, some used a private Matrix server setup (Heisenbridge was still functional) and some just stayed on the Matrix channels, which were no longer interconnected to the IRC channels.
In order to end that fragmentation and because of the above mentioned Matrix advantages, after 6 months of testing and adding some Matrix bots (real nice job Brian!), the Xfce team decided to prefer Matrix over IRC in the future and settle down there.
So, even if you are a hardcore Xfce IRC user, please install the Matrix client of your choice and give the shiny new (cough) possibilities offered by Matrix a try. Looking forward to see you in the Xfce Matrix channels!
An Estimate on the Total Number of Xfce Users
Apr 06,2024
An Estimate on the Total Number of Xfce Users
Recently, my wife asked me how many people in total actually use the software I develop in my free time (mostly thunar).
I never thought about that question, so I just made a wild guess. Based on the number of people I believed are active on the Xfce Matrix / IRC channels, I answered: "... maybe between 2000 and 10.000 people do use Xfce".
I know nobody can give exact numbers. It's all about package downloads, OS types reported by browsers, and other more or less biased data harvesting.
However, the question nagged me, so I searched for some more reliable numbers.
Ubuntu came to my mind. Since it collects some user-data, I thought it might be a good starting point for my investigation.
Via web search, I found out that there seem to be about 40 Million Ubuntu users.
According to this post, 15% of them use Xubuntu.
--> 6 million Xubuntu users (holy crap)
Further digging revealed that aproximately 33% of Linux desktop users use a Ubuntu based distro.
--> Approximately 120 million Linux desktop users in total
--> Considering a rather conservative estimate of 10% Xfce users on non-Ubuntu systems --> another 8 million installs
That would be approximately 14 million Xfce users. So many people do use the software I tinker with? /o\
Considered that estimate is more or less accurate, than why are the Xfce communication channels rather calm?
For example, we currently have around 6000 non-blocked accounts at gitlab.xfce.org. That would be roughly one in every 2000 users (0,043%) who create an account. Can that be true?
Since I was not sure if my numbers are reasonable, I asked for feedback in the Xfce forums.
The estimate seems to be mostly fine. On the question about the rather low percentage of people who get in contact via official Xfce communication channels, there are several guesses:
- If users are looking for answers to Xfce related problems, most of them search/ask on Reddit, Stack Exchange, ChatGPT, etc., or in distro specific channels.
- Xfce is a very stable DE. Many Xfce users probably don't try to get in contact because things just work fine for them.
- Many people might just use software "as is" and don't even bother to ask for any advice.
I wanted to share this estimate with you, since for me, it was a surprise to see that such a huge number of people actually seem to use Xfce. Knowing so gives me even more motivation to further improve Xfce.
Xfce 4.18 released
Dec 15,2022
Xfce 4.18 released
After almost two years of work, we are happy to announce the release of Xfce 4.18 !
Since Xfce 4.16 a lot of major development happened. Our team added multiple nice new features, did a gazillion of bug fixes and did various minor improvements. Finally, all that is going to be released for your pleasure.
This development cycle was influenced a lot by GSoC 2021 and GSoC 2022, which led to various new features, most of them for Thunar, the Xfce File Manager. Though as well multiple other Xfce components got a lot of love and many improvements were done under the hood.
Assuming you have installed Xfce 4.16, here is an overview on the major changes you will see on an upgrade to Xfce 4.18:
libxfce4ui
XfceFilenameInput
XfceFilenameInput is a comfortable widget for filename input, which was added in order to prevent invalid filenames at an early stage and to give detailed feedback on the concrete problem.
XfceShortcutsEditor
This widget is a shortcut editor which was introduced in order to have a graphical interface to modify component-specific shortcuts. Currently, it is only used inside Thunar, Xfce4-terminal and Mousepad, though other components might follow.
tumbler
Some performance improvements for the pixbuf-thumbnailer and the scheduler were done. As well now there are multiple overwrite options for the desktop-thumbnailer.
There is now support for the thumbnail sizes x-large and xx-large, which are very useful for high resolution displays.
Tumbler and Thunar now support shared thumbnail repositories, like described in the freedesktop.org thumbnail specification. This feature can be used to produce thumbnails for a folder in advance, directly located near the pictures. Like that, the thumbnails don't need to be re-generated for each individual user.
For more information on shared thumbnails, check the related blog post.
xfce4-panel
The DateTime and the Clock plugin provided overlapping functionallity. In order to prevent parallel development, they have been merged into a single plugin.
The new Clock plugin received a new binary time mode now and provides a sleep monitor. Here's a screenshot of all possible layouts which are: Analog, Binary, Digital, Fuzzy and LCD.
xfdesktop
Like in thunar, the "Delete" menu entry in the context menu can now be hidden.
In order to don't mess the desktop by accident on pressing 'rearrange desktop icons', the user is asked for confirmation now.
xfce4-settings
The search entry for xfce4-settings-manager was a bit simplified. Now it will always be shown, without any slider or button.
xfce4-display-settings
xfce4-display-settings got some minor improvements and the possibility to decide what to do when new displays are connected.
xfce4-appearance-settings
On selecting a new theme, there is now the option to automatically set a matching xfwm4 theme, if available.
thunar
List View
For directories, the count of containing files can now be displayed in the size column. It is now possible to add a 'file creation date' column, and the 'configure columns' dialog can be opened with a right-click on any column head.
Image Preview
Finally, an image preview side pane has been added to Thunar. No, wait, actually two of them! You can choose to either use the 'embedded' mode which will take no extra space, but hide parts of the left side pane. Or you can go for the 'standalone' mode, which will use a separate pane on the right and display as well some basic information.
Undo and Redo
It is now possible to undo basic file operations and to redo them. Undo and Redo can be used for 'move', 'rename', 'trash', 'link' and 'create' operations. Per default, a history of the last 10 operations is stored, though the history length is configurable. Whenever an Undo/Redo is triggered, a notification with few details will be shown.
File Highlight
Files now can be highlighted by setting the background and the filename to different colors. This can be done via an additional tab, located in the 'properties' dialog. The view menu provides a checkbox in order to enable/disable the feature. Once enabled, files now can be shown in all the colors of the rainbow.
For more information on file highlight, check the related blog post.
Toolbar
It is now possible to customize the toolbar according to your personal needs! An additional dialog has been added for that purpose, on which the visibility and position of specific items can be managed. As well custom actions, which appear for folders can be used in the toolbar.
When the menubar is hidden, an additional toolbar button which can be used to show the menu will be displayed.
For more information on the configurable toolbar, check the related blog post.
Split View
Thunar now provides the option to use split panes. The pane separator can be moved, and its position will be stored. Via a xfconf setting, it is as well possible to have a vertical split.
Statusbar
The status bar style was tweaked and '|' is now used to separate entries. Furthermore, it is now possible to customize it by using the context menu.
Recursive Search
Thunar has now the possibility to search recursively, directly inside Thunar itself. The search is done in a separate thread and search results are added rapidly into a List View. A new row 'Location' shows where the search results are located, and the context menu provides the option 'Open Item Location' in order to travel there quickly. The preferences dialog provides an option to limit recursive search to local folders, or to disable it.
For more information on the recursive search feature, check the related blog post.
Recent
Recently used files now can be accessed in the side pane. Like for the 'Recursive Search' feature, the new 'Location' row can be used in List View. Additionally, for 'Recent' a new row 'Recency' can be added to sort the files by their latest usage.
For more information on 'Recent' in Thunar check the related blog post.
Bookmark Menu
In order to keep the 'Go' menu compact, bookmarks have been moved into a separate, new 'Bookmarks' menu. The menu item 'add Bookmark' was rather hidden in the 'send to' menu in Thunar 4.16. As part of the new 'Bookmarks' menu, it is more prominent now.
Trash directory
With the new release, the trash directory provides an info bar which gives easy access to `Empty Trash` and 'Restore' functionality. When using List View, a 'Date Deleted' column will be shown, so that the files can be sorted by deletion date. Via context menu, it is now possible to select 'Restore and Show' in order to automatically open a new tab in the folder of the restored file(s).
Default Applications
The management to set/unset default applications for specific mime types was improved. The context menu got a dedicated item 'Set Default Application' which will open the 'ApplicationChooserDialog' with 'use as default' preselected. The dialog now has a section 'Default Application' in order to make clear which default application currently is set. If you want to remove applications from the list, right click it and select 'forget association'.
Custom Actions
It is now possible to arrange custom actions in cascading submenus. Just enter the same submenu name for a custom action in order to place it into the same menu. If you require multiple menu levels, you can achieve that by using '/' in the path of the 'Submenu' entry.
Preferences
The thumbnail settings in the preferences dialog got grouped together, and meanwhile it is possible to limit the file size for which thumbnails should be generated. That should mitigate possible performance issues by preventing thumbnail generation for huge video files.
File transfer operations optionally can use *.partial~ as an intermediate file now. After a transfer operation, there is now the option to verify the file checksums in order to make sure that no single bit got corrupted. Note that the checksum feature will require some extra time during copy when activated.
For more information on the new file transfer options, check the related blog post.
A checkbox was added in order to allow running shell scripts. In Thunar 4.16 it only was possible to change that behavior by changing a hidden setting. Use that option with caution!
There is now the possibility to restore tabs on startup, and to show the full directory path in the tab title.
xfce4-appfinder
Configuration
Appfinder got support for the 'PrefersNonDefaultGPU' property, which is useful for systems with hybrid graphic cards.
Environment variables are now parsed when passed in collapsed mode.
Appearance
An option to hide the window decorations was added.
xfwm4
Workspaces
Workspace setting will now work as well with other window managers.
Compositor
The compositor now supports adaptive vsync with GLX.
General
Scaling
Improved support for UI scaling and fix for many blurry icons in the core components when scaling is used. This will be particularly useful for Hi DPI screens.
Window Header Bars
All header bars of Xfce Windows/Dialogs by default will be drawn by the window manager now (Xfwm4). Some dialogs optionally support 'GtkHeaderBar' (CSD) which can be enabled via a xfconf setting.
For the sake of readability, this list only shows main highlights. Check the full Xfce 4.18 changelog for a detailed list of changes.
This summary can as well be viewed as a localized online tour.
This release can be downloaded here, either as a set of individual packages or as a single tarball including all these individual versions.
Best regards,
The Xfce development team
Xfce 4.18 Pre2 Released
Dec 01,2022
Xfce 4.18 Pre2 Released
Dear Xfce community, I am happy to announce the release of Xfce4.18 pre2.
This platform pre-release consists of the Xfce core components and will be followed by the final Xfce4.18 release soon. We fixed some quirks which were found in Xfce4.18 pre1, did some further polishing and the result is now released as Xfce4.18 pre2.
Early adopters are invited to give it a try and to check for compatibility before the final release, which is planned for 15. December.
Xfce4.18 pre2 includes all Xfce core components. The tarballs for building it can be found here:
Though, you might prefer to wait for distribution specific development packages.
Wallpaper contest
It is a pleasure for me to present you the outcome of our Xfce4.18 wallpaper contest, which received numerous nice wallpaper submissions.
The winner wallpaper, which will be the new Xfce4.18 default wallpaper, was brought to you by Katerina Shkel:
The second and third place both go to Denis Kuzminok. As well these wallpapers will be shipped within Xfce:
You as well might be interested in the complete list of submissions !
Coming soon
A detailed sum up of all new features in Xfce4.18 is planned for the final release, so stay tuned!
Best regards,
The Xfce development team
Wallpaper Contest for Xfce 4.18 – End of submissions
Nov 20,2022
Wallpaper Contest for Xfce 4.18 - End of submissions
The submission deadline for the Xfce 4.18 wallpaper contest just ended, and I am happy to see that many submissions!
Starting by now, one week of voting will show which wallpapers are the most popular ones.
In order to cast your vote, login at gitlab.xfce.org and add a ❤️ or 👍 reaction to all wallpapers you want to upvote.
Please keep in mind that you should vote for the best wallpaper, not for the best picture. E.g. it makes sense to leave some free space where desktop items can be placed.
Voting will be closed on 27. November. Like that, the new wallpaper can be utilized for the Xfce4.18 pre2 announce, which is planned for beginning of December.
Happy voting !
GSoC’22 – [Part 3] Tree-View in Thunar
About the Feature
This feature aims to enable the user, when in list-view, to expand non-empty folders (as shown in the image above).
Additions & Behaviors,
- An entry has been added to the preferences dialog under Display > View Settings to define the default behavior when a new tab/window with list-view is opened.
- When a new tab/window is opened with the list-view as the active view, it will respect the above mentioned setting for the tree-view option and default to that.
- This feature can be toggled on and off using the Enable Tree View entry under the View menu but this only affects the currently active tab/window.
MR: https://gitlab.xfce.org/xfce/thunar/-/merge_requests/297
Note: This feature hasn't yet been merged.
I am working with Sergios Anestis Kefalidis (@SKefalidis), Yongha Hwang (@MShrimp4) and Alexander Schwinn (@alexxcons) to have this feature out swiftly 😁.
GSoC’22 – [Part 2] User Profiles in Xfce-Terminal
User-Profiles in Xfce-Terminal
Note: This feature has not yet been merged. The UI/UX have been finalized but there are some internal implementations that are being reviewed.
The Task
- There has to exist at-least one profile.
- Terminal creates a "default" profile if no profiles are found on the system. Old configuration will be migrated to this profile.
- One of the profiles is set to be "Default", i.e each new tab or window is opened using this profile. So if one wishes to change profile on a particular tab/window then one can just do so by selecting the desired profile from the Profiles menu.
On the implementation
- Xfce4-terminal will now be using Xfconf as backend for storing and organizing settings.
- The TerminalPreferencesDialog, which was previously written using glade, has now been re-written in C as an attempt to make it easier to work on it.
- A new setting has been added that allows users to specify the orientation of the tabs of the preferences dialog. In the picture above I have set it to the "Left".
Work Left
- I am closely working with my Mentor Sergios to fix a synchronization bug: mismatch in background images when multiple windows are open.
GSoC 22 – The Closing Blog Post
In the summer of 2022, I participated in Google’s Summer of Code, contributing to the Thunar file manager at XFCE, with the help of my mentor Alexander Schwinn. It’s been about a month since my GSoC term was officially over, and after a hectic couple weeks, I’ve finally decided to sit down and write down the closing blog post.
New features in Thunar
I’ll start off by introducing the features that I worked on, and a rough idea of how the implementation for the same works. Of these, undo-redo and file counts for folders are already merged on master and have been released with Xfce 4.18. The tour probably does a much better job than I will here, so be sure to go through it as well!
Undo-redo
This is the big one. While adding support for undo and redo, one of the most crucial things for me was doing it in an elegant way that would make it easy to have multi-level undo and redo.
How we decided to do this was to maintain a global linked list, containing information about the last performed operation, including what type of an operation it was, what files were involved in it, etc. This allowed it to be as trivial as moving a few pointers around to keep track of the state of the system once an undo or a redo is performed. The actual undo/redo operation is simply executing either the inverse of the last performed operation, or executing the exact same operation that was last undone.
I’m of course glossing over a lot of the details that made this a fair bit harder than we had initially anticipated. Nonetheless, with some help from Alex, we were able to ship this in time for the 4.18 release! :raised_hands:
File counts for folders
Adding file counts for features was just a little addition to help better utilize the ‘size’ column for folders, which was essentially wasted space earlier.
It was essential to be asynchronous with its implementation, which turned out to be a bit trickier than I had initially expected. It mostly boiled down to a line of conversions between file abstractions that I had taken for granted would have a low overhead (spoiler alert: they did not have a low overhead).
Gallery view
I was less than confident when first approaching Gallery view, since I thought I’d have to create an entire view from scratch. Luckily, that really wasn’t necessary. I was able to make a new view based off the same abstract view class that the existing icon view used. This is probably better for multiple reasons, since building on existing things makes for much simpler design for the new additions, and easier code review as well.
While I initially had envisioned a masonry image gallery, like the kind you would see on sites such as Pinterest, the abstract icon view lent itself much better to a square icon based gallery, similar to what most Android phone galleries have by default these days.
The gallery view PR is not yet merged into master, needing a few minor fixes on the dialog tooltips (which I’ve sadly been a bit too busy to work on yet), before it’s completely ready.
Not all smooth sailing
While I had initially hoped to complete what I had mapped out in my GSoC proposal in my summer vacations itself, that didn’t work out as intended. Once my semester at college started, I started struggling a bit to balance my academics and my GSoC commitments, but I was steadily making progress.
GSoC being flexible with its contributor timelines this year was an absolute life-saver, since I had to extend my deadline multiple times in order to hit the milestones on my proposal.
The lowest point was when in the midst of all this, some personal family issues cropped up and I essentially went incommunicado for almost a week. This would’ve been enough to fail my proposal in some organizations, but Alex still gave me a chance to make up on lost time when I was back, and for that I’m incredibly grateful. I was able to capitalize on this opportunity and get plenty of work done, though it was really quite hard (and probably not very good for my health long term :sweat_smile:).
Advice for others
I recently received an email from someone who was looking to contribute to XFCE in this year’s GSoC, and wanted some advice. I’ll relay part of what I wrote back over here:
I’d say the most important thing is to dive into it while still knowing that you don’t know anything :P
Try at a problem with your intuition for what might work. If you get stuck, push for another 15-20 mins and note down what you try. In this time you should be consulting documentation, StackOverflow, Github issues etc.
If you still aren’t able to figure it out, send a message on the XFCE IRC/Matrix channel, and be descriptive about what you tried, why you think it should work, and why you think it might not have worked. The mentors are incredibly helpful, and you’ll often get an answer that will deepen your understanding of the system and coding in general.
In addition, I’d also like to stress that communication is key!. Your mentors are there to help you, and they want nothing more than a successful and productive summer for the both of you. Raising issues that you’re facing as early as you can allows the both of you to think about and discuss how to tackle them.
Acknowledgements
I’m incredibly grateful to my mentor Alexander Schwinn, who is one of the most helpful people I’ve had the pleasure of working with. He’s been incredibly kind and polite, more than one could reasonably expect out of anyone given the circumstances.
I’m also very thankful for all the help I’ve received from the dedicated XFCE community, including Sergios Kefalidis, Yonghwa Hong, Gaël Bonithon, and many others.
Finally, I’d like to thank Google Summer of Code for the wonderful opportunity, which has definitely been a fantastic hands-on learning experience for me.
Wallpaper Contest for Xfce 4.18 – End of submissions
Nov 20,2022
Wallpaper Contest for Xfce 4.18 - End of submissions
The submission deadline for the Xfce 4.18 wallpaper contest just ended, and I am happy to see that many submissions!
Starting by now, one week of voting will show which wallpapers are the most popular ones.
In order to cast your vote, login at gitlab.xfce.org and add a ❤️ or 👍 reaction to all wallpapers you want to upvote.
Please keep in mind that you should vote for the best wallpaper, not for the best picture. E.g. it makes sense to leave some free space where desktop items can be placed.
Voting will be closed on 27. November. Like that, the new wallpaper can be utilized for the Xfce4.18 pre2 announce, which is planned for beginning of December.
Happy voting !