CVS: rdesktop ewmhints.c,1.10.2.6,1.10.2.7
Pierre Ossman <[email protected]> Thu, 16 Mar 2006 05:27:15 -0800
| Newsgroups | gmane.network.rdesktop.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/rdesktop/rdesktop
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29274
Modified Files:
Tag: seamlessrdp-branch
ewmhints.c
Log Message:
Combine the functions to add and remove wm states into a single function.
Index: ewmhints.c
===================================================================
RCS file: /cvsroot/rdesktop/rdesktop/ewmhints.c,v
retrieving revision 1.10.2.6
retrieving revision 1.10.2.7
diff -C2 -d -r1.10.2.6 -r1.10.2.7
*** ewmhints.c 16 Mar 2006 08:41:53 -0000 1.10.2.6
--- ewmhints.c 16 Mar 2006 13:27:13 -0000 1.10.2.7
***************
*** 230,257 ****
static int
! ewmh_add_state(Window wnd, Atom atom1, Atom atom2)
! {
! Status status;
! XEvent xevent;
!
! xevent.type = ClientMessage;
! xevent.xclient.window = wnd;
! xevent.xclient.message_type = g_net_wm_state_atom;
! xevent.xclient.format = 32;
! xevent.xclient.data.l[0] = _NET_WM_STATE_ADD;
! xevent.xclient.data.l[1] = atom1;
! xevent.xclient.data.l[2] = atom2;
! xevent.xclient.data.l[3] = 0;
! xevent.xclient.data.l[4] = 0;
! status = XSendEvent(g_display, DefaultRootWindow(g_display), False,
! SubstructureNotifyMask | SubstructureRedirectMask, &xevent);
! if (!status)
! return -1;
!
! return 0;
! }
!
! static int
! ewmh_remove_state(Window wnd, Atom atom1, Atom atom2)
{
Status status;
--- 230,234 ----
static int
! ewmh_modify_state(Window wnd, int add, Atom atom1, Atom atom2)
{
Status status;
***************
*** 262,266 ****
xevent.xclient.message_type = g_net_wm_state_atom;
xevent.xclient.format = 32;
! xevent.xclient.data.l[0] = _NET_WM_STATE_REMOVE;
xevent.xclient.data.l[1] = atom1;
xevent.xclient.data.l[2] = atom2;
--- 239,246 ----
xevent.xclient.message_type = g_net_wm_state_atom;
xevent.xclient.format = 32;
! if (add)
! xevent.xclient.data.l[0] = _NET_WM_STATE_ADD;
! else
! xevent.xclient.data.l[0] = _NET_WM_STATE_REMOVE;
xevent.xclient.data.l[1] = atom1;
xevent.xclient.data.l[2] = atom2;
***************
*** 287,292 ****
if (state == SEAMLESSRDP_MAXIMIZED)
{
! if (ewmh_add_state
! (wnd, g_net_wm_state_maximized_vert_atom,
g_net_wm_state_maximized_horz_atom) < 0)
return -1;
--- 267,272 ----
if (state == SEAMLESSRDP_MAXIMIZED)
{
! if (ewmh_modify_state
! (wnd, 1, g_net_wm_state_maximized_vert_atom,
g_net_wm_state_maximized_horz_atom) < 0)
return -1;
***************
*** 294,299 ****
else
{
! if (ewmh_remove_state
! (wnd, g_net_wm_state_maximized_vert_atom,
g_net_wm_state_maximized_horz_atom) < 0)
return -1;
--- 274,279 ----
else
{
! if (ewmh_modify_state
! (wnd, 0, g_net_wm_state_maximized_vert_atom,
g_net_wm_state_maximized_horz_atom) < 0)
return -1;
***************
*** 363,368 ****
ewmh_set_window_popup(Window wnd)
{
! if (ewmh_add_state(wnd, g_net_wm_state_skip_taskbar_atom, g_net_wm_state_skip_pager_atom) <
! 0)
return -1;
return 0;
--- 343,348 ----
ewmh_set_window_popup(Window wnd)
{
! if (ewmh_modify_state
! (wnd, 1, g_net_wm_state_skip_taskbar_atom, g_net_wm_state_skip_pager_atom) < 0)
return -1;
return 0;
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642