diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-24 03:23:14 +0200 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2015-06-24 03:40:06 +0200 |
commit | ae2f607a19b12a30374de059ec29beaf41f82c73 (patch) | |
tree | 448afc2f95e5cb7465e30c4f8612a92d568a5449 /doc | |
parent | 81a1270a56bf1f6a13e709e653598c69c7d9334b (diff) | |
download | sciteco-ae2f607a19b12a30374de059ec29beaf41f82c73.tar.gz |
added "^FCLOSE" function key macro and defined SIGTERM behaviour
* ^FCLOSE is inserted when the "Close" key is pressed.
It is used by the GTK+ UI to deliver window close requests
and SIGTERM occurrences.
(this replaces the "Break" key used before in the GTK+ UI).
* The default action of ^FCLOSE is to quit SciTECO, therefore
window closing is possible even in --no-profile mode for instance.
* fixed a minor memleak in Cmdline::fnmacro()
* added ^FCLOSE implementation to fnkeys.tes to insert EX.
This currently has the disadvantage of overwriting
the error message with syntax errors if there are modified buffers
but it will at least not close the window if there are modified
buffers.
* SIGTERM will now be similar to SIGINT by default instead of
terminating SciTECO right away.
* the GTK+ UI handles SIGTERM by emulating the "close" key while
still interrupting like SIGINT.
* GTK+: SIGTERM and ^C will interrupt by sending SIGINT to the
entire process group instead of simply setting `sigint_occurred`.
This fixes interrupting EC and EG commands with long-running
or hanging programs and is relevant to the solution of #4.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/sciteco.1.in | 14 | ||||
-rw-r--r-- | doc/sciteco.7.template | 16 |
2 files changed, 28 insertions, 2 deletions
diff --git a/doc/sciteco.1.in b/doc/sciteco.1.in index 5b4c1e0..7212a08 100644 --- a/doc/sciteco.1.in +++ b/doc/sciteco.1.in @@ -246,7 +246,7 @@ environment variables accessed by glib .UE . On a Curses UI, there are other important environment variables like \fBTERM\fP, \fBLINES\fP and \fBCOLUMNS\fP that may be -accesses when \*(ST enters interactive mode. +accessed when \*(ST enters interactive mode. For ncurses, see section \fBENVIRONMENT\fP in .BR ncurses (3NCURSES) for details. @@ -271,9 +271,19 @@ ignored. Some GUIs may depend on delivery of \fBSIGINT\fP when \fB^C\fP is pressed in order to interrupt macros interactively. Note that this signal can usually also be generated when pressing -\fB^C\fP on the process (also if there is a graphical window). +\fB^C\fP on the process' associated console +(also if there is a graphical window). This is useful for GUIs that do not yet support interruptions directly. +.TP +.B SIGTERM +Try to gracefully shut down \*(ST. +In batch mode this only interrupts the currently running macro +similar to \fBSIGINT\fP causing \*(ST to exit. +If technically possible, user interfaces will additionally +process \fBSIGTERM\fP in interactive mode as if the \fICLOSE\fP +function key has been pressed, which will result in unconditional +program termination or user-programmed behaviour. . . .SH FILES diff --git a/doc/sciteco.7.template b/doc/sciteco.7.template index b777143..efe8538 100644 --- a/doc/sciteco.7.template +++ b/doc/sciteco.7.template @@ -215,6 +215,22 @@ Inserted when the End or shift-End key is pressed. .TQ .B ^FSHELP Inserted when the Help or shift-Help key is pressed. +.TQ +.B ^FCLOSE +Inserted when the Close key has been pressed. +More importantly, this key is emulated in some GUIs +(notably GTK+) when the user tries to close \*(ST's +window or when the \fBSIGTERM\fP signal is received. +This allows customizing \*(ST's behaviour when +program termination is requested (e.g. only quit if +there are no unsaved buffers). +The close key is also special because +it has a default action if function key macros are +disabled or the \(lq^FCLOSE\(rq macro is undefined: +It unconditionally quits \*(ST. +The default action is \fBnot\fP performed when +\(lq^FCLOSE\(rq has merely been masked out in the +current parser state (see below). . .LP \(lq^F\(rq corresponds to CTRL+F in the above list but |