aboutsummaryrefslogtreecommitdiffstats
path: root/src/pgtkfns.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* More PGTK related cleanupPo Lu2022-04-151-64/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/pgtkfns.c (x_set_foreground_color, x_set_background_color) (x_set_border_color, x_set_cursor_color, x_set_title) (x_set_menu_bar_lines, x_set_tab_bar_lines, x_set_tool_bar_lines) (x_set_child_frame_border_width, x_set_internal_border_width) (x_set_icon_type, x_set_icon_name, x_set_cursor_type) (x_set_mouse_color, x_set_undecorated, x_set_skip_taskbar) (x_set_override_redirect, pgtk_frame_parm_handlers) (Fx_create_frame): Rename most `x_' functions to `pgtk_' ones. All callers changed. * src/pgtkmenu.c (Fx_menu_bar_open_internal): Remove duplicate doc string definition. * src/pgtkterm.c (x_set_offset, pgtk_iconify_frame) (x_set_parent_frame, x_set_no_focus_on_map, x_set_no_accept_focus) (x_set_z_group, x_set_cursor_gc, x_set_mouse_face_gc) (x_set_mode_line_face_gc, x_set_glyph_string_gc) (x_set_glyph_string_clipping, x_set_glyph_string_clipping_exactly) (x_setup_relief_color, x_setup_relief_colors) (x_set_clip_rectangles, x_draw_relief_rect, x_draw_box_rect) (x_draw_glyph_string_box, x_draw_image_relief) (x_draw_image_foreground, x_draw_stretch_glyph_string) (pgtk_draw_glyph_string, x_set_toolkit_scroll_bar_thumb) (x_set_toolkit_horizontal_scroll_bar_thumb) (pgtk_set_vertical_scroll_bar, pgtk_set_horizontal_scroll_bar) (x_set_frame_alpha, frame_highlight, frame_unhighlight) (pgtk_create_terminal, map_event): Rename most `x_' functions to `pgtk_' ones. All callers changed. * src/pgtkterm.h: Update prototypes.
* Clean up some extraneous stuff in pgtkfns.cPo Lu2022-04-151-27/+1
| | | | | | * src/pgtkfns.c (Fx_gtk_debug): Fix doc string and remove extra version check. (syms_of_pgtkfns): Delete left over defvar from NS port.
* Remove more code mindlessly copied from NSPo Lu2022-04-071-1/+0
| | | | | | | * src/pgtkfns.c (Fx_open_connection): * src/pgtkselect.c (nxatoms_of_pgtkselect): * src/pgtkselect.h: * src/pgtkterm.h: Delete `nxatoms_of_pgtkselect'.
* Clean up more PGTK codePo Lu2022-04-061-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/term/pgtk-win.el (featurep): (pgtk): (pgtk-use-im-context): (pgtk-handle-nxopen): (pgtk-handle-nxopentemp): (pgtk-ignore-1-arg): ([C-drag-n-drop]): ([M-drag-n-drop]): ([C-M-drag-n-drop]): (pgtk-alternate-modifier): (pgtk-right-alternate-modifier): (pgtk-right-command-modifier): (pgtk-right-control-modifier): (pgtk-do-hide-emacs): (pgtk-hide-others): (pgtk-do-hide-others): (pgtk-emacs-info-panel): (pgtk-do-emacs-info-panel): (pgtk-next-frame): (pgtk-prev-frame): (after-make-frame-functions): (tool-bar-mode): (pgtk-toggle-toolbar): (pgtk-print-buffer): (scalable-fonts-allowed): (pgtk-standard-fontset-spec): (pgtk-store-cut-buffer-internal): (pgtk-copy-including-secondary): (pgtk-paste-secondary): (pgtk-suspend-error): (window-system-initialization): (after-init-hook): Remove code mindlessly copied from ns-win.el, delete unused custom group, write doc strings and rename variables duplicated from X to their names on X. Also reformat comments and code. (pgtk-use-im-context-handler): New function. * src/pgtkfns.c (syms_of_pgtkfns): Delete useless AppleScript (!) code copied from NS. * src/pgtkselect.c: Write FIXME about selection API usage. * src/pgtkterm.c (get_keysym_name): Implement correctly instead of sprintf'ing the numeric value of the keysym into a static buffer. (pgtk_set_window_size): (xg_scroll_callback): Delete code that was #if 0'd out and doesn't make sense on PGTK. (pgtk_delete_terminal): Remove misleading comment.
* Make GTK inspector available on PGTKPo Lu2022-03-171-0/+19
| | | | | * src/pgtkfns.c (Fx_gtk_debug): New function. (syms_of_pgtkfns): Define new subr.
* * src/pgtkfns.c (Fx_create_frame): Set `was_invisible' flag.Po Lu2022-02-131-4/+21
|
* Replace ptrdiff_t with new specpdl_ref type for specpdl referencesMattias Engdegård2022-02-121-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The specpdl_ref type is just an alias for ptrdiff_t; the compiled code remains the same. All operations on specpdl_ref (arithmetic, comparison etc) now go through inline functions. The bulk of the change is almost completely mechanical. It is done to prepare for a type-safe representation and subsequent performance improvement. * src/lisp.h (specpdl_ref, specpdl_count_to_ref, specpdl_ref_to_count) (specpdl_ref_eq, specpdl_ref_lt, specpdl_ref_valid_p) (make_invalid_specpdl_ref, specpdl_ref_add, specpdl_ref_to_ptr): New. (SPECPDL_INDEX, struct handler, USE_SAFE_ALLOCA, safe_free) (safe_free_unbind_to): * src/alloc.c (run_finalizer_function, inhibit_garbage_collection) (garbage_collect, Fgarbage_collect, which_symbols): * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start): * src/buffer.c (Fkill_buffer, Fset_buffer_major_mode, Fmove_overlay) (Fdelete_overlay): * src/bytecode.c (exec_byte_code): * src/callint.c (Ffuncall_interactively, Fcall_interactively): * src/callproc.c (Fcall_process, call_process, create_temp_file) (Fcall_process_region): * src/charset.c (load_charset_map_from_file): * src/coding.c (decode_coding_gap, decode_coding_object) (encode_coding_object, Fread_coding_system): * src/comp.c (emit_static_object, helper_unbind_n, load_comp_unit): * src/composite.c (update_compositions, autocmp_chars): * src/cygw32.c (conv_filename_to_w32_unicode) (conv_filename_from_w32_unicode): * src/data.c (notify_variable_watchers): * src/decompress.c (Fzlib_decompress_region): * src/dired.c (directory_files_internal, file_name_completion) (file_attributes): * src/dispnew.c (Fredisplay): * src/doc.c (get_doc_string, Fsnarf_documentation): * src/editfns.c (Fsave_excursion, Fsave_current_buffer) (Freplace_buffer_contents, Fsubst_char_in_region, Fsave_restriction) (styled_format): * src/emacs-module.c (Fmodule_load, funcall_module): * src/emacs.c (init_cmdargs, Fdump_emacs): * src/eval.c (call_debugger, do_debug_on_call, FletX, Flet) (Ffuncall_with_delayed_message, Funwind_protect) (internal_lisp_condition_case, signal_or_quit) (load_with_autoload_queue, Feval, grow_specpdl_allocation) (record_in_backtrace, eval_sub, Ffuncall, apply_lambda) (funcall_lambda, clear_unwind_protect, set_unwind_protect) (set_unwind_protect_ptr, unbind_to, Fbacktrace_eval): * src/fileio.c (Fmake_temp_file_internal, Fcopy_file, Frename_file) (Finsert_file_contents, write_region, Fdo_auto_save): * src/fns.c (Fyes_or_no_p, Frequire, hash_table_user_defined_call): * src/fringe.c (update_window_fringes): * src/gtkutil.c (xg_dialog_run): * src/haiku_io.c (c_specpdl_idx_from_cxx): * src/haiku_support.cc (be_popup_file_dialog): * src/haiku_support.h (c_specpdl_idx_from_cxx): * src/haikufns.c (haiku_create_frame, haiku_create_tip_frame) (haiku_hide_tip, Fx_show_tip, Fhaiku_read_file_name): * src/haikumenu.c (haiku_popup_dialog, set_frame_menubar): * src/image.c (slurp_file): * src/indent.c (line_number_display_width, Fvertical_motion): * src/insdel.c (signal_before_change, signal_after_change) (Fcombine_after_change_execute): * src/intervals.c (get_local_map): * src/json.c (lisp_to_json_nonscalar_1, Fjson_serialize, Fjson_insert) (Fjson_parse_string, Fjson_parse_buffer): * src/keyboard.c (recursive_edit_1, Frecursive_edit, cmd_error) (Finternal_track_mouse, command_loop_1, read_menu_command) (safe_run_hooks, read_event_from_main_queue, read_char, timer_check_2) (menu_item_eval_property, read_key_sequence, read_key_sequence_vs) (Fsuspend_emacs): * src/keymap.c (Fcurrent_active_maps, Fdescribe_vector) (Fhelp__describe_vector): * src/lread.c (Fload, save_match_data_load, readevalloop) (Feval_buffer, Feval_region, grow_read_buffer, read_integer, read1): * src/macros.c (Fexecute_kbd_macro): * src/menu.c (x_popup_menu_1): * src/minibuf.c (read_minibuf, set_minibuffer_mode) (read_minibuf_unwind, Fread_string, Fread_buffer): * src/nsfns.m (Fx_create_frame, Fx_show_tip): * src/nsmenu.m (ns_update_menubar, ns_menu_show, ns_popup_dialog): * src/pdumper.c (Fdump_emacs_portable): * src/pgtkfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fpgtk_print_frames_dialog, Fx_file_dialog, Fx_select_font): * src/pgtkmenu.c (set_frame_menubar, create_and_show_popup_menu) (pgtk_menu_show, create_and_show_dialog, pgtk_dialog_show) (pgtk_popup_dialog): * src/pgtkterm.c (pgtk_cr_export_frames): * src/print.c (PRINTPREPARE, temp_output_buffer_setup) (Fprin1_to_string, print_vectorlike): * src/process.c (Fmake_process, create_process, Fmake_pipe_process) (Fmake_serial_process, connect_network_socket, Fmake_network_process) (network_interface_info, server_accept_connection) (wait_reading_process_output, read_process_output, exec_sentinel): * src/regex-emacs.c (re_match_2_internal): * src/search.c (looking_at_1, fast_looking_at, search_buffer_re): * src/sound.c (Fplay_sound_internal): * src/sysdep.c (system_process_attributes): * src/term.c (tty_menu_show): * src/textprop.c (Fnext_single_char_property_change) (Fprevious_single_char_property_change, add_text_properties_1) (set_text_properties, set_text_properties_1, Fremove_text_properties) (Fremove_list_of_text_properties): * src/thread.c (Fmutex_lock, invoke_thread_function): * src/undo.c (truncate_undo_list): * src/w32fns.c (Fx_create_frame, w32_create_tip_frame, w32_hide_tip) (Fx_show_tip, Fx_file_dialog): * src/w32font.c (Fx_select_font): * src/w32menu.c (set_frame_menubar): * src/window.c (window_list, next_window, window_list_1) (run_window_configuration_change_hook, Frun_window_scroll_functions) (run_window_change_functions, set_window_buffer) (temp_output_buffer_show, window_scroll, scroll_command) (Fscroll_other_window, Fscroll_other_window_down): * src/xdisp.c (safe__call, handle_fontified_prop, handle_face_prop) (handle_single_display_spec, Fbuffer_text_pixel_size) (message_dolog, with_echo_area_buffer, setup_echo_area_for_printing) (display_echo_area, set_message, clear_message, echo_area_display) (gui_consider_frame_title, prepare_menu_bars, update_menu_bar) (update_tab_bar, update_tool_bar, redisplay_internal) (redisplay_preserve_echo_area, run_window_scroll_functions) (redisplay_window, extend_face_to_end_of_line) (display_count_lines_logically, display_count_lines_visually) (display_mode_lines, display_mode_line, Fformat_mode_line) (decode_mode_spec): * src/xfns.c (Fx_create_frame, x_create_tip_frame, x_hide_tip) (Fx_show_tip, Fx_file_dialog, Fx_select_font, Fx_print_frames_dialog): * src/xmenu.c (set_frame_menubar, create_and_show_popup_menu) (x_menu_show, create_and_show_dialog, x_dialog_show) (xw_popup_dialog): * src/xselect.c (x_get_local_selection, x_reply_selection_request) (x_handle_selection_request, wait_for_property_change): * src/xterm.c (x_cr_export_frames, x_connection_closed): Replace ptrdiff_t with specpdl_ref for referencing specpdl and use the corresponding functions instead of direct arithmetic.
* Ignore tooltip frames when setting PGTK scrollbar foregroundPo Lu2022-02-101-0/+3
| | | | | * src/pgtkfns.c (pgtk_set_scroll_bar_foreground): Ignore tip frames. (bug#53900)
* * src/pgtkfns.c (Fx_create_frame): Realize frame widgets. (bug#53861)Po Lu2022-02-081-0/+8
|
* Clean up more code from PGTK portPo Lu2022-02-071-55/+9
| | | | | | | | | | | | | | | | | | | | | | | * lisp/term/pgtk-win.el (pgtk-disown-selection-internal) (pgtk-get-selection-internal): Fix declarations for new calling conventions. * src/gtkutil.c (xg_frame_set_char_size, x_wm_set_size_hint): Clean up meaningless variables on PGTK. * src/pgtkfns.c (Fx_create_frame, syms_of_pgtkfns): Clean up meaningless variables and fix copied doc strings to use "skip". * src/pgtkim.c (im_context_commit_cb) (im_context_retrieve_surrounding_cb) (im_context_delete_surrounding_cb, make_color_string) (im_context_preedit_changed_cb, im_context_preedit_end_cb) (im_context_preedit_start_cb): Fix coding style. * src/pgtkselect.c (pgtk_selection_usable) (Fpgtk_disown_selection_internal, Fpgtk_get_selection_internal): Remove unused arguments. (syms_of_pgtkselect): Fix doc strings and old style variable declarations. * src/pgtkterm.c (x_set_offset, x_set_parent_frame) (syms_of_pgtkterm): Clean up doc strings and remove meaningless variables.
* Clean up lots of #ifdef'd out code in PGTK filesPo Lu2022-02-061-80/+5
| | | | | | | | | | | | | | | | | | | Most of them are either relics from X or from the NS code pgtkfns.c was copied from whole. * src/pgtkfns.c (x_icon): (pgtk_set_scroll_bar_foreground): (pgtk_set_scroll_bar_background): (Fx_create_frame): (pgtk_window_is_ancestor): (x_create_tip_frame): * src/pgtkselect.c (syms_of_pgtkselect): * src/pgtkterm.c (pgtk_iconify_frame): (x_set_frame_alpha): (button_event): Remove defined out code that cannot make sense. * src/pgtkmenu.c (show_help_event): Remove ifdef'd out code and reword comment.
* Implement `alpha-background' on PGTKPo Lu2022-01-311-2/+20
| | | | | | | | | | | | | | | | | | | * src/ftcrfont.c (ftcrfont_draw): Respect alpha-background where appropriate. * src/gtkutil.c (xg_create_frame_widgets): Swap some conditionals around to get the right visual and signal handlers on PGTK. (xg_widget_style_updated): Likewise. * src/pgtkfns.c (pgtk_set_alpha_background): New function. (pgtk_frame_parm_handlers): Add it instead of the generic param handler. (Fx_create_frame): Fix typo. * src/pgtkterm.c (pgtk_fill_rectangle): (pgtk_set_cr_source_with_gc_foreground): (pgtk_set_cr_source_with_gc_background): (pgtk_set_cr_source_with_color): New argument `respect_alpha_backend'. All callers changed. * src/pgtkterm.h: Update function prototypes.
* Add background transparency support for GTK+CairoHåkon Flatval2022-01-301-0/+5
|
* Rename system tooltip variables to `use-system-tooltips'Po Lu2022-01-191-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Fix special-cased cursor foreground and background correctly on PGTKPo Lu2022-01-071-1/+13
| | | | | | * src/pgtkfns.c (x_set_foreground_color): (x_set_background_color): Set cursor color as well if appropriate. (bug#53073)
* Fix display of internal border in child frames on pgtkPo Lu2022-01-051-8/+6
| | | | | | | * src/pgtkfns.c (Fx_create_frame): Fix child frame border resource names. * src/pgtkterm.c (pgtk_clear_under_internal_border): Fix test for child frames. (bug#53018)
* Add column width to tooltip frame width on pgtkPo Lu2022-01-021-0/+1
| | | | | * src/pgtkfns.c (Fx_show_tip): Add column width to width to avoid an odd problem in the GTK allocation code. (bug#52705)
* ; Add 2022 to copyright years.Eli Zaretskii2022-01-011-1/+1
|
* Fix Emacs tooltips on PGTKPo Lu2021-12-251-3/+5
| | | | | | * src/pgtkfns.c (x_create_tip_frame): Don't set cursor and show window. (Fx_show_tip): Set cursor and show window.
* Remove useless functions from PGTK port that were breaking emacsbugPo Lu2021-12-241-38/+0
| | | | | | * src/pgtkfns.c (Fx_server_vendor, Fx_server_version): Remove useless functions that returned invalid values. (syms_of_pgtkfns): Stop defining removed subrs.
* Clean up some of PGTK codeEli Zaretskii2021-12-181-32/+16
| | | | | | | | * src/pgtkgui.h: Fix comments. * src/image.c (DONT_CREATE_TRANSFORMED_IMAGEMAGICK_IMAGE) (is_wayland_display, check_x_display_info) (pgtk_get_string_resource): Reformat comments. * src/gtkutil.c (xg_show_tooltip): Add comments to large #ifdef's.
* * src/pgtkfns.c (Fx_show_tip): Adjust call for new signature.Po Lu2021-12-181-1/+2
|
* Fix coding stylePo Lu2021-12-061-11/+17
| | | | | | | | | | | | * src/pgtkfns.c (frame_geometry): * src/pgtkterm.c (x_set_parent_frame): (pgtk_text_icon): (key_release_event): (configure_event): (map_event): (window_state_event): (delete_event): (enter_notify_event): Fix coding style.
* Fix coding style of a recent changePo Lu2021-12-041-2/+3
| | | | * src/pgtkfns.c (update_watched_scale_factor): Fix coding style.
* Keep track of scale factor by atimer and recreate cairo_surface_tYuuki Harano2021-12-041-1/+23
| | | | | | | | | | | | | | | | | | | Otherwise texts become blurry when a frame moved from 1x monitor to 2x monitor. I need GTK's such signal, but there isn't. Instead I watch frame's monitor's scale factor periodically. We can see blurriness for a short time, but it is gone soon. * src/pgtkfns.c (update_watched_scale_factor): New function to check scale factor and recreate cairo_surface_t if changed. * src/pgtkfns.c (Fx_create_frame): Initialize atimer. (Fx_show_tip): Add an argument. * src/pgtkterm.c (FRAME_CR_SURFACE_DESIRED_WIDTH): Move macros to pgtkterm.h (x_free_frame_resources): Free atimer. (size_allocate): Add an argument. (pgtk_cr_update_surface_desired_size): Add an argument. Recreate if it is true. * src/pgtkterm.h (struct pgtk_output): New members. (FRAME_CR_SURFACE_DESIRED_HEIGHT): Move macros from pgtkterm.c
* Get rid of duplicate pgtk functionPo Lu2021-12-021-39/+0
| | | | | * src/pgtkfns.c (Fpgtk_popup_font_panel): Remove function. (syms_of_pgtkfns): Get rid of removed subr.
* Fix `menu-set-font' on pgtkPo Lu2021-12-021-0/+47
| | | | | * src/pgtkfns.c (Fx_select_font): New function. (syms_of_pgtkfns): Define new subr.
* Use /* */ comment style instead of //Yuuki Harano2021-11-301-2/+2
| | | | | | | | | | | | | * src/gtkutil.c (xg_create_frame_widgets): * src/pgtkfns.c (Fx_create_frame): (frame_geometry): * src/pgtkterm.c (pgtk_mouse_position): (pgtk_redisplay_interface): (pgtk_clear_frame): (pgtk_create_terminal): (struct pgtk_window_is_of_frame_recursive_t): (key_press_event): (syms_of_pgtkterm):
* Remove PGTK_DEBUG stuffYuuki Harano2021-11-241-71/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * src/gtkutil.c: (xg_create_frame_widgets): (xg_create_frame_outer_widgets): (x_wm_set_size_hint): (xg_set_toolkit_scroll_bar_thumb): * src/pgtkfns.c (x_set_background_color): (pgtk_set_name): (x_explicitly_set_name): (pgtk_implicitly_set_name): (x_set_title): (Fx_create_frame): (Fpgtk_set_mouse_absolute_pixel_position): (pgtk_log): (pgtk_backtrace): * src/pgtkselect.c (get_func): (clear_func): (pgtk_selection_lost): (Fpgtk_own_selection_internal): (Fpgtk_disown_selection_internal): (Fpgtk_selection_exists_p): (Fpgtk_selection_owner_p): (nxatoms_of_pgtkselect): (syms_of_pgtkselect): * src/pgtkterm.c (flip_cr_context): (get_keysym_name): (frame_set_mouse_pixel_position): (x_free_frame_resources): (x_destroy_window): (x_set_offset): (pgtk_set_window_size): (pgtk_iconify_frame): (pgtk_make_frame_visible): (pgtk_make_frame_invisible): (pgtk_new_font): (x_display_pixel_height): (x_display_pixel_width): (x_set_no_focus_on_map): (x_set_no_accept_focus): (x_set_z_group): (x_set_cursor_gc): (x_set_glyph_string_gc): (x_set_glyph_string_clipping): (x_draw_glyph_string_background): (pgtk_draw_glyph_string): (pgtk_after_update_window_line): (pgtk_clear_frame_area): (pgtk_draw_window_cursor): (pgtk_copy_bits): (pgtk_cr_draw_image): (pgtk_draw_fringe_bitmap): (pgtk_redraw_scroll_bars): (pgtk_clear_frame): (pgtk_read_socket): (pgtk_select): (xg_scroll_callback): (xg_end_scroll_callback): (pgtk_set_vertical_scroll_bar): (set_fullscreen_state): (pgtk_fullscreen_hook): (pgtk_handle_event): (pgtk_fill_rectangle): (pgtk_clear_under_internal_border): (print_widget_tree_recursive): (print_widget_tree): (pgtk_handle_draw): (size_allocate): (key_press_event): (key_release_event): (map_event): (delete_event): (enter_notify_event): (leave_notify_event): (focus_in_event): (focus_out_event): (motion_notify_event): (button_event): (scroll_event): (drag_data_received): (pgtk_xlfd_to_fontname): (pgtk_defined_color): (pgtk_parse_color): (pgtk_query_colors): (pgtk_query_color): (pgtk_clear_area): (pgtk_cr_update_surface_desired_size): (pgtk_begin_cr_clip): (pgtk_end_cr_clip): (pgtk_set_cr_source_with_gc_foreground): (pgtk_set_cr_source_with_gc_background): (pgtk_set_cr_source_with_color): (pgtk_cr_draw_frame): (pgtk_cr_destroy_frame_context): * src/pgtkterm.h:
* Fix coding styleYuuki Harano2021-11-141-16/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Especially, insert a space between function name and paren. * src/alloc.c (garbage_collect): * src/font.h: * src/frame.h: * src/fringe.c: * src/gtkutil.c (xg_set_screen): (xg_create_frame_widgets): (xg_create_frame_outer_widgets): (xg_get_file_name): (xg_get_font): (xg_update_scrollbar_pos): * src/image.c (image_create_bitmap_from_file): (xpm_load_image): * src/pgtkfns.c (pgtk_get_monitor_scale_factor): (is_wayland_display): (pgtk_display_info_for_name): (INSTALL_CURSOR): (Fx_create_frame): (Fx_display_mm_height): (Fx_display_mm_width): (Fx_display_pixel_width): (Fx_display_pixel_height): * src/pgtkselect.c (pgtk_selection_usable): (Fpgtk_own_selection_internal): (Fpgtk_get_selection_internal): * src/pgtkterm.c: (x_set_parent_frame): (pgtk_draw_fringe_bitmap): (pgtk_handle_draw): (scroll_event): (pgtk_text_scaling_factor): (pgtk_term_init): * src/pgtkterm.h: * src/window.h: * src/xdisp.c (redisplay_internal): (draw_glyphs_debug): (draw_glyphs): (note_mouse_highlight):
* Revert "Revert "* src/pgtkfns.c: Do not show an empty frame prematurely""Yuuki Harano2021-06-181-2/+7
| | | | | | | This reverts commit b0d688673b0be774c3735eef304f69568bd59bcf. The commit 83c35b8 causes the empty frame bug, so I reverted. Now, I debugged so re-apply the commit.
* Revert "* src/pgtkfns.c: Do not show an empty frame prematurely"Yuuki Harano2021-06-141-7/+2
| | | | This reverts commit 83c35b86da233870231e30d114ffa4640eb10081.
* Revert "; * src/pgtkfns.c (Fx_create_frame): Fix coding style"Yuuki Harano2021-06-141-8/+7
| | | | This reverts commit 4b91168c657e3476b8a0a3f539ee6bcb1b71e3d5.
* ; * src/pgtkfns.c (Fx_create_frame): Fix coding styleYuuki Harano2021-06-131-7/+8
|
* * src/pgtkfns.c: Do not show an empty frame prematurelyJindřich Makovička2021-06-131-2/+7
| | | | | Set only the child widgets visible, leave the outer window to pgtk_make_frame_visible .
* Support frame-scale-factor on pgtk framesYuuki Harano2021-06-051-0/+20
| | | | | | | * src/pgtkfns.c (pgtk_frame_scale_factor): New function to get frame scale factor. * src/frame.h: Call it when a pgtk frame. * src/pgtkterm.h: Add the declaration.
* Treat all the wayland connection as the same displayYuuki Harano2021-05-141-3/+35
| | | | | | | | | | | | | | | | On Wayland, even if without WAYLAND_DISPLAY, --display DISPLAY works, but gdk_display_get_name() always return "wayland-0", which may be different from DISPLAY. If with WAYLAND_DISPLAY, then it always returns WAYLAND_DISPLAY. So pgtk emacs is confused and enter multi display environment. To workaround this situation, treat all the wayland-* as the same display. * src/pgtkfns.c (is_wayland_display): New function to decide it is a wayland connection. (pgtk_display_info_for_name): If both are wayland connection, then they are the same display.
* Entrust Gtk with handling tooltipsYuuki Harano2021-05-081-7/+4
| | | | | | | | | | | | | | | | | Previously, tooltips for menu items are below the menu. To solve it, set tooltip text on menu items in advance, and entrust gtk with handling tooltips. * src/gtkutil.c (xg_show_tooltip): New function for pgtk to set tooltip text on the widget. (xg_hide_tooltip): New function for pgtk to clear tooltip text on the widget. (xg_create_frame_widgets): Don't set initial tooltips text, and don't use qttip_cb. (xg_create_frame_outer_widgets): Ditto. (make_menu_item): Set tooltip text on the menu item. * src/gtkutil.h: New declaration of xg_show_tooltip for pgtk. * src/pgtkfns.c (Fx_show_tip): Calls xg_show_tooltip, and always ok.
* Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs into feature/pgtkYuuki Harano2021-04-271-48/+21
|
* Make scrollbars ignore scroll-bar-fore/background.Yuuki Harano2021-02-231-0/+10
| | | | | | * src/pgtkfns.c (pgtk_set_scroll_bar_foreground): Handle frame parameters but actually ignore it. (pgtk_set_scroll_bar_background): The same.
* Don't crash if we can't find a monitor model nameRobert Pluim2021-02-111-0/+3
| | | | | | | This can happen when running emacs over a forwarded X11 connection. * src/pgtkfns.c (pgtk_get_monitor_scale_factor): Return 0 if we're passed a NULL model name.
* Support child frame border widthYuuki Harano2021-01-311-0/+38
| | | | | | | | * src/pgtkfns.c (x_set_child_frame_border_width): Port code for X. (pgtk_frame_parm_handlers): Add hook. (Fx_create_frame): Get default parameter. * src/pgtkterm.c (x_draw_stretch_glyph_string): Re-port code for X. (pgtk_clear_under_internal_border): Re-port code for X.
* Add scale factor in display-monitor-attributes-list.Yuuki Harano2021-01-241-0/+1
| | | | | | | | * lisp/frame.el (display-monitor-attributes-list): Add the comment. * src/frame.c (make_monitor_attribute_list): Include the scale factor value. (syms_of_frame): Declare intern'ed scale-factor. * src/frame.h (struct MonitorInfo): Add scale_factor member. * src/pgtkfns.c (Fpgtk_display_monitor_attributes_list): Set the value.
* Add a function to set monitor scale factor manuallyYuuki Harano2021-01-041-22/+102
| | | | | | | | | | | | | | * src/pgtkfns.c (pgtk_get_monitor_scale_factor): New function to get manual scale factor from alist. (Fpgtk_set_monitor_scale_factor): New function to set manual scale factor into alist. (Fx_display_pixel_width): Use manual scale factor first, if not set, use gdk's one. (Fx_display_pixel_height): Use manual scale factor first, if not set, use gdk's one. (Fpgtk_display_monitor_attributes_list): Use manual scale factor first, if not set, use gdk's one. (syms_of_pgtkfns): initialize alist.
* Fix display-pixel-width/height to return physical pixel size.Yuuki Harano2021-01-031-2/+56
| | | | | * src/pgtkfns.c (Fx_display_pixel_width): (Fx_display_pixel_height): Return bottom/right-most of all the monitors.
* Make display-mm-width/height consider multi-monitor.Yuuki Harano2021-01-031-6/+52
| | | | | | * src/pgtkfns.c (Fx_display_mm_height): (Fx_display_mm_width): Calculate width/height mm assuming monitor other than origin does not overlap.
* Fix pgtk-display-monitor-attributes-list to return physical pixel sizes.Yuuki Harano2021-01-031-80/+79
| | | | * src/pgtkfns.c (Fpgtk_display_monitor_attributes_list): Re-port it.
* Follow get-buffer-create changeYuuki Harano2020-12-271-1/+1
| | | | * src/pgtkfns.c (Fx_show_tip): Pass nil to get-buffer-create.
* Enable harfbuzzYuuki Harano2020-11-281-0/+3
| | | | * src/pgtkfns.c (Fx_create_frame): Register ftcrhb font driver if enabled.
* Fix compilation issue when --enable-checking=glyphsYuuki Harano2020-11-251-8/+0
| | | | | * src/pgtkfns.c (Fx_create_frame): Remove code surrounded by GLYPH_DEBUG. (x_create_tip_frame): Remove code surrounded by GLYPH_DEBUG.