Subject: Re: bug#38452: 26.3; set-frame-position is slightly drifted

From: Pascal Lambrechts <[email-masked]>
Date: Fri, 6 Dec 2019 09:12:30 +0000

Hi Martin,

>  > M-! wmctrl -m  ==>
>  > Name: GNOME Shell
>  > Class: N/A
>  > PID: N/A
>  > Window manager's "showing the desktop" mode: N/A
>
> OK.  Let's stick to "GNOME Shell" then.
>
>  > I attach the two print screen.
>
> Thanks.  All I can derive from these shots is that GNOME doesn't draw
> any borders around a window.

>What does evaluating (x-frame-geometry) yield for such a frame?
The value of x-frame geometry depends on the dock position:
; if I set the dock at left:
(set-frame-position nil 0 0)
t
(setq pl-x-frame-geometry-dock-at-left (x-frame-geometry))
((outer-position 45 . 19) (outer-size 772 . 766) (external-border-size 10 . 10) (outer-border-width . 0) (title-bar-size 0 . 28) (menu-bar-external . t) (menu-bar-size 752 . 24) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 752 . 46) (internal-border-width . 0))

;if I set the dock at bottom:
(set-frame-position nil 0 0)
t
(setq pl-x-frame-geometry-dock-at-bottom (x-frame-geometry))
((outer-position -10 . 19) (outer-size 772 . 766) (external-border-size 10 . 10) (outer-border-width . 0) (title-bar-size 0 . 28) (menu-bar-external . t) (menu-bar-size 752 . 24) (tool-bar-external . t) (tool-bar-position . top) (tool-bar-size 752 . 46) (internal-border-width . 0))

>
>  > For (1) I put the dock on the right side but I do not know how to remove
>  > the topbar :-(
>
> Given the fact that it's called topbar it maybe even can't be moved to
> the bottom of the screen.
>
> I'm slowly coming to the conclusion that Emacs doesn't do its
> calculations right for GNOME windows.  Maybe it should try to rely
> more on EWMHs instead of using XCB.  Unfortunately, the person who
> wrote the code has left us and people knowing much about using size
> hints and going up window hierarchies are rare.
>
> martin
Pascal
-- 
Pascal Lambrechts  --  UCLouvain (SST/SC/MATH IRMP)
building: Marc De Hemptinne (Louvain-la-Neuve) - Local: B 430
phone: +32 (0)104x73161 
IRMP bte L7.01.02 // Chemin du Cyclotron 2 //  1348 Louvain-la-Neuve // Belgium