GNU bug report logs - #31968
26.1.50; Allow to hide title bar on maximize (gtk/gnome/csd)

Previous Next

Package: emacs;

Reported by: Carlos Pita <carlosjosepita <at> gmail.com>

Date: Mon, 25 Jun 2018 20:45:02 UTC

Severity: wishlist

Found in version 26.1.50

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: martin rudalics <rudalics <at> gmx.at>
To: Carlos Pita <carlosjosepita <at> gmail.com>
Cc: 31968 <at> debbugs.gnu.org, Robert Pluim <rpluim <at> gmail.com>, Jonathan Kyle Mitchell <kyle <at> jonathanmitchell.org>
Subject: bug#31968: 26.1.50; Allow to hide title bar on maximize (gtk/gnome/csd)
Date: Mon, 02 Jul 2018 11:13:01 +0200
> Under Cinnamon it worked without flickering.

Thanks.  But please post your code here so we know what we are
discussing.

> There is just a minor
> problem that could be pointing to a bug elsewhere in emacs. Cinnamon
> implements a progression of tiles layouts, for instance starting from
> a normal sized window (i) you press Super-Up and the window is tiled
> to the top half of the screen, (ii) you then press Super-Up again and
> the window is maximized, (iii) finally you press Super-Down and the
> window returns to top half tile mode. In general only fully maximized
> windows (ii) gets undecorated, as intended, but when transitioning
> from fully maximized to top half tiled (ii->iii) emacs still sees the
> maximized state in the fullscreen frame parameter and fails to
> undecorate the window. Nevertheless the client state in (ii) is:
>
> ~:: xprop | grep _NET_WM_STATE
> _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_TILED
>
> The problem seems to be in the reported frame parameters, not in
> Jonathan's hook.

get_current_wm_state in xterm.c has this

      else if (a == dpyinfo->Xatom_net_wm_state_maximized_vert)
        {
          if (*size_state == FULLSCREEN_WIDTH)
            *size_state = FULLSCREEN_MAXIMIZED;
          else
            *size_state = FULLSCREEN_HEIGHT;
        }

Could you try setting a GDB breakpoint at the

          if (*size_state == FULLSCREEN_WIDTH)

line and see if it ever gets executed during (ii->iii).

Thanks for trying, martin




This bug report was last modified 3 years and 25 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.