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 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".
- I am closely working with my Mentor Sergios to fix a synchronization bug: mismatch in background images when multiple windows are open.