diff options
| author | Jan Djärv | 2009-07-01 16:48:35 +0000 |
|---|---|---|
| committer | Jan Djärv | 2009-07-01 16:48:35 +0000 |
| commit | cad9ef74ea903dc714850c5379646f5c5f229c63 (patch) | |
| tree | 2f29da96516ec6abfc78d0e1b27ee2466309bfbf /src | |
| parent | 69b166106d00cb312a0013c7a026fd60c228f6e4 (diff) | |
| download | emacs-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/ChangeLog | 13 | ||||
| -rw-r--r-- | src/frame.c | 4 | ||||
| -rw-r--r-- | src/nsfns.m | 3 | ||||
| -rw-r--r-- | src/w32fns.c | 3 | ||||
| -rw-r--r-- | src/xfns.c | 3 | ||||
| -rw-r--r-- | src/xterm.c | 12 | ||||
| -rw-r--r-- | src/xterm.h | 2 |
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 @@ | |||
| 1 | 2009-07-01 Jan Djärv <jan.h.d@swipnet.se> | 1 | 2009-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; | |||
| 121 | Lisp_Object Qtty, Qtty_type; | 121 | Lisp_Object Qtty, Qtty_type; |
| 122 | 122 | ||
| 123 | Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth, Qmaximized; | 123 | Lisp_Object Qfullscreen, Qfullwidth, Qfullheight, Qfullboth, Qmaximized; |
| 124 | Lisp_Object Qsticky; | ||
| 124 | Lisp_Object Qfont_backend; | 125 | Lisp_Object Qfont_backend; |
| 125 | Lisp_Object Qalpha; | 126 | Lisp_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 | ||
| 6898 | void | 6899 | void |
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 | ||
| 5785 | void | 5786 | void |
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 | ||
| 8459 | void | ||
| 8460 | x_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 | ||
| 8461 | static int | 8473 | static 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 *, | |||
| 964 | extern int x_display_pixel_height P_ ((struct x_display_info *)); | 964 | extern int x_display_pixel_height P_ ((struct x_display_info *)); |
| 965 | extern int x_display_pixel_width P_ ((struct x_display_info *)); | 965 | extern int x_display_pixel_width P_ ((struct x_display_info *)); |
| 966 | 966 | ||
| 967 | extern void x_set_sticky P_ ((struct frame *, Lisp_Object, Lisp_Object)); | ||
| 968 | |||
| 967 | /* Defined in xselect.c */ | 969 | /* Defined in xselect.c */ |
| 968 | 970 | ||
| 969 | extern void x_handle_property_notify P_ ((XPropertyEvent *)); | 971 | extern void x_handle_property_notify P_ ((XPropertyEvent *)); |