UnsinkableDialogs

From Inkscape Wiki
Revision as of 09:32, 13 November 2003 by Buliabyak (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

I just committed an update that makes the toolbar and the object-properties dialog (ctrl-shift-f) unsinkable. This means they re-transientize themselves whenever a new desktop window becomes active. That is, no matter how you switch between document windows, these dialogs remain on top. If you minimize the last (or the only) document window, however, the dialogs minimize too.

Implementation is very simple: the dialogs respond to the activate_desktop signal by attaching themselves to the window of the desktop that sent that signal. There are two problems where I may use someone's help, before I make all other dialogs similarly unsinkable:

  • It's not 100% reliable. Sometimes dialogs fail to re-tranzientize. Looks like this happens when the signal is not sent for some unknown reason. Please test and report your observations or ideas.
  • The first (and only the first) desktop created by the program sends out the signal before a window for it is created, and the transientizing therefore fails. I added an ugly hack, inkscape_reactivate_desktop in inscape.c, which is called by sp_create_window in interface.c when it's done creating the window. This works but perhaps there's a better way. Ideas welcome.