From 01cda85cede56f11d8826cbcd9514a58cdaa4c06 Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 05:30:02 -0700 Subject: [PATCH 1/6] New backup 2025-08-20 05:30:02 --- de/home/.config/sway/scripts/lock.sh | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 de/home/.config/sway/scripts/lock.sh diff --git a/de/home/.config/sway/scripts/lock.sh b/de/home/.config/sway/scripts/lock.sh new file mode 100644 index 0000000..1329677 --- /dev/null +++ b/de/home/.config/sway/scripts/lock.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env bash + + From caaef09ed94a4589411875168bd2c34046954a59 Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 17:45:02 -0700 Subject: [PATCH 2/6] New backup 2025-08-20 17:45:02 --- de/home/.config/sway/config.d/window_rules | 1 + 1 file changed, 1 insertion(+) diff --git a/de/home/.config/sway/config.d/window_rules b/de/home/.config/sway/config.d/window_rules index 2f39af5..eeb378c 100644 --- a/de/home/.config/sway/config.d/window_rules +++ b/de/home/.config/sway/config.d/window_rules @@ -47,6 +47,7 @@ for_window { [app_id="Alacritty_Float"] $float [class="^Signal$"] $float [app_id="org.kde.dolphin" title="^Extracting Files"] $float + [app_id="gurk-rs"] $float #game - inhibit idle focus, no border, fullscreen, floating [instance="origin.exe"] $game From 1025ebe4a839a3bd5b1cda493c3a19fb29909acd Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 20:00:12 -0700 Subject: [PATCH 3/6] New backup 2025-08-20 20:00:12 --- de/home/.config/sway/config.d/layout | 1 + 1 file changed, 1 insertion(+) diff --git a/de/home/.config/sway/config.d/layout b/de/home/.config/sway/config.d/layout index b74a323..bbab57e 100644 --- a/de/home/.config/sway/config.d/layout +++ b/de/home/.config/sway/config.d/layout @@ -39,3 +39,4 @@ shadow_color $color5aa shadow_inactive_color $color055 shadow_blur_radius 6 corner_radius 8 +default_dim_inactive 0.25 From 533bc6ff6d8ee5c1b4b58bb5868f55f24c720b3c Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 20:30:14 -0700 Subject: [PATCH 4/6] New backup 2025-08-20 20:30:14 --- de/home/.config/sway/config.d/layout | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/de/home/.config/sway/config.d/layout b/de/home/.config/sway/config.d/layout index bbab57e..c7bdef1 100644 --- a/de/home/.config/sway/config.d/layout +++ b/de/home/.config/sway/config.d/layout @@ -39,4 +39,7 @@ shadow_color $color5aa shadow_inactive_color $color055 shadow_blur_radius 6 corner_radius 8 -default_dim_inactive 0.25 +#default_dim_inactive 0.25 +set $alphamark "α" +for_window [con_mark=$alphamark] opacity set $trans +bindsym $mod+Control+a mark --toggle "$alphamark" ; [con_id=__focused__] opacity set 1 ;[con_mark=$alphamark con_id=__focused__] opacity set $trans From 9f15e44bb3da00aa703aa2111e442696304f07eb Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 20:45:03 -0700 Subject: [PATCH 5/6] New backup 2025-08-20 20:45:03 --- de/home/.config/sway/config.d/layout | 7 +- .../scripts/inactive-windows-transparency.py | 91 +++++++++++++++++++ 2 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 de/home/.config/sway/scripts/inactive-windows-transparency.py diff --git a/de/home/.config/sway/config.d/layout b/de/home/.config/sway/config.d/layout index c7bdef1..3c7ee87 100644 --- a/de/home/.config/sway/config.d/layout +++ b/de/home/.config/sway/config.d/layout @@ -40,6 +40,7 @@ shadow_inactive_color $color055 shadow_blur_radius 6 corner_radius 8 #default_dim_inactive 0.25 -set $alphamark "α" -for_window [con_mark=$alphamark] opacity set $trans -bindsym $mod+Control+a mark --toggle "$alphamark" ; [con_id=__focused__] opacity set 1 ;[con_mark=$alphamark con_id=__focused__] opacity set $trans +#set $trans 0.8 +#set $alphamark "α" +#for_window [con_mark=$alphamark] opacity set $trans +#bindsym $mod+Control+a mark --toggle "$alphamark" ; [con_id=__focused__] opacity set 1 ;[con_mark=$alphamark con_id=__focused__] opacity set $trans diff --git a/de/home/.config/sway/scripts/inactive-windows-transparency.py b/de/home/.config/sway/scripts/inactive-windows-transparency.py new file mode 100644 index 0000000..e9d91ff --- /dev/null +++ b/de/home/.config/sway/scripts/inactive-windows-transparency.py @@ -0,0 +1,91 @@ +#!/usr/bin/python + +# This script requires i3ipc-python package (install it from a system package manager +# or pip). +# It makes inactive windows transparent. Use `transparency_val` variable to control +# transparency strength in range of 0…1 or use the command line argument -o. + +import argparse +import signal +import sys +from functools import partial + +import i3ipc + + +def on_window(args, ipc, event): + global focused_set + + # To get the workspace for a container, we need to have received its + # parents, so fetch the whole tree + tree = ipc.get_tree() + + focused = tree.find_focused() + if focused is None: + return + + focused_workspace = focused.workspace() + + focused.command("opacity " + args.focused) + focused_set.add(focused.id) + + to_remove = set() + for window_id in focused_set: + if window_id == focused.id: + continue + window = tree.find_by_id(window_id) + if window is None: + to_remove.add(window_id) + elif args.global_focus or window.workspace() == focused_workspace: + window.command("opacity " + args.opacity) + to_remove.add(window_id) + + focused_set -= to_remove + +def remove_opacity(ipc, focused_opacity): + for workspace in ipc.get_tree().workspaces(): + for w in workspace: + w.command("opacity " + focused_opacity) + ipc.main_quit() + sys.exit(0) + + +if __name__ == "__main__": + parser = argparse.ArgumentParser( + description="This script allows you to set the transparency of unfocused windows in sway." + ) + parser.add_argument( + "--opacity", + "-o", + type=str, + default="0.80", + help="set inactive opacity value in range 0...1", + ) + parser.add_argument( + "--focused", + "-f", + type=str, + default="1.0", + help="set focused opacity value in range 0...1", + ) + parser.add_argument( + "--global-focus", + "-g", + action="store_true", + help="only have one opaque window across all workspaces", + ) + args = parser.parse_args() + + ipc = i3ipc.Connection() + focused_set = set() + + for window in ipc.get_tree(): + if window.focused: + focused_set.add(window.id) + window.command("opacity " + args.focused) + else: + window.command("opacity " + args.opacity) + for sig in [signal.SIGINT, signal.SIGTERM]: + signal.signal(sig, lambda signal, frame: remove_opacity(ipc, args.focused)) + ipc.on("window", partial(on_window, args)) + ipc.main() From 4d82c1606fa7ad8fa512c67caedcb48687e0bf84 Mon Sep 17 00:00:00 2001 From: Penelope Gwen Date: Wed, 20 Aug 2025 21:00:02 -0700 Subject: [PATCH 6/6] New backup 2025-08-20 21:00:02 --- de/home/.config/sway/config.d/layout | 1 + 1 file changed, 1 insertion(+) diff --git a/de/home/.config/sway/config.d/layout b/de/home/.config/sway/config.d/layout index 3c7ee87..28076f8 100644 --- a/de/home/.config/sway/config.d/layout +++ b/de/home/.config/sway/config.d/layout @@ -44,3 +44,4 @@ corner_radius 8 #set $alphamark "α" #for_window [con_mark=$alphamark] opacity set $trans #bindsym $mod+Control+a mark --toggle "$alphamark" ; [con_id=__focused__] opacity set 1 ;[con_mark=$alphamark con_id=__focused__] opacity set $trans +exec '/usr/bin/python3 $HOME/.config/sway/scripts/inactive-windows-transparency.py -o 0.75'