Mercurial > emacs
diff src/xterm.c @ 103674:1867be80e595
* w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
* nsfns.m (ns_frame_parm_handlers): Ditto.
* frame.c: Declare Qsticky.
(frame_parms): Add sticky.
* xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
* xterm.h: Declare x_set_sticky.
* xterm.c (x_set_sticky): New function.
* frame.c: Qmaximized is new.
(x_set_frame_parameters): Do not handle fullscreen specially.
Only set width and height if explicitly set.
(x_set_fullscreen): Handle Qmaximized.
(x_set_font, x_figure_window_size): Do not handle fullscreen specially.
(syms_of_frame): Initialize Qmaximized.
* xterm.c (handle_one_xevent): Remove call to x_check_fullscreen
for Expose event. Add call to x_check_fullscreen for MapNotify event.
Remove all code w.r.t. fullscreen from ConfigureNotify event. Do not
set gravity to NorthWestGravity when USE_GTK.
(set_wm_state): New function.
(do_ewmh_fullscreen): Use set_wm_state. Also handle FULLSCREEN_MAXIMIZED.
(x_handle_net_wm_state): Handle FULLSCREEN_MAXIMIZED.
(x_check_fullscreen): Simplify so we only handle EMWH type of fullscreen
or the case when no window manager is running. That means remove calls
to x_real_positions and x_fullscreen_adjust.
author | Jan Djärv <jan.h.d@swipnet.se> |
---|---|
date | Wed, 01 Jul 2009 16:48:35 +0000 |
parents | 340c701162a6 |
children | fbdd52a2e830 |
line wrap: on
line diff
--- a/src/xterm.c Wed Jul 01 15:52:58 2009 +0000 +++ b/src/xterm.c Wed Jul 01 16:48:35 2009 +0000 @@ -8456,6 +8456,18 @@ : Qnil))); } +void +x_set_sticky (f, new_value, old_value) + struct frame *f; + Lisp_Object new_value, old_value; +{ + Lisp_Object frame; + + XSETFRAME (frame, f); + set_wm_state (frame, NILP (new_value) ? 0 : 1, + "_NET_WM_STATE_STICKY", NULL); +} + /* Do fullscreen as specified in extended window manager hints */ static int