Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#7884 closed bug (fixed)

Deskbar gets weirdly resized and moved around

Reported by: pulkomandy Owned by: czeidler
Priority: normal Milestone: R1
Component: Add-Ons/Decorators/Default Version: R1/Development
Keywords: Cc:
Blocked By: Blocking:
Platform: All

Description

My deskbar is sometimes resized to a 4x4 pixel area or moved to the bottom without apparent reason. Seems to happen when windows are open or closed. Switching to another workspace make it go back to the correct position.

Attachments (4)

deskbarbug (18.1 KB ) - added by pulkomandy 13 years ago.
Screenshot of what's hapenning
deskbar_box.png (4.9 KB ) - added by taos 13 years ago.
Screenshot of deskbar resized to 4x4 box.
deskbar_bar_menu.png (13.2 KB ) - added by taos 13 years ago.
Screenshot of deskbar almost completely off screen, menu opened.
deskbar_hidden.png (48.8 KB ) - added by taos 13 years ago.
Screenshots of a partially hidden deskbar, menu on top.

Download all attachments as: .zip

Change History (19)

by pulkomandy, 13 years ago

Attachment: deskbarbug added

Screenshot of what's hapenning

comment:1 by anevilyak, 13 years ago

Did that behavior start recently? I've never seen it, and Deskbar's code hasn't changed in quite some time. A misbehaving replicant or possibly a regression introduced by the recent Stack and Tile integration come to mind as immediate possible culprits.

comment:2 by pulkomandy, 13 years ago

Yes, this started hapenning today (now running hrev42507), so must be somewhere in the r424xx range. I have no replaicants besides beam and processcontroller, and these didn't hcange either.

S&T would be the only one left then ?

comment:3 by diver, 13 years ago

Component: Applications/DeskbarAdd-Ons/Decorators/Stack And Tile
Owner: changed from axeld to czeidler
Version: R1/alpha3R1/Development

I'm pretty sure that it started happening after recent S&T changes.

comment:4 by czeidler, 13 years ago

I'm not 100% sure but I saw this already a while ago, around the time when looncraz's patch has been submitted hrev41581. I blamed it on this one but I haven't checked it. If anybody has time you can check if that is the case, otherwise it is probably S&T. But I only saw the Deskbar moving a bit down when changing the decorator, maybe something different...

comment:5 by pulkomandy, 13 years ago

It's pretty hard not to notice it since it happens everytime I do something that affect the deskbar (opening a window, using the deskbar menu, ...). It popped up very recently for me, so look for commits at least after the alpha3 release. I don't remember when I did my latest full build but it is not more than one month old.

comment:6 by czeidler, 13 years ago

Can't see that in a virtual box anymore... Any special setup? Only saw it when switching the decorator.

in reply to:  4 comment:7 by taos, 13 years ago

Replying to czeidler:

But I only saw the Deskbar moving a bit down when changing the decorator, maybe something different...

I've seen this too for some time when switching decorators, but now (I suppose it started last week, using gcc2hybrid hrev42539 at the moment) the deskbar can also be resized to a tiny square (see deskbar_box.png), or wander off the screen almost completely (except for a thin bar, see deskbar_bar_menu.png). At the moment, it's also impossible (at least for me) to set a decorator (not that you would need to do so as - after the decorator restructuring work - S&T now also works with default decorator) - so that's no longer a trigger:

~> setdecor -c
    Name      License       Description
----------------------------------------------------
*Default        MIT       Default Haiku window decorator.
~> setdecor -l
    Name      License       Description
----------------------------------------------------
*Default        MIT       Default Haiku window decorator.
ClassicBe       MIT       Basic appearance of the classic BeOS.
MacDecorator    MIT       MacOS 9                       
SATDecorator    MIT       Default look with ability to stack & tile windows.
WinDecorator    MIT       Windows 95                    
~> setdecor SATDecorator
Setting SATDecorator as the current decorator...
~> setdecor -c
    Name      License       Description
----------------------------------------------------
*Default        MIT       Default Haiku window decorator.
~> setdecor Default     
"Default" is already the current decorator

Removing Deskbar settings file didn't help either. After killing and restarting, deskbar is back where it should be, but then starts wandering off screen again. I can force deskbar back on screen e.g. by opening files or applications via terminal. It seems if the option "Auto-raise" is not enabled in deskbar preferences, deskbar only moves but usually isn't resized to a 4x4 box.

by taos, 13 years ago

Attachment: deskbar_box.png added

Screenshot of deskbar resized to 4x4 box.

by taos, 13 years ago

Attachment: deskbar_bar_menu.png added

Screenshot of deskbar almost completely off screen, menu opened.

comment:8 by czeidler, 13 years ago

The small dot is from the auto hide mode isn't it? Thus the Deskbar is just moved down a bit. I still not see it, what do you guys are exactly doing? Could you find out at which revision it occurs?

in reply to:  8 comment:9 by taos, 13 years ago

Replying to czeidler:

The small dot is from the auto hide mode isn't it? Thus the Deskbar is just moved down a bit. I still not see it, what do you guys are exactly doing? Could you find out at which revision it occurs?

Yes, the small dot, square, box, etc looks exactly like the auto-hide box but appears at another position and must be hit in the right spot to activate the menu (just hovering with your mouse doesn't do the trick).

There are 3 options in deskbar preferences: Always on top, Auto-raise, Auto-hide.

In an affected revision, these options don't exactly do what you expect:

No option enabled:
deskbar just moves down, can't always be brought to the top by clicking (deskbar stays in background but the menu opens on top).

Always on top:
deskbar stays on top (as expected), doesn't move down (at least not during my 10 min test), if option is disabled again (without another option enabled) deskbar is immediately resized to a box that moves down, if option is re-enabled deskbar doesn't reappear but box is now always on top at its new position.

Auto-raise:
deskbar moves around (mostly horizontally, but sometimes also vertically to the edge of the screen), is resized to a tiny box, if box is hit in the right spot the menu expands (but deskbar stays invisible), deskbar reappears after a trigger (e.g. opening an application via terminal), if box is next to the screen edge deskbar reappears mostly outside the screen (small bar - maybe 4 pixel wide - can be seen).

Auto-hide:
deskbar is resized to a box in the top-right corner, if mouse is in that corner deskbar reappears (as expected), deskbar doesn't move around (at least not during my tests)

So, it seems that you have most fun with auto-raise enabled at the moment...

I'll test a few older revisions later, maybe I can find the culprit...

comment:10 by taos, 13 years ago

Following the official nightlies, the strange "resizing-to-dot if auto-raise is enabled" behaviour was introduced between hrev42492 (Default/SAT decorator) and hrev42506.

The following changesets are related to S&T integration

  • hrev42493 (complete decorator drawn off-screen then copied to the front, option to draw buttons directly)
  • hrev42494 (after closing window remaining window marked dirty)
  • hrev42495 (top tab set every time new tab is added)
  • hrev42496 (ASSERT(desktop.IsLocked()); added)
  • hrev42501 (S&T moved back into app server, no separate SATdecorator anymore)
  • hrev42502 (only the top window is resized, autolocker used)
  • hrev42503 (some debug removed, "resizeStack" mentioned)
  • hrev42506 (right-option key as a S&T key)

Don't know what could force deskbar into hiding...

comment:11 by taos, 13 years ago

I think I've nailed it down to changeset hrev42501 (when S&T became part of app server): A gcc2hybrid build of hrev42500 is unaffected (apart from the deskbar moving down when switching to SATDecorator), in hrev42501, the deskbar is resized to a box if auto-raise is enabled.

comment:12 by czeidler, 13 years ago

Resolution: fixed
Status: newclosed

Don't get the exact reason but I think I fixed in hrev42567. Thanks for the testing!

comment:13 by taos, 13 years ago

Using hrev42569 gcc2hybrid, I can't see any moving or resizing with auto-raise enabled. Problem seems fixed. Only difference from default behaviour of deskbar in alpha 3 I've noticed so far: with none of the above options enabled I can't seem to get deskbar raised to the top - if I click on a partially hidden deskbar only the menu opens on top, deskbar stays obscured (see deskbar_hidden.png).

by taos, 13 years ago

Attachment: deskbar_hidden.png added

Screenshots of a partially hidden deskbar, menu on top.

comment:14 by x-ist, 13 years ago

Please have a look at #4880, #1471 and hrev42383 for more information about how autohide and autoraise are handled now. My patch changed the way how autoraise in performed: Instead of activating the window, it's using the window feel property to bring it to top. Hence, if SAT changes this property for the Deskbar I would expect issues as described above.

I have no idea how SAT works internally but I would guess Deskbar should not be involved in those "window frame manipulations" such that one should ommit it (Deskbar window) from any window-related procedures. However, chances are that I'm totally wrong...

comment:15 by czeidler, 13 years ago

It seems that the Deskbar get not activated because it has the B_WILL_ACCEPT_FIRST_CLICK flag. If I get it right this is the expected behaviour. How should the Deskbar get activated? (none of the above options enabled) Maybe I miss it in the code...

Note: See TracTickets for help on using tickets.