summaryrefslogtreecommitdiff
path: root/src/frame.c
Commit message (Collapse)AuthorAgeFilesLines
* ; Add 2024 to copyright yearsPo Lu2024-01-021-1/+1
|
* Fix bug#64152 (Minibuffer sometimes goes "modal")Alan Mackenzie2023-06-211-4/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | In particular, when a frame has no minibuffer and is using that of a different "normal" frame, C-x 5 o, etc., and GUI operations fail. Fix by partially reverting the commit from 2022-07-07 15:38:09 +0000 "Remove obscure, obsolete code from do_switch_frame". As a consequent change, also revert the commit from 2022-07-08 20:19:03 +0000 "Remove now unused parameter TRACK from do_switch_frame". * src/frame.c (do_switch_frame): Restore the TRACK parameter. Restore the code which redirects the frame focus when a new frame gets selected. * src/frame.c (Fselect_frame, Fhandle_switch_frame) (delete_frame) * src/keyboard.c (quit_throw_to_read_char) * src/lisp.h (do_switch_frame prototype) * src/minibuf.c (read_minibuf_unwind) * src/window.c (Fset_window_configuration): Restore the TRACK argument to do_switch_frame. * src/xterm.c (x_try_restore_frame): Add a zero TRACK argument to do_switch_frame.
* ; Add 2023 to copyright years.Eli Zaretskii2023-01-011-1/+1
|
* Fix crashes and memory leaks during display deinitializationPo Lu2022-12-011-3/+10
| | | | | | | | | | | * .dir-locals.el (c-mode): Add more noise macro names. * src/frame.c (delete_frame): Do not delete terminal if force is Qnoelisp. * src/xterm.c (x_wm_supports): Fix coding style. (x_delete_display): Delete the supported atoms list. (x_delete_terminal): Delete all terminals. Free the scratch cursor GC.
* Fix automatic DPI adjustment and add workarounds for some systemsPo Lu2022-11-191-21/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/faces.el (x-create-frame-with-faces): New field `delayed-font'. Set the `font-parameter' property to `font' in the given parameter list after face-set-after-frame-default is called. * src/fontset.c (Fset_fontset_font): Avoid changing `font-parameter' with the call to Fmodify_frame_parameters. * src/frame.c (gui_set_frame_parameters_1): New function. Factor out gui_set_frame_parameters here, and add an argument DEFAULT_PARAMETER. If the `font' parameter is set, and `default_parameter' is not, then set the `font-parameter' frame parameter to the `font' parameter as well, to keep track of which user-specified `font' frame parameter set the default face's font on the frame. (gui_set_frame_parameters): Call gui_set_frame_parameters_1 with new arg set to false. (gui_set_font): Remove broken implementation of `font-parameter'. (gui_default_parameter): If the default value was used, then call gui_set_frame_parameters_1 with the new argument set to false. This is because no font was specified as a frame parameter by the user, so Freconsider_frame_fonts is free to do anything it wants. (Freconsider_frame_fonts): If `font-parameter' is set, then use it. (syms_of_frame): New defsym Qfont_parameter. * src/frame.h: Update prototypes. * src/haikuterm.c (haiku_default_font_parameter): * src/pgtkfns.c (pgtk_default_font_parameter): * src/w32fns.c (w32_default_font_parameter): Stop setting `font-parameter' here. This code resulted in decades of automatic font rescaling not working correctly. * src/xfaces.c (set_font_frame_param): Clear the `font-parameter' frame parameter. (Finternal_merge_in_global_face): * src/xfns.c (x_default_font_parameter): Avoid changing `font-parameter' in response to changes to face attributes. * src/xsettings.c (apply_xft_settings): Add workaround for Cairo. (bug#59371, bug#59347, bug#59283, bug#59271, bug#59285, bug#59306.)
* Fix bug#59371Po Lu2022-11-191-2/+10
| | | | | | | * src/frame.c (Freconsider_frame_fonts): If a font parameter was set, create a params alist with it. Then, pass it to both default_font_parameter and face-set-after-frame-default. (bug#59371)
* ; Fix typos (prefer US spelling)Stefan Kangas2022-11-181-1/+1
|
* Fix last change againPo Lu2022-11-151-0/+7
| | | | | * src/frame.c (Freconsider_frame_fonts): Apply value of default face again. (bug#59283)
* More fixes to last changePo Lu2022-11-151-2/+26
| | | | | | | * lisp/dynamic-setting.el (font-setting-change-default-font): Call `reconsider-frame-fonts'. * src/frame.c (Freconsider_frame_fonts): New function. (syms_of_frame): Add new function.
* src/frame.c (do_switch_frame): Fix bug#58343Stefan Monnier2022-10-121-12/+16
| | | | | | | | * src/frame.c (do_switch_frame): Move call to `get-mru-window` outside of the "critical region" where (selected-window) != (frame-selected-window). * src/minibuf.c (move_minibuffers_onto_frame): Add arg `frame`. Use it instead of `selected_frame`. Adjust all callers. * src/lisp.h (move_minibuffers_onto_frame): Adjust declaration.
* Merge from origin/emacs-28Stefan Kangas2022-09-191-1/+1
|\ | | | | | | | | | | a2f9788cbc ; Minor copyedits of *-frame-alist doc strings c200098dde ; * src/intervals.c (get_local_map): Fix commentary. 69cc3d38bc Fix Tramp error with eshell integration
| * ; Minor copyedits of *-frame-alist doc stringsEli Zaretskii2022-09-181-1/+1
| | | | | | | | | | * src/frame.c (syms_of_frame) <default-frame-alist>: * lisp/frame.el (initial-frame-alist): Minor doc fixes.
* | Revert "Improve X event timestamp tracking"Po Lu2022-08-071-20/+0
| | | | | | | | | | | | | | This reverts commit 4b98a79a508ebdc719abfcf51ee6de32e46d0e1c. This change was installed without answering several important questions.
* | Improve X event timestamp trackingDaniel Colascione2022-08-061-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix two problems with our handling of X timestamps 1) We're not properly updating the X interaction timestamp after receiving certain input events, and 2) X events sent in response to emacsclient commands get stale timestamps because the timestamp tracking doesn't take into account that interactions with the user can occur outside the X input event channel. * src/xterm.c: (x_display_set_last_user_time_1): New function. (x_display_set_last_user_time): Call it. (x_ewmh_activate_frame): Refactor. (x_focus_frame): Don't call XSetInputFocus if we can use EWMH activation. (server_timestamp_predicate): New function. (x_get_server_time): New function. (x_note_oob_interaction): New function. (x_create_terminal): Register new function as terminal hook. * src/termhooks.h: New hook: note_oob_interaction_hook. * src/gtkutil.h: (xg_set_user_timestamp): Declare. * src/gtkutil.c: (xg_set_user_timestamp): New function. * src/frame.c: (Fframe_note_oob_interaction): New function. (syms_of_frame): Register it. * lisp/server.el: (server-switch-buffer): Call frame-note-oob-interaction when user requests frame be raised.
* | Make frame synchronization a frame parameterPo Lu2022-08-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/frames.texi (Management Parameters): Document `use-frame-synchronization'. * etc/NEWS: Update entry. * src/frame.c (frame_parms): New frame parameter `use-frame-synchronization'. (syms_of_frame): New defsym. * src/haikufns.c (haiku_frame_parm_handlers): * src/nsfns.m (ns_frame_parm_handlers): * src/pgtkfns.c (pgtk_frame_parm_handlers): * src/w32fns.c (w32_frame_parm_handlers): Update frame param handlers correctly. * src/xfns.c (x_set_use_frame_synchronization): New function. (Fx_create_frame): Set default value of said parameter. (x_frame_parm_handlers): Add handler. * src/xterm.c (x_sync_wait_for_frame_drawn_event): Clear parameter if sync fails.
* | Fix closing displays when preserving selections is enabledPo Lu2022-07-131-1/+15
| | | | | | | | | | | | | | | | | | | | | | * src/frame.c (delete_frame): Bind `x-auto-preserve-selections' to nil if deleting display. * src/xselect.c (x_clear_frame_selections): Pass original frame to that function. * src/xterm.c (x_preserve_selections): Fix determining the new owner. (syms_of_xterm): New defsym `x-auto-preserve-selections'. * src/xterm.h: Update prototypes.
* | Remove now unused parameter TRACK from do_switch_frame.Alan Mackenzie2022-07-081-8/+4
| | | | | | | | | | | | | | | | | | * src/lisp.h (extern do_swith_frame declaration) * src/frame.c (do_switch_frame): Remove parameter TRACK and its comment. * src/frame.c (Fselect_frame, Fhandle_switch_frame, delete_frame) * src/keyboard.c (quit_throw_to_read_char) * src/minibuf.c (read_minibuf_unwind (twice)) * src/window.c (Fset_window_configuration): Remove argument TRACK.
* | Remove obscure, obsolete code from do_switch_frameAlan Mackenzie2022-07-071-53/+0
| | | | | | | | | | | | | | | | | | | | This is relevant for bug #56305, and might solve that bug. The code being removed went into Emacs between 1992 and 1994, and looks to have been a workaround for switching frames, before the command 'other-frame' had been written. Nowadays, that code has harmful effects, causing frames' focus to be redirected at random, sometimes back to the frame itself. * src/frame.c (do_switch_frame): Remove 53 lines of code.
* | Improve grabbing detection with multiple master devices (MPX)Po Lu2022-06-241-1/+3
| | | | | | | | | | | | | | * src/frame.c (gui_mouse_grabbed): Respect any_grab_hook. * src/termhooks.h (GCALIGNED_STRUCT): New hook `any_grab_hook'. * src/xterm.c (x_have_any_grab): New function. (x_create_terminal): Define hook on XI2 builds.
* | Rewrite PGTK selection code from scratchPo Lu2022-06-211-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (delete_frame): Clear selections and swallow special events. * src/keyboard.c (kbd_buffer_get_event, process_special_events): Also handle selection events on PGTK. * src/keyboard.h (union buffered_input_event): Include selection events on PGTK. * src/pgtkselect.c (symbol_to_gtk_clipboard, LOCAL_SELECTION): New functions and macros. (selection_type_to_quarks, get_func, clear_func): Delete functions. (pgtk_selection_init, pgtk_selection_lost): (pgtk_selection_usable): New functions. (Fpgtk_own_selection_internal, Fpgtk_disown_selection_internal) (Fpgtk_selection_exists_p, Fpgtk_selection_owner_p) (Fpgtk_get_selection_internal): Complete rewrite. (syms_of_pgtkselect): Update defsyms and add more hooks. * src/pgtkselect.h: Delete file. * src/pgtkterm.c (evq_enqueue): Set last user time based on the event. (pgtk_any_window_to_frame, button_event): Fix coding style. (pgtk_set_event_handler): Add selection events. (pgtk_find_selection_owner, pgtk_selection_event): New functions. (pgtk_term_init): Remove call to `pgtk_selection_init'. * src/pgtkterm.h (struct pgtk_display_info): New field `display'. (enum selection_input_event): New struct. New macros for accessing its fields.
* | Use BASE_EQ when comparing with QunboundMattias Engdegård2022-06-121-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qunbound is uninterned and can therefore never be EQ to any symbol with position. * src/buffer.c (Fbuffer_local_value, buffer_lisp_local_variables) (buffer_local_variables_1): * src/bytecode.c (exec_byte_code): * src/comp.c (compile_function, Fcomp__compile_ctxt_to_file): * src/composite.c (composition_gstring_cache_clear_font): * src/data.c (Fboundp, Fsymbol_value, set_internal) (Fdefault_boundp, Fdefault_value, Fmake_variable_buffer_local): * src/emacs-module.c (module_global_reference_p): * src/eval.c (Fdefault_toplevel_value, defvar) (run_hook_with_args): * src/fns.c (hash_put, Fmaphash): * src/font.c (font_put_extra): * src/frame.c (gui_set_frame_parameters) (gui_frame_get_and_record_arg, gui_default_parameter) (gui_figure_window_size): * src/haikufns.c (get_geometry_from_preferences) (haiku_create_frame, haiku_create_tip_frame): * src/haikuterm.c (haiku_draw_text_decoration) (haiku_default_font_parameter): * src/json.c (lisp_to_json_nonscalar_1): * src/keymap.c (access_keymap_1, access_keymap, current_minor_maps): * src/lread.c (readevalloop, define_symbol): * src/minibuf.c (read_minibuf, Ftry_completion): (Fall_completions, Ftest_completion): * src/pgtkfns.c (pgtk_default_font_parameter, Fx_create_frame) (x_create_tip_frame): * src/pgtkselect.c (Fpgtk_own_selection_internal): * src/print.c (print): * src/profiler.c (evict_lower_half, record_backtrace): * src/terminal.c (create_terminal): * src/textprop.c (set_properties): * src/w32fns.c (my_create_window, w32_icon) (w32_default_font_parameter, Fx_create_frame) (w32_create_tip_frame): * src/w32term.c (w32_draw_glyph_string): * src/xdisp.c (handle_single_display_spec) (cursor_row_fully_visible_p, calc_pixel_width_or_height): * src/xfns.c (x_default_scroll_bar_color_parameter, x_icon_verify) (x_icon, x_default_font_parameter, Fx_create_frame) (x_create_tip_frame): * src/xselect.c (x_handle_selection_request): * src/xterm.c (x_draw_glyph_string, x_term_init): Use BASE_EQ instead of EQ when comparing with Qunbound.
* | Merge from origin/emacs-28Stefan Kangas2022-05-291-1/+7
|\| | | | | | | | | | | | | f9ee83bfb9 do_switch_frame: before leaving mini-window, check other (... 908e2e09d0 Fix commands used to produce on-line HTML docs fff770fb97 Fix a bad cross-reference in elisp.pdf ebea3415b0 Fix documentation of 'string-pad'
| * do_switch_frame: before leaving mini-window, check other (mru) window is liveAlan Mackenzie2022-05-281-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | This fixes bug#55684. There, with a minibuffer-only frame at start up, Emacs tried to switch to this frame, whose selected window was the mini-window. There is no other active window in this frame, so the attempt to swith to another window failed. * src/frame.c (do_switch_frame): On switching to a frame whose selected window is as above, before selecting the most recently used window, check this ostensible window is an actual live window. Otherwise leave the mini-window selected.
* | Fix frame destruction issues and misuse of x_get_atom_namePo Lu2022-05-281-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (delete_frame): Prevent deleting the dnd frame while waiting for finish as well. * src/xselect.c (Fx_get_atom_name): Clean up code and fix uninitialized use of need_sync. * src/xterm.c (x_dnd_send_unsupported_drop, x_dnd_send_drop) (handle_one_xevent): Clean up usage of x_get_atom_name. (x_get_atom_name): Accept NULL for need_sync. * src/xterm.h: Update declarations.
* | Merge from origin/emacs-28Eli Zaretskii2022-05-251-0/+7
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 86b49d5865 ; * etc/NEWS: Announce changes in 'desktop-kill'. (Bug#55... d5ccf2621a ; Fix last change f1c1fd7184 Improve documentation of mail-user-agent. b05d1e9b98 ; * lisp/desktop.el: Update the commentary. (Bug#55560) 139bfa1a08 More fixes in abbrev.el doc strings d80dea6036 Add note about Tramp completion to completion-styles doc s... 9e7c0cf57d Remove mention of removed nnimap-nov-is-evil variable 90aae0bca2 Improve documentation strings and prompts in abbrev.el dfa3e6f424 Restore the Fselect_window call in gui_consider_frame_title. de35e9728f Advise against settings in the MS-Windows system registry 3ffa3d3403 ; Minor addition to make-tarball.txt 7dc026f9ea Fix kmacro-keymap binding after previous change 4f0fd54bc4 Add glossary entries for "interactively" af1c05a3c4 Fix the name of a kmacro command. # Conflicts: # etc/NEWS # lisp/abbrev.el
| * Restore the Fselect_window call in gui_consider_frame_title.Alan Mackenzie2022-05-201-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes bug #55412. The call to Fselect_window was removed on 2021-03-21 in the commit "Prevent open minibuffers getting lost when their frame gets deleted". This call is actually needed to determine current elements of the pertinent window and frame when these are used in the frame title. * src/frame.c (do_switch_frame): When the selected window in the target frame is the mini-window, switch away from this window unless there is a valid minibuffer there. * src/frame.h (struct frame): Add an incidental comment about the element selected_window. * src/minibuf.c (move_minibuffers_onto_frame): No longer set the selected window of the source frame. This action is now performed later, on returning to that frame, in do_switch_frame when needed (see above). * src/xdisp.c (gui_consider_frame_title): Replace the Fselect_window call and associated ancillary settings.
* | Audit quoting symbols in C doc stringsLars Ingebrigtsen2022-05-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * test/manual/etags/c-src/emacs/src/keyboard.c (Frecursive_edit): * src/xfns.c (syms_of_xfns): * src/xdisp.c (Fwindow_text_pixel_size): (syms_of_xdisp): * src/w32notify.c (Fw32notify_add_watch): (Fw32notify_add_watch): * src/frame.c (Fframe_child_frame_border_width): * src/comp.c (Fcomp__subr_signature): * src/alloc.c (Fgarbage_collect): * lib-src/make-docfile.c (scan_c_stream): Audit quoting symbols in C doc strings.
* | Better fix for disappearing menu items on NSPo Lu2022-05-141-5/+1
| | | | | | | | | | | | | | | | * src/frame.c (delete_frame): Revert last change. * src/nsmenu.m (free_frame_menubar): Only free if that frame's menu bar is actually being displayed. (ns_update_menubar): Note the last frame to have updated the menu bar.
* | Work around deleting tooltip frames clearing menubars on NSPo Lu2022-05-141-1/+6
| | | | | | | | | | * src/frame.c (delete_frame): Update menu bars if a tooltip frame was deleted on NS.
* | Improve safety of haiku-drag-messagePo Lu2022-04-061-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/term/haiku-win.el (haiku-drag-and-drop): Ignore placeholder message. * src/frame.c (delete_frame): Prevent deleting drop source frame on Haiku. * src/haiku_support.cc (RELEASE_NOW, CANCEL_DROP): New message types. (class EmacsView, MessageReceived): Handle new message types. (be_drag_message): Drag CANCEL_DROP message on quit; also send RELEASE_NOW to view if quitting. * src/haikuselect.c (syms_of_haikuselect) (haiku_unwind_drag_message): Clear new frame variable. (Fhaiku_drag_message): Set new frame variable. * src/haikuterm.h: Update prototypes.
* | Handle mouse movement correctly during DND from one of our own framesPo Lu2022-04-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/dnd.el (dnd-handle-movement): Select the window specified in posn. * lisp/term/x-win.el (x-dnd-movement): New function. (x-dnd-movement-function): Set it as the default. * src/frame.c (delete_frame): Prevent deleting the drop source frame. * src/xterm.c (x_dnd_send_position): Set new mouse movement flags if the target window is one of our own frames. (x_dnd_begin_drag_and_drop): Call DND movement function whenever appropriate. (x_free_frame_resources): Remove useless code. (syms_of_xterm): New defvar `x-dnd-movement-function'. * src/xterm.h: Update prototypes.
* | Implement `drag-source' values of `track-mouse' on PGTK.Po Lu2022-04-031-9/+21
| | | | | | | | | | | | | | | | * src/frame.c (Fmouse_position, mouse_position) (Fmouse_pixel_position): Fix crashes when mouse_position_hook stores nil. * src/pgtkterm.c (pgtk_mouse_position): Behave appropriately.
* | Mention frame-text-* function in frame-pixel-* doc stringsLars Ingebrigtsen2022-03-241-1/+7
| | | | | | | | | | * src/frame.c (Fframe_native_width, Fframe_native_height): Link to `frame-text-*' functions.
* | Remove unused fns/data and make fns staticPaul Eggert2022-03-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/comp.c (saved_sigset, helper_temp_output_buffer_setup): Remove; unused. * src/comp.c (logfile, helper_link_table): * src/fns.c (hashfn_equal, hashfn_eql): * src/frame.c (frame_windows_min_size): * src/gnutls.c (emacs_gnutls_global_init): * src/minibuf.c (Vcommand_loop_level_list): * src/syntax.c (syntax_code_spec): * src/timefns.c (time_overflow): * src/xterm.c (x_xrender_color_from_gc_foreground) (x_display_set_last_user_time): Now static, since it’s not used elsewhere. * src/xterm.c (x_xrender_color_from_gc_foreground) (x_xrender_color_from_gc_background): Move earlier to avoid forward use. (x_xrender_color_from_gc_foreground): Do not define unless !defined USE_CAIRO && (RENDER_MAJOR > 0 || RENDER_MINOR >= 2), since it’s not used otherwise.
* | * src/frame.c (scroll_bar_adjust_thumb_portion_p): Adjust doc string.Po Lu2022-03-111-1/+1
| |
* | Improve scroll-bar-mode/default-frame-alist interaction docsLars Ingebrigtsen2022-03-041-4/+14
| | | | | | | | | | | | | | | | * lisp/scroll-bar.el (scroll-bar-mode): Mention default-frame-alist (bug#54237). * src/frame.c (syms_of_frame): Clarify further that setting this variable may have unintended consequences.
* | Add support for _NET_WM_STATE_SHADEDPo Lu2022-02-241-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/lispref/frames.texi (Management Parameters): Document new frame parameter `shaded'. * etc/NEWS: Announce new frame parameter. * src/frame.c (frame_parms) [HAVE_X_WINDOWS]: New frame parameter `shaded'. (syms_of_frame): New symbol `shaded'. * src/xfns.c (x_frame_parm_handlers): Install handler `x_set_shaded'. * src/xterm.c (x_set_shaded): New frame parameter handler. (x_get_current_wm_state): New parameter `shaded'. All callers changed. (x_net_wm_state): (x_handle_net_wm_state): Handle shaded state. (x_term_init): Intern new atom `shaded'. * src/xterm.h: Update prototypes.
* | Implement `alpha-background' on non-Cairo buildsPo Lu2022-01-311-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/frame.c (gui_set_alpha_background): Recompute basic faces so xft face ext info gets reset. * src/gtkutil.c (xg_create_frame_widgets): Attach to style updated signal. (xg_update_frame_menubar): Set menu bar visual correctly. (xg_widget_style_updated): New function. * src/xfns.c (x_set_alpha_background): New function. (x_frame_parm_handlers): Use x_set_alpha_background instead. * src/xfont.c (xfont_draw): * src/xftfont.c (xftfont_draw): Handle `alpha-background' parameter. * src/xterm.c (x_xr_ensure_picture): Export function. (x_update_opaque_region): New function. (x_fill_rectangle): New parameter `respect_alpha_background'. All callers changed. (handle_one_xevent): Set opaque region on ConfigureNotify. (x_drop_xrender_surfaces): Set opaque region. (x_xrender_color_from_gc_foreground): (x_xrender_color_from_gc_background): Premultiply alpha with components if asked for. * src/xterm.h (struct x_display_info): New atom `Xatom_net_wm_opaque_region'.
* | * lisp/frame.el: Don't require 'frameset.el' (bug#51883).Juri Linkov2022-01-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (clone-frame): Use frame-internal-parameters. (undelete-frame--handle-delete-frame): Instead of using frameset-save, save frame-parameters except frame-internal-parameters and 'display' on non-graphic display. Also save window-state from window-state-get. (undelete-frame): Instead of using frameset-restore, set default-frame-alist for make-frame (like in clone-frame), and restore window-state with window-state-put. * lisp/frameset.el (frameset-session-filter-alist): Append parameters from frame-internal-parameters with the filter :never. Remove :name that is now in frame-internal-parameters. (frameset-persistent-filter-alist): Remove outer-window-id, parent-id, window-id that are now in frame-internal-parameters, included here via frameset-session-filter-alist. * src/frame.c (frame-internal-parameters): New variable.
* | Add background transparency support for GTK+CairoHåkon Flatval2022-01-301-0/+29
| |
* | Rename system tooltip variables to `use-system-tooltips'Po Lu2022-01-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/frames.texi (Tooltips): * doc/emacs/haiku.texi (Haiku Basics): * doc/lispref/display.texi (Tooltips): Document `use-system-tooltips' instead. * etc/NEWS: Announce new option. * lisp/cus-start.el (standard): Add new option. * lisp/term/haiku-win.el (haiku-use-system-tooltips): * lisp/term/pgtk-win.el (x-gtk-use-system-tooltips): * lisp/term/x-win.el (x-gtk-use-system-tooltips): Add aliases for old options. * src/frame.c (syms_of_frame): New variable `use-system-tooltips'. * src/haikufns.c (Fx_show_tip): (syms_of_haikufns): * src/pgtkfns.c (x_hide_tip): (Fx_show_tip): (syms_of_pgtkfns): * src/xfns.c (x_hide_tip): (Fx_show_tip): (syms_of_xfns): Use `use-system-tooltips' instead of the old platform dependent options.
* | Revert "Add undelete-frame-max instead of undelete-frame-mode (bug#51883)"Eli Zaretskii2022-01-171-1/+1
| | | | | | | | | | | | This reverts commit 714e11d53534416b6519396a9df5d62054731810. That commit was unilateral and disregarded past discussions.
* | Add undelete-frame-max instead of undelete-frame-mode (bug#51883)Juri Linkov2022-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * doc/emacs/frames.texi (Frame Commands): Replace undelete-frame-mode with undelete-frame-max. * lisp/frame.el (undelete-frame-max): New defcustom, by default 1. (undelete-frame--handle-delete-frame): Use undelete-frame-max instead of hard-coded 16. (undelete-frame-mode): Remove function. (after-init-hook): Add hook undelete-frame--handle-delete-frame to delete-frame-functions using after-init-hook to not store the initial frame. (undelete-frame): Remove undelete-frame-mode. Use undelete-frame-max instead of hard-coded 16. * lisp/menu-bar.el (menu-bar-file-menu): Remove menu item undelete-frame-mode. * src/frame.c (Fdelete_frame): Replace `undelete-frame-mode' with `undelete-frame-max' in the docstring.
* | Undelete deleted frames.Gregory Heytings2022-01-131-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/frame.el (undelete-frame): New command. (undelete-frame--handle-delete-frame): New auxiliary function. (undelete-frame--deleted-frames): New auxiliary variables. (undelete-frame-mode): New minor mode. (ctl-x-5-map): Bind the new command. * etc/NEWS: Document the new command and minor mode. * src/frame.c (Fdelete_frame): Update docstring, and mention the minor mode. * lisp/menu-bar.el (menu-bar-file-menu): Add an entry for the new command. * doc/emacs/frames.tex (Frame Commands): Document the new command and minor mode. See bug#51883.
* | Minor improvements for 'pgtk' documentationEli Zaretskii2022-01-071-0/+2
| | | | | | | | | | | | | | | | | | | | * src/dispnew.c (syms_of_display) <initial-window-system> <window-system>: * src/frame.c (Fwindow_system): * doc/lispref/display.texi (Defining Faces, Window Systems): * doc/lispref/frames.texi (Frames): Mention/explain 'pgtk'/'haiku'. * doc/lispref/commands.texi (Misc Events): Fix @example and markup.
* | Merge from origin/emacs-28Eli Zaretskii2022-01-011-1/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 836be7a112 ; * etc/refcards/ru-refcard.tex: Update Copyright year. 86cbc6ee4a * lisp/net/tramp-sh.el: Adapt copyright year ebe8772f65 ; Minor fixes related to copyright years 23c1ee6989 ; * test/manual/etags/ETAGS.good_N: Adjust to copyright ye... 8d3fc7ec89 * src/xfaces.c (face_for_font): Make 'hash' be uintptr_t. 19dcb237b5 ; Add 2022 to copyright years. # Conflicts: # etc/NEWS # etc/refcards/ru-refcard.tex # lib/cdefs.h # lisp/erc/erc-dcc.el # lisp/erc/erc-imenu.el # lisp/erc/erc-replace.el # lisp/image-dired.el # lisp/progmodes/xref.el # m4/alloca.m4 # m4/byteswap.m4 # m4/errno_h.m4 # m4/getopt.m4 # m4/gnulib-common.m4 # m4/inttypes.m4 # m4/stddef_h.m4 # m4/stdint.m4 # m4/sys_socket_h.m4
| * ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
| |
* | * src/frame.c (gui_set_border_width): Revert confused changesYuuki Harano2021-12-061-7/+0
| |
* | Merge remote-tracking branch 'origin/master' into feature/pgtkPo Lu2021-11-301-0/+4
|\ \
| * | ; Fix a few haiku typosRobert Pluim2021-11-211-1/+1
| | | | | | | | | | | | | | | | | | * lisp/net/browse-url.el (browse-url-webpositive-program): Correct :version tag. * src/frame.c (Fframep): Fix quoting of "haiku".