-
Notifications
You must be signed in to change notification settings - Fork 569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make it possible to build "standard" dialogs #2368
Comments
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: