[Bug 46437] New: explorer: Add an option to keep the taskbar on top of other windows ( virtual desktop)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Jan 7 19:38:06 CST 2019


https://bugs.winehq.org/show_bug.cgi?id=46437

            Bug ID: 46437
           Summary: explorer: Add an option to keep the taskbar on top of
                    other windows (virtual desktop)
           Product: Wine
           Version: unspecified
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: programs
          Assignee: wine-bugs at winehq.org
          Reporter: o.dierick at piezo-forte.be
      Distribution: ---

This bug describes an user interface enhancement to the taskbar of the built-in
explorer in virtual desktop mode.

Current behavior:
The taskbar is created without the 'topmost' style.
Any window created/activated is brought to the foreground, on top of the
taskbar.
The taskbar is automatically hidden when the last icon is removed from the
systray.
The taskbar is made visible and is brought on top when:
- The virtual desktop is created;
- The virtual desktop size changes;
- An icon is added to the previously empty hidden systray.
When these events occur, fullscreen windows are treated like normal windows:
The taskbar is drawn over them, and one has to activate the window to bring it
above the taskbar.

The issue with the taskbar appearing above fullscreen windows is reported as
bug 40828. I already submitted a patch to address this by preventing any z
order change to the taskbar. This leaves the taskbar below other windows at all
time.
Even without that patch, the taskbar doesn't stay on top of normal windows.
Many people likes to have the taskbar always on top of normal windows.

Proposed enhancement:
Add an option to 'keep the taskbar on top of other windows'.

User Interface:
- A right-click pop-up menu will be added to the taskbar;
- The pop-up menu will have an entry 'Taskbar settings';
- The menu entry will open a 'Taskbar settings' window;
- The Taskbar settings window will contain a 'Keep taskbar on top of other
window' checkbox;
- The checkbox will be checked by default on prefix creation.
- The settings will be saved in the registry;
- The user shall click 'ok' to save and apply the changes and close the window;
- The user shall click 'cancel' to discard the changes and close the window;

Implementation details:
When the option is enabled, the 'topmost' style will be applied to the taskbar.
Fullscreen windows are not necessarily topmost and the taskbar will be above
non-topmost fullscreen windows.
To avoid that, the taskbar will have to detect when a fullscreen window is
activated and hide itself (Maybe through SetWinEventHook() with
EVENT_SYSTEM_FOREGROUND).
It will be made visible again when the fullscreen window is no longer active.

For now, the visibility toggling when icon are added/removed from the systray
would be retained.
Adding an actual 'Automatically hide the taskbar' option is another possible
enhancement.

Comments welcome.

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list