The watch-xfce-xfconf monitors XFCE settings in real time and prints the corresponding xfconf-query commands whenever a setting is modified through the graphical interface.
Configuration changes performed in components such as xfce4-settings-manager, Thunar, Catfish, Ristretto, and other XFCE applications are translated into explicit xfconf-query commands. These commands reveal how XFCE 4 persists and applies configuration at the Xfconf layer.
The generated commands can be reused to modify or create XFCE 4 settings programmatically, including desktop backgrounds, panel layouts, window decorations, window manager behavior, and related preferences.
By displaying the xfconf-query commands, watch-xfce-xfconf allows to easily create a Shell script that can be used to automate the configuration of XFCE 4, which provides several benefits:
- It saves time and effort by eliminating the need to manually adjust settings on each individual machine,
- It reduces the risk of errors and inconsistencies that may arise from manually configuring settings on different machines,
- Finally, it allows focusing on other important tasks rather than spending time configuring XFCE 4 manually.
The watch-xfce-xfconf tool is useful for users who want to replicate XFCE 4 settings across different users or computers.
Here is an example of an XFCE customization script created with the help of watch-xfce-xfconf: jc-xfce-settings @GitHub.
If watch-xfce-xfconf enhances your workflow, please show your support by ⭐ starring watch-xfce-xfconf on GitHub to help more users discover its benefits.
Installation
To install the watch-xfce-xfconf executable locally in ~/.local/bin/watch-xfce-xfconf using pip, run:
pip install --user watch-xfce-xfconf
(Omitting the --user flag will install watch-xfce-xfconf system-wide in /usr/local/bin/watch-xfce-xfconf.)
Usage
Run xfce4-settings-manager in the background:
xfce4-settings-manager &
After that, execute watch-xfce-xfconf:
~/.local/bin/watch-xfce-xfconf
Once you begin modifying XFCE 4 settings using xfce4-settings-manager, watch-xfce-xfconf will automatically display the corresponding xfconf-query commands in the terminal. These xfconf-query commands can be easily copied and pasted into a Shell script, allowing for quick and efficient automation of XFCE 4 configuration across multiple machines.
Author and License
The watch-xfce-xfconf tool has been written by James Cherti and is distributed under terms of the MIT license.
Features
- Parses XML files that are located in the directory:
~/.config/xfce4/xfconf/xfce-perchannel-xml/, - Monitors changes in XFCE 4 settings / Xfconf,
- Displays xfconf-query commands with correctly escaped special characters in their arguments.
- Reloads Xfconf when it is necessary.
Links
Related posts:
- Creating and Restoring a Gzip Compressed Disk Image with dd on UNIX/Linux
- Gentoo Linux: Printer driver for the Brother QL-1110NWB
- Gentoo Linux: Unlocking a LUKS Encrypted LVM Root Partition at Boot Time using a Key File stored on an External USB Drive
- Helper script to upgrade Arch Linux
- Arch Linux: Preserving the kernel modules of the currently running kernel during and after an upgrade
- Gentoo: How to Speed Up emerge ‐‐sync
- Emulating Cherry MX Blue Mechanical Keyboard Sounds on Linux
- Running Large Language Models locally with Ollama (compatible with Linux, macOS, and Windows)
- jc-dotfiles – A collection of configuration files for UNIX/Linux systems
- Configuring Linux on a ThinkPad T420s Laptop (Debian, Ubuntu, Linux Mint…)
- Linux: Setting the default GDM login monitor in a multi-monitor setup using GNOME display settings
- Installing Arch Linux onto a separate partition from an existing Debian-based distribution (Ubuntu, Debian, Linux Mint…), without using the Arch Linux installation media
- 13 Useful GNOME Shell Extensions for a Better Desktop Experience (Available in the official Debian repositories or on the GNOME Extensions website for other distributions)
- A tool to Execute a Command in a new Tmux Window
- A Docker container for Oddmuse, a Wiki engine that does not require a database
- Installing Debian onto a separate partition from an existing distribution, such as Arch Linux or Gentoo, without using the Debian installer
- Ansible: Reintegrating /etc/rc.local in Linux systems that use Systemd as their init system
- Ansible: Installing and configuring Gitolite using Ansible for secure Git repository management
- Making ‘cron’ notify the user about a failed command by redirecting its output to stderr only when it fails (non-zero exit code)
- bash-stdops – A collection of useful Bash Shell Scripts