aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-24 03:23:14 +0200
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2015-06-24 03:40:06 +0200
commitae2f607a19b12a30374de059ec29beaf41f82c73 (patch)
tree448afc2f95e5cb7465e30c4f8612a92d568a5449 /doc
parent81a1270a56bf1f6a13e709e653598c69c7d9334b (diff)
downloadsciteco-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.in14
-rw-r--r--doc/sciteco.7.template16
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