summaryrefslogtreecommitdiff
path: root/recipes-lxde/gpicview/gpicview/remove-gdk-x11.patch
blob: a1f97b304dd5a0aa9936db4ba848967b82062907 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
For xwayland gdk/gdkx.h does not work.
Remove the more elaborate gf_display_get_workarea function and use only
the fallback.
--- ./src/working-area.c.orig	2016-02-20 22:38:31.000000000 +0000
+++ ./src/working-area.c	2020-01-07 13:37:47.023817524 +0000
@@ -23,126 +23,11 @@
 */
 
 # include <gdk/gdk.h>
-# include <gdk/gdkx.h>
-# include <X11/Xlib.h>
-# include <X11/Xutil.h>
-# include <X11/Xatom.h>
-
-void get_working_area(GdkScreen* screen, GdkRectangle *rect);
-
-static gboolean gf_display_get_workarea(GdkScreen* g_screen, GdkRectangle *rect) {
-	Atom xa_desktops, xa_current, xa_workarea, xa_type;
-	Display *x_display;
-	Window x_root;
-	guint32 desktops = 0, current = 0;
-	gulong *workareas, len, fill;
-	guchar *data;
-	gint format;
-
-	GdkDisplay *g_display;
-	Screen *x_screen;
-
-	/* get the gdk display */
-	g_display = gdk_display_get_default();
-	if(!g_display)
-		return FALSE;
-
-	/* get the x display from the gdk display */
-	x_display = gdk_x11_display_get_xdisplay(g_display);
-	if(!x_display)
-		return FALSE;
-
-	/* get the x screen from the gdk screen */
-	x_screen = gdk_x11_screen_get_xscreen(g_screen);
-	if(!x_screen)
-		return FALSE;
-
-	/* get the root window from the screen */
-	x_root = XRootWindowOfScreen(x_screen);
-
-	/* find the _NET_NUMBER_OF_DESKTOPS atom */
-	xa_desktops = XInternAtom(x_display, "_NET_NUMBER_OF_DESKTOPS", True);
-	if(xa_desktops == None)
-		return FALSE;
-
-	/* get the number of desktops */
-	if(XGetWindowProperty(x_display, x_root, xa_desktops, 0, 1, False,
-						  XA_CARDINAL, &xa_type, &format, &len, &fill,
-						  &data) != Success)
-	{
-		return FALSE;
-	}
-
-	if(!data)
-		return FALSE;
-
-	desktops = *(guint32 *)data;
-	XFree(data);
-
-	/* find the _NET_CURRENT_DESKTOP atom */
-	xa_current = XInternAtom(x_display, "_NET_CURRENT_DESKTOP", True);
-	if(xa_current == None)
-		return FALSE;
-
-	/* get the current desktop */
-	if(XGetWindowProperty(x_display, x_root, xa_current, 0, 1, False,
-						  XA_CARDINAL, &xa_type, &format, &len, &fill,
-						  &data) != Success)
-	{
-		return FALSE;
-	}
-
-	if(!data)
-		return FALSE;
-
-	current = *(guint32 *)data;
-	XFree(data);
-
-	/* find the _NET_WORKAREA atom */
-	xa_workarea = XInternAtom(x_display, "_NET_WORKAREA", True);
-	if(xa_workarea == None)
-		return FALSE;
-
-	if(XGetWindowProperty(x_display, x_root, xa_workarea, 0, (glong)(4 * 32),
-						  False, AnyPropertyType, &xa_type, &format, &len,
-						  &fill, &data) != Success)
-	{
-		return FALSE;
-	}
-
-	/* make sure the type and format are good */
-	if(xa_type == None || format == 0)
-		return FALSE;
-
-	/* make sure we don't have any leftovers */
-	if(fill)
-		return FALSE;
-
-	/* make sure len divides evenly by 4 */
-	if(len % 4)
-		return FALSE;
-
-	/* it's good, lets use it */
-	workareas = (gulong *)(guint32 *)data;
-
-	rect->x = (guint32)workareas[current * 4];
-	rect->y = (guint32)workareas[current * 4 + 1];
-	rect->width = (guint32)workareas[current * 4 + 2];
-	rect->height = (guint32)workareas[current * 4 + 3];
-
-	/* clean up our memory */
-	XFree(data);
-
-	return TRUE;
-}
 
 void get_working_area(GdkScreen* screen, GdkRectangle *rect)
 {
-	if( !gf_display_get_workarea(screen, rect) )
-	{
-		rect->x = 0;
-		rect->y = 0;
-		rect->width = gdk_screen_width();
-		rect->height = gdk_screen_height();
-	}
+	rect->x = 0;
+	rect->y = 0;
+	rect->width = gdk_screen_width();
+	rect->height = gdk_screen_height();
 }