diff options
| author | Karoly Lorentey | 2007-01-01 17:38:32 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2007-01-01 17:38:32 +0000 |
| commit | 65e86587ab836aaa86b12ce30b219bcb4fcbaa06 (patch) | |
| tree | 7e13feee7387635f52df3613cf1bba4414781aab /src/xterm.c | |
| parent | 8c778e28bcf16b4baef6400a124ec2403941e940 (diff) | |
| parent | 1fc8c92b50100da709c94a0faa47deed5603634f (diff) | |
| download | emacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.tar.gz emacs-65e86587ab836aaa86b12ce30b219bcb4fcbaa06.zip | |
Merged from emacs@sv.gnu.org.
Patches applied:
* emacs@sv.gnu.org/emacs--devo--0--patch-536
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-537
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-538
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-539
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-540
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-541
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-542
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-543
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-544
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-545
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-546
Update from erc--emacs--22
* emacs@sv.gnu.org/emacs--devo--0--patch-547
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-548
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-549
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-550
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-551
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-552
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-553
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-554
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-555
erc-iswitchb: Temporarily enable iswitchb mode
* emacs@sv.gnu.org/emacs--devo--0--patch-556
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-557
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-558
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-559
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-560
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-561
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-562
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-563
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-564
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-565
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-566
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-567
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-568
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-569
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-570
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-571
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-572
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-573
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-574
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-575
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-576
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-577
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-578
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-579
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-580
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-581
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-582
Merge from gnus--rel--5.10
* emacs@sv.gnu.org/emacs--devo--0--patch-583
Update from CVS
* emacs@sv.gnu.org/emacs--devo--0--patch-584
Fix admin/quick-install-emacs to work with recent versions of autoconf
* emacs@sv.gnu.org/gnus--rel--5.10--patch-171
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-172
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-173
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-174
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-175
Update from CVS: lisp/legacy-gnus-agent.el: Add Copyright notice.
* emacs@sv.gnu.org/gnus--rel--5.10--patch-176
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-177
Merge from emacs--devo--0
* emacs@sv.gnu.org/gnus--rel--5.10--patch-178
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-179
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-180
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-181
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-182
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-183
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-184
Update from CVS
* emacs@sv.gnu.org/gnus--rel--5.10--patch-185
Merge from emacs--devo--0
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-590
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 48 |
1 files changed, 27 insertions, 21 deletions
diff --git a/src/xterm.c b/src/xterm.c index 7bbd2736307..e16fb852873 100644 --- a/src/xterm.c +++ b/src/xterm.c | |||
| @@ -8349,15 +8349,15 @@ do_ewmh_fullscreen (f) | |||
| 8349 | Atom *atoms = XListProperties (FRAME_X_DISPLAY (f), | 8349 | Atom *atoms = XListProperties (FRAME_X_DISPLAY (f), |
| 8350 | FRAME_X_DISPLAY_INFO (f)->root_window, | 8350 | FRAME_X_DISPLAY_INFO (f)->root_window, |
| 8351 | &num); | 8351 | &num); |
| 8352 | if (atoms && num > 0) | 8352 | if (atoms && num > 0) |
| 8353 | { | 8353 | { |
| 8354 | char **names = (char **) xmalloc (num * sizeof(*names)); | 8354 | char **names = (char **) xmalloc (num * sizeof(*names)); |
| 8355 | if (XGetAtomNames (FRAME_X_DISPLAY (f), atoms, num, names)) | 8355 | if (XGetAtomNames (FRAME_X_DISPLAY (f), atoms, num, names)) |
| 8356 | { | 8356 | { |
| 8357 | int i; | 8357 | int i; |
| 8358 | for (i = 0; i < num; ++i) | 8358 | for (i = 0; i < num; ++i) |
| 8359 | { | 8359 | { |
| 8360 | if (!have_net_atom) | 8360 | if (!have_net_atom) |
| 8361 | have_net_atom = strncmp (names[i], "_NET_", 5) == 0; | 8361 | have_net_atom = strncmp (names[i], "_NET_", 5) == 0; |
| 8362 | XFree (names[i]); | 8362 | XFree (names[i]); |
| 8363 | } | 8363 | } |
| @@ -8370,7 +8370,7 @@ do_ewmh_fullscreen (f) | |||
| 8370 | FRAME_X_DISPLAY_INFO (f)->have_net_atoms = have_net_atom; | 8370 | FRAME_X_DISPLAY_INFO (f)->have_net_atoms = have_net_atom; |
| 8371 | } | 8371 | } |
| 8372 | 8372 | ||
| 8373 | if (have_net_atom) | 8373 | if (have_net_atom) |
| 8374 | { | 8374 | { |
| 8375 | Lisp_Object frame; | 8375 | Lisp_Object frame; |
| 8376 | const char *atom = "_NET_WM_STATE"; | 8376 | const char *atom = "_NET_WM_STATE"; |
| @@ -8383,7 +8383,7 @@ do_ewmh_fullscreen (f) | |||
| 8383 | 8383 | ||
| 8384 | /* If there are _NET_ atoms we assume we have extended window manager | 8384 | /* If there are _NET_ atoms we assume we have extended window manager |
| 8385 | hints. */ | 8385 | hints. */ |
| 8386 | switch (f->want_fullscreen) | 8386 | switch (f->want_fullscreen) |
| 8387 | { | 8387 | { |
| 8388 | case FULLSCREEN_BOTH: | 8388 | case FULLSCREEN_BOTH: |
| 8389 | what = fs; | 8389 | what = fs; |
| @@ -8439,7 +8439,7 @@ static void | |||
| 8439 | XTfullscreen_hook (f) | 8439 | XTfullscreen_hook (f) |
| 8440 | FRAME_PTR f; | 8440 | FRAME_PTR f; |
| 8441 | { | 8441 | { |
| 8442 | if (f->async_visible) | 8442 | if (f->async_visible) |
| 8443 | { | 8443 | { |
| 8444 | BLOCK_INPUT; | 8444 | BLOCK_INPUT; |
| 8445 | do_ewmh_fullscreen (f); | 8445 | do_ewmh_fullscreen (f); |
| @@ -8459,7 +8459,7 @@ x_check_fullscreen (f) | |||
| 8459 | { | 8459 | { |
| 8460 | int width, height, ign; | 8460 | int width, height, ign; |
| 8461 | 8461 | ||
| 8462 | if (do_ewmh_fullscreen (f)) | 8462 | if (do_ewmh_fullscreen (f)) |
| 8463 | return; | 8463 | return; |
| 8464 | 8464 | ||
| 8465 | x_real_positions (f, &f->left_pos, &f->top_pos); | 8465 | x_real_positions (f, &f->left_pos, &f->top_pos); |
| @@ -8793,20 +8793,26 @@ XTframe_raise_lower (f, raise_flag) | |||
| 8793 | { | 8793 | { |
| 8794 | if (raise_flag) | 8794 | if (raise_flag) |
| 8795 | { | 8795 | { |
| 8796 | Lisp_Object frame; | 8796 | /* The following code is needed for `raise-frame' to work on |
| 8797 | const char *atom = "_NET_ACTIVE_WINDOW"; | 8797 | some versions of metacity; see Window Manager |
| 8798 | Specification/Extended Window Manager Hints at | ||
| 8799 | http://freedesktop.org/wiki/Standards_2fwm_2dspec | ||
| 8800 | |||
| 8801 | However, on other versions (metacity 2.17.2-1.fc7), it | ||
| 8802 | reportedly causes hangs when resizing frames. */ | ||
| 8803 | |||
| 8804 | /* Lisp_Object frame; | ||
| 8805 | const char *atom = "_NET_ACTIVE_WINDOW"; */ | ||
| 8798 | 8806 | ||
| 8799 | x_raise_frame (f); | 8807 | x_raise_frame (f); |
| 8800 | /* See Window Manager Specification/Extended Window Manager Hints at | ||
| 8801 | http://freedesktop.org/wiki/Standards_2fwm_2dspec */ | ||
| 8802 | 8808 | ||
| 8803 | XSETFRAME (frame, f); | 8809 | /* XSETFRAME (frame, f); |
| 8804 | Fx_send_client_event (frame, make_number (0), frame, | 8810 | Fx_send_client_event (frame, make_number (0), frame, |
| 8805 | make_unibyte_string (atom, strlen (atom)), | 8811 | make_unibyte_string (atom, strlen (atom)), |
| 8806 | make_number (32), | 8812 | make_number (32), |
| 8807 | Fcons (make_number (1), | 8813 | Fcons (make_number (1), |
| 8808 | Fcons (make_number (time (NULL) * 1000), | 8814 | Fcons (make_number (time (NULL) * 1000), |
| 8809 | Qnil))); | 8815 | Qnil))); */ |
| 8810 | } | 8816 | } |
| 8811 | else | 8817 | else |
| 8812 | x_lower_frame (f); | 8818 | x_lower_frame (f); |
| @@ -10243,8 +10249,8 @@ x_query_font (f, fontname) | |||
| 10243 | 10249 | ||
| 10244 | for (i = 0; i < dpyinfo->n_fonts; i++) | 10250 | for (i = 0; i < dpyinfo->n_fonts; i++) |
| 10245 | if (dpyinfo->font_table[i].name | 10251 | if (dpyinfo->font_table[i].name |
| 10246 | && (!strcasecmp (dpyinfo->font_table[i].name, fontname) | 10252 | && (!xstricmp (dpyinfo->font_table[i].name, fontname) |
| 10247 | || !strcasecmp (dpyinfo->font_table[i].full_name, fontname))) | 10253 | || !xstricmp (dpyinfo->font_table[i].full_name, fontname))) |
| 10248 | return (dpyinfo->font_table + i); | 10254 | return (dpyinfo->font_table + i); |
| 10249 | return NULL; | 10255 | return NULL; |
| 10250 | } | 10256 | } |
| @@ -11272,7 +11278,7 @@ syms_of_xterm () | |||
| 11272 | DEFVAR_BOOL ("x-use-underline-position-properties", | 11278 | DEFVAR_BOOL ("x-use-underline-position-properties", |
| 11273 | &x_use_underline_position_properties, | 11279 | &x_use_underline_position_properties, |
| 11274 | doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties. | 11280 | doc: /* *Non-nil means make use of UNDERLINE_POSITION font properties. |
| 11275 | nil means ignore them. If you encounter fonts with bogus | 11281 | A value of nil means ignore them. If you encounter fonts with bogus |
| 11276 | UNDERLINE_POSITION font properties, for example 7x13 on XFree prior | 11282 | UNDERLINE_POSITION font properties, for example 7x13 on XFree prior |
| 11277 | to 4.1, set this to nil. */); | 11283 | to 4.1, set this to nil. */); |
| 11278 | x_use_underline_position_properties = 1; | 11284 | x_use_underline_position_properties = 1; |
| @@ -11280,9 +11286,9 @@ to 4.1, set this to nil. */); | |||
| 11280 | DEFVAR_BOOL ("x-underline-at-descent-line", | 11286 | DEFVAR_BOOL ("x-underline-at-descent-line", |
| 11281 | &x_underline_at_descent_line, | 11287 | &x_underline_at_descent_line, |
| 11282 | doc: /* *Non-nil means to draw the underline at the same place as the descent line. | 11288 | doc: /* *Non-nil means to draw the underline at the same place as the descent line. |
| 11283 | nil means to draw the underline according to the value of the variable | 11289 | A value of nil means to draw the underline according to the value of the |
| 11284 | `x-use-underline-position-properties', which is usually at the baseline | 11290 | variable `x-use-underline-position-properties', which is usually at the |
| 11285 | level. The default value is nil. */); | 11291 | baseline level. The default value is nil. */); |
| 11286 | x_underline_at_descent_line = 0; | 11292 | x_underline_at_descent_line = 0; |
| 11287 | 11293 | ||
| 11288 | DEFVAR_BOOL ("x-mouse-click-focus-ignore-position", | 11294 | DEFVAR_BOOL ("x-mouse-click-focus-ignore-position", |