Awn

AWN won't behave as panel when started automatically

Bug #491229 reported by Mikhail Vorozhtsov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Awn
Fix Released
Medium
Michal Hruby

Bug Description

Version: 0.4, revision 1792.
OS: ArchLinux, http://aur.archlinux.org/packages.php?ID=31433
Desktop: GNOME
WM: Compiz

After upgrade a few days ago AWN no longer restricts maximized windows from going under itself. I need to manually switch "Behavior" from "Panel mode" to "Standard" and back again to fix it. The issue happens only when AWN is stared automatically.

description: updated
Revision history for this message
The Fiddler (stapostol) wrote :

I can confirm this issue (0.3.9-rewrite-bzr1773 on karmic amd64).

Revision history for this message
moonbeam (rcryderman) wrote :

What are the monitor configurations? Single or multiple? If multiple then what are the layouts?

Mark Lee (malept)
Changed in awn:
status: New → Incomplete
Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

@moonbeam: Single

Revision history for this message
Mark Lee (malept) wrote :

I cannot duplicate this issue. I tried restarting my X session several times, and panel mode still worked.

Awn version: 0.3.9 (revision 1792)
Distro: Ubuntu Jaunty (amd64)
Window Manager: Metacity
Graphics driver: Intel
Monitor layout: Single
Desktop environment: GNOME

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

I did some bisecting and the culprit is revision 1767

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

After adding a simple printf to the GTK_POS_BOTTOM case in awn_panel_set_strut (revision 1792) I got the following outputs (my resolution is 1280x1024).
When started automatically:
AWN: on_shared_edge = 1 = ((root_y=0 + pheight=51 + adjust=0)=51 < screen_height=1024)
AWN: on_shared_edge = 0 = ((root_y=979 + pheight=45 + adjust=0)=1024 < screen_height=1024)
AWN: on_shared_edge = 1 = ((root_y=945 + pheight=45 + adjust=0)=990 < screen_height=1024)
AWN: on_shared_edge = 1 = ((root_y=945 + pheight=45 + adjust=0)=990 < screen_height=1024)
Switching the "Behavior" parameter:
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024)
When started manually:
AWN: on_shared_edge = 1 = ((root_y=0 + pheight=99 + adjust=0)=99 < screen_height=1024)
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024)

Revision history for this message
moonbeam (rcryderman) wrote :

Mikhail,

In the printfs, am I correct in thinking that pheight is the panel height? Specifically panel_alloc.height?

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

@moonbeam: Yes, it's panel_alloc.height

Revision history for this message
Michal Hruby (mhr3) wrote :

Could you please also add panel_alloc.y to the printf?

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

panel_alloc.y is always 0

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

I took a screenshot of my desktop and the panel height is actually 45 pixels. Don't know from where the 79 in printfs comes from.

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

The issue also happens when you switch the "Style" parameter from "None" to "Flat":
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024), py=0
AWN: on_shared_edge = 1 = ((root_y=943 + pheight=79 + adjust=0)=1022 < screen_height=1024), py=0
Switching back to "None":
AWN: on_shared_edge = 0 = ((root_y=943 + pheight=81 + adjust=0)=1024 < screen_height=1024), py=0
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=81 + adjust=0)=1026 < screen_height=1024), py=0

Revision history for this message
moonbeam (rcryderman) wrote :

Mikhail,

The 79 range is the expected/normal value with a panel in the 40s. That includes the area above (in the case of the dock on the bottom) which is used for effects such as squish. Basically what is happening is that the geometry of the panel is being retrieved before gtk has actually figured out what the various allocations are.

Thanks for the testing. I hope we can have some type of patch to test within the next couple days.

Revision history for this message
Michal Hruby (mhr3) wrote :

Could you please try this patch?

Revision history for this message
Mikhail Vorozhtsov (mvorozhtsov) wrote :

I tried it and the problem is gone. The outputs are
Autostart:
AWN: on_shared_edge = 0 = ((root_y=979 + pheight=45 + adjust=0)=1024 < screen_height=1024), py=0
AWN: on_shared_edge = 1 = ((root_y=945 + pheight=45 + adjust=0)=990 < screen_height=1024), py=0
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024), py=0
Manual:
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024), py=0
Switching "Behavior" or "Style":
AWN: on_shared_edge = 0 = ((root_y=945 + pheight=79 + adjust=0)=1024 < screen_height=1024), py=0

Michal Hruby (mhr3)
Changed in awn:
importance: Undecided → Medium
assignee: nobody → Michal Hruby (mhr3)
milestone: none → 0.4.0
status: Incomplete → Fix Committed
moonbeam (rcryderman)
Changed in awn:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.