Open probonopd opened 1 year ago
Now that there is no Dock, the animation of the window will move to the upper right corner.
Is it like this animation ?(picture selection is bad)
Yes, that is what we need. but slower and less flickery ;-)
Yes, something like this.
https://user-images.githubusercontent.com/2480569/205427507-d85e67d5-e5fc-48ca-990c-16c784d98f72.mp4
We want this kind of animation whenever a folder is double-clicked in Filer, to visuallly conect the closed folder icon with the window that gets opened when the icon is double-clicked. Same for closing.
https://twitter.com/reionwong/status/1359573324704137219
ICCCM/EWMH has WM_ICON_GEOMETRY:
Code:
https://github.com/freedesktop-unofficial-mirror/xcb__util-wm/blob/24eb17df2e1245885e72c9d4bbb0a0f69f0700f2/ewmh/ewmh.c.m4#L1067-L1099
Do we have to set
WM_ICON_GEOMETRY
(e.g., usingNETWinInfo::setIconGeometry
) whenever we create a Filer window, to the coordinates of the icon that was double-clicked to open the window? When the window is about to be closed, we would need to figure out the coordinates of the icon again, since the window which contains the icon may have been moved or closed in between.According to https://github.com/lxqt/lxqt/issues/587#issuecomment-92379547
Would KWin use
WM_ICON_GEOMETRY
when opening and closing windows? Or only when minimizing/unminimizing windows? We need it for opening and closing. Could we write a KWin plugin for that?Would Filer need to set the icon geometry whenever we receive
KWindowSystem::windowChanged
on one of the Filer windows? We would need to check whether there is a Filer window that contains the icon for that window, and set the window'sWM_ICON_GEOMETRY
to that.https://github.com/lxqt/lxqt-panel/pull/166/files
But: How would we set the WM_ICON_GEOMETRY for windows that are about to be launched and are not yet on screen, e.g., when launching?
Idea:
QWidget::showMinimized()
WM_ICON_GEOMETRY
with#include <xcb/xcb_ewmh.h>
,xcb_ewmh_set_wm_icon_geometry(&EWMH, win, geom.x(), geom.x()+geom.width(), geom.y(), geom.y()+geom.height());
(see https://github.com/lumina-desktop/lumina/blob/master/src-qt5/core/libLumina/LuminaX11.cpp)QWidget::showNormal()
The following does not work quite yet, how to construct a NETWinInfo?