Skip to content

Commit 7d4a112

Browse files
committed
fixes:
- waybar: Add lighter temperature module (Needs manual setup) - Flatpak: make themes,icons as rw for flatpak --user - UWSM: Clean up the xdg freedesktop.org spec as uwsm handles it
1 parent f38c8f1 commit 7d4a112

File tree

7 files changed

+155
-45
lines changed

7 files changed

+155
-45
lines changed

CHANGELOG.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,18 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
1010

1111
- Typos,spelling and and cleanup
1212
- Dunst: Fix dunst crashing when the font cannot handle unsupported characters -- Thanks to [#1131](https://github.com/HyDE-Project/HyDE/issues/1131)
13+
- UWSM: Clean up the xdg freedesktop.org spec as uwsm handles it
1314

1415
### Changed
1516

1617
- Core: Move wallbash to ~/.local/share/wallbash
1718
- wlogout: Add support for for uwsm
19+
- Flatpak: make themes,icons as rw for flatpak --user
1820

1921
### Added
2022

2123
- hyde-shell: Add `logout` command to handle with/out uwsm
22-
24+
- waybar: Add lighter temperature module (Needs manual setup)
2325

2426
## v25.8.1
2527

Configs/.config/uwsm/env-hyprland

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ? Setting this only on UWSM + hyprland
22
# ? This is to prevent hyprland from setting the environment variables that are set by uwsm.
3-
for f in ${XDG_CONFIG_HOME:-$HOME/.config}/uwsm/env-hyprland.d/*.sh; do
3+
for f in "${XDG_CONFIG_HOME:-$HOME/.config}"/uwsm/env-hyprland.d/*.sh; do
44
if [[ -r "$f" ]]; then
55
source "$f"
66
fi
Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,27 @@
11
#!/usr/bin/env sh
22

3-
# Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
4-
# GDK_BACKEND="${GDK_BACKEND:-wayland,x11,*}" # GTK: Use wayland if available. If not: try x11, then any other GDK backend.
5-
# SDL_VIDEODRIVER="${SDL_VIDEODRIVER:-wayland}" # Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
6-
# CLUTTER_BACKEND="${CLUTTER_BACKEND:-wayland}" # Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend
7-
83
# # Qt Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#qt-variables
9-
10-
QT_QPA_PLATFORM="${QT_QPA_PLATFORM:-wayland;xcb}" # Qt: Use wayland if available, fall back to x11 if not.
4+
QT_QPA_PLATFORM="${QT_QPA_PLATFORM:-wayland;xcb}" # Qt: Use wayland if available, fall back to x11 if not.
115
QT_AUTO_SCREEN_SCALE_FACTOR="${QT_AUTO_SCREEN_SCALE_FACTOR:-1}" # Enables automatic scaling, based on the monitor’s pixel density
126
QT_WAYLAND_DISABLE_WINDOWDECORATION="${QT_WAYLAND_DISABLE_WINDOWDECORATION:-1}" # Disables window decorations on Qt applications
137
QT_QPA_PLATFORMTHEME="${QT_QPA_PLATFORMTHEME:-qt6ct}" # Tells Qt based applications to pick your theme from qt5ct, use with Kvantum.
148

15-
# # HyDE Environment Variables -
16-
9+
# # HyDE Environment Variables
1710
MOZ_ENABLE_WAYLAND="${MOZ_ENABLE_WAYLAND:-1}" # Enable Wayland for Firefox
1811
GDK_SCALE="${GDK_SCALE:-1}" # Set GDK scale to 1, for Xwayland on HiDPI displays
1912
ELECTRON_OZONE_PLATFORM_HINT="${ELECTRON_OZONE_PLATFORM_HINT:-auto}" # Set Electron Ozone Platform Hint to auto, for Electron apps on Wayland
2013

14+
# HyDEs Compositor Configuration
15+
HYPRLAND_CONFIG="${XDG_DATA_HOME:-$HOME/.local/share}/hypr/hyprland.conf"
16+
HYPRLAND_NO_SD_NOTIFY=1 # If systemd, disables the sd_notify calls.
17+
HYPRLAND_NO_SD_VARS=1 # Disables management of variables in systemd and dbus activation environments.
18+
2119
export ELECTRON_OZONE_PLATFORM_HINT GDK_SCALE MOZ_ENABLE_WAYLAND QT_QPA_PLATFORMTHEME \
22-
QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORM QT_AUTO_SCREEN_SCALE_FACTOR
20+
QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORM QT_AUTO_SCREEN_SCALE_FACTOR \
21+
HYPRLAND_NO_SD_NOTIFY HYPRLAND_NO_SD_VARS HYPRLAND_CONFIG
22+
23+
# TODO Set this if some toolkit are not working properly. // To set create a 'toolkit.sh' file in the 'env-hyprland.d' folder. and add the following line to it:
24+
#? Toolkit Backend Variables - https://wiki.hyprland.org/Configuring/Environment-variables/#toolkit-backend-variables
25+
# export GDK_BACKEND="${GDK_BACKEND:-wayland,x11,*}" # GTK: Use wayland if available. If not: try x11, then any other GDK backend.
26+
# export SDL_VIDEODRIVER="${SDL_VIDEODRIVER:-wayland}" # Run SDL2 applications on Wayland. Remove or set to x11 if games that provide older versions of SDL cause compatibility issues
27+
# export CLUTTER_BACKEND="${CLUTTER_BACKEND:-wayland}" # Clutter package already has wayland enabled, this variable will force Clutter applications to try and use the Wayland backend
Lines changed: 3 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,16 @@
1+
#!/usr/bin/env sh
2+
13
# Hyde's Shell Environment Initialization Script
24

35
# Basic PATH prepending (user local bin)
46
PATH="$HOME/.local/bin:$PATH"
57

6-
# XDG Base Directory Specification variables with defaults
7-
XDG_CONFIG_HOME="${XDG_CONFIG_HOME:-$HOME/.config}"
8-
XDG_DATA_HOME="${XDG_DATA_HOME:-$HOME/.local/share}"
9-
XDG_DATA_DIRS="${XDG_DATA_DIRS:-$XDG_DATA_HOME:/usr/local/share:/usr/share}"
10-
XDG_STATE_HOME="${XDG_STATE_HOME:-$HOME/.local/state}"
11-
XDG_CACHE_HOME="${XDG_CACHE_HOME:-$HOME/.cache}"
12-
13-
# XDG User Directories (fallback to xdg-user-dir command if available)
14-
if command -v xdg-user-dir >/dev/null 2>&1; then
15-
XDG_DESKTOP_DIR="${XDG_DESKTOP_DIR:-$(xdg-user-dir DESKTOP)}"
16-
XDG_DOWNLOAD_DIR="${XDG_DOWNLOAD_DIR:-$(xdg-user-dir DOWNLOAD)}"
17-
XDG_TEMPLATES_DIR="${XDG_TEMPLATES_DIR:-$(xdg-user-dir TEMPLATES)}"
18-
XDG_PUBLICSHARE_DIR="${XDG_PUBLICSHARE_DIR:-$(xdg-user-dir PUBLICSHARE)}"
19-
XDG_DOCUMENTS_DIR="${XDG_DOCUMENTS_DIR:-$(xdg-user-dir DOCUMENTS)}"
20-
XDG_MUSIC_DIR="${XDG_MUSIC_DIR:-$(xdg-user-dir MUSIC)}"
21-
XDG_PICTURES_DIR="${XDG_PICTURES_DIR:-$(xdg-user-dir PICTURES)}"
22-
XDG_VIDEOS_DIR="${XDG_VIDEOS_DIR:-$(xdg-user-dir VIDEOS)}"
23-
fi
24-
258
# Less history file location
269
LESSHISTFILE="${LESSHISTFILE:-/tmp/less-hist}"
2710

2811
# Application config files
2912
PARALLEL_HOME="$XDG_CONFIG_HOME/parallel"
3013
SCREENRC="$XDG_CONFIG_HOME/screen/screenrc"
3114

32-
# HyDEs Compositor Configuration
33-
export HYPRLAND_CONFIG="${XDG_DATA_HOME:-$HOME/.local/share}/hypr/hyprland.conf"
34-
35-
3615
# Export all variables
37-
export PATH \
38-
XDG_CONFIG_HOME XDG_DATA_HOME XDG_DATA_DIRS XDG_STATE_HOME XDG_CACHE_HOME \
39-
XDG_DESKTOP_DIR XDG_DOWNLOAD_DIR XDG_TEMPLATES_DIR XDG_PUBLICSHARE_DIR \
40-
XDG_DOCUMENTS_DIR XDG_MUSIC_DIR XDG_PICTURES_DIR XDG_VIDEOS_DIR \
41-
LESSHISTFILE PARALLEL_HOME SCREENRC
16+
export PATH LESSHISTFILE PARALLEL_HOME SCREENRC

Configs/.local/lib/hyde/theme.switch.sh

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -258,10 +258,10 @@ fi
258258
if pkg_installed flatpak; then
259259
flatpak \
260260
--user override \
261-
--filesystem="${themesDir}":ro \
262-
--filesystem="$HOME/.themes":ro \
263-
--filesystem="$HOME/.icons":ro \
264-
--filesystem="$HOME/.local/share/icons":ro \
261+
--filesystem="${themesDir}" \
262+
--filesystem="$HOME/.themes" \
263+
--filesystem="$HOME/.icons" \
264+
--filesystem="$HOME/.local/share/icons" \
265265
--env=GTK_THEME="${gtk4Theme}" \
266266
--env=ICON_THEME="${ICON_THEME}"
267267

Configs/.local/share/waybar/modules/custom-gpuinfo#amd.jsonc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"custom/gpuinfo#amd": {
3-
"exec-if": "hyde-shell gpuinfo --stat amd >/dev/null 2>&1",
3+
"exec-if": "hyde-shell gpuinfo --stat amd >/dev/null 2>&1",
44
"exec": "hyde-shell gpuinfo --use amd ",
55
"return-type": "json",
66
"format": "{0}",
Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
{
2+
// ===============================================================================
3+
// WAYBAR TEMPERATURE MODULES CONFIGURATION // Best for laptops
4+
// ===============================================================================
5+
//
6+
// IMPORTANT: This module configuration is DEVICE SPECIFIC but worth the manual setup!
7+
//
8+
// WHY USE thermal-zone INSTEAD OF custom/cpuinfo and custom/gpuinfo:
9+
// - FASTER: Direct kernel thermal zone access (no subprocess overhead)
10+
// - LOWER CPU USAGE: No script execution or command parsing
11+
// - MORE RELIABLE: Direct hardware sensor access via sysfs
12+
// - CLEANER: No dependency on external tools (sensors, nvidia-smi, etc.)
13+
//
14+
// REPLACES these custom modules with better performance:
15+
// - custom/cpuinfo -> temperature#27 (thermal-zone method)
16+
// - custom/gpuinfo -> temperature#2 (thermal-zone method)
17+
// - custom/sensorsinfo -> temperature#0 (thermal-zone method)
18+
//
19+
// SETUP REQUIRED: Follow the instructions below to identify YOUR thermal zones!
20+
// ===============================================================================
21+
//
22+
// HOW TO IDENTIFY YOUR THERMAL ZONES:
23+
//
24+
// 1. List all thermal zones:
25+
// ls /sys/class/thermal/thermal_zone*/type
26+
//
27+
// 2. Check thermal zone types (fish shell):
28+
// for i in (seq 0 10); echo "Zone $i: "(cat /sys/class/thermal/thermal_zone$i/type 2>/dev/null; or echo "N/A"); end
29+
//
30+
// 3. Get current temperatures:
31+
// sensors
32+
//
33+
// 4. Match thermal zone with actual sensor:
34+
// cat /sys/class/thermal/thermal_zone2/temp (Returns millicelsius: 44050 = 44.05°C)
35+
// nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader,nounits (Compare)
36+
//
37+
// 5. Common thermal zones:
38+
// - acpitz: ACPI thermal zone (general system)
39+
// - x86_pkg_temp: CPU package temperature
40+
// - coretemp: Individual CPU cores
41+
// - SEN1/SEN2/etc: OEM-specific sensors (could be GPU, chipset, etc.)
42+
// - iwlwifi_*: WiFi adapter temperature
43+
// - pch_*: Platform Controller Hub
44+
//
45+
// PERFORMANCE NOTES:
46+
// - thermal-zone method is FASTER than custom scripts (no subprocess overhead)
47+
// - hwmon-path method is also fast but less portable
48+
// - Custom scripts have higher CPU usage but more flexibility
49+
//
50+
// DOCUMENTATION: https://man.archlinux.org/man/waybar-temperature.5.en
51+
// ===============================================================================
52+
53+
// ? Below are the configurations for my laptop // only use as a reference!
54+
55+
// GPU Temperature Monitor (NVIDIA via thermal zone)
56+
"temperature#2": {
57+
"thermal-zone": 2, // SEN1 - NVIDIA GPU on this system
58+
59+
// Temperature thresholds for GPU
60+
"critical-threshold": 65, // NVIDIA typical max temp
61+
"warning-threshold": 55, // Start warning at 75°C
62+
63+
// Update frequency
64+
"interval": 2,
65+
66+
// Display formats with GPU-specific styling
67+
"format": " {temperatureC}°C",
68+
"format-warning": "<span color='#fab387'></span> {temperatureC}°C",
69+
"format-critical": "<span color='#f38ba8'></span> {temperatureC}°C",
70+
71+
// Tooltip
72+
"tooltip": true,
73+
"tooltip-format": "GPU Temperature: {temperatureC}°C\nNVIDIA GeForce MX250",
74+
75+
// Appearance
76+
"max-length": 12,
77+
"min-length": 2
78+
},
79+
80+
// CPU Temperature Monitor
81+
"temperature#27": {
82+
"thermal-zone": 27, // x86_pkg_temp - CPU package temperature
83+
84+
// Temperature thresholds for CPU
85+
"critical-threshold": 85, // CPU critical temp
86+
"warning-threshold": 70, // CPU warning temp
87+
88+
// Update frequency
89+
"interval": 2,
90+
91+
// Display formats with CPU-specific styling
92+
"format": " {temperatureC}°C",
93+
"format-warning": "<span color='#fab387'></span> {temperatureC}°C",
94+
"format-critical": "<span color='#f38ba8'></span> {temperatureC}°C",
95+
96+
// Tooltip
97+
"tooltip": true,
98+
"tooltip-format": "CPU Temperature: {temperatureC}°C\nIntel(R) Core(TM) i7-10510U",
99+
100+
// Appearance
101+
"max-length": 12,
102+
"min-length": 2
103+
},
104+
105+
// System/ACPI Temperature Monitor
106+
"temperature#0": {
107+
"thermal-zone": 0, // acpitz - ACPI thermal zone
108+
109+
// Temperature thresholds
110+
"critical-threshold": 50,
111+
"warning-threshold": 40,
112+
113+
// Update frequency
114+
"interval": 5,
115+
116+
// Display formats with system-specific styling
117+
"format-warning": "<span color='#fab387'>󰔏</span> {temperatureC}°C",
118+
"format-critical": "<span color='#f38ba8'>󰔏</span> {temperatureC}°C",
119+
120+
// Tooltip
121+
"tooltip": true,
122+
"tooltip-format": "System Temperature: {temperatureC}°C\nACPI Thermal Zone",
123+
124+
// Appearance
125+
"max-length": 12,
126+
"min-length": 2
127+
}
128+
}

0 commit comments

Comments
 (0)