On Fri Aug 21 15:44:33 2026 +0000, Rémi Bernon wrote:
This is getting better, at least on the work area override. Then looking at the following commits about appbars, it makes me think that the taskbar itself should probably register as an appbar[^1], and update its position whenever it moves. The appbar / work area relation could be worth testing, to figure for instance how calling SPI_SETWORKAREA separately from appbar interacts with them, can it override the area reserved for appbars? For the taskbar itself? etc... I'm hoping in the end that we could make this work in an unified way, virtual desktop or not, with the only difference that in non-virtual desktop the taskbar window would be invisible and positioned where the host taskbar is located. The appbars / work area would still take it into account as it should, and things like ABM_GETTASKBARPOS could work too (right now we only include that space in monitor work area). [^1]: Whether it should could checked with a test, but https://stackoverflow.com/questions/76010249/calling-shappbarmessage-to-set-... makes me believe it does. Having the taskbar register itself as an appbar is an interesting idea. I had simply assumed that isn't how Windows does it, but I didn't consider it would be possible to test. I'll poke around a bit.
Regarding unified behavior: this does seem like the ideal, but I'm a bit scared of how complicated things may become once we're trying to account for the host desktop environment and the many different shapes (GNOME, KDE, the macOS Dock, etc) and APIs (X11, Wayland, Cocoa) that might have. Sometimes there are several bars on-screen and I don't know how you'd decide which should be the “taskbar”, or if WINE would even have enough information available to make that decision. But seeing how many cues [the freedesktop model](https://specifications.freedesktop.org/wm/1.5/ar01s03.html) seems to take from the Windows one, I would nonetheless be interested in making _some_ attempt at better integration here in a later MR. For the time being I'm just hoping to not break anything outside of virtual desktop mode. For that reason, if I change it so the WINE taskbar registers itself as an appbar, I would want to maintain the current behavior of claiming to be 1 pixel high when not in virtual desktop mode. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/11699#note_149537