This program helps you adjust the color and brightness of your screen on Linux, making it more comfortable to look at β especially at night.
Itβs like adding a βwarm light filterβ (similar to your phoneβs night mode that diminishes the blue light) to reduce eye strain and make late-night screen time easier on your eyes.
xsct_gui is a graphical interface for xsct, a small command-line tool that changes your screenβs color temperature using xrandr.
- π Adjusts screen color: Make your screen more orange (warm) or more white (cool).
- π‘ Controls brightness: Make the screen dimmer or brighter.
- π±οΈ All through a simple, easy-to-use interface with sliders.
β Perfect for nighttime use, studying, or working on your computer. π‘ Try to match your screen color to the lighting in your room β and avoid blue-heavy lights at night!
Youβll need a Linux system using the X11 Window Manager (not Wayland). As of 2025, these desktop environments still support X11 sessions:
- GNOME
- KDE
- Linux Mint
- XFCE
- LXQt
- LXDE
- openbox, fluxbox, jwm, and other X11 window managers
β This tool wonβt work on Wayland. Make sure you log in using an X11 session.
sudo apt install python3 python3-pyqt6 python3-pyqt6.qtsvg pyqt6-dev-tools qt6-l10n-tools xsct| Package | Purpose |
|---|---|
| Python 3 | The programming language |
| PyQt6 | Modern GUI framework |
| PyQt6 QtSvg | SVG icon support |
| pyqt6-dev-tools | Provides pylupdate6 (extracts translatable strings) |
| qt6-l10n-tools | Provides lrelease (compiles translations to .qm) |
| xsct | Screen color control |
python3 xsct_gui.pyAlternatively, you can use the included Launcher.sh script:
bash Launcher.shMake it executable first if needed:
chmod +x Launcher.sh
You can configure the program to run automatically when your system starts.
Create file:
nano ~/.config/autostart/xsct_gui_pyqt6.desktopContent:
[Desktop Entry]
Type=Application
Name=xsct_gui (PyQt6)
Comment=Control de luz de pantalla (PyQt6)
Exec=python3 /home/wachin/Dev/xsct_gui/xsct_gui.py
Terminal=false
X-GNOME-Autostart-enabled=true- Left (2000K): Warm, orange tone β best for nighttime.
- Right (6500K): Cool, white-blue tone β best for daytime.
π Move the slider to choose your preferred color.
- Left (0.300): Very dim β great for dark rooms.
- Right (1.000): Full brightness β best in bright environments.
π Adjust the slider to set your desired brightness.
β Yes! As soon as you move a slider, the change takes effect immediately.
You can also click the "About..." button to see information about the program. When running in Spanish, the button and dialog will appear as "Acerca de...".
| Situation | Recommended Settings |
|---|---|
| π Night or dark room | 3000K β 4000K temperature, 0.700 β 0.800 brightness |
| βοΈ Daytime or bright room | 5500K β 6500K temperature, 1.000 brightness |
| π Eyes feel tired | Try warmer color and lower brightness |
π Experiment! Find the combo that feels best for your eyes and room lighting.
The program uses Qt Linguist for internationalization. Translation files live in the translations/ folder.
| File | Purpose |
|---|---|
translations/xsct_gui_es.ts |
Spanish translation source (XML, human-editable) |
translations/xsct_gui_es.qm |
Compiled binary loaded at runtime |
The filename suffix is the ISO 639-1 language code (e.g. es for Spanish, fr for French, de for German). You can also use a full locale like fr_FR or pt_BR.
Run pylupdate6 to extract all translatable strings from the source and create a fresh .ts file. Replace fr with your language code:
pylupdate6 xsct_gui.py -ts translations/xsct_gui_fr.tsOpen the .ts file with Qt Linguist (GUI tool):
linguist translations/xsct_gui_fr.tsOr edit it directly in any text editor β it is plain XML. For each <message> block, fill in the <translation> tag with your translated text:
<message>
<source>About...</source>
<translation>Γ propos...</translation>
</message>Once all strings are translated, compile the .ts file into the binary .qm format that Qt loads at runtime:
lrelease translations/xsct_gui_fr.ts -qm translations/xsct_gui_fr.qmRun the program on a system whose locale matches your language, or temporarily override the locale:
LANG=fr_FR.UTF-8 python3 xsct_gui.pyWhen the source code changes and new strings are added, re-run pylupdate6 to merge the new strings into your existing .ts file without losing already-translated entries:
pylupdate6 xsct_gui.py -ts translations/xsct_gui_fr.tsThen translate the new entries and recompile with lrelease.
Absolutely! The program is written in Python, so you can open xsct_gui.py in any text editor (like Geany, Thonny, or Mousepad) to:
- Change colors
- Edit labels
- Add new features
- π GUI Source Code: https://github.com/wachin/xsct_gui
- βοΈ xsct: https://github.com/faf0/sct
Created by Washington Indacochea Delgado License: GNU GPL3