Add toggle-screenshare keybind
This commit is contained in:
1 parent
9580d84d4c
commit
4f50fbf423
5 files changed
+51
-10
No files matched your search
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
FILE="$HOME/.config/hypr/hyprland/rules.conf"
|
||||
|
||||
LAYER_RULE="layerrule = noscreenshare,^(.*)$"
|
||||
WINDOW_RULE="windowrulev2 = noscreenshare, initialClass:^(.*)$"
|
||||
|
||||
escape_regex() {
|
||||
printf '%s\n' "$1" | sed -e 's/[][\/.^$*]/\\&/g'
|
||||
}
|
||||
|
||||
toggle_rule() {
|
||||
local RULE_ESC
|
||||
RULE_ESC=$(escape_regex "$1")
|
||||
|
||||
# uncomment if commented
|
||||
if grep -q "^# $RULE_ESC" "$FILE"; then
|
||||
sed -i "s/^# \(.*$RULE_ESC\)/\1/" "$FILE"
|
||||
echo "Enabled"
|
||||
|
||||
# comment if uncommented
|
||||
elif grep -q "^$RULE_ESC" "$FILE"; then
|
||||
sed -i "s/^\($RULE_ESC\)/# \1/" "$FILE"
|
||||
echo "Disabled"
|
||||
else
|
||||
echo "None"
|
||||
fi
|
||||
}
|
||||
|
||||
LAYER_STATE=$(toggle_rule "$LAYER_RULE")
|
||||
WINDOW_STATE=$(toggle_rule "$WINDOW_RULE")
|
||||
notify-send "No Screenshare" "Window: $WINDOW_STATE | Layer: $LAYER_STATE" -t 2000
|
||||
|
||||
sleep 0.2
|
||||
hyprctl reload
|
||||
@@ -52,6 +52,9 @@ bind = $mainMod, M, exec, bash -c 'wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle;
|
||||
# Screen Recording
|
||||
bind = $mainMod SHIFT, R, exec, ~/.config/bin/record.sh
|
||||
|
||||
# Toggle NoScreenShare
|
||||
bind = $mainMod, H, exec, ~/.config/bin/toggle-noscreenshare.sh
|
||||
|
||||
|
||||
# Sessions and power
|
||||
bind = $mainMod, L, exec, loginctl lock-session
|
||||
|
||||
@@ -35,10 +35,6 @@ windowrulev2 = opacity 1 1, title:$PiP
|
||||
windowrulev2 = move 71% 13%, title:$PiP
|
||||
|
||||
|
||||
# No Screen Share
|
||||
windowrulev2 = noscreenshare, class:^(polkit-gnome-authentication-agent-1|org.keepassxc.KeePassXC)$
|
||||
|
||||
|
||||
# Opacity 100%
|
||||
$OPAQUE_CLASSES = ^(libreoffice|ONLYOFFICE|qemu|vlc|com.obsproject.Studio|imv|org.gnome.NautilusPreviewer)$
|
||||
windowrulev2 = opaque, class:$OPAQUE_CLASSES
|
||||
@@ -85,11 +81,9 @@ windowrulev2 = immediate, class:^(steam_app).*
|
||||
# Ignore maximize requests from apps.
|
||||
windowrulev2 = suppressevent maximize, class:.*
|
||||
|
||||
|
||||
# Fix some dragging issues with XWayland
|
||||
windowrulev2 = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0
|
||||
|
||||
|
||||
# Fix blur around XWayland windows
|
||||
# Variant 1
|
||||
windowrulev2 = noblur, class:^()$, title:^()$
|
||||
@@ -99,7 +93,14 @@ windowrulev2 = opacity 0.98 override, class:^()$, title:^()$
|
||||
# windowrulev2 = opacity 0.98 override, xwayland:1, floating:1
|
||||
|
||||
|
||||
# Blur Layers
|
||||
# $BLUR_LAYERS = ^(swaync-control-center|swaync-notification-window)$
|
||||
# layerrule = blur, $BLUR_LAYERS
|
||||
# layerrule = ignorezero, $BLUR_LAYERS
|
||||
# No Screen Share for Authentication Window and KeePassXC
|
||||
windowrulev2 = noscreenshare, class:^(polkit-gnome-authentication-agent-1|org.keepassxc.KeePassXC)$
|
||||
|
||||
# NoScreenShare for SwayNC
|
||||
# layerrule = noscreenshare, swaync-notification-window
|
||||
# layerrule = noscreenshare, ^(swaync-control-center|swaync-notification-window)$
|
||||
|
||||
|
||||
# NoScreenShare (~/.config/bin/toggle-noscreenshare.sh)
|
||||
# layerrule = noscreenshare,^(.*)$
|
||||
# windowrulev2 = noscreenshare, initialClass:^(.*)$
|
||||
@@ -310,6 +310,7 @@
|
||||
| <kbd>Super</kbd> + <kbd>Escape</kbd> | Скрыть/показать Waybar |
|
||||
| <kbd>Super</kbd> +<kbd>Alt</kbd> + <kbd>P</kbd> | Случайный фон + Генерация темы (matugen) |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>R</kbd> | Начать/остановить запись области экрана (gpu-screen-recorder) |
|
||||
| <kbd>Super</kbd> + <kbd>H</kbd> | Переключить видимость окон и слоев на демонстрации экрана |
|
||||
| <kbd>Super</kbd> + <kbd>M</kbd> | Включение/выключение микрофона |
|
||||
| <kbd>Super</kbd> + <kbd>Z</kbd> | Увеличить масштаб курсора |
|
||||
| <kbd>Super</kbd> + <kbd>Колесико мыши</kbd> | Увеличить/уменьшить масштаб курсора |
|
||||
|
||||
@@ -311,6 +311,7 @@ Window manager (WM).
|
||||
| <kbd>Super</kbd> + <kbd>Escape</kbd> | Hide/show Waybar |
|
||||
| <kbd>Super</kbd> +<kbd>Alt</kbd> + <kbd>P</kbd> | Random background + Generate theme (matugen) |
|
||||
| <kbd>Super</kbd> + <kbd>Shift</kbd> + <kbd>R</kbd> | Start/stop recording a screen area (gpu-screen-recorder) |
|
||||
| <kbd>Super</kbd> + <kbd>H</kbd> | Toggle windows and layers visibility on screen share |
|
||||
| <kbd>Super</kbd> + <kbd>M</kbd> | Mute/unmute microphone |
|
||||
| <kbd>Super</kbd> + <kbd>Z</kbd> | Zoom in |
|
||||
| <kbd>Super</kbd> + <kbd>Mouse wheel</kbd> | Zoom in/out |
|
||||
|
||||
Reference in new issue
Block a user