emacs-devel
[Top][All Lists]
Advanced

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

Re: Proposal for a new API to fullscreen


From: Tassilo Horn
Subject: Re: Proposal for a new API to fullscreen
Date: Tue, 19 Aug 2008 14:47:49 +0200
User-agent: KMail/1.10.0 (Linux/2.6.26-gentoo-r1; KDE/4.1.62; x86_64; ; )

On Tuesday 19 August 2008 13:59:34 Ivan Kanis wrote:

> > ,----[ (info "(elisp)Size Parameters") ]
> > | `fullscreen'
> > |      Specify that width, height or both shall be set to the size
> > | of the screen.  The value `fullwidth' specifies that width shall
> > | be the size of the screen.  The value `fullheight' specifies that
> > | height shall be the size of the screen.  The value `fullboth'
> > | specifies that both the width and the height shall be set to the
> > | size of the screen.
> > `----
> >
> > 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.

fullboth in KDE makes use of the whole visual screen and removes the
window decorations as well.  I think that's a quite sensible behavior.

> So 'screen' in the do really means usable desktop space.  If you
> follow the logic 'fullboth' should be maximize minus desktop toolbar.

Well, I wouldn't call that fullscreen.  And the NETWM spec doesn't
either.

,----[ NetWM-1.4-draft2 spec ]
| _NET_WM_STATE_FULLSCREEN indicates that the window should fill the
| entire screen and have no window decorations. Additionally the Window
| Manager is responsible for restoring the original geometry after a
| switch from fullscreen back to normal window. For example, a
| presentation program would use this hint.
`----

> 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.

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.

Bye,
Tassilo





reply via email to

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