Be more systematic about using "@." (not ".") at end of sentence that
ends in a capital letter, and about appending "@:" after non-ends of
sentences that end in a lower case letter followed by "." followed by
whitespace. Omit unnecessary use of "@:" and "@.". Similarly for "?"
and "!". Be more consistent about putting a comma after "i.e." and
"e.g."; this is the typical American style and it's easier to code in
Texinfo.
Fixes: debbugs:12973
* doc/emacs/xresources.texi (X Resources): Describe GTK+ case first.
(Resources): Don't use borderWidth as an example, since it doesn't
work with GTK+.
(Table of Resources): Clarify role of several resources, including
the Emacs 24 behavior of cursorBlink etc.
(Face Resources): Node deleted. Recommend using Customize
instead. Add paragraph to `Table of Resources' node summarizing
how to use X resources for changing faces.
(Lucid Resources): Rewrite, omitting description of font names,
referring to the Fonts node instead.
(LessTif Resources): Copyedits.
(GTK resources): Rewrite, describing the difference between gtk2
and gtk3.
(GTK Resource Basics): New node.
(GTK Widget Names, GTK Names in Emacs): Rewrite.
(GTK styles): Just refer to Fonts node for GTK font format.
* doc/emacs/display.texi (Faces): Document the cursor face.
doc/emacs/cmdargs.texi (MS-Windows Registry): Shorten the index entry.
Move the stuff about resources to xresources.texi.
doc/emacs/xresources.texi (Resources): Move information about setting X
resources in the Registry from cmdargs.texi. Make the index entry
be similar to the one in cmdargs.texi.
Make the documentation of Enriched Mode shorter, since it's
practically unused.
* text.texi (TeX Mode): Mention AUCTeX package.
(TeX Editing): Add xref to documentation for Occur.
(LaTeX Editing): Add xref to Completion node.
(TeX Print): Fix description of tex-directory.
(Enriched Text): Renamed from Formatted Text. Make this node and
its subnodes less verbose, since text/enriched files are
practically unused.
(Enriched Mode): Renamed from Requesting Formatted Text.
(Format Colors): Node deleted.
(Enriched Faces): Renamed from Format Faces. Describe commands
for applying colors too.
(Forcing Enriched Mode): Node deleted; merged into Enriched Mode.
* frames.texi (Menu Mouse Clicks): Tweak description of C-Mouse-2.
* display.texi (Colors): New node.
* cmdargs.texi (Colors X):
* xresources.texi (GTK styles):
* custom.texi (Face Customization): Reference it.
* glossary.texi (Glossary): Remove "formatted text" and "WYSIWYG".
Link to Fill Commands for Justification entry.
* configure.in: Require 3.0 for --with-gtk3. Add HAVE_GTK3.
* doc/emacs/xresources.texi (GTK resources): ~/.emacs.d/gtkrc does not work
for Gtk+ 3.
* src/gtkutil.c: Include gtkx.h if HAVE_GTK3. If ! HAVE_GTK3, define
gdk_window_get_screen, gdk_window_get_geometry,
gdk_x11_window_lookup_for_display and GDK_KEY_g.
(xg_set_screen): Use DEFAULT_GDK_DISPLAY.
(xg_get_pixbuf_from_pixmap): New function.
(xg_get_pixbuf_from_pix_and_mask): Change parameters from GdkPixmap
to Pixmap, take frame as parameter, remove GdkColormap parameter.
Call xg_get_pixbuf_from_pixmap instead of
gdk_pixbuf_get_from_drawable.
(xg_get_image_for_pixmap): Do not make GdkPixmaps, call
xg_get_pixbuf_from_pix_and_mask with Pixmap parameters instead.
(xg_check_special_colors): Use GtkStyleContext and its functions
for HAVE_GTK3.
(xg_prepare_tooltip, xg_hide_tooltip): Call gdk_window_get_screen.
(xg_prepare_tooltip, create_dialog, menubar_map_cb)
(xg_update_frame_menubar, xg_tool_bar_detach_callback)
(xg_tool_bar_attach_callback, xg_update_tool_bar_sizes): Call
gtk_widget_get_preferred_size.
(xg_frame_resized): gdk_window_get_geometry only takes 5
parameters.
(xg_win_to_widget, xg_event_is_for_menubar): Call
gdk_x11_window_lookup_for_display.
(xg_set_widget_bg): New function.
(delete_cb): New function.
(xg_create_frame_widgets): connect delete-event to delete_cb.
Call xg_set_widget_bg. Only set backgrund pixmap for ! HAVE_GTK3
(xg_set_background_color): Call xg_set_widget_bg.
(xg_set_frame_icon): Call xg_get_pixbuf_from_pix_and_mask.
(xg_create_scroll_bar): vadj is a GtkAdjustment for HAVE_GTK3.
Only call gtk_range_set_update_policy if ! HAVE_GTK3.
(xg_make_tool_item): Only connect xg_tool_bar_item_expose_callback
if ! HAVE_GTK3.
(update_frame_tool_bar): Call gtk_widget_hide.
(xg_initialize): Use GDK_KEY_g.
* src/xmenu.c (menu_position_func): Call gtk_widget_get_preferred_size.
* src/xsmfns.c (gdk_set_sm_client_id): Define to gdk_set_sm_client_id
if ! HAVE_GTK3
(x_session_initialize): Call gdk_x11_set_sm_client_id.
* src/xterm.c (XFillRectangle): Use cairo routines for HAVE_GTK3.
(x_term_init): Disable Xinput(2) with GDK_CORE_DEVICE_EVENTS.
Load ~/emacs.d/gtkrc only for ! HAVE_GTK3.
* src/xterm.h (DEFAULT_GDK_DISPLAY): New define.
(GDK_WINDOW_XID, gtk_widget_get_preferred_size): New defines
for ! HAVE_GTK3.
(GTK_WIDGET_TO_X_WIN): Use GDK_WINDOW_XID.
* doc/emacs/xresources.texi (X Resources): Remove *faceName and replace it with
*font for Lucid.
* lwlib/lwlib-Xaw.c (make_dialog): Use *font even for Xft fonts. Try
XLoadQueryFont first and then Xft fonts.
* lwlib/xlwmenu.c (xlwmenu_default_font): Remove, does not work for
multi-display.
(xlwMenuResources): Remove XtNfaceName and XtNdefaultFace.
Make XtNFont a String resource.
(make_windows_if_needed): Call XFlush so later changes are seen by the
X server.
(remap_menubar): Use XtMoveWidget and then
XtResizeWidget/XtResizeWindow after XtPopup. Works better with
Compiz.
(make_drawing_gcs): Check if mw->menu.font is set.
(getDefaultXftFont): New function.
(openXftFont): faceName is now fontName. Try XLoadQueryFont first
and then XftFontOpenName.
(XlwMenuInitialize): Initialize mw->menu.font with XLoadQueryFont.
(XlwMenuClassInitialize): Remove initialization of
xlwmenu_default_font.
(fontname_changed): Renamed from facename_changed.
(XlwMenuSetValues): Use facename_changed.
* lwlib/xlwmenu.h: Remove Xt[CN]faceName and Xt[NC]defaultFace.
* lwlib/xlwmenuP.h (_XlwMenu_part): Remove faceName. Add fontName.
* src/xmenu.c (apply_systemfont_to_dialog): Apply to *dialog.font.
(apply_systemfont_to_menu): Set resources *menubar*font and
*popup*font. Remove defflt.
(set_frame_menubar, create_and_show_popup_menu): Call
apply_systemfont_to_menu before lw_create_widget.
* src/xrdb.c (x_load_resources): For LUCID and XFT, don't put a
resource that specifies helvetica for menus and dialogs.
* xmenu.c (apply_systemfont_to_dialog): New.
(create_and_show_dialog): Call apply_systemfont_to_dialog if HAVE_XFT.
* lwlib-Xaw.c (widget_xft_data): New for Xft data.
(fill_xft_data, openFont, get_text_width_and_height)
(draw_text, set_text, find_xft_data, command_press)
(command_reset): New functions.
(xaw_update_one_widget): Call set_text for dialog and buttons
if HAVE_XFT. Also set internalHeight for buttons.
(xaw_destroy_instance): Free all Xft related data.
(button_actions, buttonTrans): New structures.
(make_dialog): Call XtAppAddActions for button_actions.
Find xft font to use and call fill_xft_data for widgets.
(xaw_create_dialog): Pass instance parameter to make_dialog.
* lwlib-int.h (_widget_instance): Add Xft data if HAVE_XFT.
Override translations for buttons. If depth is 16 or more, tell
Xaw3d to not be nice to colormap.
Remove separator widget, use XtNhorizDistance on first right button
instead.
* xresources.texi (Lucid Resources): Mention faceName for dialogs.
* xsettings.c (current_font, SYSTEM_FONT, XSETTINGS_FONT_NAME): New.
(parse_xft_settings): Also check for XSETTINGS_FONT_NAME and save that
in current_font.
(init_gconf): Read value of SYSTEM_FONT and save it in current_font.
(Ffont_get_system_normal_font, xsettings_get_system_normal_font): New
functions.
(syms_of_xsettings): Initialize current_font. defsubr
Sfont_get_system_normal_font.
* xsettings.h (Ffont_get_system_normal_font,
xsettings_get_system_normal_font): Declare.
* xfns.c (extern xlwmenu_default_font): Remove.
(Fx_create_frame): Remove setting of xlwmenu_default_font, moved
to xlwmenu.c.
* menu.c (digest_single_submenu): If USE_LUCID and HAVE_XFT, encode
menu items in UTF-8.
* xmenu.c: include xsettings.h and xlwmenu.h if USE_LUCID.
(apply_systemfont_to_menu): New function.
(set_frame_menubar, create_and_show_popup_menu): Call
apply_systemfont_to_menu.
* xlwmenu.c (xlwmenu_default_font): Make static.
(xlwMenuResources): Add XtNfaceName and XtNdefaultFace.
(string_width): Use XftTextExtentsUtf8 if HAVE_XFT.
(MENU_FONT_HEIGHT, MENU_FONT_ASCENT): Add versions for
HAVE_XFT.
(size_menu): Set max_rest_width in window_state structure.
(display_menu_item): If HAVE_XFT and xft_draw is set, use
XftDrawRect and XftDrawStringUtf8 to draw text.
(make_windows_if_needed): Set max_rest_width and xft_draw
in windows[i].
(openXftFont): New.
(XlwMenuInitialize): Call openXftFont if HAVE_XFT. If mw->menu.font
is not set, load font fixed and save it in xlwmenu_default_font.
(XlwMenuInitialize): Set max_rest_width and xft_draw in windows[0].
(XlwMenuClassInitialize): Initialize xlwmenu_default_font.
(XlwMenuRealize): Set xft_fg, xft_bg, xft_disabled_fg and
windows[0].xft_draw if xft_font is set.
(XlwMenuDestroy): Destroy all xft_draw and close xft_font.
(facename_changed): New.
(XlwMenuSetValues): Call facename_changed. If face name did change,
close old fonts and destroy xft_draw:s. Then create new ones.
* xlwmenu.h (XtNfaceName, XtCFaceName, XtNdefaultFace,
XtCDefaultFace): New.
* xlwmenuP.h (_window_state): Add max_rest_width and xft_draw.
(_XlwMenu_part): Add faceName,xft_fg, xft_bg, xft_disabled_fg and
xft_font.
* xresources.texi (Lucid Resources): Mention faceName to set Xft fonts.
* abbrevs.texi (Saving Abbrevs): Abbrev file should be in .emacs.d.
* basic.texi (Moving Point): M-r is now move-to-window-line-top-bottom.
* cmdargs.texi (Initial Options):
* xresources.texi (Resources): Document inhibit-x-resources.
* custom.texi (Specifying File Variables): Note that minor modes are
enabled unconditionally.
* display.texi (Scrolling): Briefly document the old recenter command,
and document recenter-positions.
* files.texi (Visiting):
* buffers.texi (Buffers): Max buffer size is now 512 MB.
* frames.texi (Cut/Paste Other App): Document
save-interprogram-paste-before-kill.
* killing.texi (Kill Options): New node.
* 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.
* frame.h (fullscreen_type): Add FULLSCREEN_MAXIMIZED. Declare
Qfullwidth, Qfullheight, Qfullboth, 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.
* gtkutil.c (flush_and_sync, x_wm_size_hint_off): Remove.
(xg_frame_set_char_size): Remove calls to x_wm_size_hint_off and
flush_and_sync.
(xg_height_changed): New function.
(xg_create_frame_widgets): Remove call to gtk_widget_set_size_request
and gtk_window_set_policy. Set frame gravity after parsing the geometry
string.
(xg_update_frame_menubar, free_frame_menubar)
(xg_tool_bar_detach_callback, xg_tool_bar_attach_callback)
(update_frame_tool_bar, free_frame_tool_bar): Call xg_height_changed.
Remove calls to xg_frame_set_char_size.
* startup.el (command-line-x-option-alist): Add -mm and --maximized.
* NEWS: Mention maximized.
* frames.texi (Size Parameters): Mention maximized for fullscreen.
* xresources.texi (Table of Resources): Mention maximized for
fullscreen.
* cmdargs.texi (Window Size X): -mm/--maximized is new.