[Xfce4-commits] [xfce/xfwm4] 01/01: Add support for GTK hide titlebar on maximize
noreply at xfce.org
noreply at xfce.org
Wed Jan 7 23:15:48 CET 2015
This is an automated email from the git hooks/post-receive script.
olivier pushed a commit to branch master
in repository xfce/xfwm4.
commit c6842b38ea34a5ae28404d6c6af877ab8b5402dc
Author: Olivier Fourdan <fourdan at xfce.org>
Date: Wed Jan 7 23:12:28 2015 +0100
Add support for GTK hide titlebar on maximize
Signed-off-by: Olivier Fourdan <fourdan at xfce.org>
---
src/client.c | 95 ++++++++++++++++++++++++++++++++++++++----------------
src/client.h | 14 +++++---
src/display.c | 3 +-
src/display.h | 3 +-
src/events.c | 12 ++++++-
src/events.h | 2 +-
src/frame.c | 31 ++++++++++--------
src/hints.c | 2 +-
src/hints.h | 3 +-
src/moveresize.c | 10 +++---
src/netwm.c | 40 +----------------------
src/netwm.h | 3 +-
src/xsync.c | 36 ++++++++++-----------
13 files changed, 138 insertions(+), 116 deletions(-)
diff --git a/src/client.c b/src/client.c
index 05b28fa..2605780 100644
--- a/src/client.c
+++ b/src/client.c
@@ -264,7 +264,6 @@ void
clientUpdateAllFrames (ScreenInfo *screen_info, int mask)
{
Client *c;
- XWindowChanges wc;
guint i;
g_return_if_fail (screen_info != NULL);
@@ -272,7 +271,7 @@ clientUpdateAllFrames (ScreenInfo *screen_info, int mask)
TRACE ("entering clientRedrawAllFrames");
for (c = screen_info->clients, i = 0; i < screen_info->client_count; c = c->next, i++)
{
- unsigned long configure_flags = 0L;
+ unsigned short configure_flags = 0;
if (mask & UPDATE_BUTTON_GRABS)
{
@@ -310,11 +309,7 @@ clientUpdateAllFrames (ScreenInfo *screen_info, int mask)
}
if (configure_flags != 0L)
{
- wc.x = c->x;
- wc.y = c->y;
- wc.width = c->width;
- wc.height = c->height;
- clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, configure_flags);
+ clientReconfigure (c, configure_flags);
}
if (mask & UPDATE_FRAME)
{
@@ -817,7 +812,7 @@ clientConfigure (Client *c, XWindowChanges * wc, unsigned long mask, unsigned sh
}
void
-clientReconfigure (Client *c)
+clientReconfigure (Client *c, unsigned short flags)
{
XWindowChanges wc;
@@ -826,7 +821,7 @@ clientReconfigure (Client *c)
wc.y = c->y;
wc.width = c->width;
wc.height = c->height;
- clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, NO_CFG_FLAG);
+ clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, flags);
}
void
@@ -1517,7 +1512,6 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
{
ScreenInfo *screen_info;
XWindowAttributes attr;
- XWindowChanges wc;
XSetWindowAttributes attributes;
Client *c = NULL;
gboolean shaped;
@@ -1754,8 +1748,9 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
/* workarea will be updated when shown, no need to worry here */
clientGetNetStruts (c);
- c->has_frame_extents = FALSE;
+ /* GTK 3.x stuff */
clientGetGtkFrameExtents(c);
+ clientGetGtkHideTitlebar(c);
/* Once we know the type of window, we can initialize window position */
if (!FLAG_TEST (c->xfwm_flags, XFWM_FLAG_SESSION_MANAGED))
@@ -1887,11 +1882,7 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
XRaiseWindow (display_info->dpy, c->window);
TRACE ("now calling configure for the new window \"%s\" (0x%lx)", c->name, c->window);
- wc.x = c->x;
- wc.y = c->y;
- wc.width = c->width;
- wc.height = c->height;
- clientConfigure (c, &wc, CWX | CWY | CWHeight | CWWidth, CFG_NOTIFY | CFG_FORCE_REDRAW);
+ clientReconfigure (c, CFG_NOTIFY | CFG_FORCE_REDRAW);
/* Notify the compositor about this new window */
compositorAddWindow (display_info, c->frame, c);
@@ -1932,8 +1923,6 @@ clientFrame (DisplayInfo *display_info, Window w, gboolean recapture)
clientSetNetState (c);
#ifdef HAVE_XSYNC
- c->xsync_waiting = FALSE;
- c->xsync_enabled = FALSE;
c->xsync_counter = None;
c->xsync_alarm = None;
c->xsync_timeout_id = 0;
@@ -3082,8 +3071,6 @@ void clientSetLayerNormal (Client *c)
void
clientUpdateMaximizeSize (Client *c)
{
- XWindowChanges wc;
-
g_return_if_fail (c != NULL);
TRACE ("entering clientUpdateMaximizeSize");
TRACE ("Update maximized size for client \"%s\" (0x%lx)", c->name, c->window);
@@ -3092,12 +3079,7 @@ clientUpdateMaximizeSize (Client *c)
if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
{
clientRecomputeMaximizeSize (c);
-
- wc.x = c->x;
- wc.y = c->y;
- wc.width = c->width;
- wc.height = c->height;
- clientConfigure (c, &wc, CWX | CWY | CWWidth | CWHeight, CFG_NOTIFY);
+ clientReconfigure (c, CFG_NOTIFY);
}
}
@@ -3417,8 +3399,7 @@ clientTile (Client *c, gint cx, gint cy, tilePositionType tile, gboolean send_co
frameBottom (c));
clientSetNetActions (c);
-
- clientConfigure (c, &wc, CWWidth | CWHeight | CWX | CWY, CFG_FORCE_REDRAW);
+ clientReconfigure (c, CFG_FORCE_REDRAW);
}
clientSetNetState (c);
@@ -3943,6 +3924,64 @@ clientGetLeader (Client *c)
return NULL;
}
+gboolean
+clientGetGtkFrameExtents (Client * c)
+{
+ ScreenInfo *screen_info;
+ DisplayInfo *display_info;
+ gulong *extents;
+ int nitems;
+ int i;
+
+ g_return_val_if_fail (c != NULL, FALSE);
+ TRACE ("entering clientGetGtkFrameExtents for \"%s\" (0x%lx)", c->name, c->window);
+
+ screen_info = c->screen_info;
+ display_info = screen_info->display_info;
+ extents = NULL;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
+
+ if (getCardinalList (display_info, c->window, GTK_FRAME_EXTENTS, &extents, &nitems))
+ {
+ if (nitems == SIDE_COUNT)
+ {
+ FLAG_SET (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
+ for (i = 0; i < SIDE_COUNT; i++)
+ {
+ c->frame_extents[i] = (int) extents[i];
+ }
+ }
+ }
+
+ if (extents)
+ {
+ XFree (extents);
+ }
+
+ return FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS);
+}
+
+gboolean
+clientGetGtkHideTitlebar (Client * c)
+{
+ ScreenInfo *screen_info;
+ DisplayInfo *display_info;
+ long val;
+
+ g_return_val_if_fail (c != NULL, FALSE);
+ TRACE ("entering clientGetGtkHideTitlebar for \"%s\" (0x%lx)", c->name, c->window);
+
+ screen_info = c->screen_info;
+ display_info = screen_info->display_info;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
+
+ if (getHint (display_info, c->window, GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED, &val) &&( val != 0))
+ {
+ FLAG_SET (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
+ }
+ return FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR);
+}
+
#ifdef HAVE_LIBSTARTUP_NOTIFICATION
char *
clientGetStartupId (Client *c)
diff --git a/src/client.h b/src/client.h
index ab09a4b..b820fe5 100644
--- a/src/client.h
+++ b/src/client.h
@@ -161,6 +161,11 @@
#define CLIENT_FLAG_DEMANDS_ATTENTION (1L<<17)
#define CLIENT_FLAG_HAS_SHAPE (1L<<18)
#define CLIENT_FLAG_FULLSCREN_MONITORS (1L<<19)
+#define CLIENT_FLAG_HAS_FRAME_EXTENTS (1L<<20)
+#define CLIENT_FLAG_HIDE_TITLEBAR (1L<<21)
+#define CLIENT_FLAG_XSYNC_WAITING (1L<<22)
+#define CLIENT_FLAG_XSYNC_ENABLED (1L<<23)
+#define CLIENT_FLAG_XSYNC_EXT_COUNTER (1L<<24)
#define WM_FLAG_DELETE (1L<<0)
#define WM_FLAG_INPUT (1L<<1)
@@ -312,7 +317,6 @@ struct _Client
unsigned long wm_flags;
unsigned long xfwm_flags;
gint fullscreen_monitors[4];
- gboolean has_frame_extents;
gint frame_extents[SIDE_COUNT];
/* Termination dialog */
@@ -342,9 +346,6 @@ struct _Client
XSyncValue xsync_value;
XSyncValue next_xsync_value;
guint xsync_timeout_id;
- gboolean xsync_waiting;
- gboolean xsync_enabled;
- gboolean xsync_extended_counter;
#endif /* HAVE_XSYNC */
};
@@ -370,7 +371,8 @@ void clientConfigure (Client *,
XWindowChanges *,
unsigned long,
unsigned short);
-void clientReconfigure (Client *);
+void clientReconfigure (Client *,
+ unsigned short);
void clientMoveResizeWindow (Client *,
XWindowChanges *,
unsigned long);
@@ -470,6 +472,8 @@ int clientGetButtonState (Client *,
int,
int);
Client *clientGetLeader (Client *);
+gboolean clientGetGtkFrameExtents (Client *);
+gboolean clientGetGtkHideTitlebar (Client *);
#ifdef HAVE_LIBSTARTUP_NOTIFICATION
char *clientGetStartupId (Client *);
#endif /* HAVE_LIBSTARTUP_NOTIFICATION */
diff --git a/src/display.c b/src/display.c
index 5e124d7..f156412 100644
--- a/src/display.c
+++ b/src/display.c
@@ -16,7 +16,7 @@
MA 02110-1301, USA.
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -76,6 +76,7 @@ myDisplayInitAtoms (DisplayInfo *display_info)
static const char *atom_names[] = {
"COMPOSITING_MANAGER",
"_GTK_FRAME_EXTENTS",
+ "_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED",
"_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR",
"KWM_WIN_ICON",
"_MOTIF_WM_HINTS",
diff --git a/src/display.h b/src/display.h
index a058f69..4560cde 100644
--- a/src/display.h
+++ b/src/display.h
@@ -16,7 +16,7 @@
MA 02110-1301, USA.
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -171,6 +171,7 @@ enum
{
COMPOSITING_MANAGER = 0,
GTK_FRAME_EXTENTS,
+ GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED,
KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR,
KWM_WIN_ICON,
MOTIF_WM_HINTS,
diff --git a/src/events.c b/src/events.c
index 4c38d08..c0b1e30 100644
--- a/src/events.c
+++ b/src/events.c
@@ -17,7 +17,7 @@
oroborus - (c) 2001 Ken Lynch
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -1917,6 +1917,16 @@ handlePropertyNotify (DisplayInfo *display_info, XPropertyEvent * ev)
clientGetGtkFrameExtents (c);
clientUpdateMaximizeSize (c);
}
+ else if (ev->atom == display_info->atoms[GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED])
+ {
+ TRACE ("client \"%s\" (0x%lx) has received a GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED notify", c->name, c->window);
+ clientGetGtkHideTitlebar (c);
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_MAXIMIZED))
+ {
+ clientUpdateMaximizeSize (c);
+ clientReconfigure (c, CFG_FORCE_REDRAW);
+ }
+ }
#ifdef HAVE_STARTUP_NOTIFICATION
else if (ev->atom == display_info->atoms[NET_STARTUP_ID])
{
diff --git a/src/events.h b/src/events.h
index f497cd9..d83dba5 100644
--- a/src/events.h
+++ b/src/events.h
@@ -17,7 +17,7 @@
oroborus - (c) 2001 Ken Lynch
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
diff --git a/src/frame.c b/src/frame.c
index 4da599a..b200f33 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -17,7 +17,7 @@
oroborus - (c) 2001 Ken Lynch
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -39,6 +39,13 @@
#include "frame.h"
#include "compositor.h"
+#define CLIENT_HAS_TITLE(c) \
+ (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER) && \
+ !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN) && \
+ (!FLAG_TEST_ALL (c->flags, CLIENT_FLAG_MAXIMIZED) || \
+ !(FLAG_TEST (c->flags, CLIENT_FLAG_HIDE_TITLEBAR) && \
+ (c->screen_info->params->borderless_maximize))))
+
typedef struct
{
xfwmPixmap pm_title;
@@ -120,8 +127,7 @@ frameTop (Client * c)
TRACE ("entering frameTop");
g_return_val_if_fail (c != NULL, 0);
- if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
+ if (CLIENT_HAS_TITLE (c))
{
return c->screen_info->title[TITLE_3][ACTIVE].height;
}
@@ -216,7 +222,7 @@ frameExtentLeft (Client * c)
TRACE ("entering frameExtentLeft");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return -c->frame_extents[SIDE_LEFT];
}
@@ -229,7 +235,7 @@ frameExtentRight (Client * c)
TRACE ("entering frameExtentRight");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return -c->frame_extents[SIDE_RIGHT];
}
@@ -242,7 +248,7 @@ frameExtentTop (Client * c)
TRACE ("entering frameExtentTop");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return -c->frame_extents[SIDE_TOP];
}
@@ -255,7 +261,7 @@ frameExtentBottom (Client * c)
TRACE ("entering frameExtentBottom");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return -c->frame_extents[SIDE_BOTTOM];
}
@@ -268,7 +274,7 @@ frameExtentX (Client * c)
TRACE ("entering frameExtentX");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return c->x + c->frame_extents[SIDE_LEFT];
}
@@ -281,7 +287,7 @@ frameExtentY (Client * c)
TRACE ("entering frameExtentY");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return c->y + c->frame_extents[SIDE_TOP];
}
@@ -294,7 +300,7 @@ frameExtentWidth (Client * c)
TRACE ("entering frameExtentWidth");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return MAX (0, c->width - c->frame_extents[SIDE_LEFT]
- c->frame_extents[SIDE_RIGHT]);
@@ -308,7 +314,7 @@ frameExtentHeight (Client * c)
TRACE ("entering frameExtentHeight");
g_return_val_if_fail (c != NULL, 0);
- if (c->has_frame_extents)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_HAS_FRAME_EXTENTS))
{
return MAX (0, c->height - c->frame_extents[SIDE_TOP]
- c->frame_extents[SIDE_BOTTOM]);
@@ -1060,8 +1066,7 @@ frameDrawWin (Client * c)
}
}
- if (FLAG_TEST (c->xfwm_flags, XFWM_FLAG_HAS_BORDER)
- && !FLAG_TEST (c->flags, CLIENT_FLAG_FULLSCREEN))
+ if (CLIENT_HAS_TITLE (c))
{
/* First, hide the buttons that we don't have... */
for (i = 0; i < BUTTON_COUNT; i++)
diff --git a/src/hints.c b/src/hints.c
index cb9d34a..2f1fd48 100644
--- a/src/hints.c
+++ b/src/hints.c
@@ -18,7 +18,7 @@
oroborus - (c) 2001 Ken Lynch
Metacity - (c) 2001 Havoc Pennington
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
diff --git a/src/hints.h b/src/hints.h
index 29c9b5b..4648a3d 100644
--- a/src/hints.h
+++ b/src/hints.h
@@ -18,7 +18,7 @@
oroborus - (c) 2001 Ken Lynch
Metacity - (c) 2001 Havoc Pennington
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -273,7 +273,6 @@ gboolean setAtomIdManagerOwner (DisplayInfo *,
Window);
void updateXserverTime (DisplayInfo *);
guint32 getXServerTime (DisplayInfo *);
-
#ifdef ENABLE_KDE_SYSTRAY_PROXY
gboolean checkKdeSystrayWindow (DisplayInfo *,
Window);
diff --git a/src/moveresize.c b/src/moveresize.c
index 07979f8..fb453b5 100644
--- a/src/moveresize.c
+++ b/src/moveresize.c
@@ -1275,16 +1275,18 @@ clientResizeConfigure (Client *c, int pw, int ph)
return;
}
#ifdef HAVE_XSYNC
- if (!c->xsync_waiting)
+ if (!FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_WAITING))
{
- if ((display_info->have_xsync) && (c->xsync_enabled) && (c->xsync_counter))
+ if ((display_info->have_xsync) &&
+ (FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_ENABLED)) &&
+ (c->xsync_counter))
{
clientXSyncRequest (c);
}
else
{
#endif /* HAVE_XSYNC */
- clientReconfigure (c);
+ clientReconfigure (c, NO_CFG_FLAG);
#ifdef HAVE_XSYNC
}
}
@@ -1732,7 +1734,7 @@ clientResize (Client * c, int handle, XEvent * ev)
clientDestroyXSyncAlarm (c);
#endif /* HAVE_XSYNC */
- clientReconfigure (c);
+ clientReconfigure (c, NO_CFG_FLAG);
if (!passdata.released)
{
diff --git a/src/netwm.c b/src/netwm.c
index 66e641f..4e45ddc 100644
--- a/src/netwm.c
+++ b/src/netwm.c
@@ -16,7 +16,7 @@
MA 02110-1301, USA.
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -1590,41 +1590,3 @@ clientRemoveUserTimeWin (Client * c)
XSelectInput (display_info->dpy, c->user_time_win, NoEventMask);
}
}
-
-gboolean
-clientGetGtkFrameExtents (Client * c)
-{
- ScreenInfo *screen_info;
- DisplayInfo *display_info;
- gulong *extents;
- int nitems;
- int i;
-
- g_return_val_if_fail (c != NULL, FALSE);
- TRACE ("entering clientGetGtkFrameExtents for \"%s\" (0x%lx)", c->name, c->window);
-
- screen_info = c->screen_info;
- display_info = screen_info->display_info;
- c->has_frame_extents = FALSE;
- extents = NULL;
-
- if (getCardinalList (display_info, c->window, GTK_FRAME_EXTENTS, &extents, &nitems))
- {
- if (nitems == SIDE_COUNT)
- {
- c->has_frame_extents = TRUE;
- for (i = 0; i < SIDE_COUNT; i++)
- {
- c->frame_extents[i] = (int) extents[i];
- }
- }
- }
-
- if (extents)
- {
- XFree (extents);
- }
-
- return c->has_frame_extents;
-}
-
diff --git a/src/netwm.h b/src/netwm.h
index ed266e3..c0bd213 100644
--- a/src/netwm.h
+++ b/src/netwm.h
@@ -16,7 +16,7 @@
MA 02110-1301, USA.
- xfwm4 - (c) 2002-2011 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -68,6 +68,5 @@ void clientReceiveNetWMPong (ScreenInfo *,
gboolean clientGetUserTime (Client *);
void clientAddUserTimeWin (Client *);
void clientRemoveUserTimeWin (Client *);
-gboolean clientGetGtkFrameExtents (Client *);
#endif /* INC_NETWM_H */
diff --git a/src/xsync.c b/src/xsync.c
index 18a3979..fc5744b 100644
--- a/src/xsync.c
+++ b/src/xsync.c
@@ -16,7 +16,7 @@
MA 02110-1301, USA.
- xfwm4 - (c) 2002-2014 Olivier Fourdan
+ xfwm4 - (c) 2002-2015 Olivier Fourdan
*/
@@ -60,12 +60,12 @@ clientCreateXSyncAlarm (Client *c)
display_info = screen_info->display_info;
clientDestroyXSyncAlarm (c);
- if (c->xsync_extended_counter)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER))
{
/* Get the counter value from the client, if not, bail out... */
if (!XSyncQueryCounter(display_info->dpy, c->xsync_counter, &c->xsync_value))
{
- c->xsync_extended_counter = None;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER);
return FALSE;
}
}
@@ -76,7 +76,7 @@ clientCreateXSyncAlarm (Client *c)
}
c->next_xsync_value = c->xsync_value;
- if (!c->xsync_extended_counter ||
+ if (!FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER) ||
(XSyncValueLow32(c->next_xsync_value) % 2 == 0))
{
addToXSyncValue (&c->next_xsync_value, 1);
@@ -139,18 +139,18 @@ clientGetXSyncCounter (Client * c)
switch (nitems)
{
case 0:
- c->xsync_extended_counter = FALSE;
- c->xsync_enabled = FALSE;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER);
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_ENABLED);
break;
case 1:
c->xsync_counter = (XSyncCounter) data[0];
- c->xsync_extended_counter = FALSE;
- c->xsync_enabled = TRUE;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER);
+ FLAG_SET (c->flags, CLIENT_FLAG_XSYNC_ENABLED);
break;
default:
c->xsync_counter = (XSyncCounter) data[1];
- c->xsync_extended_counter = TRUE;
- c->xsync_enabled = TRUE;
+ FLAG_SET (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER);
+ FLAG_SET (c->flags, CLIENT_FLAG_XSYNC_ENABLED);
break;
}
}
@@ -160,7 +160,7 @@ clientGetXSyncCounter (Client * c)
XFree (data);
}
- return c->xsync_enabled;
+ return FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_ENABLED);
}
void
@@ -170,8 +170,8 @@ clientXSyncClearTimeout (Client * c)
TRACE ("entering clientXSyncClearTimeout");
- c->xsync_waiting = FALSE;
- clientReconfigure (c);
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_WAITING);
+ clientReconfigure (c, NO_CFG_FLAG);
if (c->xsync_timeout_id)
{
@@ -194,7 +194,7 @@ clientXSyncTimeout (gpointer data)
clientXSyncClearTimeout (c);
/* Disable XSync for this client */
- c->xsync_enabled = FALSE;
+ FLAG_UNSET (c->flags, CLIENT_FLAG_XSYNC_ENABLED);
}
return (FALSE);
}
@@ -226,7 +226,7 @@ clientXSyncRequest (Client * c)
TRACE ("entering clientXSyncRequest");
- if (c->xsync_waiting)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_WAITING))
{
return;
}
@@ -246,11 +246,11 @@ clientXSyncRequest (Client * c)
xev.data.l[1] = (long) myDisplayGetCurrentTime (display_info);
xev.data.l[2] = (long) XSyncValueLow32 (next_value);
xev.data.l[3] = (long) XSyncValueHigh32 (next_value);
- xev.data.l[4] = (long) (c->xsync_extended_counter ? 1 : 0);
+ xev.data.l[4] = (long) (FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER) ? 1 : 0);
XSendEvent (display_info->dpy, c->window, FALSE, NoEventMask, (XEvent *) &xev);
clientXSyncResetTimeout (c);
- c->xsync_waiting = TRUE;
+ FLAG_SET (c->flags, CLIENT_FLAG_XSYNC_WAITING);
}
void
@@ -260,7 +260,7 @@ clientXSyncUpdateValue (Client *c, XSyncValue value)
TRACE ("entering clientXSyncUpdateValue");
c->xsync_value = value;
- if (c->xsync_extended_counter)
+ if (FLAG_TEST (c->flags, CLIENT_FLAG_XSYNC_EXT_COUNTER))
{
if (XSyncValueLow32(c->xsync_value) % 2 == 0)
{
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list