Compare commits
6 Commits
42fc641571
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ec3a65f646 | |||
| 237131e2a0 | |||
| a6f56b38b4 | |||
| 0d9b9bd1d7 | |||
| 377726801b | |||
| f382f9ce22 |
@@ -15,3 +15,8 @@ case "$GPU" in
|
|||||||
intel) pac_file packages/graphics-intel.txt ;;
|
intel) pac_file packages/graphics-intel.txt ;;
|
||||||
*) info "no GPU group for GPU='$GPU'" ;;
|
*) info "no GPU group for GPU='$GPU'" ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
# Laptop only: backlight control. Desktop monitors (DP/HDMI) don't expose a
|
||||||
|
# /sys/class/backlight device — they use DDC/CI (ddcutil) — so brightnessctl has
|
||||||
|
# nothing to control there and the XF86MonBrightness* binds just no-op.
|
||||||
|
[ "$IS_DESKTOP" = 0 ] && pacman -S --needed --noconfirm brightnessctl
|
||||||
|
|||||||
Binary file not shown.
@@ -4,11 +4,12 @@
|
|||||||
# Create your files separately and then link them to this file like this:
|
# Create your files separately and then link them to this file like this:
|
||||||
# source = ~/.config/hypr/myColors.conf
|
# source = ~/.config/hypr/myColors.conf
|
||||||
|
|
||||||
################
|
###############################
|
||||||
### MONITORS ###
|
### MONITORS AND WORKSPACES ###
|
||||||
################
|
###############################
|
||||||
|
|
||||||
|
# Desktop, dual external monitors setup:
|
||||||
|
|
||||||
# See https://wiki.hypr.land/Configuring/Monitors/
|
|
||||||
#monitorv2 {
|
#monitorv2 {
|
||||||
# output = DP-1
|
# output = DP-1
|
||||||
# mode = 3840x2160@60
|
# mode = 3840x2160@60
|
||||||
@@ -27,9 +28,19 @@
|
|||||||
# icc = /home/tobias/scripts/set_gamma/LG_1_2020_D6500_sRGB.icm
|
# icc = /home/tobias/scripts/set_gamma/LG_1_2020_D6500_sRGB.icm
|
||||||
#}
|
#}
|
||||||
|
|
||||||
# Assign Workspace 1 to correct monitor and set cursor to that workspace on start
|
# workspacerules
|
||||||
#workspace=name:1, monitor:DP-2
|
#workspace = name:1, monitor:DP-1, default:false
|
||||||
#exec-once = hyprctl dispatch workspace 1
|
#workspace = name:2, monitor:DP-1, default:false
|
||||||
|
#workspace = name:3, monitor:DP-1, default:false
|
||||||
|
#workspace = name:4, monitor:DP-1, default:false
|
||||||
|
#workspace = name:5, monitor:DP-1, default:false
|
||||||
|
|
||||||
|
#workspace = name:6, monitor:DP-2, default:false
|
||||||
|
#workspace = name:7, monitor:DP-2, default:false
|
||||||
|
#workspace = name:8, monitor:DP-2, default:false
|
||||||
|
#workspace = name:9, monitor:DP-2, default:false
|
||||||
|
#workspace = name:0, monitor:DP-2, default:false
|
||||||
|
|
||||||
|
|
||||||
debug {
|
debug {
|
||||||
disable_logs = true
|
disable_logs = true
|
||||||
@@ -162,21 +173,13 @@ decoration {
|
|||||||
active_opacity = 1.0
|
active_opacity = 1.0
|
||||||
inactive_opacity = 1.0
|
inactive_opacity = 1.0
|
||||||
|
|
||||||
#shadow {
|
|
||||||
# enabled = true
|
|
||||||
# range = 4
|
|
||||||
# render_power = 3
|
|
||||||
# color = rgba(1a1a1aee)
|
|
||||||
#}
|
|
||||||
|
|
||||||
shadow {
|
shadow {
|
||||||
enabled = true
|
enabled = true
|
||||||
range = 100
|
range = 100
|
||||||
render_power = 3
|
render_power = 3
|
||||||
color = rgba(00000050)
|
color = rgba(00000050)
|
||||||
scale = 0.99
|
scale = 0.99
|
||||||
offset = 0 9
|
offset = 0 9
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# https://wiki.hypr.land/Configuring/Variables/#blur
|
# https://wiki.hypr.land/Configuring/Variables/#blur
|
||||||
@@ -257,12 +260,6 @@ ecosystem {
|
|||||||
no_donation_nag = true
|
no_donation_nag = true
|
||||||
}
|
}
|
||||||
|
|
||||||
#cursor {
|
|
||||||
# no_hardware_cursors = true
|
|
||||||
# min_refresh_rate = 60
|
|
||||||
#}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#############
|
#############
|
||||||
### INPUT ###
|
### INPUT ###
|
||||||
@@ -397,24 +394,10 @@ bind = $shiftMod, PRINT, exec, hyprshot -m output
|
|||||||
bind = $mainMod,P,exec,hyprpicker -a
|
bind = $mainMod,P,exec,hyprpicker -a
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
### WINDOWS AND WORKSPACES ###
|
### WINDOWS ###
|
||||||
##############################
|
##############################
|
||||||
|
|
||||||
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
# See https://wiki.hypr.land/Configuring/Window-Rules/ for more
|
||||||
# See https://wiki.hypr.land/Configuring/Workspace-Rules/ for workspace rules
|
|
||||||
|
|
||||||
# workspacerules
|
|
||||||
workspace = name:1, monitor:DP-1, default:false
|
|
||||||
workspace = name:2, monitor:DP-1, default:false
|
|
||||||
workspace = name:3, monitor:DP-1, default:false
|
|
||||||
workspace = name:4, monitor:DP-1, default:false
|
|
||||||
workspace = name:5, monitor:DP-1, default:false
|
|
||||||
|
|
||||||
workspace = name:6, monitor:DP-2, default:false
|
|
||||||
workspace = name:7, monitor:DP-2, default:false
|
|
||||||
workspace = name:8, monitor:DP-2, default:false
|
|
||||||
workspace = name:9, monitor:DP-2, default:false
|
|
||||||
workspace = name:0, monitor:DP-2, default:false
|
|
||||||
|
|
||||||
# windowrules
|
# windowrules
|
||||||
windowrule = float on, size 1100 700, match:class ^(org.gnome.Nautilus)$
|
windowrule = float on, size 1100 700, match:class ^(org.gnome.Nautilus)$
|
||||||
@@ -433,10 +416,9 @@ windowrule = float on, size 1200 750, match:class ^(Element)$
|
|||||||
|
|
||||||
windowrule = float on, size 1200 750, match:class ^(org.gnome.Fractal)$
|
windowrule = float on, size 1200 750, match:class ^(org.gnome.Fractal)$
|
||||||
|
|
||||||
#windowrule = suppressevent[activatefocus activate],initialClass:^(photoshop.exe)$
|
|
||||||
|
|
||||||
windowrule = no_initial_focus on, match:initial_class ^(photoshop.exe)$
|
windowrule = no_initial_focus on, match:initial_class ^(photoshop.exe)$
|
||||||
|
|
||||||
|
#windowrule = suppressevent[activatefocus activate],initialClass:^(photoshop.exe)$
|
||||||
#windowrule = noblur,initialClass:^(photoshop.exe)$
|
#windowrule = noblur,initialClass:^(photoshop.exe)$
|
||||||
#windowrule = noshadow,initialClass:^(photoshop.exe)$
|
#windowrule = noshadow,initialClass:^(photoshop.exe)$
|
||||||
#windowrule = noanim,initialClass:^(photoshop.exe)$
|
#windowrule = noanim,initialClass:^(photoshop.exe)$
|
||||||
|
|||||||
@@ -23,6 +23,7 @@
|
|||||||
"cpu",
|
"cpu",
|
||||||
"memory",
|
"memory",
|
||||||
"battery",
|
"battery",
|
||||||
|
"custom/power_profile",
|
||||||
"custom/studio-sound",
|
"custom/studio-sound",
|
||||||
"bluetooth",
|
"bluetooth",
|
||||||
"wireplumber",
|
"wireplumber",
|
||||||
@@ -195,6 +196,16 @@
|
|||||||
"return-type": "json"
|
"return-type": "json"
|
||||||
},
|
},
|
||||||
|
|
||||||
|
"custom/power_profile": {
|
||||||
|
"format": "{}",
|
||||||
|
"exec": "~/.config/waybar/scripts/power-profile.sh",
|
||||||
|
"on-click": "~/.config/waybar/scripts/power-profile.sh toggle",
|
||||||
|
"interval": "once",
|
||||||
|
"signal": 9,
|
||||||
|
"return-type": "json",
|
||||||
|
"tooltip": true
|
||||||
|
},
|
||||||
|
|
||||||
"custom/studio-sound": {
|
"custom/studio-sound": {
|
||||||
"format": "{}",
|
"format": "{}",
|
||||||
"exec": "~/.config/waybar/scripts/studio-sound.py",
|
"exec": "~/.config/waybar/scripts/studio-sound.py",
|
||||||
|
|||||||
@@ -0,0 +1,71 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Waybar power-profiles-daemon module.
|
||||||
|
# default : print the current profile as JSON (empty -> Waybar hides the module)
|
||||||
|
# toggle : cycle to the next available profile, then signal Waybar to refresh
|
||||||
|
#
|
||||||
|
# Wired as interval:"once" + signal in config.jsonc, so the script runs exactly
|
||||||
|
# once at Waybar startup and thereafter only when we signal it on click. On a
|
||||||
|
# desktop the single startup run hits an unavailable PPD, prints empty, and the
|
||||||
|
# module stays hidden forever with no recurring cost.
|
||||||
|
#
|
||||||
|
# Availability keys off the systemd unit being *enabled* rather than
|
||||||
|
# `powerprofilesctl get` succeeding: PPD is D-Bus-activatable and desktop CPUs
|
||||||
|
# expose EPP too, so `get` would answer on a desktop as well. The repo only
|
||||||
|
# enables the service on laptops (IS_DESKTOP=0), so `is-enabled` is the honest
|
||||||
|
# "is this a laptop that uses PPD" signal.
|
||||||
|
|
||||||
|
SERVICE=power-profiles-daemon.service
|
||||||
|
|
||||||
|
available() {
|
||||||
|
command -v powerprofilesctl >/dev/null 2>&1 || return 1
|
||||||
|
systemctl is-enabled "$SERVICE" >/dev/null 2>&1
|
||||||
|
}
|
||||||
|
|
||||||
|
# Available profile names in the order PPD lists them (power-saver … performance).
|
||||||
|
# Profile header lines are just "name:" (optionally "* name:" for the active one);
|
||||||
|
# every other line (Driver:, Degraded:, …) has text after the colon.
|
||||||
|
profiles() {
|
||||||
|
powerprofilesctl list 2>/dev/null | sed -nE 's/^[[:space:]]*\*?[[:space:]]*([a-z-]+):[[:space:]]*$/\1/p'
|
||||||
|
}
|
||||||
|
|
||||||
|
# FontAwesome glyphs (Nerd Font): f0e7 bolt, f6ad yin-yang, f06c leaf, f011 power.
|
||||||
|
icon() {
|
||||||
|
case "$1" in
|
||||||
|
performance) printf '' ;;
|
||||||
|
balanced) printf '' ;;
|
||||||
|
power-saver) printf '' ;;
|
||||||
|
*) printf '' ;; # power symbol, fallback
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
cycle() {
|
||||||
|
mapfile -t list < <(profiles)
|
||||||
|
[ "${#list[@]}" -eq 0 ] && exit 0
|
||||||
|
cur=$(powerprofilesctl get 2>/dev/null)
|
||||||
|
next=0
|
||||||
|
for i in "${!list[@]}"; do
|
||||||
|
if [ "${list[$i]}" = "$cur" ]; then
|
||||||
|
next=$(( (i + 1) % ${#list[@]} ))
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
powerprofilesctl set "${list[$next]}"
|
||||||
|
pkill -SIGRTMIN+9 waybar
|
||||||
|
}
|
||||||
|
|
||||||
|
output() {
|
||||||
|
if ! available; then
|
||||||
|
printf '{"text":""}\n'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
cur=$(powerprofilesctl get 2>/dev/null)
|
||||||
|
[ -z "$cur" ] && { printf '{"text":""}\n'; exit 0; }
|
||||||
|
printf '{"text":"%s","tooltip":"Power profile: %s\\nClick to cycle","class":"%s"}\n' \
|
||||||
|
"$(icon "$cur")" "$cur" "$cur"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
toggle|cycle) cycle ;;
|
||||||
|
*) output ;;
|
||||||
|
esac
|
||||||
@@ -137,6 +137,7 @@ tooltip {
|
|||||||
color: #a6e3a1;
|
color: #a6e3a1;
|
||||||
border-left: 0px;
|
border-left: 0px;
|
||||||
border-right: 0px;
|
border-right: 0px;
|
||||||
|
min-width: 17px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#window {
|
#window {
|
||||||
|
|||||||
@@ -36,6 +36,5 @@ streamrip
|
|||||||
uxplay
|
uxplay
|
||||||
vcvrack
|
vcvrack
|
||||||
vkd3d-proton-bin
|
vkd3d-proton-bin
|
||||||
whitesur-icon-theme
|
|
||||||
wl-screenrec
|
wl-screenrec
|
||||||
yaak-bin
|
yaak-bin
|
||||||
|
|||||||
@@ -73,7 +73,8 @@ sudo ~/arch-system-hyprland/04-secrets/run.sh
|
|||||||
- install firefox extensions manually
|
- install firefox extensions manually
|
||||||
- ublock origin
|
- ublock origin
|
||||||
- floccus
|
- floccus
|
||||||
- dark reader
|
- Dark Reader
|
||||||
|
- KeePassXC-Browser
|
||||||
|
|
||||||
- edit hyprland config to adjust for monitor setup, including color profiles under ~/.local/share/icc
|
- edit hyprland config to adjust for monitor setup, including color profiles under ~/.local/share/icc
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user