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
By "standard", I mean something akin to Gdk.MessageDialog or Gtk.Dialog.
Currently, the two options I see are:
WindowLevel::AppWindow, but then the window isn't properly transient for its parent, the parent is not disabled, and _NET_WM_STATE_SKIP_TASKBAR is not available.
WindowLevel::Modal, where override redirect is set, fixing most of the points above, but also removing titlebars in the process (and on most window managers the ability to move the window).
Given how common dialogs are, it might be suitable to create a WindowLevel::Dialog(parent) that sets things up akin to Gtk.Dialog.
But ideally, WindowDesc would be given more customizability instead. Especially because you can write something like this right now and wonder why there is no titlebar:
WindowDesc::new(widget)// I demand a titlebar.set_titlebar(true)// But the modal will silently ignore it.window_level(WindowLevel::Modal(parent))
So my wishlist to extend a WindowLevel::Modal window description would be:
WindowDesc::set_titlebar works
titlebar buttons can be toggled (e.g. All/Close/None)
WindowDesc::resizable works
_NET_WM_STATE_SKIP_TASKBAR/GtkWindow:skip-taskbar-hint can be set
GTK_DIALOG_DESTROY_WITH_PARENT can be set
override redirect should either not be set or customizable
incompatible options (e.g. set_redirect_override(true) + set_titlebar(true)) produce some kind of notice
The text was updated successfully, but these errors were encountered:
sclu1034
changed the title
Make it possible to build "standard" dialog
Make it possible to build "standard" dialogs
Mar 16, 2023
Generally I think this should indeed be possible and a lot of what you described seems reasonable.
There is the meta issue of Druid being discontinued, so depending on how large the code changes are it might be a very slow review process. One thing I've been thinking about is doing a final push to switch Druid to use Glazier. No promises or ETAs, but in theory this would allow for at least part of the work to be done in the context of Glazier, which would have a lot faster review times.
By "standard", I mean something akin to
Gdk.MessageDialog
orGtk.Dialog
.Currently, the two options I see are:
WindowLevel::AppWindow
, but then the window isn't properly transient for its parent, the parent is not disabled, and_NET_WM_STATE_SKIP_TASKBAR
is not available.WindowLevel::Modal
, where override redirect is set, fixing most of the points above, but also removing titlebars in the process (and on most window managers the ability to move the window).Given how common dialogs are, it might be suitable to create a
WindowLevel::Dialog(parent)
that sets things up akin toGtk.Dialog
.But ideally,
WindowDesc
would be given more customizability instead. Especially because you can write something like this right now and wonder why there is no titlebar:So my wishlist to extend a
WindowLevel::Modal
window description would be:WindowDesc::set_titlebar
worksAll
/Close
/None
)WindowDesc::resizable
works_NET_WM_STATE_SKIP_TASKBAR
/GtkWindow:skip-taskbar-hint
can be setGTK_DIALOG_DESTROY_WITH_PARENT
can be setset_redirect_override(true)
+set_titlebar(true)
) produce some kind of noticeThe text was updated successfully, but these errors were encountered: