Skip to content
This repository has been archived by the owner on Oct 17, 2024. It is now read-only.

Top Bar missing after opening video in fullscreen on maximised client [Bug] #160

Open
GrohJann opened this issue Dec 14, 2022 · 3 comments

Comments

@GrohJann
Copy link

Describe the bug
When you open a video in fullscreen on a maximised client and then exit out of full screen the top bar is missing

Expected behavior
the top bar should be shown again after leaving fullscreen mode

Screenshots
If applicable, add screenshots to help explain your problem.

Distro (please complete the following information):
i am on manjaro, but the bug should probably happen on all distros

Additional context
The bug happens because in awesome/ui/panels/top-panel/init.lua the function remove_top_panel() hides the top panel when either the client is maximised or in fullscreen.

local function remove_top_panel(c)
	if c.fullscreen or c.maximized then
		c.screen.top_panel.visible = false
	else
		c.screen.top_panel.visible = true
	end
end

But the function is only executed when the client is put in fullscreen

client.connect_signal("property::fullscreen", remove_top_panel)

there are 2 ways of fixing this:

  1. add
client.connect_signal("property::maximized", remove_top_panel)

below the line with fullscreen

  1. remove
or c.maximized

from the function

this depends on how u want the ui to behave, but i believe the intended way would be option 2)

P.S.:
in the same location there is a very similar function called add_top_panel() which also checks for both c.maximized and c.fullscreen. This might cause a bug aswell, but since I don't know what client.connect_signal("request::unmanage", add_top_panel) does, I am not able to test this assumption

@Alex0os
Copy link

Alex0os commented Oct 24, 2023

Hey man, thank u, for me it worked. In the piece of code inside awesome/ui/panels/top-panel/init.lua that you described, I change the piece of code that said:

local function remove_top_panel(c)
if c.fullscreen or c.maximized then
c.screen.top_panel.visible = false
else
c.screen.top_panel.visible = true
end
end

to:

local function remove_top_panel(c)
if c.fullscreen then
c.screen.top_panel.visible = false
else
c.screen.top_panel.visible = true
end
end

And now the top-panel appears when I get out of fullscreen, thanks, It's been something that bodered me for days

@tyrypyrking
Copy link

tyrypyrking commented Aug 2, 2024

Other way to fix this, would be adding panel upon fullscrean/maximized window going out of focus, which should be what desired (idk about multihead). Only change that needs to be made, is changing signal to unfocus.

	client.connect_signal("property::fullscreen", remove_top_panel)
	client.connect_signal("unfocus", add_top_panel)

@tyrypyrking
Copy link

request::unmanage is only being called when client is being closed. If we minimize it instead it will never be called. Ex.: steam games: by switching workspaces (my first day here, idk if this is the right word), the bar will be missing, and going back we have that fullscreen window minimized, so there should be no reason for it not to appear. This is clearly unintended and breaks the experience.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants