bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#14180: PATCH Better fullscreen frame support on Windows


From: Erik Charlebois
Subject: bug#14180: PATCH Better fullscreen frame support on Windows
Date: Thu, 11 Apr 2013 00:59:54 -0400

Description

This change improves the 'fullscreen' frame support on Windows. When going to
fullscreen, the frame gets fullscreened with no window decorations (which causes the
Windows task bar to also disappear) on the nearest monitor.

The old fullscreen functionality was actually 'maximize' behavior so I've moved that to
'maximize'. 'fullwidth' and 'fullheight' are now ignored because they were buggy (at least in
Windows 8, they were not being sized correctly) and are not common Windows idioms.
While they could be supported, I'd do it as follow on work and get it working right on
multiple monitors as well.

I've tested corner cases such as resolution changes and disconnect monitors; in both
cases the fullscreen window stays fullscreen (and moves to a different monitor for the
disconnect case).

I've modified the response to WM_WINDOWPOSCHANGED to do nothing when the
frame is fullscreen. Otherwise, the size gets tuned to a multiple of the character cells and 
the fullscreen isn't perfectly matching the screen. When this happens, Windows' special
behavior to hide the taskbar doesn't kick in.

Changelog

2013-04-11  Erik Charlebois  <erikcharlebois@gmail.com>

* src/w32fns.c (monitor_from_window_fn): New Windows API import.
(w32_monitor_rect): New function to get nearest monitor rect.
* src/w32term.c (w32_fullscreen_hook): Renamed from w32fullscreen_hook
for consistency. Rewritten for improved fullscreen support.


(I signed the FSF copyright assignment papers in January so I'm ok on that front.)

Attachment: W32_FULLSCREEN.txt
Description: Text document


reply via email to

[Prev in Thread] Current Thread [Next in Thread]