summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-09-30 18:39:00 +0300
committerAlberts Muktupāvels <alberts.muktupavels@gmail.com>2022-09-30 18:39:00 +0300
commit6e61e5ef2ad6726cf607ea70c011f49e269472e7 (patch)
tree41d2f7fa50608dc271ae1dccb440989819c4c868
parentf6b973b1f15ac1d8b8203972195d9a1765c75ba2 (diff)
downloadlibwnck-6e61e5ef2ad6726cf607ea70c011f49e269472e7.tar.gz
xutils: use WnckScreen in _wnck_get_pid
-rw-r--r--libwnck/application.c2
-rw-r--r--libwnck/window.c2
-rw-r--r--libwnck/wnck-resource-usage.c26
-rw-r--r--libwnck/xutils.c16
-rw-r--r--libwnck/xutils.h4
5 files changed, 27 insertions, 23 deletions
diff --git a/libwnck/application.c b/libwnck/application.c
index 9ab7f48..31005ba 100644
--- a/libwnck/application.c
+++ b/libwnck/application.c
@@ -524,7 +524,7 @@ _wnck_application_create (Window xwindow,
if (application->priv->name)
application->priv->name_from_leader = TRUE;
- application->priv->pid = _wnck_get_pid (xscreen,
+ application->priv->pid = _wnck_get_pid (screen,
application->priv->xwindow);
application->priv->startup_id = _wnck_get_utf8_property (xscreen,
diff --git a/libwnck/window.c b/libwnck/window.c
index 35bb37c..229b4cb 100644
--- a/libwnck/window.c
+++ b/libwnck/window.c
@@ -510,7 +510,7 @@ _wnck_window_create (Window xwindow,
_wnck_get_session_id (xscreen, window->priv->xwindow);
window->priv->pid =
- _wnck_get_pid (xscreen, window->priv->xwindow);
+ _wnck_get_pid (screen, window->priv->xwindow);
window->priv->x = 0;
window->priv->y = 0;
diff --git a/libwnck/wnck-resource-usage.c b/libwnck/wnck-resource-usage.c
index a845d82..1d81c28 100644
--- a/libwnck/wnck-resource-usage.c
+++ b/libwnck/wnck-resource-usage.c
@@ -126,10 +126,10 @@ wnck_gulong_equal (gconstpointer a,
}
static gulong
-wnck_check_window_for_pid (Screen *screen,
- Window win,
- XID match_xid,
- XID mask)
+wnck_check_window_for_pid (WnckScreen *screen,
+ Window win,
+ XID match_xid,
+ XID mask)
{
if ((win & ~mask) == match_xid)
return _wnck_get_pid (screen, win);
@@ -138,13 +138,13 @@ wnck_check_window_for_pid (Screen *screen,
}
static void
-wnck_find_pid_for_resource_r (Display *xdisplay,
- Screen *screen,
- Window win_top,
- XID match_xid,
- XID mask,
- gulong *xid,
- gulong *pid)
+wnck_find_pid_for_resource_r (Display *xdisplay,
+ WnckScreen *screen,
+ Window win_top,
+ XID match_xid,
+ XID mask,
+ gulong *xid,
+ gulong *pid)
{
Status qtres;
int err;
@@ -250,10 +250,10 @@ wnck_pid_read_resource_usage_fill_cache (struct xresclient_state *state)
for (i = 0; i < ScreenCount (state->xdisplay); i++)
{
- Screen *screen;
+ WnckScreen *screen;
Window root;
- screen = ScreenOfDisplay (state->xdisplay, i);
+ screen = wnck_handle_get_screen (_wnck_get_handle (), i);
root = RootWindow (state->xdisplay, i);
if (root == None)
diff --git a/libwnck/xutils.c b/libwnck/xutils.c
index d120ff1..08be8aa 100644
--- a/libwnck/xutils.c
+++ b/libwnck/xutils.c
@@ -1147,18 +1147,21 @@ _wnck_get_session_id (Screen *screen,
#ifdef HAVE_XRES
static int
-xres_get_pid (Screen *screen,
- Window xwindow)
+xres_get_pid (WnckScreen *screen,
+ Window xwindow)
{
int pid = -1;
+ Screen *xscreen;
XResClientIdSpec client_spec;
long client_id_count = 0;
XResClientIdValue *client_ids = NULL;
+ xscreen = _wnck_screen_get_xscreen (screen);
+
client_spec.client = xwindow;
client_spec.mask = XRES_CLIENT_ID_PID_MASK;
- if (XResQueryClientIds (DisplayOfScreen (screen), 1, &client_spec,
+ if (XResQueryClientIds (DisplayOfScreen (xscreen), 1, &client_spec,
&client_id_count, &client_ids) == Success)
{
long i;
@@ -1178,8 +1181,8 @@ xres_get_pid (Screen *screen,
#endif
int
-_wnck_get_pid (Screen *screen,
- Window xwindow)
+_wnck_get_pid (WnckScreen *screen,
+ Window xwindow)
{
int pid = -1;
@@ -1190,7 +1193,8 @@ _wnck_get_pid (Screen *screen,
return pid;
#endif
- if (!_wnck_get_cardinal (screen, xwindow,
+ if (!_wnck_get_cardinal (_wnck_screen_get_xscreen (screen),
+ xwindow,
_wnck_atom_get ("_NET_WM_PID"),
&pid))
return 0;
diff --git a/libwnck/xutils.h b/libwnck/xutils.h
index 4e5c620..700832a 100644
--- a/libwnck/xutils.h
+++ b/libwnck/xutils.h
@@ -123,8 +123,8 @@ void _wnck_change_viewport (Screen *screen,
char* _wnck_get_session_id (Screen *screen,
Window xwindow);
-int _wnck_get_pid (Screen *screen,
- Window xwindow);
+int _wnck_get_pid (WnckScreen *screen,
+ Window xwindow);
char* _wnck_get_name (Screen *screen,
Window xwindow);
char* _wnck_get_icon_name (Screen *screen,