aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32term.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* * w32term.c (x_unfocus_frame): Remove unused dummy function.Dmitry Antipov2013-08-021-5/+0
|
* Do not use pure Xism x_wm_set_icon_position in non-X ports.Dmitry Antipov2013-08-011-16/+0
| | | | | | | | | * frame.c (x_set_frame_parameters): Call to x_wm_set_icon_position only if HAVE_X_WINDOWS is in use. * frame.h (x_set_frame_parameters): Move under HAVE_X_WINDOWS. * nsterm.m (x_wm_set_icon_position): Remove no-op. * w32term.c (x_wm_set_icon_position): Likewise. * w32fns.c (x_icon): Adjust user.
* * fringe.c (draw_window_fringes, update_window_fringes)Dmitry Antipov2013-07-301-2/+2
| | | | | | | | | | | | | | | | | | | (compute_fringe_widths): * w32term.c (x_draw_glyph_string): * window.c (candidate_window_p, Frecenter): * xfaces.c (realize_basic_faces, realize_default_face) (Fbitmap_space_p, Finternal_set_lisp_face_attribute) (x_update_menu_appearance, face_attr_equal_p, lface_equal_p): * xfns.c (x_set_cursor_color, xic_free_xfontset): * xmenu.c (Fx_menu_bar_open_internal): * xselect.c (x_reply_selection_request, Fx_get_atom_name): * xsettings.c (xft_settings_event): * xterm.c (x_draw_glyph_string, x_had_errors_p): Use bool for booleans. Adjust style and comments where appropriate. * dispextern.h (draw_window_fringes, update_window_fringes) (compute_fringe_widths): * xterm.h (x_had_errors_p): Adjust prototype.
* Fix focus-out events on MS-Windows.Eli Zaretskii2013-07-271-6/+1
| | | | | | | src/w32term.c (w32_read_socket) <WM_KILLFOCUS>: Call w32_detect_focus_change instead of doing part of its job by hand. This fixes the problem whereby FOCUS_OUT events were not sent to the event queue.
* Fix bug #14841 with invisible frames on MS-Windows.Eli Zaretskii2013-07-261-3/+8
| | | | | | | | src/w32term.c (w32_read_socket) <WM_EMACS_PAINT>: Warn about frame being re-exposed only if it didn't ask to become visible. <WM_SIZE>: Under SIZE_RESTORED, only set the frame visible if it was previously iconified. (x_iconify_frame): Mark the frame iconified.
* Followup to 2013-07-16T11:41:06Z!jan.h.d@swipnet.se.Juanma Barranquero2013-07-181-3/+12
| | | | | | | * lisp/frame.el (blink-cursor-timer-function, blink-cursor-suspend): Add check for W32. * src/keyboard.c (kbd_buffer_get_event): * src/w32term.c (x_focus_changed): Port FOCUS_(IN|OUT)_EVENT changes to W32.
* Prevent leak in GDI objects (bug #14850).Eli Zaretskii2013-07-131-1/+4
| | | | | src/w32term.c (x_draw_hollow_cursor): Delete the brush object when returning early.
* Use emacs_open more consistently when opening files.Paul Eggert2013-07-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This handles EINTR more consistently now, and makes it easier to introduce other uniform changes to file descriptor handling. * src/systdio.h: New file. * src/buffer.c (mmap_init): * cygw32.c (chdir_to_default_directory): * dispnew.c (Fopen_termscript): * emacs.c (Fdaemon_initialized): * fileio.c (Fdo_auto_save): * image.c (slurp_file, png_load_body, jpeg_load_body): * keyboard.c (Fopen_dribble_file): * lread.c (Fload): * print.c (Fredirect_debugging_output): * sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory): * termcap.c (tgetent): * unexaix.c, unexcoff.c (unexec, adjust_lnnoptrs): * unexcw.c, unexelf.c, unexhp9k800.c, unexmacosx.c (unexec): * w32term.c (w32_initialize) [CYGWIN]: * xfaces.c (Fx_load_color_file): Use emacs_open instead of plain open, and emacs_fopen instead of plain fopen. * dispnew.c, fileio.c, image.c, keyboard.c, lread.c, print.c, sysdep.c: * xfaces.c: Include sysstdio.h rather than stdio.h, for emacs_fopen. * callproc.c (default_output_mode): New constant. (Fcall_process): Use it to call emacs_open instead of plain creat. * dispnew.c (Fopen_termscript): Fix minor race in opening termscript. * sysdep.c (emacs_open): Add commentary and don't call file name "path". (emacs_fopen): New function. * unexaix.c, unexcoff.c, unexelf.c, unexhp9k800.c, unexmacosx.c: Include <lisp.h>, for emacs_open. * unexelf.c (fatal): Remove decl; not needed with <lisp.h> included.
* Add multi-monitor support on W32.YAMAMOTO Mitsuharu2013-07-041-6/+21
|
* Yet another attempt at fixing bugs #14602, 14630, 14669.Eli Zaretskii2013-06-201-0/+6
| | | | | | | | | | | src/w32fns.c (w32_wnd_proc): Don't compute the header line and mode line dimensions here, to avoid race conditions with the main thread. src/w32term.c (w32_draw_window_cursor): Compute the header line and mode line dimensions here. <w32_system_caret_window, w32_system_caret_hdr_height>: <w32_system_caret_mode_height>: New variables. src/w32term.h: Declare them.
* * configure.ac (HAVE_GFILENOTIFY): Do not change $LIBS.Eli Zaretskii2013-06-031-2/+5
| | | | | | | | | | | | | | | (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): Substitute. * nt/config.nt: Add HAVE_GFILENOTIFY, HAVE_W32NOTIFY and USE_FILE_NOTIFY. * src/Makefile.in (GFILENOTIFY_CFLAGS, GFILENOTIFY_LIBS): New variables. (ALL_CFLAGS): Add $(GFILENOTIFY_CFLAGS). (LIBES): Add $(GFILENOTIFY_LIBS). * src/w32inevt.c (handle_file_notifications): Add dummy implementation for !HAVE_W32NOTIFY. * src/w32term.c: Wrap code with HAVE_W32NOTIFY.
* * src/w32fns.c (w32_fullscreen_rect): New function to compute theErik Charlebois2013-04-131-78/+30
| | | | | | | | | | window rectangle for the given fullscreen mode. (w32_wnd_proc): When in a fullscreen mode, WM_WINDOWPOSCHANGING no longer tunes the window size. This keeps the window's edges flush with the screen and allows the taskbar to hide itself in fullboth. * src/w32term.c (w32fullscreen_hook): fullboth now shows without window decorations and uses the entire screen.
* Spelling fixes.Paul Eggert2013-04-011-1/+1
|
* Fix more incompatibilities between MinGW.org and MinGW64 headersEli Zaretskii2013-03-261-2/+3
| | | | | | | | | | | | | | | | | | | | | | | Reported by ׃scar Fuentes in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00699.html and in http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00707.html. nt/inc/ms-w32.h (USE_NO_MINGW_SETJMP_TWO_ARGS) [_W64]: Define to 1. For MinGW64, include sys/types.h and time.h. nt/inc/sys/time.h (struct timeval) [!_W64]: Guard definition with _W64. (struct timezone) [!_TIMEZONE_DEFINED]: Guard definition with _TIMEZONE_DEFINED. nt/addpm.c (_WIN32_IE) [_W64]: For MinGW64, don't define to 0x400. nt/inc/sys/stat.h: Remove _CRTIMP from prototypes of fstat, stat, lstat, and fstatat. lib-src/ntlib.c (struct timespec) [!_TIMEZONE_DEFINED]: Define the struct only if _TIMEZONE_DEFINED is not defined. src/w32term.c (WCRANGE, GLYPHSET): Don't define if _W64 is defined. src/w32.c (REPARSE_DATA_BUFFER): Guard with MAXIMUM_REPARSE_DATA_BUFFER_SIZE being defined.
* * src/w32term.c (w32_initialize): Silence compiler warning.Ken Brown2013-03-231-1/+1
|
* Fix fullscreen resizing of multiple frames on MS-Windows.Eli Zaretskii2013-03-231-24/+23
| | | | | | | | | | | | | | | src/w32term.h (struct w32_output): New members normal_width, normal_height, normal_top, normal_left, and prev_fsmode. (FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, FRAME_NORMAL_TOP) (FRAME_NORMAL_LEFT, FRAME_PREV_FSMODE): New macros to access these members of a frame. src/w32term.c (w32fullscreen_hook): Use FRAME_NORMAL_WIDTH, FRAME_NORMAL_HEIGHT, and FRAME_PREV_FSMODE, instead of static variables, to save and restore frame dimensions. Use FRAME_NORMAL_LEFT and FRAME_NORMAL_TOP to restore frame position after returning from a 'fullscreen' configuration. use SendMessage instead of PostMessage to send the SC_RESTORE message, to avoid races between the main thread and the input thread.
* Fix bug #14032 with restoring frame dimensions on MS-Windows.Eli Zaretskii2013-03-231-16/+28
| | | | | | | | | | | | | src/w32term.c (w32fullscreen_hook): Record last value of the frame's 'fullscreen' parameter. Always record previous width and height of the frame, except when switching out of maximized modes, so that they could be restored correctly, instead of resetting to the default frame dimensions. Send SC_RESTORE command to the frame, unless we are going to send SC_MAXIMIZE, to restore the frame resize hints in the mouse pointer shown by the window manager. src/frame.c (get_frame_param): Now extern for WINDOWSNT as well. src/lisp.h (get_frame_param): Adjust conditions for prototype declaration.
* Match the effect of FULLSCREEN_BOTH and FULLSCREEN_MAXIMIZED to docs on Windows.Eli Zaretskii2013-03-151-2/+2
| | | | | | | src/w32term.c (w32fullscreen_hook): Swap FULLSCREEN_BOTH and FULLSCREEN_MAXIMIZED. Fixes: debbugs:13935
* Fix bug #13953 with spontaneous frame resizes on MS-Windows.Eli Zaretskii2013-03-141-15/+12
| | | | | | | | | src/w32term.c (w32_read_socket) <WM_WINDOWPOSCHANGED>: Remove old and incorrect code. Treat WM_WINDOWPOSCHANGED like WM_ACTIVATE and WM_ACTIVATEAPP. (w32fullscreen_hook): If the frame is visible, reset f->want_fullscreen flag after changing the frame size. If the frame is not visible, set f->want_fullscreen to FULLSCREEN_WAIT.
* Fix bug #13937 with creating a maximized frame on MS-Windows.Eli Zaretskii2013-03-131-1/+11
| | | | | | src/w32term.c (w32_read_socket): If we Emacs frame is being activated, call w32fullscreen_hook, to make sure the new frame dimensions are in effect.
* 2013-03-10 Daniel Colascione <dancol@dancol.org>Daniel Colascione2013-03-101-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | * w32term.h (GUISTR, GUI_ENCODE_FILE, GUI_ENCODE_SYSTEM, GUI_FN) (GUI_SDATA, guichar_t): Macros to abstract out differences between NTGUI_UNICODE and !NTGUI_UNICODE builds, some moved out of w32fns.c. * w32term.c (construct_drag_n_drop): Use the above macros to make drag-and-drop work for non-ASCII filenames in cygw32 builds. * w32fns.c (x_set_name, x_set_title): Use the above macros to properly display non-ASCII frame titles in cygw32 builds. * w32fns.c (Fw32_shell_execute): Use the above macros to properly call ShellExecute in cygw32 builds. * w32fn.c (Fx_file_dialog): Use the above macros to simplify the common file dialog code. * w32fns.c (Ffile_system_info): Remove from cygw32 builds, which can just use du like other systems. * coding.c (from_unicode_buffer): Declare. * coding.c (from_unicode_buffer): Implement.
* Don't use __STDC__ on MS-Windows unless necessary (Bug #9066).Eli Zaretskii2013-02-161-4/+0
| | | | | | nt/inc/ms-w32.h (__STDC__): Fiddle with value only for MSVC. src/w32term.c <input_signal_count>: Declare 'volatile' unconditionally.
* Drop async_visible and async_iconified fields of struct frame.Dmitry Antipov2013-01-241-69/+69
| | | | | | | | | | | | | | | | | | | | This is possible because async input is gone; for details, see http://lists.gnu.org/archive/html/emacs-devel/2012-12/msg00734.html. * frame.h (struct frame): Remove async_visible and async_iconified members, convert garbaged to unsigned bitfield. Adjust comments. (FRAME_SAMPLE_VISIBILITY): Remove. Adjust all users. (SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED): New macros. * frame.c, gtkutil.c, term.c, w32fns.c, window.c, xdisp.c: Consistently use SET_FRAME_VISIBLE, SET_FRAME_ICONIFIED, FRAME_VISIBLE_P and FRAME_ICONIFIED_P macros where appropriate. * w32term.c: Ditto. (w32_read_socket): Save iconified state to generate DEICONIFY_EVENT properly. Likewise for obscured. * xterm.c: Ditto. (handle_one_xevent): Save visible state go generate ICONIFY_EVENT properly. * nsterm.m: Ditto. (windowDidDeminiaturize): Generate DEICONIFY_EVENT.
* Fix dimensions of maximized frame on MS-Windows.Eli Zaretskii2013-01-231-6/+15
| | | | | src/w32term.c (w32fullscreen_hook): Account correctly for the screen real estate used for the tool bar, the menu bar, and scroll bar.
* src/w32.c, src/w32term.c: Remove unused local variables.Juanma Barranquero2013-01-091-1/+1
|
* Merge from emacs-24; up to 2012-12-06T20:16:38Z!monnier@iro.umontreal.caGlenn Morris2013-01-041-3/+4
|\
| * Don't use previous underline thickness or position if previous underline ↵YAMAMOTO Mitsuharu2013-01-041-1/+2
| | | | | | | | type is underwave.
| * Make underwave look more triangular and also degrade gracefully for small ↵YAMAMOTO Mitsuharu2013-01-041-2/+2
| | | | | | | | fonts. (Bug#13000)
* | Merge from emacs-24; up to 2012-12-06T01:39:03Z!monnier@iro.umontreal.caPaul Eggert2013-01-021-1/+1
|\ \ | |/
| * Update copyright notices for 2013.Paul Eggert2013-01-011-1/+1
| |
* | Support 'fullscreen' frame parameter on MS-Windows.Eli Zaretskii2012-12-221-1/+72
| | | | | | | | | | src/w32term.c (w32fullscreen_hook): New function. (w32_create_terminal): Plug it into the terminal's fullscreen_hook.
* | Fix cygw32 build breakDaniel Colascione2012-12-101-0/+4
| |
* | Merge from trunk + rename the event. Not tested yet.Eli Zaretskii2012-12-101-32/+20
|\ \
| * | * lisp.h (Mouse_HLInfo): Remove set-but-unused mouse_face_image_stateDmitry Antipov2012-12-041-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | member. Adjust users. Convert mouse_face_past_end, mouse_face_defer and mouse_face_hidden members to a bitfields. * frame.h (struct frame): Remove set-but-not-used space_width member. (FRAME_SPACE_WIDTH): Remove. * nsterm.m, w32term.c, xterm.c: Adjust users. * termchar.h (struct tty_display_info): Remove set-but-unused se_is_so member. Adjust users. Convert term_initted, delete_in_insert_mode, costs_set, insert_mode, standout_mode, cursor_hidden and flow_control members to a bitfields.
| * | Fix drawing of relief rects on X and W32.YAMAMOTO Mitsuharu2012-12-011-15/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | * xterm.c (x_draw_relief_rect, x_draw_image_relief): Fix relief display for sliced images. * w32term.c (w32_draw_relief_rect, x_draw_image_relief): Likewise. Fixes: debbugs:10500
| * | * alloc.c (Fgarbage_collect): Unblock input after clearingDmitry Antipov2012-11-221-16/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gc_in_progress to avoid note_mouse_highlight glitch with GC. * frame.h (FRAME_MOUSE_UPDATE): New macro. * msdos.c (IT_frame_up_to_date): Use it here... * w32term.c (w32_frame_up_to_date): ...here... * xterm.c (XTframe_up_to_date): ...and here... * nsterm.m (ns_frame_up_to_date): ...but not here. * lisp.h (Mouse_HLInfo): Remove mouse_face_deferred_gc member. Adjust users. * xdisp.c (message2_nolog, message3_nolog, note_mouse_highlight): Do not check whether GC is in progress.
* | | Merge from trunk.Eli Zaretskii2012-11-131-9/+4
|\ \ \ | |/ /
| * | Simplify by using FOR_EACH_FRAME here and there.Dmitry Antipov2012-11-121-8/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * frame.c (next_frame, prev_frame, other_visible_frames) (delete_frame, visible-frame-list): Use FOR_EACH_FRAME. * w32term.c (x_window_to_scroll_bar): Likewise. * window.c (window_list): Likewise. * xdisp.c (x_consider_frame_title): Likewise. * xfaces.c ( Fdisplay_supports_face_attributes_p): Likewise. * xfns.c (x_window_to_frame, x_any_window_to_frame) (x_menubar_window_to_frame, x_top_window_to_frame): Likewise. * xmenu.c (menubar_id_to_frame): Likewise. * xselect.c (frame_for_x_selection): Likewise. * xterm.c (x_frame_of_widget, x_window_to_scroll_bar) (x_window_to_menu_bar): Likewise. * w32fns.c (x_window_to_frame): Likewise. Adjust comment.
| * | Fix recently introduced crash on MS-Windows (Bug#12839).Dmitry Antipov2012-11-091-1/+1
| |/ | | | | | | | | | | * w32term.h (struct scroll_bar): Use convenient header. (SCROLL_BAR_VEC_SIZE): Remove. * w32term.c (x_scroll_bar_create): Use VECSIZE.
* | Tested and fixed conversion of a descriptor (pointer) to event code.Eli Zaretskii2012-10-181-1/+2
| |
* | Use XIL/XLI instead of make_number/XINT for converting descriptor to a ptr.Eli Zaretskii2012-10-181-1/+1
| | | | | | | | | | More safety checks in using the pointer obtained from descriptor. Not tested yet.
* | More than one watch is now supported.Eli Zaretskii2012-10-141-1/+1
| | | | | | | | Need to fix the issue with descriptor, now a pointer converted to Lisp integer.
* | Some cleanups:Eli Zaretskii2012-10-121-16/+15
| | | | | | | | | | | | 1. If fill_queue returns -1, but there were file notifications, return 0. 2. Move invariant code out of the loop in queue_notifications and handle_file_notifications.
* | Support file notifications in a TTY session.Eli Zaretskii2012-10-101-1/+1
| | | | | | | | FIXME: file notifications detected only when the Emacs window has focus.
* | Merge from trunk.Eli Zaretskii2012-10-091-3/+0
|\ \ | |/
| * src/w32term.c: Remove leftover declaration of keyboard_codepage.Juanma Barranquero2012-10-081-3/+0
| |
* | Merge from trunk after cygw32 commit, and resolve conflicts.Eli Zaretskii2012-10-081-11/+42
|\ \ | |/
| * Merge from trunkDaniel Colascione2012-10-071-74/+71
| |\
| | * Add a comment with overview of how Emacs input works on MS-Windows.Eli Zaretskii2012-10-071-0/+3
| | |
| * | Merge from trunkDaniel Colascione2012-09-171-9/+10
| |\ \