[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Proposal for a new API to fullscreen
From: |
Jan Djärv |
Subject: |
Re: Proposal for a new API to fullscreen |
Date: |
Tue, 19 Aug 2008 15:49:42 +0200 |
User-agent: |
Thunderbird 2.0.0.16 (Macintosh/20080707) |
Tassilo Horn skrev:
In my opinion "size of the screen" != "size of the screen excluding
taskbar and stuff". So I'd consider that w32 behavior a bug.
Well 'fullheight' does screen height minus taskbar in Gnome.
Hm, in KDE it's the same. For fullwidth and fullheight this make sense,
because I don't think anyone wants to have a frame which doesn't use the
full screen but is on top of the task bar.
What is lacking is a way to specify "real" fullscreen (i.e. cover the whole
screen) and also be able to specify maximized (i.e. with decorations and
taskbar visible).
After looking at the code for many days, it could be simplified by
creating a new API for fullscreen that just DTRT on X, Mac and
Windows.
DTRT is always very good. ;-) Now we only have to agree on TRT. IMHO
there's no such thing as fullscreen width or fullscreen height, only
fullscreen as described by the NetWM spec.
It isn't called netwm-spec, it is called Extended Window Manager Hints:
_NET_WM_STATE:
"Possible atoms are:
_NET_WM_STATE_MODAL, ATOM
_NET_WM_STATE_STICKY, ATOM
_NET_WM_STATE_MAXIMIZED_VERT, ATOM
_NET_WM_STATE_MAXIMIZED_HORZ, ATOM
_NET_WM_STATE_SHADED, ATOM
_NET_WM_STATE_SKIP_TASKBAR, ATOM
_NET_WM_STATE_SKIP_PAGER, ATOM
_NET_WM_STATE_HIDDEN, ATOM
_NET_WM_STATE_FULLSCREEN, ATOM
_NET_WM_STATE_ABOVE, ATOM
_NET_WM_STATE_BELOW, ATOM
_NET_WM_STATE_DEMANDS_ATTENTION, ATOM
"
MAXIMIZED_VERT/HORZ exists. Setting both these is by convention to maximize.
Setting FULLSCREEN does real fullscreen.
The other values the fullscreen frame parameter allows are indeed
vertical and horizontal maximizations, but they don't work correctly,
because you cannot un-maximize to the old size again. A
(set-frame-parameter nil 'fullscreen 'fullwidth)
followed by
(set-frame-parameter nil 'fullscreen nil)
won't change the frame size anymore, at least not here.
That would be a bug, either in Emacs or the window manager. What WM are you
running?
The API is easy to change, but we should keep the _NET_WM_STATE
implementation. It is confusing if Emacs does things differently. Also,
implementing and testing for many different window managers is quite an effort.
Jan D.
- Re: Proposal for a new API to fullscreen, (continued)
- Re: Proposal for a new API to fullscreen, René Kyllingstad, 2008/08/19
- Re: Proposal for a new API to fullscreen, Tassilo Horn, 2008/08/19
- Re: Proposal for a new API to fullscreen, René Kyllingstad, 2008/08/19
- Re: Proposal for a new API to fullscreen, Tassilo Horn, 2008/08/19
- Re: Proposal for a new API to fullscreen, Ivan Kanis, 2008/08/19
- Re: Proposal for a new API to fullscreen, Lennart Borgman (gmail), 2008/08/19
- Re: Proposal for a new API to fullscreen, Ivan Kanis, 2008/08/19
- Re: Proposal for a new API to fullscreen, Lennart Borgman (gmail), 2008/08/19
- Re: Proposal for a new API to fullscreen, Lennart Borgman (gmail), 2008/08/19
- Re: Proposal for a new API to fullscreen, Tassilo Horn, 2008/08/19
- Re: Proposal for a new API to fullscreen,
Jan Djärv <=
- Re: Proposal for a new API to fullscreen, Tassilo Horn, 2008/08/19
- Re: Proposal for a new API to fullscreen, Tom Tromey, 2008/08/19
- Re: Proposal for a new API to fullscreen, Jan Djärv, 2008/08/19
Re: Proposal for a new API to fullscreen, Andreas Schwab, 2008/08/19
Re: Proposal for a new API to fullscreen, Tom Tromey, 2008/08/19