|
@@ -1,4 +1,5 @@
|
|
import copy
|
|
import copy
|
|
|
|
+import os
|
|
import select
|
|
import select
|
|
import time
|
|
import time
|
|
from tooncher.actions import *
|
|
from tooncher.actions import *
|
|
@@ -8,11 +9,12 @@ except ImportError:
|
|
psutil = False
|
|
psutil = False
|
|
try:
|
|
try:
|
|
import Xlib.display
|
|
import Xlib.display
|
|
- from Xlib import X, XK
|
|
|
|
|
|
+ from Xlib import X, XK, Xatom
|
|
except ImportError:
|
|
except ImportError:
|
|
Xlib = False
|
|
Xlib = False
|
|
|
|
|
|
EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME = 'grave'
|
|
EXTENDED_CONTROLS_DEFAULT_TOGGLE_KEYSYM_NAME = 'grave'
|
|
|
|
+EXTENDED_CONTROLS_PID_XPROPERTY_NAME = '_TOONCHER_EXTENDED_CONTROLS_PID'
|
|
TOONTOWN_WINDOW_NAME = 'Toontown Rewritten'
|
|
TOONTOWN_WINDOW_NAME = 'Toontown Rewritten'
|
|
|
|
|
|
if Xlib:
|
|
if Xlib:
|
|
@@ -140,6 +142,13 @@ class ExtendedControls:
|
|
self._grab_key(
|
|
self._grab_key(
|
|
self._xdisplay.keysym_to_keycode(self._toggle_keysym),
|
|
self._xdisplay.keysym_to_keycode(self._toggle_keysym),
|
|
)
|
|
)
|
|
|
|
+ self._primary_engine_window.change_property(
|
|
|
|
+ self.xdisplay.intern_atom(EXTENDED_CONTROLS_PID_XPROPERTY_NAME),
|
|
|
|
+ property_type=Xatom.CARDINAL,
|
|
|
|
+ format=32,
|
|
|
|
+ data=[os.getpid()],
|
|
|
|
+ mode=X.PropModeReplace,
|
|
|
|
+ )
|
|
if not self.enabled:
|
|
if not self.enabled:
|
|
keysym_name = XK.keysym_to_string(self._toggle_keysym)
|
|
keysym_name = XK.keysym_to_string(self._toggle_keysym)
|
|
print("INFO Extended Controls are currently disabled."
|
|
print("INFO Extended Controls are currently disabled."
|