Xfce

Subdomains
 

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

GSoC’22 – [Part 2] User Profiles in Xfce-Terminal

  • October 23, 2022
  • Amrit Borah

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.


MRhttps://gitlab.xfce.org/apps/xfce4-terminal/-/merge_requests/57

The Task

The aim of this feature is to enable users to create multiple different profiles. A profile is just a combination of preferences.

This allows the user to quickly switch between predefined profiles when the need arises.
As a use case scenario, let us consider the following example. One might want to have one particular tab transparent. So one can just create a new profile and change the transparency value on that profile. Then proceed to switch the profile by selecting the desired profile form the newly added "Profiles" menu.

Some considerations on the behavior of this feature,
  • 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 – File Highlighting in Thunar

  • August 13, 2022
  • Amrit Borah

 

About the feature

  • The aim of this feature is to enable the user to highlight files/folders across the various different views.
  •  The feature can be toggled on/off through the View Menu.
  •  The highlight color can be selected by navigating to the Highlight tab in the properties dialog of the respective file. The properties dialog can be brought about by selecting the Properties option under the Context Menu  (Right click on the desired file/folder to show the context-menu)

Requirement: GVFS (Gnome Virtual File System)

 Implementation

  • The biggest challenge was figuring out how to paint the highlights on the various different views.
  • The solution was to use a GtkCellLayoutDataFunc that is called on each item of the view. This way we can set the specific background color in the CellRenderer for each of the different items on view.
  • Another challenge that came up was implementing the rounded corners.
  • For this, modifications were made to the IconRenderer & a new custom TextRenderer was introduced. The trick was to use cairo to clip the backgrounds & paint the specific color.

 This feature is possible with the support by Thunar's lead developers - Alexander Schwinn (alexxcons), Sergios - Anestis Kefalidis (SKefalidis) and Yongha Hwang (MShrimp4).



GSoC 22 – The First Blog Post

  • May 28, 2022
  • Pratyaksh Gautam

I’m really looking forward to this summer, since my project proposal for this year’s Google Summer of Code has been selected! I’ll be working on adding features to Thunar file manager, an XFCE application, with the help of my mentor Alexander Schwinn.

My history with XFCE

I’ve been big on open-source ever since my school days, and actually ran Xubuntu (an Ubuntu distribution with XFCE as its desktop environment) on my daily driver, an old netbook back in eleventh grade. It was too slow of a device to run GNOME, so I absolutely had to use a lighter-weight desktop environment, and compared to alternatives like LXDE which I didn’t like the aesthetics of, and pantheon (the default DE for elementaryOS) which still felt lacking in terms of performance, XFCE was the perfect balance of form and functionality.

Since then, I’ve done some distro-hopping before settling on my current setup, hand-rolled with awesome window manager and no DE. While I generally prefer to use the command-line, Thunar has been by GUI file manager of choice ever since I started using this setup a little over 2 years ago. It’s fast, light-weight, and gets the job done without getting in your way, which is exactly what I need.

Planned features

Thunar does however lack a few features that would be really handy to have, which is exactly what I’ll be working on.

Undo-redo

Adding undo and redo is an absolute no-brainer for me, and would probably be the single biggest thing I think Thunar is currently missing. If you’re anything like me, you’ve often selected the wrong file to move into another directory, and you have to manually undo it and move the correct file once you realize your mistake. Implementing this would do away with such frustrating tedium in the case of minor mistakes.

File counts for folders

Currently, the list view in Thunar has a ‘size’ column which shows the size of the corresponding file in the listing. However, this column is blank for folders (or directories). As such, it’s essentially wasted space for directories, but it could be put to good use showing the count of the files in the folder instead.

Picture-specific maximized thumbnail view

Managing pictures is primarily based on the content of the picture itself, rather than metadata like the name, date etc. So it would be very convenient to have a specific view optimized for folders with a large number of pictures, where the thumbnails take up as much space on the screen as possible. Think Pinterest, Google images etc.

If somehow I complete the work enlisted in my proposal ahead of time, I plan on looking at some of the file system synchronisation bugs that some Thunar users have reported.

Conclusion

I’m glad to have the opportunity to be able to work on open-source tools I myself use everyday, and feel really lucky to have the support of Google to be able to work on this over this summer. I’m really grateful for the help I’ve gotten along the way to getting my proposal accepted from Sergios Kefalidis, Alexander Schwinn, and other members of the XFCE community.

I’d like to congratulate my fellow XFCE GSoC contributors Yogesh Kaushik and Amrit Borah as well (who coincidentally are also from different IIITs :grin:).

Settings GUI

  • April 22, 2022
  • Sergios - Anestis Kefalidis

  Welcome back! It's time to talk about hidden preferences.

The problem

  It's a sunny day and you boot up your PC, which uses Xfce, ready to do some file-organizing. You open Thunar and suddenly you realise something. All this time you would have prefered sorting to be case-sensitive. You open the Preferences Dialog but alas, there is no relevant setting. You are left disappointed, hoping that Thunar devs add this option in a future release. You might even create a feature request.

  Little do you know, Thunar does have a preference to enable this functionality but it is hidden away. You can only find it in the wiki and even that is not a guarantee because we might forget about updating the wiki. Then you have to go and manually enable it in the Settings Editor or using xfconf-query.

  Thunar is not the only Xfce application that has hidden settings, Terminal is another prominent application that has preferences that don't showup in its preferences dialog.

Settings Editor à la Shortcuts Editor

  If you have been following the development of Xfce you probably know that I created a Shortcuts Editor widget that can be easily integrated in Xfce apps. Presently, Thunar, Mousepad and Terminal use that widget to give users an easy way of editing shortcuts.

  I've been working on a similar widget for Settings based on the Xfce Settings Editor. The end goal is to have a simplified version of that settings editor that can be easily integrated in Xfce Apps that use xfconf. That will allow us to eliminate hidden preferences (or at least, greatly reduce them).

XfceSettingsEditor integrated in Thunar's Preferences Dialog

XfceSettingsEditor integrated in Thunar's Preferences Dialog.

Searching in the Xfce Settings Editor

  The other big feature that I've been working on is Search/Filtering for the existing Xfce Settings Editor. Simon had started working on a patch for this but never finished it, so I continued where he left off. I am not planning to include this functionality in the separate widget that was described previously.


Previous post

xfce4-terminal 1.0.0 stable release

  • April 2, 2022
  • Sergios - Anestis Kefalidis

  After 15 months a new stable release of Xfce Terminal is out full of improvements for everybody to enjoy!

A new maintainer

  From 2016 until 2020, Terminal was in the capable hands of Igor Zakharov. It became unmaintained for a few months in 2021 until I took up its development in September. This is Terminal's first stable release with me as its maintainer, and I hope you will find it worthy of the quality standards set by my predecessors and the Xfce desktop environment as a whole.

A new versioning scheme

  After asking around the Xfce community about Terminal's versioning scheme and looking into its history, I decided to adopt Thunar's old versioning. That means that the next cycle of development releases will be 1.1.x, and the next major stable release will be 1.2.0. That will continue until we reach 2.0.0 or some major change happens (for example, porting to GTK 4).

Improvements

  For anyone who hasn't kept up with Terminal's development here are the major improvements:

  • The `Scrolling on ouput` preference has been improved and will now be temporarily disabled if you scroll up.
  • Overlay scrollbars are now supported.
  • You can now send signals to the foreground process through the UI.
  • The '--tab' and '--window' command line arguments have been reworked to be more intuitive.
  • For those who use background images, 'Fill' is a new style option.
  • The 'Unsafe Paste' dialog has been significantly revamped and now also gives you an option to temporarily disable it.
  • You can now change the behavior of right click.
  • Accelerators that contain the 'Tab' key can now be changed at runtime.
  • A new Shortcuts Editor was created for Xfce applications, and Xfce Terminal is one of the first apps to support it (requires libxfce4ui 4.17.2 or greater).
  • XfceTitledDialog is used where possible for better synergy with the rest of your Xfce desktop.
For a more extensive look into all the new features you can read my previous blogs (0.9.0, 0.9.1, 0.9.2) or the NEWS file in the code repository.

Under the hood

As far as under the hood improvements go, I spent most of my time rewriting the code that handles the accelerators and the creation of various menus. This removed most of the deprecated code in Xfce Terminal and fixed various small issues or inconsistencies that existed in the old code while also reducing the size of the codebase. At first, this transition introduced a bunch of regressions but thanks to testers in the community it looks like any shortcuts or UI issues created by it have been fixed. A nice bonus of this transition is being able to customize the goto-tab accelerators.

I did also spent some time fixing build warnings and removing code for ancient versions of VTE. All in all, I believe that the codebase is in a better place than it was one year ago and this will enable me to make 1.2.0 an even bigger release.

Future plans

Xfce Terminal

  The future of Xfce Terminal is bright. Some of my goals for 1.2.0 are:

  • Rewriting the Preferences Dialog to use XfceTitledDialog and integrate the Shortcuts Editor into it.
  • Creating a new Settings Editor widget in libxfce4ui by reusing code from the exisitng Settings Editor and using that to eliminate hidden preferences.
  • Documenting all public functions in Xfce Terminal.
  • Introducing Profiles-like functionality which will close a bunch of open issues.
  • Tab restoration outside of Xfce environments.
  • Improved FreeBSD support.
Before I start working on all that, I will take care of any regressions that get reported in this release (there has already been one).


Videos showcasing features and improvements in this release:

Previous post

xfce4-terminal 0.9.2 development release

  • March 5, 2022
  • Sergios - Anestis Kefalidis

xfce4-terminal 0.9.2 development release

  A new xfce4-terminal development release is here, and this time it is special. This version serves also as the release candidate for xfce4-terminal 1.0.0. If you want to help keep xfce4-terminal bug-free, this is the time to test and report any bugs you find!

Changes

  For this release I focused on fixing regressions and minor annoyances, so I have no fancy new features to write about in this post. Most improvements are related to accelerator-handling and most fixes related to UI/UX regressions (or accidental changes) that were introduced in the transition to XfceGtkActionEntry. You can see the full list of changes in our wiki.

I want to thank Gael and Theo for bringing a lot of these issues to my attention.

Future plans

  If no major bugs are discovered, I will release xfce4-terminal 1.0.0 in a couple of weeks. After that I will focus on my long list of Thunar issues.


Previous post

A shortcuts editor for Xfce and a couple of other things

  • November 25, 2021
  • Sergios - Anestis Kefalidis

A shortcuts editor for Xfce and a couple of other things

  Welcome to another Xfce development update! In this one you will learn about the new Xfce Shortcuts Editor and a couple of upcoming Thunar features.

Shortcuts Editor

  As you may know, I'm the maintainer of xfce4-terminal and a developer for Thunar. It just so happens that both of these programs have a ton of shortcuts. Until now, there was no GUI for changing shortcuts. Users had to manually edit the `accels.scm` file which is doable yet cumbersome.

  Additionally xfce4-terminal, being a terminal emulator, has the problem of its shorcuts colliding with the shorcuts of terminal applications, rendering them unusable. To fix that issue users needed to once again dive into the `accels.scm` file and change the default shortcuts manually.

  That is why I created a new widget called XfceShortcutsEditor in libxfce4ui. Applications that use XfceGtkActionEntries for their accelerators can easily integrate that editor in their UI and enjoy the benefits without any additional complexity.

Thunar Shortcuts

The XfceShortcutsEditor integrated in Thunar's Preferences dialog.

Termianl Shortcuts

The XfceShortcutsEditor as a separate dialog for xfce4-terminal.

Thunar improvements

  As far as Thunar specific improvements go, I'm happy to announce that the next version of Thunar will have a customizable Statusbar. By right-clicking, users will be able to hide/show information that they (don't) need.

 Additionally the folder properties dialog now displays the type of contents of the folder (i.e. the number of files and folders insdie the folder).


Previous post

xfce4-terminal 0.9.0 development release

  • October 16, 2021
  • Sergios - Anestis Kefalidis

  Welcome back! Since I became maintainer of xfce4-terminal I've worked on replacing deprecated parts of the codebase, closing old bugs and merging Merge Requests which have been sitting around for a while.

GtkActions

  The majority of my time was spent on dealing with the, now deprecated, GtkActions/GtkActionEntries and GtkUiManager which were used for creating the menubar, toolbar, right click context menu and for handling the shortcuts. All of that logic was moved to Xfce's own XfceGtkAction entries which are supported by the Xfce team. As a nice bonus, this transition slightly reduced the size of the codebase. Some deprecated parts remain, like the UI for changing encoding from the menubar but I've decided to transition slowly to make sure that things remain stable.

Sending signals

  The most exciting new feature is the ability to send signals to foreground processes. This is done either through the right click menu, or through the `Terminal` entry of the menubar. We have Cyrille Pontivieux to thank for the initial implementation of this, which I simplified and later transitioned to the new menu/shortcut system.

Release notes

  You can find the full release notes at the following link: Release Notes


Previous post

A couple of big features for Thunar

  • September 16, 2021
  • Sergios - Anestis Kefalidis

A couple of big features for Thunar

  Welcome to my first post-GSoC blogpost. Google Summer of Code might have ended but I'm continuing my daily work on Thunar and Xfce Terminal (more on that later). This blog-post is accompanied by a video that showcases what is written here.

Recursive Search

  I'm happy to inform you that my work on implementing a performant recursive-search in Thunar has been met with success. Users will be able to recursively search their filesystem (including remote folders and other special locations like Recent and Trash) and sort the results like they would in any folder. Presently, searching is depth limited but in the final version you will be able to select a custom depth or no depth at all, to make sure that this is useful even for older machines and at the same time makes use of the resources of faster systems. As this is a work in progress there are some bugs and crashes but it looks like the big issues have been solved at last. You can see for yourself at: link.

Shared Thumbnail Repositories

  Additionally, I wanted to give users the option to create shared thumbnail repositories from within Thunar. That's why I've been working on creating a script to create Shared Thumbnail Repositories using any thumbnailer that implements the D-Bus thumbnailing spec (tumbler being an example of such a thumbnailer). You will be able to use this script from Thunar through a custom action.

Xfce Terminal

  Lastly, I wanted to let you know that I've become the maintainer of xfce4-terminal. I've been working on resolving old issues, fixing bugs and merging MRs that have been sitting stagnant for months. I've got a lot of exciting things to show you on that front, so stay tuned.


Previous post