Skip to content

Commit 8f023ce

Browse files
authored
Merge branch 'dev' into hydevm
2 parents dd606fd + 760d5b4 commit 8f023ce

27 files changed

+784
-389
lines changed

CHANGELOG.md

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

77
## [Unreleased] v25.7.3
88

9-
We use a dedicated Python environment to keep HyDE clean and dependency-free. Just run your scripts with `hyde-shell`it handles the environment for you.
9+
We use a dedicated Python environment to keep HyDE clean and dependency-free. Just run your scripts with `hyde-shell` this handles the environment for you.
1010

1111
Examples:
1212
`hyde-shell mediaplayer.py`
@@ -25,6 +25,7 @@ Examples:
2525
- Waybar: Made mpris comparable to custom/mediaplayer. Should be noted mpris is not very customizable.
2626
- Waybar: Added generic gamemode module which detects if games are running in feral mode
2727
- Waybar: 'hyde-shell waybar --select' now will ask for **layout and style** options.
28+
- Core:Solid theming fallback
2829

2930
### Removed
3031

@@ -33,9 +34,13 @@ Examples:
3334
### Changed
3435

3536
- Launch Scripts using 'hyde-shell' instead of '$scrPath/'
37+
- Hyprland: Remove dconf setting in Hyprland config and add a separate dconf stack on color setup. This removes some hiccups on hyprctl reload.
38+
- Updated `hyq` hyprquery v0.6.3r2
39+
- Updated `hydectl`
3640

3741
### Fixed
3842

3943
- Waybar: Avoid multi user process conflict
4044
- Mediaplayer: crash when player is not playing.
4145
- Waybar: QOL fixes.
46+
- Rofi: Fallback scaling for some script to not rely with hyprland

Configs/.config/hypr/shaders.conf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
# *│ HyDE Controlled content DO NOT EDIT! |
88
# *│ Edit or add shaders in the ./shaders/ directory |
99
# *│ and run the 'shaders.sh --select' command to update this file |
10-
# *│ Modify ./shaders/user-defines.frag to add your own custom defines |
10+
# *│ Modify ./shaders/shader-name.inc to add your own custom defines |
1111
# *│ The 'shader.sh' script will automatically copy this file to the cache |
1212
# *│ and the cache will be used in the shader |
1313
# *│ |
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#version 300 es
22

3-
/*
4-
┌─────────────────────────────────────────────────────────────────────────┐
5-
│ This is a blank shader to disable hyprland shaders. │
6-
└─────────────────────────────────────────────────────────────────────────┘
7-
*/
3+
/*
4+
┌─────────────────────────────────────────────────────────────────────────┐
5+
│ This is a blank shader to disable hyprland shaders. │
6+
└─────────────────────────────────────────────────────────────────────────┘
7+
*/
88

99
precision mediump float;
1010

@@ -13,6 +13,6 @@ out vec4 fragColor;
1313

1414
uniform sampler2D tex;
1515

16-
void main() {
17-
fragColor = texture(tex, v_texcoord);
16+
void main(){
17+
fragColor=texture(tex,v_texcoord);
1818
}

Configs/.local/bin/hyde-shell

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ HYDE_SCRIPTS_PATH=${HYDE_SCRIPTS_PATH}
4242
export BIN_DIR LIB_DIR SHARE_DIR PATH HYDE_SCRIPTS_PATH HYDE_SHELL_INIT
4343
EOF
4444
#? Use sed to remove any shebang hints to avoid conflicts with "eval"
45-
command cat "${LIB_DIR}/hyde/globalcontrol.sh"
45+
command cat "${LIB_DIR}/hyde/globalcontrol.sh"
4646
}
4747

4848
# If args is init or --init, print initialization script

Configs/.local/bin/hydectl

3.22 MB
Binary file not shown.

Configs/.local/lib/hyde/cliphist.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env bash
22

3-
pkill rofi && exit 0
3+
pkill -u "$USER" rofi && exit 0
4+
45
[[ "${HYDE_SHELL_INIT}" -ne 1 ]] && eval "$(hyde-shell init)"
56

67
# define paths and files

Configs/.local/lib/hyde/color.set.sh

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,18 @@
11
#!/usr/bin/env bash
22
# shellcheck disable=SC2154
33

4+
[[ "${HYDE_SHELL_INIT}" -ne 1 ]] && eval "$(hyde-shell init)"
5+
6+
# Hook commands to always run for theming and colors
7+
load_dconf_kdeglobals() {
8+
9+
wallbash.hypr.sh #<--- hyprland hook
10+
toml_write "${confDir}/kdeglobals" "Colors:View" "BackgroundNormal" "#${dcol_pry1:-000000}FF"
11+
toml_write "${confDir}/Kvantum/wallbash/wallbash.kvconfig" '%General' 'reduce_menu_opacity' 0
12+
dconf.set.sh
13+
14+
}
15+
416
# Function to create wallbash substitutions
517
create_wallbash_substitutions() {
618
local use_inverted=$1
@@ -220,21 +232,20 @@ fi
220232
[ "${dcol_mode}" == "dark" ] && dcol_invt="light" || dcol_invt="dark"
221233
set +a
222234

223-
if [ -z "$GTK_THEME" ]; then
224-
if [ "${enableWallDcol}" -eq 0 ]; then
225-
GTK_THEME="$(get_hyprConf "GTK_THEME")"
226-
else
227-
GTK_THEME="Wallbash-Gtk"
228-
fi
229-
fi
230-
[ -z "$GTK_ICON" ] && GTK_ICON="$(get_hyprConf "ICON_THEME")"
231-
[ -z "$CURSOR_THEME" ] && CURSOR_THEME="$(get_hyprConf "CURSOR_THEME")"
232-
export GTK_THEME GTK_ICON CURSOR_THEME
233-
234235
# Preprocess substitutions once before processing any templates
235236
preprocess_substitutions
236237
print_log -sec "wallbash" -stat "preprocessed" "color substitutions"
237238

239+
# Theme mode: detects the color-scheme set in hypr.theme and falls back if nothing is parsed.
240+
revert_colors=0
241+
[ "${enableWallDcol}" -eq 0 ] && { grep -q "${dcol_mode}" <<<"$(get_hyprConf "COLOR_SCHEME")" || revert_colors=1; }
242+
export revert_colors
243+
244+
# Run dconf and kdeglobals commands
245+
# Add configuration hooks
246+
load_dconf_kdeglobals
247+
export GTK_THEME GTK_ICON CURSOR_THEME COLOR_SCHEME
248+
238249
#// deploy wallbash colors
239250

240251
WALLBASH_DIRS=""
@@ -291,14 +302,5 @@ elif [ "${enableWallDcol}" -gt 0 ]; then
291302
find "${wallbashDirs[@]}" -type f -path "*/theme*" -name "*.dcol" 2>/dev/null | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} || true
292303
fi
293304

294-
# Theme mode: detects the color-scheme set in hypr.theme and falls back if nothing is parsed.
295-
revert_colors=0
296-
[ "${enableWallDcol}" -eq 0 ] && { grep -q "${dcol_mode}" <<<"$(get_hyprConf "COLOR_SCHEME")" || revert_colors=1; }
297-
export revert_colors
298-
299305
# Process "always" templates in parallel
300306
find "${wallbashDirs[@]}" -type f -path "*/always*" -name "*.dcol" 2>/dev/null | sort | awk '!seen[substr($0, match($0, /[^/]+$/))]++' | parallel fn_wallbash {} || true
301-
302-
# Add configuration hooks
303-
toml_write "${confDir}/kdeglobals" "Colors:View" "BackgroundNormal" "#${dcol_pry1:-000000}FF"
304-
toml_write "${confDir}/Kvantum/wallbash/wallbash.kvconfig" '%General' 'reduce_menu_opacity' 0
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
#!/usr/bin/env bash
2+
3+
# shellcheck disable=SC2154
4+
# shellcheck disable=SC1091
5+
6+
[[ "${HYDE_SHELL_INIT}" -ne 1 ]] && eval "$(hyde-shell init)"
7+
8+
# Stores default values for the theme to avoid breakages.
9+
source "${SHARE_DIR}/hyde/theme-env"
10+
11+
dconf_populate() {
12+
# Build the dconf content
13+
cat <<EOF
14+
[org/gnome/desktop/interface]
15+
icon-theme='$ICON_THEME'
16+
gtk-theme='$GTK_THEME'
17+
color-scheme='$COLOR_SCHEME'
18+
cursor-theme='$CURSOR_THEME'
19+
cursor-size=$CURSOR_SIZE
20+
font-name='$FONT $FONT_SIZE'
21+
document-font-name='$DOCUMENT_FONT $DOCUMENT_FONT_SIZE'
22+
monospace-font-name='$MONOSPACE_FONT $MONOSPACE_FONT_SIZE'
23+
font-antialiasing='$FONT_ANTIALIASING'
24+
font-hinting='$FONT_HINTING'
25+
26+
[org/gnome/desktop/default-applications/terminal]
27+
exec='$(command -v "${TERMINAL}")'
28+
29+
[org/gnome/desktop/wm/preferences]
30+
button-layout='$BUTTON_LAYOUT'
31+
EOF
32+
33+
}
34+
# HYDE_THEME="$(hyq "${HYPRLAND_CONFIG}" --source --query 'hyde:theme')"
35+
COLOR_SCHEME="prefer-${dcol_mode}"
36+
GTK_THEME="Wallbash-Gtk"
37+
HYPRLAND_CONFIG=${HYPRLAND_CONFIG:-"${XDG_CONFIG_HOME:-$(xdg-user-dir CONFIG)}/hypr/hyprland.conf"}
38+
39+
# Populate variables from hyprland config if exists
40+
if [[ -r "${HYPRLAND_CONFIG}" ]] &&
41+
command -v "hyq" &>/dev/null; then
42+
43+
eval "$(
44+
hyq "${HYPRLAND_CONFIG}" --source --export env \
45+
-Q 'hyde:gtk-theme' \
46+
-Q 'hyde:icon-theme' \
47+
-Q 'hyde:cursor-theme' \
48+
-Q 'hyde:cursor-size' \
49+
-Q 'hyde:terminal' \
50+
-Q 'hyde:font' \
51+
-Q 'hyde:font-size' \
52+
-Q 'hyde:document-font' \
53+
-Q 'hyde:document-font-size' \
54+
-Q 'hyde:monospace-font' \
55+
-Q 'hyde:monospace-font-size' \
56+
-Q 'hyde:button-layout' \
57+
-Q 'hyde:font-antialiasing' \
58+
-Q 'hyde:font-hinting'
59+
60+
)"
61+
GTK_THEME=${_hyde_gtk_theme:-$GTK_THEME}
62+
COLOR_SCHEME=${_hyde_color_scheme:-$COLOR_SCHEME}
63+
ICON_THEME=${_hyde_icon_theme:-$ICON_THEME}
64+
CURSOR_THEME=${_hyde_cursor_theme:-$CURSOR_THEME}
65+
CURSOR_SIZE=${_hyde_cursor_size:-$CURSOR_SIZE}
66+
TERMINAL=${_hyde_terminal:-$TERMINAL}
67+
FONT=${_hyde_font:-$FONT}
68+
FONT_SIZE=${_hyde_font_size:-$FONT_SIZE}
69+
DOCUMENT_FONT=${_hyde_document_font:-$DOCUMENT_FONT}
70+
DOCUMENT_FONT_SIZE=${_hyde_document_font_size:-$DOCUMENT_FONT_SIZE}
71+
MONOSPACE_FONT=${_hyde_monospace_font:-$MONOSPACE_FONT}
72+
MONOSPACE_FONT_SIZE=${_hyde_monospace_font_size:-$MONOSPACE_FONT_SIZE}
73+
BUTTON_LAYOUT=${_hyde_button_layout:-$BUTTON_LAYOUT}
74+
FONT_ANTIALIASING=${_hyde_font_antialiasing:-$FONT_ANTIALIASING}
75+
FONT_HINTING=${_hyde_font_hinting:-$FONT_HINTING}
76+
fi
77+
78+
# Check if we need inverted colors
79+
if [[ "${revert_colors:-0}" -eq 1 ]] ||
80+
[[ "${enableWallDcol:-0}" -eq 2 && "${dcol_mode:-}" == "light" ]] ||
81+
[[ "${enableWallDcol:-0}" -eq 3 && "${dcol_mode:-}" == "dark" ]]; then
82+
if [[ "${dcol_mode}" == "dark" ]]; then
83+
COLOR_SCHEME="prefer-light"
84+
else
85+
COLOR_SCHEME="prefer-dark"
86+
fi
87+
fi
88+
89+
DCONF_FILE="${XDG_CACHE_HOME:-$HOME/.cache}/hyde/dconf"
90+
91+
{ dconf load -f / <"${DCONF_FILE}" && print_log -sec "dconf" -stat "preserve" "${DCONF_FILE}"; } || print_log -sec "dconf" -warn "failed to preserve" "${DCONF_FILE}"
92+
{ dconf_populate >"${DCONF_FILE}" && print_log -sec "dconf" -stat "populated" "${DCONF_FILE}"; } || print_log -sec "dconf" -warn "failed to populate" "${DCONF_FILE}"
93+
{ dconf reset -f / <"${DCONF_FILE}" && print_log -sec "dconf" -stat "reset" "${DCONF_FILE}"; } || print_log -sec "dconf" -warn "failed to reset" "${DCONF_FILE}"
94+
{ dconf load -f / <"${DCONF_FILE}" && print_log -sec "dconf" -stat "loaded" "${DCONF_FILE}"; } || print_log -sec "dconf" -warn "failed to load" "${DCONF_FILE}"
95+
96+
[[ -n "${HYPRLAND_INSTANCE_SIGNATURE}" ]] && hyprctl setcursor "${CURSOR_THEME}" "${CURSOR_SIZE}"
97+
98+
print_log -sec "dconf" -stat "Loaded dconf settings"
99+
print_log -y "#-----------------------------------------------#"
100+
dconf_populate
101+
print_log -y "#-----------------------------------------------#"

Configs/.local/lib/hyde/emoji-picker.sh

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#!/usr/bin/env bash
22

3+
pkill -u "$USER" rofi && exit 0
4+
35
[[ "${HYDE_SHELL_INIT}" -ne 1 ]] && eval "$(hyde-shell init)"
46

57
emoji_dir=${HYDE_DATA_HOME:-$HOME/.local/share/hyde}

Configs/.local/lib/hyde/gamelauncher.sh

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -18,19 +18,19 @@ elem_border=$((hypr_border * 2))
1818
icon_border=$((elem_border - 3))
1919
r_override="element{border-radius:${elem_border}px;} element-icon{border-radius:${icon_border}px;}"
2020

21-
[[ -z $MODE ]] && MODE=5
22-
case $MODE in
21+
[[ -n "${ROFI_GAMELAUNCHER_STYLE}" ]] && MODE=${ROFI_GAMELAUNCHER_STYLE}
22+
case ${MODE:-5} in
2323
5)
24-
monitor_info=()
25-
eval "$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) |
24+
monitor_info=()
25+
eval "$(hyprctl -j monitors | jq -r '.[] | select(.focused==true) |
2626
"monitor_info=(\(.width) \(.height) \(.scale) \(.x) \(.y)) reserved_info=(\(.reserved | join(" ")))"')"
2727

28-
# Remove decimal point from scale and convert to integer (e.g., 1.25 -> 125)
29-
monitor_scale="${monitor_info[2]//./}"
30-
# Calculate display width adjusted for scale (95% of actual width)
31-
monitor_width=$((monitor_info[0] * 95 / monitor_scale))
32-
# Calculate display height adjusted for scale (95% of actual height)
33-
monitor_height=$((monitor_info[1] * 95 / monitor_scale))
28+
# Remove decimal point from scale and convert to integer (e.g., 1.25 -> 125)
29+
monitor_scale="${monitor_info[2]//./}"
30+
# Calculate display width adjusted for scale (95% of actual width)
31+
monitor_width=$((monitor_info[0] * 95 / monitor_scale))
32+
# Calculate display height adjusted for scale (95% of actual height)
33+
monitor_height=$((monitor_info[1] * 95 / monitor_scale))
3434

3535
BG=$HOME/.local/share/hyde/rofi/assets/steamdeck_holographic.png
3636
BGfx=$HOME/.cache/hyde/landing/steamdeck_holographic_${monitor_width}x${monitor_height}.png
@@ -48,7 +48,7 @@ monitor_height=$((monitor_info[1] * 95 / monitor_scale))
4848
# top right bottom left
4949
;;
5050

51-
*) : ;;
51+
*) ;;
5252
esac
5353

5454
fn_steam() {
@@ -61,8 +61,8 @@ fn_steam() {
6161
# SteamLib might contain more than one path
6262
ManifestList=$(grep '"path"' $SteamLib | awk -F '"' '{print $4}' | while read sp; do
6363
64-
#Manifests for current path
65-
find "${sp}/steamapps" -type f -name "appmanifest_*.acf" 2>/dev/null
64+
#Manifests for current path
65+
find "${sp}/steamapps" -type f -name "appmanifest_*.acf" 2>/dev/null
6666
done)
6767
6868
if [ -z "${ManifestList}" ]; then
@@ -88,7 +88,7 @@ fn_steam() {
8888
appid=$(echo "${acf}" | cut -d '|' -f 2)
8989
game=$(echo "${acf}" | cut -d '|' -f 1)
9090
# find the lib image
91-
libImage=$(find "${SteamThumb}/${appid}/" -type f -name "${libraryThumbName}" | head -1)
91+
libImage=$(find "${SteamThumb}/${appid}/" -type f -name "${libraryThumbName}" | head -1)
9292
printf "%s\x00icon\x1f${libImage}\n" "${game}" >&2
9393
printf "%s\x00icon\x1f${libImage}\n" "${game}"
9494
done | rofi -dmenu \
@@ -97,7 +97,7 @@ fn_steam() {
9797
)
9898
9999
# launch game
100-
if [ -n "$RofiSel" ]; then
100+
if [ -n "$RofiSel" ]; then
101101
launchid=$(echo "$GameList" | grep "$RofiSel" | cut -d '|' -f 2)
102102
103103
headerImage=$(find "${SteamThumb}/${launchid}/" -type f -name "*${libraryHeaderName}")

0 commit comments

Comments
 (0)