From 064a35981edaa4d05062827cd17b48706ac371fe Mon Sep 17 00:00:00 2001 From: Kalmat Date: Wed, 13 Sep 2023 15:55:23 +0200 Subject: [PATCH] Added WM_NAME as _NET_WM_NAME fallback (older apps) Separated Props and Structs as submodules --- dist/EWMHlib-0.0.1-py3-none-any.whl | Bin 48653 -> 52047 bytes src/ewmhlib/Props/__init__.py | 5 ++ src/ewmhlib/{ => Props}/_props.py | 0 src/ewmhlib/Structs/__init__.py | 4 ++ src/ewmhlib/{ => Structs}/_structs.py | 0 src/ewmhlib/__init__.py | 1 - src/ewmhlib/_ewmhlib.py | 95 +++++++++++++------------- src/ewmhlib/_main.py | 4 +- tests/test_ewmhlib.py | 1 - 9 files changed, 59 insertions(+), 51 deletions(-) create mode 100644 src/ewmhlib/Props/__init__.py rename src/ewmhlib/{ => Props}/_props.py (100%) create mode 100644 src/ewmhlib/Structs/__init__.py rename src/ewmhlib/{ => Structs}/_structs.py (100%) diff --git a/dist/EWMHlib-0.0.1-py3-none-any.whl b/dist/EWMHlib-0.0.1-py3-none-any.whl index 5f1aa4feb2722c66eaf735c579dd533c7ccf3470..7e1d99255170da2aaed76d43436ee90e8c7206e4 100644 GIT binary patch delta 39122 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 z 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 delta 35557 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 diff --git a/src/ewmhlib/Props/__init__.py b/src/ewmhlib/Props/__init__.py new file mode 100644 index 0000000..c38be67 --- /dev/null +++ b/src/ewmhlib/Props/__init__.py @@ -0,0 +1,5 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from ._props import (Root, DesktopLayout, Window, WindowType, State, StateAction, + MoveResize, DataFormat, Mode, StackMode, HintAction) diff --git a/src/ewmhlib/_props.py b/src/ewmhlib/Props/_props.py similarity index 100% rename from src/ewmhlib/_props.py rename to src/ewmhlib/Props/_props.py diff --git a/src/ewmhlib/Structs/__init__.py b/src/ewmhlib/Structs/__init__.py new file mode 100644 index 0000000..8391b84 --- /dev/null +++ b/src/ewmhlib/Structs/__init__.py @@ -0,0 +1,4 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +from ._structs import (ScreensInfo, DisplaysInfo, WmHints, Aspect, WmNormalHints) diff --git a/src/ewmhlib/_structs.py b/src/ewmhlib/Structs/_structs.py similarity index 100% rename from src/ewmhlib/_structs.py rename to src/ewmhlib/Structs/_structs.py diff --git a/src/ewmhlib/__init__.py b/src/ewmhlib/__init__.py index fe9794d..90d16e5 100644 --- a/src/ewmhlib/__init__.py +++ b/src/ewmhlib/__init__.py @@ -1,7 +1,6 @@ #!/usr/bin/python # -*- coding: utf-8 -*- -import sys __all__ = [ "version", "displaysCount", "getDisplays", "getDisplaysInfo", "getRoots", diff --git a/src/ewmhlib/_ewmhlib.py b/src/ewmhlib/_ewmhlib.py index 69b907e..951ace3 100644 --- a/src/ewmhlib/_ewmhlib.py +++ b/src/ewmhlib/_ewmhlib.py @@ -11,7 +11,7 @@ import time from typing import Optional, cast, Callable, Union, List, Tuple, Iterable -from ctypes import cdll, byref, CDLL +from ctypes import cdll, CDLL from ctypes.util import find_library import Xlib.display @@ -24,8 +24,9 @@ import Xlib.xobject from Xlib.xobject.drawable import Window as XWindow -from ._props import Root, DesktopLayout, Window, WindowType, State, StateAction, MoveResize, DataFormat, Mode, HintAction -from ._structs import DisplaysInfo, ScreensInfo, WmHints, Aspect, WmNormalHints, _XWindowAttributes +from Props import Root, DesktopLayout, Window, WindowType, State, StateAction, MoveResize, DataFormat, Mode, HintAction +from Structs import DisplaysInfo, ScreensInfo, WmHints, Aspect, WmNormalHints +# from ewmhlib.Structs._structs import _XWindowAttributes class _Defaults: @@ -1106,10 +1107,10 @@ def getName(self) -> Optional[str]: # Thanks to cedricscheepers - https://github.com/cedricscheepers for pointing out this issue ret: Optional[Xlib.protocol.request.GetProperty] = self.getProperty(Window.NAME) res: Optional[Union[List[int], List[str]]] = getPropertyValue(ret, display=self.display) - if not res or (res and not res[0]): - # Thanks to ReaperMantis - https://github.com/ReaperMantis for finding this additional solution! - ret = self.getProperty(Window.LEGACY_NAME) - res = getPropertyValue(ret, display=self.display) + if res: + return str(res[0]) + ret = self.getProperty(Window.LEGACY_NAME) + res = getPropertyValue(ret, display=self.display) if res: return str(res[0]) return None @@ -2812,46 +2813,46 @@ def _loadXcompLibrary() -> Optional[CDLL]: return _xcomp -def _XGetAttributes(winId: int, dpyName: str = "") -> Tuple[bool, _XWindowAttributes]: - """ - int x, y; /* location of window */ - int width, height; /* width and height of window */ - int border_width; /* border width of window */ - int depth; /* depth of window */ - Visual *visual; /* the associated visual structure */ - Window root; /* root of screen containing window */ - int class; /* InputOutput, InputOnly*/ - int bit_gravity; /* one of the bit gravity values */ - int win_gravity; /* one of the window gravity values */ - int backing_store; /* NotUseful, WhenMapped, Always */ - unsigned long backing_planes; /* planes to be preserved if possible */ - unsigned long backing_pixel; /* value to be used when restoring planes */ - Bool save_under; /* boolean, should bits under be saved? */ - Colormap colormap; /* color map to be associated with window */ - Bool map_installed; /* boolean, is color map currently installed*/ - int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ - long all_event_masks; /* set of events all people have interest in*/ - long your_event_mask; /* my event mask */ - long do_not_propagate_mask; /* set of events that should not propagate */ - Bool override_redirect; /* boolean value for override-redirect */ - Screen *screen; /* back pointer to correct screen */ - """ - res: bool = False - attr: _XWindowAttributes = _XWindowAttributes() - - xlib: Optional[CDLL] = _loadX11Library() - - if xlib: - try: - if not dpyName: - dpyName = defaultDisplay().get_display_name() - dpy: int = xlib.XOpenDisplay(dpyName.encode()) - xlib.XGetWindowAttributes(dpy, winId, byref(attr)) - xlib.XCloseDisplay(dpy) - res = True - except: - pass - return res, attr +# def _XGetAttributes(winId: int, dpyName: str = "") -> Tuple[bool, _XWindowAttributes]: +# """ +# int x, y; /* location of window */ +# int width, height; /* width and height of window */ +# int border_width; /* border width of window */ +# int depth; /* depth of window */ +# Visual *visual; /* the associated visual structure */ +# Window root; /* root of screen containing window */ +# int class; /* InputOutput, InputOnly*/ +# int bit_gravity; /* one of the bit gravity values */ +# int win_gravity; /* one of the window gravity values */ +# int backing_store; /* NotUseful, WhenMapped, Always */ +# unsigned long backing_planes; /* planes to be preserved if possible */ +# unsigned long backing_pixel; /* value to be used when restoring planes */ +# Bool save_under; /* boolean, should bits under be saved? */ +# Colormap colormap; /* color map to be associated with window */ +# Bool map_installed; /* boolean, is color map currently installed*/ +# int map_state; /* IsUnmapped, IsUnviewable, IsViewable */ +# long all_event_masks; /* set of events all people have interest in*/ +# long your_event_mask; /* my event mask */ +# long do_not_propagate_mask; /* set of events that should not propagate */ +# Bool override_redirect; /* boolean value for override-redirect */ +# Screen *screen; /* back pointer to correct screen */ +# """ +# res: bool = False +# attr: _XWindowAttributes = _XWindowAttributes() +# +# xlib: Optional[CDLL] = _loadX11Library() +# +# if xlib: +# try: +# if not dpyName: +# dpyName = defaultDisplay().get_display_name() +# dpy: int = xlib.XOpenDisplay(dpyName.encode()) +# xlib.XGetWindowAttributes(dpy, winId, byref(attr)) +# xlib.XCloseDisplay(dpy) +# res = True +# except: +# pass +# return res, attr # Leaving this as reference of using X11 library # https://github.com/evocount/display-management/blob/c4f58f6653f3457396e44b8c6dc97636b18e8d8a/displaymanagement/rotation.py diff --git a/src/ewmhlib/_main.py b/src/ewmhlib/_main.py index 683e03a..60274b9 100644 --- a/src/ewmhlib/_main.py +++ b/src/ewmhlib/_main.py @@ -8,5 +8,5 @@ getProperty, getPropertyValue, changeProperty, sendMessage, EwmhRoot, EwmhWindow ) -from . import _props as Props -from . import _structs as Structs +import Props +import Structs diff --git a/tests/test_ewmhlib.py b/tests/test_ewmhlib.py index ffbe9e3..0a8dadb 100644 --- a/tests/test_ewmhlib.py +++ b/tests/test_ewmhlib.py @@ -2,7 +2,6 @@ import Xlib.protocol import Xlib.X -import sys from ewmhlib import Props, getDisplaysInfo, EwmhRoot, EwmhWindow