You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
This optional property MAY be set by stand alone tools like a taskbar or an iconbox. It specifies the geometry of a possible icon in case the window is iconified.
Rationale: This makes it possible for a Window Manager to display a nice animation like morphing the window into its icon.
Geometry of iconified view so window manager can animate iconify: WM_ICON_GEOMETRY
Do we have to set WM_ICON_GEOMETRY (e.g., using NETWinInfo::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.
The icon geometry stuff is for WMs which support animations when minimizing windows.
When you minimize a window, many WMs use that rectangle as the destination of their animations.
For example, openbox is one of these WMs.
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's WM_ICON_GEOMETRY to that.
animation.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 lxqt/lxqt#587 (comment)
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?
The text was updated successfully, but these errors were encountered: