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