mate-desktop / mate-panel

MATE panel
https://mate-desktop.org
GNU General Public License v2.0
185 stars 118 forks source link

mate-panel autohide setting doesn't hide the mate-panel in i3 #673

Open nochiel opened 7 years ago

nochiel commented 7 years ago

Expected behaviour

mate-panel should hide when autohide is set in the panel properties.

Actual behaviour

mate-panel does not hide i.e. there is no difference between autohide being enabled or disabled.

Steps to reproduce the behaviour

run i3 run mate-panel

MATE general version

1.18.0

Package version

1.18.4-1

Linux Distribution

Arch Linux

Link to downstream report of your Distribution

n/a

raveit65 commented 7 years ago

Works well with marco, metacity, mutter and compiz in fedora 26. Sorry, using i3 breaks my mate-session complete. I don't want to use it......

nochiel commented 7 years ago

Works well with marco, metacity, mutter and compiz in fedora 26.

Yes, I know. The problem, as reported, is with tiling window managers (not compositing window managers such as all the ones in your example).

Sorry, using i3 breaks my mate-session complete.

What exactly breaks?

Here's how I set up my mate session:

gsettings set org.mate.session.required-components filemanager ''
gsettings set org.mate.background draw-background false
gsettings set org.mate.session.required-components windowmanager 'i3'
nochiel commented 7 years ago

Am I correct in my understanding that mate-panel uses gtk_widget_hide/show for autohide?

lukefromdc commented 7 years ago

In autohide the panel uses an animated in/out from the edge of the screen. I don't see any way in https://developer.gnome.org/gtk3/stable/GtkWidget.html#gtk-widget-show to use animation with gtk_widget_show or gtk_widget_hide so more to this

lukefromdc commented 7 years ago

Any chance your window manager (I have not tested any of the tiling wm's) is somehow preventing the panel's window from being auto-moved in from offscreen or auto-resized from the edge? Unfortunately the "enable-animations" gsettings option does not affect the panel show/hide animation, thus blocking a simple test to see if this is interfering with use in a tiling wm

nochiel commented 7 years ago

In autohide the panel uses an animated in/out from the edge of the screen.

Is this the code in question? https://github.com/mate-desktop/mate-panel/blob/7b2bc7d9f98c6ba8c2c31bdf9605faadb42a7e0e/mate-panel/panel-toplevel.c#L4494

Does autohide => animate to a widget of 1px height?

Airblader commented 7 years ago

Can someone link to the code where mate-panel does the actual autohiding, i.e., which GTK APIs do you use for that?

Perhaps also running mate-panel under xtrace would be helpful as it'll show us what requests are sent.