diff options
Diffstat (limited to 'w3m-doc/sample/keymap.cgi')
-rwxr-xr-x | w3m-doc/sample/keymap.cgi | 268 |
1 files changed, 0 insertions, 268 deletions
diff --git a/w3m-doc/sample/keymap.cgi b/w3m-doc/sample/keymap.cgi deleted file mode 100755 index f68f5fb..0000000 --- a/w3m-doc/sample/keymap.cgi +++ /dev/null @@ -1,268 +0,0 @@ -#!/usr/local/bin/perl - -$QUERY = $ENV{'QUERY_STRING'}; -$KEYMAP = "$ENV{'HOME'}/.w3m/keymap"; - -if ($QUERY) { - # &write_keymap($QUERY); - print <<EOF; -Content-Type: text/html -w3m-control: DELETE_PREVBUF -w3m-control: BACK - -EOF - exit; -} -&init_func(); -@key = (); -@func = (); -@data = (); -open(KEYMAP, $KEYMAP); -while (<KEYMAP>) { - s/^keymap\s+// || next; - (($k, $_) = &getQWord($_)) || next; - (($f, $_) = &getWord($_)) || next; - $FUNC_EXIST{$f} || next; - ($d, $_) = &getQWord($_); - push(@key, $k); - push(@func, $f); - push(@data, $d); -} -close(KEYMAP); - -$N = @key; - -print <<EOF; -Content-Type: text/html - -<head><title>Keymap Setting</title></head> -<h1>Keymap Setting</h1> -<form action="file:///\$LIB/keymap.cgi"> -<table> -<tr><td> Key<td> Command<td> Argument -<tr><td><input name=k_$N size=6> -<td><select name=f_$N> -EOF -&print_func(); -print <<EOF; -</select> -<td><input name=d_$N> -<td><input type=submit name=ok value=Ok> -<tr><td colspan=4><hr> -EOF -$i = 0; -while(@key) { - $k = &Q(shift @key); - $f = shift @func; - $d = &Q(shift @data); - print <<EOF; -<tr><td><input type=hidden name=k_$i value=\"$k\"> $k -<td><select name=f_$i> -EOF - &print_func($f); - print <<EOF; -</select> -<td><input name=d_$i value=\"$d\"> -<td><input type=checkbox name=del_$i>Delete -EOF - $i++; -} -print <<EOF; -</table> -</form> -EOF - -sub write_keymap { - local($query) = @_; - @key = (); - @func = (); - @data = (); - - for $q (split('&', $query)) { - ($_, $d) = split('=', $q); - if (s/^k_//) { - $key[$_] = $d; - } elsif (s/^f_//) { - $func[$_] = $d; - } elsif (s/^d_//) { - $data[$_] = $d; - } elsif (s/^del_//) { - $del[$_] = 1; - } - } - open(KEYMAP, "> ${KEYMAP}") || next; - while(@key) { - $k = &UQ(shift @key); - $f = shift @func; - $d = &UQ(shift @data); - ($f =~ /^\w/) || next; - (shift @del) && next; - print KEYMAP "keymap\t$k\t$f"; - if ($d ne '') { - if ($d =~ /[\"\'\\\s]/) { - $d =~ s/([\"\\])/\\$1/g; - print KEYMAP "\t\t\"$d\""; - } else { - $d =~ s/([\"\\])/\\$1/g; - print KEYMAP "\t\t$d"; - } - } - print KEYMAP "\n"; - } - close(KEYMAP); -} - -sub UQ { - local($_) = @_; - s/\+/ /g; - s/%([\da-f][\da-f])/pack('c', hex($1))/egi; - return $_; -} - -sub Q { - local($_) = @_; - s/\&/\&/g; - s/\</\</g; - s/\>/\>/g; - s/\"/\"/g; - return $_; -} - -sub getQWord { - local($_) = @_; - local($x) = ''; - s/^\s+//; - while($_ ne '') { - if (s/^\'(([^\'\\]|\\.)*)\'// || - s/^\"(([^\"\\]|\\.)*)\"// || - s/^([^\'\"\\\s]+)// || s/^\\(.)//) { - $x .= $1; - } else { - last; - } - } - return ($x, $_); -} - -sub getWord { - local($_) = @_; - s/^\s+//; - s/^(\S+)// || return (); - return ($1, $_); -} - -sub print_func { - local($f) = @_; - for(@FUNC_LIST) { - if ($f eq $_) { - print "<option selected>$_\n"; - } else { - print "<option>$_\n"; - } - } -} - -sub init_func { - @FUNC_LIST = (); - %FUNC_EXIST = (); - while(<DATA>) { - chop; - push(@FUNC_LIST, $_); - $FUNC_EXIST{$_} = 1; - } -} - -__END__ -- - - - - - - -ABORT -ADD_BOOKMARK -BACK -BEGIN -BOOKMARK -CENTER_H -CENTER_V -COOKIE -DELETE_PREVBUF -DICT_WORD -DICT_WORD_AT -DOWN -DOWNLOAD -EDIT -EDIT_SCREEN -END -ESCBMAP -ESCMAP -EXEC_SHELL -EXIT -EXTERN -EXTERN_LINK -FRAME -GOTO -GOTO_LINE -GOTO_LINK -HELP -HISTORY -INFO -INIT_MAILCAP -INTERRUPT -LEFT -LINE_BEGIN -LINE_END -LINE_INFO -LINK_BEGIN -LINK_END -LOAD -MAIN_MENU -MARK -MARK_MID -MARK_URL -MENU -MOUSE -MOUSE_TOGGLE -MOVE_DOWN -MOVE_LEFT -MOVE_RIGHT -MOVE_UP -NEXT_LINK -NEXT_MARK -NEXT_PAGE -NEXT_WORD -NOTHING -NULL -OPTIONS -PCMAP -PEEK -PEEK_LINK -PIPE_SHELL -PREV_LINK -PREV_MARK -PREV_PAGE -PREV_WORD -PRINT -QUIT -READ_SHELL -REDRAW -REG_MARK -RELOAD -RIGHT -SAVE -SAVE_IMAGE -SAVE_LINK -SAVE_SCREEN -SEARCH -SEARCH_BACK -SEARCH_FORE -SEARCH_NEXT -SEARCH_PREV -SELECT -SHELL -SHIFT_LEFT -SHIFT_RIGHT -SOURCE -SUSPEND -UP -VIEW -VIEW_BOOKMARK -VIEW_IMAGE -WHEREIS -WRAP_TOGGLE |