mirror of
https://github.com/swaywm/sway.git
synced 2026-04-22 06:46:27 -04:00
contrib: add ignore arg to transparency script
This commit is contained in:
parent
8f036b6f78
commit
fd8b9d1f4d
1 changed files with 17 additions and 3 deletions
|
|
@ -11,6 +11,10 @@ import signal
|
||||||
import sys
|
import sys
|
||||||
from functools import partial
|
from functools import partial
|
||||||
|
|
||||||
|
def ignored(window):
|
||||||
|
global ignore
|
||||||
|
return window.app_id in ignore
|
||||||
|
|
||||||
def on_window_focus(inactive_opacity, ipc, event):
|
def on_window_focus(inactive_opacity, ipc, event):
|
||||||
global prev_focused
|
global prev_focused
|
||||||
global prev_workspace
|
global prev_workspace
|
||||||
|
|
@ -26,7 +30,8 @@ def on_window_focus(inactive_opacity, ipc, event):
|
||||||
if focused.id != prev_focused.id: # https://github.com/swaywm/sway/issues/2859
|
if focused.id != prev_focused.id: # https://github.com/swaywm/sway/issues/2859
|
||||||
focused.command("opacity 1")
|
focused.command("opacity 1")
|
||||||
if workspace == prev_workspace:
|
if workspace == prev_workspace:
|
||||||
prev_focused.command("opacity " + inactive_opacity)
|
if not ignored(prev_focused):
|
||||||
|
prev_focused.command("opacity " + inactive_opacity)
|
||||||
prev_focused = focused
|
prev_focused = focused
|
||||||
prev_workspace = workspace
|
prev_workspace = workspace
|
||||||
|
|
||||||
|
|
@ -52,7 +57,16 @@ if __name__ == "__main__":
|
||||||
default=transparency_val,
|
default=transparency_val,
|
||||||
help="set opacity value in range 0...1",
|
help="set opacity value in range 0...1",
|
||||||
)
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--ignore",
|
||||||
|
"-i",
|
||||||
|
type=str,
|
||||||
|
default=[],
|
||||||
|
help="List of ignored processes.",
|
||||||
|
nargs="+"
|
||||||
|
)
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
ignore = args.ignore
|
||||||
|
|
||||||
ipc = i3ipc.Connection()
|
ipc = i3ipc.Connection()
|
||||||
prev_focused = None
|
prev_focused = None
|
||||||
|
|
@ -61,7 +75,7 @@ if __name__ == "__main__":
|
||||||
for window in ipc.get_tree():
|
for window in ipc.get_tree():
|
||||||
if window.focused:
|
if window.focused:
|
||||||
prev_focused = window
|
prev_focused = window
|
||||||
else:
|
elif not ignored(window):
|
||||||
window.command("opacity " + args.opacity)
|
window.command("opacity " + args.opacity)
|
||||||
for sig in [signal.SIGINT, signal.SIGTERM]:
|
for sig in [signal.SIGINT, signal.SIGTERM]:
|
||||||
signal.signal(sig, lambda signal, frame: remove_opacity(ipc))
|
signal.signal(sig, lambda signal, frame: remove_opacity(ipc))
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue