Compare commits
2 commits
6199866e4c
...
4e8a6fad37
| Author | SHA1 | Date | |
|---|---|---|---|
| 4e8a6fad37 | |||
| 24344598e9 |
8 changed files with 91 additions and 8 deletions
|
|
@ -413,6 +413,11 @@ Description="Keyboard - Portuguese (Brazil) - Portuguese (Brazil, IBM/Lenovo Thi
|
||||||
Language=pt
|
Language=pt
|
||||||
Label="br (thinkpad)"
|
Label="br (thinkpad)"
|
||||||
|
|
||||||
|
[keyboard-br-thinkpad_nodeadkeys]
|
||||||
|
Description="Keyboard - Portuguese (Brazil) - Portuguese (Brazil, IBM/Lenovo ThinkPad, no dead keys)"
|
||||||
|
Language=pt
|
||||||
|
Label="br (thinkpad_nodeadkeys)"
|
||||||
|
|
||||||
[keyboard-br-nativo-epo]
|
[keyboard-br-nativo-epo]
|
||||||
Description="Keyboard - Portuguese (Brazil) - Esperanto (Brazil, Nativo)"
|
Description="Keyboard - Portuguese (Brazil) - Esperanto (Brazil, Nativo)"
|
||||||
Language=eo
|
Language=eo
|
||||||
|
|
@ -528,6 +533,11 @@ Description="Keyboard - Polish - Polish (Colemak-DH ISO)"
|
||||||
Language=pl
|
Language=pl
|
||||||
Label="pl (colemak_dh)"
|
Label="pl (colemak_dh)"
|
||||||
|
|
||||||
|
[keyboard-pl-colemak_dh_ortho]
|
||||||
|
Description="Keyboard - Polish - Polish (Colemak-DH Ortholinear)"
|
||||||
|
Language=pl
|
||||||
|
Label="pl (colemak_dh_ortho)"
|
||||||
|
|
||||||
[keyboard-pl-sun_type6]
|
[keyboard-pl-sun_type6]
|
||||||
Description="Keyboard - Polish - Polish (Sun Type 6/7)"
|
Description="Keyboard - Polish - Polish (Sun Type 6/7)"
|
||||||
Language=pl
|
Language=pl
|
||||||
|
|
@ -1483,6 +1493,11 @@ Description="Keyboard - Burmese - Burmese (Zawgyi)"
|
||||||
Language=my
|
Language=my
|
||||||
Label="my-zwg (zawgyi)"
|
Label="my-zwg (zawgyi)"
|
||||||
|
|
||||||
|
[keyboard-mm-mara]
|
||||||
|
Description="Keyboard - Burmese - Mara"
|
||||||
|
Language=mrh
|
||||||
|
Label="mrh (mara)"
|
||||||
|
|
||||||
[keyboard-mm-mnw]
|
[keyboard-mm-mnw]
|
||||||
Description="Keyboard - Burmese - Mon"
|
Description="Keyboard - Burmese - Mon"
|
||||||
Language=mnw
|
Language=mnw
|
||||||
|
|
@ -3508,6 +3523,11 @@ Description="Keyboard - Indian - Malayalam (Poorna, extended InScript)"
|
||||||
Language=ml
|
Language=ml
|
||||||
Label="ml (mal_poorna)"
|
Label="ml (mal_poorna)"
|
||||||
|
|
||||||
|
[keyboard-in-mara]
|
||||||
|
Description="Keyboard - Indian - Mara"
|
||||||
|
Language=mrh
|
||||||
|
Label="mrh (mara)"
|
||||||
|
|
||||||
[keyboard-in-mni]
|
[keyboard-in-mni]
|
||||||
Description="Keyboard - Indian - Manipuri (Meitei)"
|
Description="Keyboard - Indian - Manipuri (Meitei)"
|
||||||
Language=mni
|
Language=mni
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,3 @@
|
||||||
# Hidden Notifications
|
[HiddenNotifications]
|
||||||
HiddenNotifications=
|
0=wayland-diagnose-other
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,10 @@ general {
|
||||||
inhibit_sleep = 3
|
inhibit_sleep = 3
|
||||||
lock_cmd = pidof hyprlock || ~/.config/hypr/scripts/lock.sh
|
lock_cmd = pidof hyprlock || ~/.config/hypr/scripts/lock.sh
|
||||||
before_sleep_cmd = loginctl lock-session
|
before_sleep_cmd = loginctl lock-session
|
||||||
after_sleep_cmd = hyprctl dispatch dpms on
|
# Cycle dpms off/on after resume: forces Hyprland to recreate the hyprlock
|
||||||
|
# surfaces and re-grant them keyboard focus, which is otherwise lost after
|
||||||
|
# suspend (hyprlock shows the clock but ignores typing until a dpms cycle)
|
||||||
|
after_sleep_cmd = hyprctl dispatch dpms off && sleep 1 && hyprctl dispatch dpms on
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 1: Dim monitor at 115 sec idle (warning that it will lock soon)
|
# Step 1: Dim monitor at 115 sec idle (warning that it will lock soon)
|
||||||
|
|
@ -33,13 +36,19 @@ listener {
|
||||||
# Both together ensure the screen is fully off visually and electrically
|
# Both together ensure the screen is fully off visually and electrically
|
||||||
|
|
||||||
# When the user becomes active again, restore display
|
# When the user becomes active again, restore display
|
||||||
on-resume = hyprctl dispatch dpms on && ddcutil setvcp 10 100 && wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
#
|
||||||
|
# Cycles DPMS only if the display was actually turned off (avoids flicker
|
||||||
|
# when the user returns before step 3 fires). Needed because otherwise
|
||||||
|
# hyprlock surfaces may lose focus after a dpms off cycle
|
||||||
|
# (same issue covered in after_sleep_cmd above).
|
||||||
|
on-resume = ~/.config/hypr/scripts/wake-display.sh
|
||||||
|
|
||||||
# Explanation:
|
# Explanation:
|
||||||
# - hyprctl dispatch dpms on → ensures the display is powered on by the compositor
|
# - wake-display.sh checks if dpms is off; only then does a dpms off/on
|
||||||
|
# cycle to force Hyprland to recreate hyprlock surfaces
|
||||||
# - ddcutil setvcp 10 100 → restores monitor brightness to full
|
# - ddcutil setvcp 10 100 → restores monitor brightness to full
|
||||||
#
|
#
|
||||||
# Both together guarantee the screen wakes reliably on all monitors
|
# Both together guarantee the screen wakes reliably
|
||||||
}
|
}
|
||||||
|
|
||||||
# Step 4: Suspend system after 30 min idle
|
# Step 4: Suspend system after 30 min idle
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,11 @@ env = HYPRCURSOR_SIZE,24
|
||||||
env = QT_QPA_PLATFORMTHEME,qt5ct
|
env = QT_QPA_PLATFORMTHEME,qt5ct
|
||||||
env = HYPRSHOT_DIR,Screenshots
|
env = HYPRSHOT_DIR,Screenshots
|
||||||
|
|
||||||
|
# Force Aquamarine to use only the Intel iGPU for display.
|
||||||
|
# The NVIDIA RTX 3060 is also present but causes EGL_BAD_MATCH errors and page-flip
|
||||||
|
# lockups after VT/DPMS cycles (multi-GPU buffer ownership fights).
|
||||||
|
env = AQ_DRM_DEVICES,/dev/dri/card0
|
||||||
|
|
||||||
################
|
################
|
||||||
### MONITORS ###
|
### MONITORS ###
|
||||||
################
|
################
|
||||||
|
|
@ -187,7 +192,7 @@ input {
|
||||||
kb_layout = us,se,kr
|
kb_layout = us,se,kr
|
||||||
kb_variant = dvorak,dvorak,
|
kb_variant = dvorak,dvorak,
|
||||||
kb_model =
|
kb_model =
|
||||||
kb_options = grp:win_space_toggle,grp:alt_r_toggle
|
kb_options = grp:win_space_toggle,grp:toggle
|
||||||
kb_rules =
|
kb_rules =
|
||||||
|
|
||||||
follow_mouse = 0
|
follow_mouse = 0
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
pkill -x dim
|
pkill -x dim
|
||||||
hyprctl switchxkblayout all 0
|
hyprctl switchxkblayout all 0
|
||||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
||||||
hyprlock --no-fade-in &
|
pidof hyprlock || hyprlock --no-fade-in &
|
||||||
hyprctl dispatch dpms off
|
hyprctl dispatch dpms off
|
||||||
wait
|
wait
|
||||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,8 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Prevent multiple hyprlock instances (second instance breaks the lock screen)
|
||||||
|
pidof hyprlock && exit 0
|
||||||
|
|
||||||
hyprctl switchxkblayout all 0
|
hyprctl switchxkblayout all 0
|
||||||
fcitx5-remote -s keyboard-us-dvorak
|
fcitx5-remote -s keyboard-us-dvorak
|
||||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ 1
|
||||||
|
|
|
||||||
25
hypr/scripts/unstick-display.sh
Executable file
25
hypr/scripts/unstick-display.sh
Executable file
|
|
@ -0,0 +1,25 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Recovery script for when Hyprland display goes black after lock/sleep.
|
||||||
|
# This resets the display pipeline without killing your session.
|
||||||
|
# Run from another TTY (Ctrl+Alt+F3).
|
||||||
|
|
||||||
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
||||||
|
|
||||||
|
# Find the Hyprland instance signature from the socket directory
|
||||||
|
SIGNATURE=$(ls "$XDG_RUNTIME_DIR/hypr/" 2>/dev/null | head -1)
|
||||||
|
|
||||||
|
if [ -z "$SIGNATURE" ]; then
|
||||||
|
echo "Could not find Hyprland socket. Is Hyprland running?"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export HYPRLAND_INSTANCE_SIGNATURE=$SIGNATURE
|
||||||
|
|
||||||
|
echo "Resetting display pipeline..."
|
||||||
|
|
||||||
|
pkill hyprlock 2>/dev/null
|
||||||
|
hyprctl dispatch dpms off
|
||||||
|
sleep 1
|
||||||
|
hyprctl dispatch dpms on
|
||||||
|
|
||||||
|
echo "Done. Switch back to Hyprland (Ctrl+Alt+F2)."
|
||||||
20
hypr/scripts/wake-display.sh
Executable file
20
hypr/scripts/wake-display.sh
Executable file
|
|
@ -0,0 +1,20 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# hypridle step 3 on-resume — wake display after idle off.
|
||||||
|
# Cycles DPMS only if the display was actually turned off (avoids flicker
|
||||||
|
# when the user returns before step 3 fires).
|
||||||
|
|
||||||
|
SIGNATURE=$(ls "$XDG_RUNTIME_DIR/hypr/" 2>/dev/null | head -1)
|
||||||
|
export HYPRLAND_INSTANCE_SIGNATURE=$SIGNATURE
|
||||||
|
export XDG_RUNTIME_DIR=/run/user/$(id -u)
|
||||||
|
|
||||||
|
DPMS=$(hyprctl monitors 2>/dev/null | grep dpmsStatus | awk '{print $2}')
|
||||||
|
|
||||||
|
if [ "$DPMS" = "0" ]; then
|
||||||
|
# Display was off — cycle DPMS to force re-creation of hyprlock surfaces
|
||||||
|
hyprctl dispatch dpms off
|
||||||
|
sleep 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
hyprctl dispatch dpms on
|
||||||
|
ddcutil setvcp 10 100
|
||||||
|
wpctl set-mute @DEFAULT_AUDIO_SINK@ 0
|
||||||
Loading…
Add table
Add a link
Reference in a new issue