perl: add most significant features for v5.16
[sheet.git] / screen.inc.pl
index c887191a865a40b5abf005a5ad4e4bee857337aa..5f2b99e6946c44fdf45a03833e0755e45c0fa44e 100644 (file)
@@ -2,84 +2,105 @@ use utf8;
 
 # screen version 4.00.03jw4
 
+{
+
+def => {
 '' => {
        desc => 'index',
 
-       'a' => ["literal a"],
-       'A' => ["title"], # title
-       '^a'=> ["command key"],
-       'b' => ["break"], # break
-       'B' => ["pow_break"], # pow_break
+       'a' => ['g6', "literal a"],
+       'A' => ['g8 args', "title"], # title
+       '^a'=> ['', "command key"],
+       'b' => ['g6', "send break"], # break
+       'B' => ['g6', "reopen break"], # pow_break
        '^b'=> 'b',
-       'c' => ["new"], # screen
-       'C' => ["clear"], # clear
+       'c' => ['g8', "new"], # screen
+       'C' => ['g1', "clear"], # clear
        '^c'=> 'c',
-       'd' => ["detach"], # detach
-       'D' => ["detach"], # pow_detach
+       'd' => ['g8', "detach"], # detach
+       'D' => ['g8', "detach logout"], # pow_detach
        '^d'=> 'd',
-       'f' => ["flow", # flow
-       'F' => ["fit"],
+       'f' => ['g3', "flow"], # flow
+       'F' => ['g3', "fit"],
        '^f'=> 'f',
-       '^g'=> ["vbell"], # vbell
-       'h' => ["hardcopy"], # hardcopy
-       'H' => ["log"], # log
+       '^g'=> ['g3', "vbell"], # vbell
+       'h' => ['g5', "hardcopy"], # hardcopy
+       'H' => ['g4', "log"], # log
        '^h'=> '^p',
-       'i' => ["prop$sign{_}erties"], # info
-       'I' => ["login on"], #XXX
-       '^i'=> ["focus"], # focus
-       'k' => ["kill"], # kill
+       'i' => ['g0', "prop$sign{_}erties"], # info
+       'I' => ['g4', "login on"], #XXX
+       '^i'=> ['g1', "focus"], # focus
+       'k' => ['g4', "kill"], # kill
        'K' => 'k',
-       'l' => ["redraw"], # redisplay
-       'L' => ["login"], # login
+       'l' => ['g1', "redraw"], # redisplay
+       'L' => ['g4', "login"], # login
        '^l'=> 'l',
-       'm' => ["last msg"], # lastmsg
-       'M' => ["monitor"], # monitor
+       'm' => ['g0', "last msg"], # lastmsg
+       'M' => ['g4', "moni$sign{_}tor"], # monitor
        '^m'=> 'm',
-       'n' => ["next"], # next
-       'N' => ["number"], # number
+       'n' => ['g2', "next"], # next
+       'N' => ['g0', "number"], # number
        '^n'=> 'n',
-       'O' => ["login off"], #XXX
-       '^o'=> ["other"], # other
-       'p' => ["previous"], # prev
+       'O' => ['g4', "login off"], #XXX
+       '^o'=> ['g2', "other"], # other
+       'p' => ['g2', "previous"], # prev
        '^p'=> 'p',
-       'q' => ["xon"], # xon
-       'Q' => ["only"], # only
+       'q' => ['g3', "xon"], # xon
+       'Q' => ['g1', "only"], # only
        '^q'=> 'q',
-       'r' => ["wrap"], # wrap
+       'r' => ['g3', "wrap"], # wrap
        '^r'=> 'r',
-       's' => ['xoff'], # xoff
+       's' => ['g3', 'xoff'], # xoff
        '^s'=> 's',
-       't' => ["time"], # time
+       't' => ['g0', "time"], # time
        '^t'=> 't',
-       'v' => ["version"],
-       '^v'=> ["digraph"], # digraph
-       'w' => ["windows"], # windows
-       'W' => ["width"], # width
+       'v' => ['g0', "version"],
+       '^v'=> ['g6 arg arg', "digraph"], # digraph
+       'w' => ['g0', "windows"], # windows
+       'W' => ['g3', "width"], # width
        '^w'=> 'w',
-       'x' => ["lock screen"], # lockscreen
-       'X' => ["remove"], # remove
+       'x' => ['g8', "lock screen"], # lockscreen
+       'X' => ['g1', "remove"], # remove
        '^x'=> 'x',
-       'z' => ["suspend"], # suspend
-       'Z' => ["reset"],
+       'z' => ['g8', "suspend"], # suspend
+       'Z' => ['g8', "reset"],
        '^z'=> 'z',
 
-       "'" => ["select"], # select
-       '"' => ["windowlist -b"], # windowlist -b
-       ':' => ["colon"], # colon
-       '[' => ["copy"], # copy
-       '^]'=> ["paste ."], # paste .
+       "'" => ['g2 arg', "select"], # select
+       '"' => ['g2', "window$sign{_}list -b"], # windowlist -b
+       ':' => ['g3', "colon"], # colon
+       "\e"=> ['g5', "copy"], # copy
+       '[' => '^[',
+       '^['=> "\e",
+       '^]'=> ['g6', "paste ."], # paste .
        ']' => '^]',
-       '|' => ["split vert"], # split -v
-       '{' => ["history"], # history
-       '}' => ["history"], # history
-       '=' => ["remove buf"], # removebuf
+       '|' => ['g1', "split vert"], # split -v
+       '{' => ['g6', "history"], # history
+       '}' => ['g6', "history"], # history
+       '=' => ['g5', "remove buf"], # removebuf
        '^?'=> '^h',
-       '*' => ["displays"], # displays
-       '.' => ["dumptermcap"], # dumptermcap
-       ',' => ["license"], # license
-       '-' => ["select -"], # select -
-       '_' => ["silence"], # silence
-       '>' => ["writebuf"], # writebuf
-       '<' => ["readbuf"], # readbuf
+       '*' => ['g0', "displays"], # displays
+       '.' => ['g8', "dump$sign{_}termcap"], # dumptermcap
+       ',' => ['g0', "license"], # license
+       '-' => ['g2', "select -"], # select -
+       '_' => ['g4', "silence"], # silence
+       '>' => ['g5', "writebuf"], # writebuf
+       '<' => ['g5', "readbuf"], # readbuf
        '^@'=> 'n',
 },
+},
+
+flag => {
+       g0 => ["info"],
+       g1 => ["display"],
+       g2 => ["select"],
+       g3 => ["config"],
+       g4 => ["window"],
+       g5 => ["buffer"],
+       g6 => ["contents"],
+       g8 => ["screen"],
+
+       arg => ["key$sign{arg}", "Commands with a dot need a char argument afterwards."],
+},
+
+}