Skip to content
Snippets Groups Projects
Commit 37d3bf26 authored by Jiří Kalvoda's avatar Jiří Kalvoda
Browse files

Watch: Disable on_Workspace_focus switch (for screenshot loading)

parent 2943011c
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,8 @@ import Xlib
import Xlib.display
import Xlib.X
from contextlib import contextmanager
import argparse
import i3ipc
......@@ -54,11 +56,29 @@ def event_workspace_deleted(w):
if shared.output_of_workspace[master] == {}:
shared.output_of_workspace.pop(master)
disable_on_workspace_focus = 0
# Non-zero is true
# Base usage: Advance number on activate, decrease on deactivate
@contextmanager
def disable_on_workspace_focus_context():
global disable_on_workspace_focus
try:
disable_on_workspace_focus += 1
yield None
finally:
disable_on_workspace_focus -= 1
def i3_watch():
shared.init_thread()
def on_workspace_focus(i3p, e):
if disable_on_workspace_focus > 0:
with shared.lock:
shared.output = e.current.ipc_data['output']
master, slave = parse_workspace(e.current.name)
event_workspace_is_on((master, slave), shared.output)
shared.workspace_on[shared.output] = (master, slave)
return
with shared.lock:
output = e.current.ipc_data['output']
if output != shared.output:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment