Mercurial > emacs
changeset 103676:fbdd52a2e830
* xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky
* xterm.c (x_handle_net_wm_state): Also look for sticky.
(x_term_init): Initialize Xatom_net_wm_state_sticky.
* frame.h: Declare Qsticky.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Wed, 01 Jul 2009 16:58:05 +0000 |
parents | f1e5b911b357 |
children | e793f1eceded |
files | src/ChangeLog src/frame.h src/xterm.c src/xterm.h |
diffstat | 4 files changed, 17 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Wed Jul 01 16:57:01 2009 +0000 +++ b/src/ChangeLog Wed Jul 01 16:58:05 2009 +0000 @@ -1,5 +1,12 @@ 2009-07-01 Jan Djärv <jan.h.d@swipnet.se> + * xterm.h (struct x_display_info): Add Xatom_net_wm_state_sticky + + * xterm.c (x_handle_net_wm_state): Also look for sticky. + (x_term_init): Initialize Xatom_net_wm_state_sticky. + + * frame.h: Declare Qsticky. + * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky. * nsfns.m (ns_frame_parm_handlers): Ditto.
--- a/src/frame.h Wed Jul 01 16:57:01 2009 +0000 +++ b/src/frame.h Wed Jul 01 16:58:05 2009 +0000 @@ -1039,6 +1039,7 @@ extern Lisp_Object Qwait_for_wm; extern Lisp_Object Qfullscreen; extern Lisp_Object Qfullwidth, Qfullheight, Qfullboth, Qmaximized; +extern Lisp_Object Qsticky; extern Lisp_Object Qfont_backend; extern Lisp_Object Qalpha;
--- a/src/xterm.c Wed Jul 01 16:57:01 2009 +0000 +++ b/src/xterm.c Wed Jul 01 16:58:05 2009 +0000 @@ -8547,6 +8547,7 @@ unsigned char *tmp_data = NULL; Atom target_type = XA_ATOM; Lisp_Object lval; + int sticky = 0; BLOCK_INPUT; x_catch_errors (dpy); @@ -8584,6 +8585,8 @@ } else if (a == dpyinfo->Xatom_net_wm_state_fullscreen_atom) value = FULLSCREEN_BOTH; + else if (a == dpyinfo->Xatom_net_wm_state_sticky) + sticky = 1; } lval = Qnil; @@ -8604,7 +8607,8 @@ } store_frame_param (f, Qfullscreen, lval); - + store_frame_param (f, Qsticky, sticky ? Qt : Qnil); + if (tmp_data) XFree (tmp_data); UNBLOCK_INPUT; } @@ -10295,6 +10299,8 @@ = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_HORZ", False); dpyinfo->Xatom_net_wm_state_maximized_vert = XInternAtom (dpyinfo->display, "_NET_WM_STATE_MAXIMIZED_VERT", False); + dpyinfo->Xatom_net_wm_state_sticky + = XInternAtom (dpyinfo->display, "_NET_WM_STATE_STICKY", False); dpyinfo->cut_buffers_initialized = 0;
--- a/src/xterm.h Wed Jul 01 16:57:01 2009 +0000 +++ b/src/xterm.h Wed Jul 01 16:58:05 2009 +0000 @@ -359,7 +359,8 @@ /* Atoms dealing with maximization and fullscreen */ Atom Xatom_net_wm_state, Xatom_net_wm_state_fullscreen_atom, - Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert; + Xatom_net_wm_state_maximized_horz, Xatom_net_wm_state_maximized_vert, + Xatom_net_wm_state_sticky; }; #ifdef HAVE_X_I18N