]> ruderich.org/simon Gitweb - fcscs/fcscs.git/blobdiff - bin/fcscs
Update documentation
[fcscs/fcscs.git] / bin / fcscs
index f7752209145c213fcc9000b27ebe7ed2fd93dffb..42b63db010c192edd6baa14187f14fc94a485742 100755 (executable)
--- a/bin/fcscs
+++ b/bin/fcscs
@@ -2,7 +2,7 @@
 
 # fcscs - fast curses screen content select
 
-# Copyright (C) 2013-2016  Simon Ruderich
+# Copyright (C) 2013-2017  Simon Ruderich
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -44,9 +44,9 @@ B<fcscs> [I<options>] I<path/to/screen/capture/file>
 
 B<fcscs> is a small tool which allows quick selection of terminal screen
 contents (like URLs, paths, regex matches, etc.) and passes the selection to
-GNU Screen's or Tmux's buffer or any other program. The selection can then
-quickly be pasted, e.g. in the shell. Requires GNU Screen or Tmux. It's
-licensed under the GPL 3 or later.
+GNU Screen's or Tmux's paste buffer or any other program. The selection can
+then quickly be pasted, e.g. in the shell. Requires GNU Screen or Tmux to
+capture the terminal content. It's licensed under the GPL 3 or later.
 
 =head1 OPTIONS
 
@@ -111,7 +111,9 @@ explained below. Per default URLs are selected, see options for a way to
 change this.
 
 I<NOTE>: Opening URLs in the browser passes the URL via the command line which
-leaks URLs to other users on the current system via C<ps aux> or C<top>.
+might leak URLs to other users on the current system via C<ps aux> or C<top>
+(mount C</proc> with C<hidepid=2> on Linux to prevent this information
+leakage).
 
 I<NOTE>: When yanking (copying) a temporary file is used to pass the data to
 GNU screen/Tmux without exposing it to C<ps aux> or C<top>. However this may
@@ -506,7 +508,7 @@ sub run_in_background {
 
         # Necessary for GNU screen or it'll keep the window open until an
         # external command has run.
-        require File::Spec;
+        require File::Spec; # load here to speedup startup
         my $devnull = File::Spec->devnull();
         open STDIN,  '<', $devnull or die $!;
         open STDOUT, '>', $devnull or die $!;
@@ -590,7 +592,7 @@ sub select_match {
         $number = 1;
     }
 
-    $screen->draw_matches($config, $matches, []); # remove matches
+    $screen->draw_matches($config, $matches, []); # clear matches
 
     foreach (@{$matches}) {
         return { match => $_ } if $_->{id} == $number;
@@ -890,7 +892,7 @@ sub handler_yank {
 
     $screen->debug('handler_yank', 'started');
 
-    require File::Temp;
+    require File::Temp; # load here to speedup startup
 
     # Use a temporary file to prevent leaking the yanked data to other users
     # with the command line, e.g. ps aux or top.
@@ -945,7 +947,7 @@ sub handler_paste {
 
     $screen->debug('handler_paste', 'started');
 
-    require Time::HiRes;
+    require Time::HiRes; # load here to speedup startup
 
     my @cmd;
     if ($config->{setting}{multiplexer} eq 'screen') {
@@ -988,8 +990,9 @@ sub handler_url {
 
 =head1 CONFIGURATION
 
-fcscs is configured through F<~/.fcscsrc> or F<~/.config/fcscs/fcscsrc> which
-is a normal Perl script with all of Perl's usual features.
+fcscs is configured through F<~/.fcscsrc> (preferred) or
+F<~/.config/fcscs/fcscsrc> which is a normal Perl script with all of Perl's
+usual features (only loaded if not writable by others).
 
 All configuration values are stored in the hash C<%config>. All manually
 defined keys overwrite the default settings.
@@ -1009,8 +1012,8 @@ settings see below):
     # Draw numbers in bold yellow.
     $config{attribute}{match_id} = color_pair(COLOR_YELLOW, -1)
                                  | A_BOLD;
-    # Disable Vim-like 'smartcase'ignore case until an upper character is
-    # searched.
+    # Disable Vim-like 'smartcase' (ignore case until an upper character is
+    # searched) which is enabled by default.
     $config{setting}{smartcase} = 0;
 
     # Use chromium to open URLs if running under X, elinks otherwise.
@@ -1191,7 +1194,7 @@ Defaults in parentheses.
 
 =item B<paste_sleep>        sleep x us before running paste command (C<100_000>)
 
-=item B<screen_msgwait>     GNU Screen's msgwait variable, used when yanking (C<5>)
+=item B<screen_msgwait>     GNU Screen's msgwait variable, overwritten with this value when yanking (C<5>)
 
 =item B<alternative_return> additional accept key like return, set to C<\n> to disable (C<s>)
 
@@ -1616,7 +1619,7 @@ Simon Ruderich E<lt>simon@ruderich.orgE<gt>
 
 =head1 LICENSE AND COPYRIGHT
 
-Copyright (C) 2013-2016 by Simon Ruderich
+Copyright (C) 2013-2017 by Simon Ruderich
 
 This program is free software: you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by