diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2021-10-15 04:52:24 +0300 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2021-10-15 04:52:24 +0300 |
commit | 18a0543d0a5959c50c4b30f8aed5387465fbaa8a (patch) | |
tree | 58f92559b1621f6baa9dc357c794b88535bc2f70 /TODO | |
parent | 50679b111d10b21dae655123b219d51e5f5b17ef (diff) | |
download | sciteco-18a0543d0a5959c50c4b30f8aed5387465fbaa8a.tar.gz |
Gtk: disabled ^Z suspension on Unix for the time being
* This has always been broken as Gtk will not hide the
window before suspending.
* It has been deemed to complicated to implement at the moment.
Even if we can catch SIGTSTP (not that trivial), it seems to be
impossible - at least without some lower level Xlib interaction -
to hide the program window before raising SIGTSTP.
* Even if everything worked, it is unclear whether it is actually
desirable to suspend a GUI application - ^Z may be pressed accidentally
and it will be inconvenient to resume the job.
So we would additionally have to check for the existence of
an attached console.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -80,6 +80,21 @@ Known Bugs: logging system. * Out-of-tree builds are broken. See contrib/scintilla.am. + * Gtk on Unix: On ^Z, we do not suspend properly. The window is still shown. + Perhaps we should try to catch SIGTSTP? + This does not work with g_unix_signal_add(), though, so any + workaround would be tricky. + We could create a pipe via g_unix_open_pipe() which we + write to using write() in a normal signal handler. + We can then add a watcher using g_unix_fd_add() which will + hide the main window. + Unfortunately, it is also not trivial to get notified when + the window has really been hidden/unrealized. + Even if everything worked, it might well be annoying if + you accidentally suspend your instance while not being + connected to a terminal. + Suspension from the command-line has therefore been disabled + on Gtk for the time being. Features: * Auto-indention could be implemented via context-sensitive |