Xfce

Subdomains
 

Xfce is moving from IRC to Matrix

  • April 23, 2024
  • Alexander Schwinn

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:

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

  • April 7, 2024
  • Alexander Schwinn

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

  • December 15, 2022
  • Alexander Schwinn

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.

XfceFilenameInput - trailing whitespaces XfceFilenameInput - slash

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.

XfceShortcutsEditor in Thunar

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' panel widget

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.

All possible Clock Modes

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-display-settings - minor improvements

xfce4-appearance-settings

On selecting a new theme, there is now the option to automatically set a matching xfwm4 theme, if available.

xfce4-appearance-settings - toggle to set matching Xfwm4 theme

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.

Thunar - List View - Preferences Thunar - List View - File count and file creation date

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.

Thunar - Embedded Image Preview Thunar - Standalone Image Preview

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.

Thunar - Undo and Redo

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.

Thunar - File Highlight Options Thunar - Hightlighted file in List View Thunar - Hightlighted files in Icon View

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.

Thunar - Toolbar with all configurable Elements Thunar - Toolbar Configuration Dialog Thunar - Show Menubar button

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.

Thunar - Split Panes

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.

Thunar - Statusbar Customization

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.

Thunar - Recursive Search Thunar - Recursive Search Preferences

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.

Thunar - Recently Used Files

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.

Thunar - Bookmarks Menu

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

Thunar - Trash Infobar and Date Deleted Column

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'.

Thunar - Context Menu Entry to set Default Application Thunar - Revamped Application Chooser Dialog

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.

Thunar - Custom Action Submenu Thunar - Custom Action Configuration Dialog

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.

Thunar - Thumbnail Preferences

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.

Thunar - File Transfer Preferences

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!

Thunar - Script Execution Preferences

There is now the possibility to restore tabs on startup, and to show the full directory path in the tab title.

Thunar - Tab and Window Preferences

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.

xfce4-appfinder without window decorations

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.

xfce-appearance-settings - Preference to enable GtkHeaderBar

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

  • December 1, 2022
  • Alexander Schwinn

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:

xfce-4.18-final.svg

The second and third place both go to Denis Kuzminok. As well these wallpapers will be shipped within Xfce:

xfce-4.18-final.svg xfce-4.18-final.svg

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

  • November 20, 2022
  • Alexander Schwinn

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 !

Wallpaper Contest for Xfce 4.18 – End of submissions

  • October 20, 2022
  • Alexander Schwinn

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 !

Xfce accepted to Google Summer of Code 2022

  • March 11, 2022
  • Alexander Schwinn

Xfce accepted to Google Summer of Code 2022

Good news, Xfce has been accepted to Google Summer of Code 2022 !

This time not only different thunar projects will be mentored, but as well some xfce4-terminal, xfce4-screenshooter and xfce4-panel projects. Check our Xfce GSoC Wiki for a detailed list of project ideas !

If you are not much involved into Xfce yet and interested in software development, now might be a good opportunity to contribute to Xfce while even getting payed for it !

In case you are already involved in Xfce development, you might be interested to mentor a GSoC contributor and add some project idea to the ideas-list for which you can do mentoring.

For more detailed information, best check the guides on the official GSoC page.

Hope to see you there !

Shiny new things in Thunar thanks to GSoC 2021

  • September 11, 2021
  • Alexander Schwinn

Shiny new things in Thunar thanks to GSoC 2021

GSoC 2021 is over now and I am happy to tell you that both students working on thunar did an excellent job. Alot of nice stuff has been added thanks to them !

In order to allow you to discover all these new features, Thunar 4.17.5 was just released. (Note that this is a development release. It still might have some rough edges)

For details about the new features check the summaries provided by Sergios and Yongha:

Besides these, here as well some more new features added during GSoC for which I thought they would be worth to mention:

Bookmarks got moved into a separate 'Bookmarks Menu' and a 'create bookmark' option was added (MR !109 and MR !71)

bookmark menu

A new menu item "Set Default Application" was added to the "Open with" submenu (MR !79)

Open with - Set Default App

A new section 'Default Application' was added to the 'thunar-chooser-dialog' (MR !81)

Default App Section

On top there are still various open merge requests with partial finished features, most of them from GSoC students for which I did not find time so far. So expect more new stuff to arrive soon !

You as well might want to keep an eye on xfce4-terminal, which received alot of activity recently, since it is now maintained by Sergios Kefalidis.

If you find a bug on any of these new features, please make use of the xfce bugtracker.

Happy testing !

Xfce participation in GSoC 2021

  • June 23, 2021
  • Alexander Schwinn

Xfce participation in GSoC 2021

I am a bit late with my blog post .. though I suppose better late than never :D

This year Xfce applied to the Google Summer of Code program and I am happy to tell you that we accomplished to get 3 slots ! (That's very good, since new organization usually only receive one or two slots)

There was a lot of interest by students. In total 15 proposals were received for Xfce. So sadly we had to refuse several nice proposals. However the number of mentors as well was limited, so that this year Xfce anyhow would not be able to mentor more students.

Now there are 3 very motivated GSoC students supporting Xfce. Allow me to introduce:

  • Yongha Hwang, who applied for various thunar issues, mostly related to file transmission.
  • Sergios Anestis Kefalidis, who as well works on thunar, targeting a wide range of features.
  • Vishal Sharma, who is looking into sample/skeleton panel plugins in different GOI supported languages.

Since I maintain thunar, I am the main mentor of Sergios and Yongha.

These two and as well some other thunar focused GSoC applicants kept me very busy by adding many contributions long before the official coding part started :) Already now I think mentoring for GSoC was a good thing to do. The gain by far outweighs the burden. I don't have much time left to work on issues myself, though the students overcompensate that by magnitudes.

Here a small taste of the recent activity related to GSoC:

... and that is only thunar. There is as well a lot of activity on exo and libxfce4-util !

Many various smaller tweaks already made it into thunar 4.17.2. Some bigger ones, e.g. issues from the [project ideas list](https://wiki.xfce.org/projects/gsoc/start#project_ideas) are currently in work, or even already landed in the current master.

If you want to take a peek on the upcoming changes and new features already now, you can check the students frequent blog posts:

Hope you will enjoy the upcoming changes!

Thunar, GtkAction and a big mess

  • June 24, 2020
  • Alexander Schwinn

Thunar, GtkAction and a big mess

Overview

My journey into the GtkAction abysses of Thunar began in the mid of 2019. Be warned, it is no story of success. It is rather a story about finding a way through a maze while walking into almost every dead end.

Actually I just wanted to fix #198 (Merge all file-context-menus into one). But somehow things got weird. More than half a year later and after numerous interactive rebases I finally merged my branch into master \o/

Motivation

The old Thunar used to create the same menu items in different places using different code. In the past that led to inconsistencies. E.g. the location bar only provided a very minimal context menu, no custom actions at all.

location button context menu

From time to time I found myself right-clicking on a `location-button`, just to find out that there still is no `custom action`. At some point of maximal annoyance I decided to fix that problem ... not sure if I would have done so when I knew how long that road would be.

Looking at thunar-location-buttons.c revealed a lot of duplicated code. thunar-standard-view and thunar-window both used the deprecated GtkActionEntry to define `menu item labels` and related actions. The `location buttons` just mirrored parts of that code. On top some other actions were defined in thunar-launcher or had their own classes, inheriting `GtkAction`.

So yay, lets just copy+paste the missing stuff to the location buttons? Nah, that would be too easy. As a developer who values DRY, it would hurt my belief in clean code to produce more mess.

Let's Start Hacking

I started to do some coding .. first I created a new widget thunar-menu which internally is a gtk-menu, and moved menu-item creation and the related actions for copy/cut/paste/delete/move_to_trash there to have them at some central place, so they can be reused by different menus. I as well moved the actions from `thunar-launcher` to `thunar-menu` (I guess the original intention of the launcher was, to actually launch things, not to manage menu-items) and replaced separate action classes in favour of methods inside `thunar-menu`.

Meanwhile the location-button-menu and the context-menu, which I used for testing, were populated with some items again.

The old code made massive use of the deprecated `GtkAction` and `GtkActionEntry` classes together with `GtkUiManager`. I did not want to add more `G_GNUC_BEGIN_IGNORE_DEPRECATIONS` to silence warnings. So I decided to replace the deprecated calls.

Looking into the gtk3 documentation revealed that there now is GAction and GActionEntry which provides some service around accelerator activation, and there is GtkMenu/GMenu for which at that time I had no clear idea why there are two of them.

The documentation of GAction told me that it should not be used for anything related to labels, icons or creation of visual widgets, damn. So at that time I did not see an advantage in using this class. I decided to rather go for `GtkMenu` together with some custom replacement for `GtkActionEntry`: XfceGtkActionEntry.

In retrospective ignoring `GAction` might not have been my smartest move. Meanwhile I understood how `GAction` can be used with `GtkMenu`, and I will most likely go for it at some later point.

Regarding GtkUiManager: The definition of menu-items of Thunar was scattered across 7 different *-ui.xml files, making it hard to figure out what belongs together. Because of that I decided to just get rid of the deprecated `GtkUiManager` and create menu-items in the code instead of predefining their order in xml. IMO the usage of xml files might be nice for static GUI's, though for dynamic menu-creation it just introduces unnecessary complexity.

So I started to build `XfceGtkActionEntry` and some support methods.`XfceGtkActionEntry` is a structure which holds labels, tooltips, icons, types, the accelerator paths and callbacks to the related actions. Like `GtkActionEntry` it is just a struct and can be filled in a static way.

Next problem: The menus in Thunar so far did not get destroyed, but were updated whenever the selected items got changed, and got shown when needed. That sounded wrong to me. Why should I want to update menu-items, which can be expensive, while no menu is visible at all ? There were bugs about menu flickering and slowness while rubber banding/mass select which seem to be related. Since I anyhow needed to touch that part, I decided to build menus only when they need to be shown.

Things went well, I came to the point where I needed some items from `thunar-window`, like the zoom-section and the view-specific settings. As well most file-menu items in the `thunar-window` menu did not work any more since I moved management of them from `thunar-launcher` to` thunar-menu`. So next step clearly was: Introduce `XfceGtkActionEntry` to `thunar-window` ... and than shit hit the fan.

So far the `thunar-window` menu was always present and took care for any accelerator actions. Since my concept was "create menu on request", there was no menu instance which could take care for accelerators any more, leading to dysfunctional accelerator keys, rendering my whole concept as faulty .. aargh.

Start all over again

After some time of grieve and doubts I fixed the problem by moving most of the code from `thunar-menu` back to `thunar-launcher`, which lifetime is coupled to `thunar-window`.

From now on `thunar-menu` was more or less just an convenience wrapper for `thunar-launcher` ... still useful, but sadly it lost its glory. `thunar-launcher` now builds volatile menu items on request and permanently listens to the related accelerators. Finally accelerators started to work fine, and I was able to continue to fight with the window menu.

I had much more trouble with that menu, too much to tell it here .. however somehow I managed to get it functional, so that it mostly worked like before.

An unpleasant discovery

Later on, while reporting a bug against gtk I learned that the class gtk_accel_map, which I use as a central part will be deprecated soon ... aargh again. The gtk devs so far just missed to set a deprecation macro. So it seems like I will need to touch the accelerator part again. This time I plan to make use of the GActionMap interface .. going to be a story for another day.

Testing and open issues

For first testing and code-review I luckily got support of some early adopters. They found many more defects and regressions which kept me busy a long while. Fortunately nothing concept-breaking was found.

While writing this there are still some regressions I introduced, waiting to get fixed by me before a stable release:

And there are related tasks on my agenda, for which I just did not find the time so far:

  • rename `thunar-launcher` to e.g. `thunar-action-manager`
  • use `thunar-menu` in `bookmark view`
  • use `thunar-menu` in `Tree view`
  • many minor things

Conclusion

Finally I ended up with 25 commits and +4717 / -7149 line changes. The occurrence of `G_GNUC_BEGIN_IGNORE_DEPRECATIONS` got reduced from 250 to 35. The remaining 35 occurrences will further drop when using GtkMenu for bookmark-view/tree-view. That should simplify the move to gtk4 in the future. The `location-button` context menu shows custom-actions now, and as well some other bugs got fixed with the changes.

So overall, the result does not look too bad I guess.

Well, this blogpost grew by far too long. I hope you nevertheless enjoyed the journey into the Thunar internals!

... enough storytelling for now, I really need to take care of these remaining regressions! :)

Thanks to Reuben, AndreLDM, DarkTrick and others for early testing and bug reporting! Special thanks to AndreLDM, motivating me to write this blogpost at all :D.