aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Djärv2009-07-01 16:48:35 +0000
committerJan Djärv2009-07-01 16:48:35 +0000
commitcad9ef74ea903dc714850c5379646f5c5f229c63 (patch)
tree2f29da96516ec6abfc78d0e1b27ee2466309bfbf /src
parent69b166106d00cb312a0013c7a026fd60c228f6e4 (diff)
downloademacs-cad9ef74ea903dc714850c5379646f5c5f229c63.tar.gz
emacs-cad9ef74ea903dc714850c5379646f5c5f229c63.zip
* 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog13
-rw-r--r--src/frame.c4
-rw-r--r--src/nsfns.m3
-rw-r--r--src/w32fns.c3
-rw-r--r--src/xfns.c3
-rw-r--r--src/xterm.c12
-rw-r--r--src/xterm.h2
7 files changed, 36 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 481b6e8c88d..53eb27addf5 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,18 @@
12009-07-01 Jan Djärv <jan.h.d@swipnet.se> 12009-07-01 Jan Djärv <jan.h.d@swipnet.se>
2 2
3 * w32fns.c (w32_frame_parm_handlers): Set 0 for sticky.
4
5 * nsfns.m (ns_frame_parm_handlers): Ditto.
6
7 * frame.c: Declare Qsticky.
8 (frame_parms): Add sticky.
9
10 * xfns.c (x_frame_parm_handlers): Let x_set_sticky handle sticky.
11
12 * xterm.h: Declare x_set_sticky.
13
14 * xterm.c (x_set_sticky): New function.
15
3 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function. 16 * gtkutil.c (xg_tool_bar_proxy_help_callback): New function.
4 (xg_tool_bar_menu_proxy): Attach enter/leave events to 17 (xg_tool_bar_menu_proxy): Attach enter/leave events to
5 xg_tool_bar_proxy_help_callback. 18 xg_tool_bar_proxy_help_callback.
diff --git a/src/frame.c b/src/frame.c
index fa2807c150a..506a4225a93 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -121,6 +121,7 @@ Lisp_Object Qtty_color_mode;
121Lisp_Object Qtty, Qtty_type; 121Lisp_Object Qtty, Qtty_type;
122 122
123Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth, Qmaximized; 123Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth, Qmaximized;
124Lisp_Object Qsticky;
124Lisp_Object Qfont_backend; 125Lisp_Object Qfont_backend;
125Lisp_Object Qalpha; 126Lisp_Object Qalpha;
126 127
@@ -2844,7 +2845,8 @@ static struct frame_parm_table frame_parms[] =
2844 {"wait-for-wm", &Qwait_for_wm}, 2845 {"wait-for-wm", &Qwait_for_wm},
2845 {"fullscreen", &Qfullscreen}, 2846 {"fullscreen", &Qfullscreen},
2846 {"font-backend", &Qfont_backend}, 2847 {"font-backend", &Qfont_backend},
2847 {"alpha", &Qalpha} 2848 {"alpha", &Qalpha},
2849 {"sticky", &Qsticky},
2848}; 2850};
2849 2851
2850#ifdef HAVE_WINDOW_SYSTEM 2852#ifdef HAVE_WINDOW_SYSTEM
diff --git a/src/nsfns.m b/src/nsfns.m
index 8cd7bfbb168..f99420ced27 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -1031,7 +1031,8 @@ frame_parm_handler ns_frame_parm_handlers[] =
1031 0, /* x_set_wait_for_wm, will ignore */ 1031 0, /* x_set_wait_for_wm, will ignore */
1032 0, /* x_set_fullscreen will ignore */ 1032 0, /* x_set_fullscreen will ignore */
1033 x_set_font_backend, /* generic OK */ 1033 x_set_font_backend, /* generic OK */
1034 x_set_alpha 1034 x_set_alpha,
1035 0, /* x_set_sticky */
1035}; 1036};
1036 1037
1037 1038
diff --git a/src/w32fns.c b/src/w32fns.c
index e9780670a74..8ecf3ccb206 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -6892,7 +6892,8 @@ frame_parm_handler w32_frame_parm_handlers[] =
6892 0, /* x_set_wait_for_wm, */ 6892 0, /* x_set_wait_for_wm, */
6893 x_set_fullscreen, 6893 x_set_fullscreen,
6894 x_set_font_backend, 6894 x_set_font_backend,
6895 x_set_alpha 6895 x_set_alpha,
6896 0, /* x_set_sticky */
6896}; 6897};
6897 6898
6898void 6899void
diff --git a/src/xfns.c b/src/xfns.c
index 37d41d3f52b..9036ff171fa 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -5779,7 +5779,8 @@ frame_parm_handler x_frame_parm_handlers[] =
5779 x_set_wait_for_wm, 5779 x_set_wait_for_wm,
5780 x_set_fullscreen, 5780 x_set_fullscreen,
5781 x_set_font_backend, 5781 x_set_font_backend,
5782 x_set_alpha 5782 x_set_alpha,
5783 x_set_sticky,
5783}; 5784};
5784 5785
5785void 5786void
diff --git a/src/xterm.c b/src/xterm.c
index 32ee1596679..c56d82ee684 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -8456,6 +8456,18 @@ set_wm_state (frame, add, what, what2)
8456 : Qnil))); 8456 : Qnil)));
8457} 8457}
8458 8458
8459void
8460x_set_sticky (f, new_value, old_value)
8461 struct frame *f;
8462 Lisp_Object new_value, old_value;
8463{
8464 Lisp_Object frame;
8465
8466 XSETFRAME (frame, f);
8467 set_wm_state (frame, NILP (new_value) ? 0 : 1,
8468 "_NET_WM_STATE_STICKY", NULL);
8469}
8470
8459/* Do fullscreen as specified in extended window manager hints */ 8471/* Do fullscreen as specified in extended window manager hints */
8460 8472
8461static int 8473static int
diff --git a/src/xterm.h b/src/xterm.h
index 6681d4ed440..0d9d4804e5f 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -964,6 +964,8 @@ extern unsigned int x_x_to_emacs_modifiers P_ ((struct x_display_info *,
964extern int x_display_pixel_height P_ ((struct x_display_info *)); 964extern int x_display_pixel_height P_ ((struct x_display_info *));
965extern int x_display_pixel_width P_ ((struct x_display_info *)); 965extern int x_display_pixel_width P_ ((struct x_display_info *));
966 966
967extern void x_set_sticky P_ ((struct frame *, Lisp_Object, Lisp_Object));
968
967/* Defined in xselect.c */ 969/* Defined in xselect.c */
968 970
969extern void x_handle_property_notify P_ ((XPropertyEvent *)); 971extern void x_handle_property_notify P_ ((XPropertyEvent *));