diff options
author | B. Watson <yalhcru@gmail.com> | 2015-08-12 04:30:10 -0400 |
---|---|---|
committer | B. Watson <yalhcru@gmail.com> | 2015-08-12 04:30:10 -0400 |
commit | 4ef0f5708e20509e427c706acedff6a22bf0faaa (patch) | |
tree | d12262b419530f40a3ef7cd24998f047ed443ebf /help | |
download | irssi-urlmanager-4ef0f5708e20509e427c706acedff6a22bf0faaa.tar.gz |
initial commit
Diffstat (limited to 'help')
33 files changed, 492 insertions, 0 deletions
diff --git a/help/urlm_add_browser b/help/urlm_add_browser new file mode 100644 index 0000000..d2c8327 --- /dev/null +++ b/help/urlm_add_browser @@ -0,0 +1,36 @@ + +URLM_ADD_BROWSER <tag>:<name>:<cmd-format> + +Define a new browser. The arguments must be separated by : (colon) +characters, since <name> and <cmd-format> may contain spaces (<cmd-format> +generally *requires* spaces). + +<tag> is a short unique identifier for the browser. Examples are "ff" for +Firefox or "moz" for Mozilla. The tag will be used to define a new irssi +command /urlm_open_<tag>, and (if urlm_short_cmds is ON) a new /<tag> +command. Tags must consist of only letters, numbers, or underscores, +and the special tag "wget" is reserved. + +<name> is the full human-readable name of the browser. It may contain +any characters you like, except for colons, and is only used for +identification purposes (e.g. /urlm_list_browsers output). + +<cmd-format> is the sprintf() format used to generate the full command +line required to run the browser. In simpler terms, it is the command +that runs the browser, with %s in place of the URL. It may contain +any characters other than colons. + +Examples: + /urlm_add_browser ff:Firefox:firefox -remote 'openurl(%s,new-tab)' + /urlm_add_browser ie:Internet Explorer:wine iexplore.exe '%s' + +The above examples define new /urlm_open_ff and /urlm_open_ie +commands. If urlm_short_cmds is ON, they also define new /ff and /ie +commands. + +Note: in <cmd-format>, the %s must occur inside a set of single-quotes. +It need not be the only thing inside the quotes, however (see the firefox +example). This is because a shell is used to spawn the external program. +The URLM_ADD_BROWSER command checks for the quotes, and refuses to +allow a <cmd-format> that's missing the quotes or the %s. + diff --git a/help/urlm_add_override b/help/urlm_add_override new file mode 100644 index 0000000..167808f --- /dev/null +++ b/help/urlm_add_override @@ -0,0 +1,15 @@ + +URLM_ADD_OVERRIDE <browser> <pattern> + +Add an override, for use with /urlm_open (q.v.) + +<browser> is the "tag", previously defined with URLM_ADD_BROWSER. + +<pattern> is a Perl regular expression (regex). Any URL matching the +regex (case-insensitive) will be open with <browser>. + +It's probably best to avoid conflicting/overlapping patterns, although +it can be done if you remember that the regexes are checked against each +URL in the order they are displayed in /urlm_list_overrides (which is +in fact the order in which they were defined). + diff --git a/help/urlm_browser_overrides b/help/urlm_browser_overrides new file mode 100644 index 0000000..1088280 --- /dev/null +++ b/help/urlm_browser_overrides @@ -0,0 +1,6 @@ + +Setting: URLM_BROWSER_OVERRIDES (private) + + Do not change directly; use /urlm_add_override, /urlm_del_override, + and /urlm_list_overrides instead. + diff --git a/help/urlm_browsers b/help/urlm_browsers new file mode 100644 index 0000000..eb89f27 --- /dev/null +++ b/help/urlm_browsers @@ -0,0 +1,6 @@ + +Setting: URLM_BROWSERS (private) + + Do not change directly; use /urlm_add_browser, /urlm_del_browser, + and /urlm_list_browsers instead. + diff --git a/help/urlm_default_browser b/help/urlm_default_browser new file mode 100644 index 0000000..d4d0448 --- /dev/null +++ b/help/urlm_default_browser @@ -0,0 +1,5 @@ + +Setting: URLM_DEFAULT_BROWSER (default: ff) + +Self-explanatory. One of the browser tags from URLM_LIST_BROWSERS. + diff --git a/help/urlm_del_browser b/help/urlm_del_browser new file mode 100644 index 0000000..4afd163 --- /dev/null +++ b/help/urlm_del_browser @@ -0,0 +1,12 @@ + +URLM_DEL_BROWSER <tag> + +Delete a browser from the browser-definition list. +K†~g> must have been previously defined with URLM_ADD_BROWSER. + +Deleting a browser also deletes any browser overrides defined for +taÒ}rowser. + +Example: to delete the "ie" definition (see above): + /urlm_del_browser ie + diff --git a/help/urlm_del_override b/help/urlm_del_override new file mode 100644 index 0000000..a1d03a9 --- /dev/null +++ b/help/urlm_del_override @@ -0,0 +1,7 @@ + +URLM_DEL_OVERRIDE <browser> <number>|all + +Delete an override. <number> is the number given in /urlm_list_overrides. +If "all" is used instead of a number, all overrides for <browser> will +be deleted. + diff --git a/help/urlm_list b/help/urlm_list new file mode 100644 index 0000000..6ec14ae --- /dev/null +++ b/help/urlm_list @@ -0,0 +1,55 @@ + +URLM_LIST [-delete] [<list>] + +Alternate command name: UL + +(Each command has a short, easy-to-type, but cryptic alternate name. If +you don't like cryptic command names, "/set urlm_short_cmds off" will +disable the short names). + +List URLs captured from channel and privmsg text. With no <list>, lists +the last 10 URLs. With -delete, lists and deletes listed URLS (the <list> is +required with -delete). + +If <list> is given, it may be: + +<number> + List URL #number only (example: /urlm_list 10) + +[<start>]-[<end>] + List URLs from #start to #end (example: /urlm_list 20-30) + if start omitted, beginning of list assumed. + if end omitted, end of list assumed. + "/urlm_list 10-" list from #10 to the end of the list, + "/urlm_list -" lists all URLs (same as "/urlm_list all"), + "/urlm_list -10" lists from start-of-list to #10). + +all + Lists all URLs. "/urlm_list all" is the same as "urlm_list -". + +<nick> + List URLs posted by user <nick>. + +<#channel> or <&channel> + List URLs posted in <channel> (example: /urlm_list #irssi). + +</urlmatch> + List URLs matching <urlmatch> (example: /urlm_list /google.com). + +Any <list> may be preceded with ! to invert its sense. Examples: + /urlm_list !/yahoo.com - List all URLs not matching yahoo.com + /urlm_list !bob - List all URLs not posted by nick "bob" + /urlm_list !#badchannel - List all URLs not posted in #badchannel + +Note: <nick>, <#channel>, </urlmatch> are all treated as case- + insensitive regular expressions. <nick> and <#channel> matches are + anchored at the start and end of the match (as though they were + prefixed with "^" and followed by "$"). </urlmatch> matches are + not anchored. + +Warning: BE CAREFUL with the -delete option! There is no confirmation, +and only one level of undo. It is recommended that you first run /urlm_list +<list> without the -delete option to be sure which items the -delete will +affect. If you've just deleted some URLs and want to restore them, run +/urlm_undo_delete + diff --git a/help/urlm_list_browsers b/help/urlm_list_browsers new file mode 100644 index 0000000..692b19e --- /dev/null +++ b/help/urlm_list_browsers @@ -0,0 +1,11 @@ + +URLM_LIST_BROWSERS + +Show the browser definition list. Items are listed in the same +format as used to define them: <browser>:<name>:<cmd-format>. The +default browser is marked with [*]. + +Note: urlm_add_browser, urlm_del_browser, and urlm_list_browsers store +the actual browser list as a string in the setting urlm_browsers. The +format of this setting is prickly; you shouldn't modify it directly. + diff --git a/help/urlm_list_overrides b/help/urlm_list_overrides new file mode 100644 index 0000000..ee1850c --- /dev/null +++ b/help/urlm_list_overrides @@ -0,0 +1,6 @@ + +URLM_LIST_OVERRIDES [<browser>] + +List override patterns for <browser> (optional: default w/no argument +is to list all overrides for all browsers). + diff --git a/help/urlm_log_file b/help/urlm_log_file new file mode 100644 index 0000000..3a1201d --- /dev/null +++ b/help/urlm_log_file @@ -0,0 +1,16 @@ + +Setting: URLM_LOG_FILE (default: ~/.irssi/urllog) [*] + +This is where URLs are stored. The file is updated immediately after +each URL is captured, and after any URL(s) are deleted. urlmanager +uses file locking (via flock()), so it's safe to run multiple instances +of irssi with the script loaded. + +The log file need not exist when the script is first loaded; it will +be created as soon as the first URL is captured. The directory for the +log file must already exist, though. Tilde expansion (~ meaning home +directory) is supported. + +When this setting is changed, the in-memory URL log is cleared and +repopulated from the new file. + diff --git a/help/urlm_log_own b/help/urlm_log_own new file mode 100644 index 0000000..39178ad --- /dev/null +++ b/help/urlm_log_own @@ -0,0 +1,6 @@ + +Setting: URLM_LOG_OWN + +Boolean; whether or not to capture and log URLs from your own public and +private messages. + diff --git a/help/urlm_log_partquit b/help/urlm_log_partquit new file mode 100644 index 0000000..885a2b7 --- /dev/null +++ b/help/urlm_log_partquit @@ -0,0 +1,7 @@ + +Setting: URLM_LOG_PARTQUIT (boolean, default: off) + +Capture URLs from /part and /quit messages. This is off by default +because so many people use IRC clients that include the client's web +site URL in the quit and part messages (a mild form of spam). + diff --git a/help/urlm_log_trim_interval b/help/urlm_log_trim_interval new file mode 100644 index 0000000..7d13cb9 --- /dev/null +++ b/help/urlm_log_trim_interval @@ -0,0 +1,24 @@ + +Setting: URLM_LOG_TRIM_INTERVAL + + How often (in seconds) do you want urlmanager to check the log and + trim it according to your urlm_max_log_lines and/or urlm_max_log_age + settings? Default is 3600 seconds (1 hour), which is probably OK for + most users. If you're in a lot of channels and exchange URLs with lots + of people, you might want to decrease this to keep the log from growing + too much. + + Note: urlm_log_trim_interval has no effect unless one or both of the + urlm_max_log_lines or urlm_max_log_age settings are set to non-zero + values. + + Note: Even with this setting set to zero, log trimming still occurs + at startup (unless urlm_log_trim_startup is OFF), and whenever a URL + is captured. To completely disable log trimming, set both + urlm_max_log_lines and urlm_max_log_age to zero. With these settings, + even manual trimming with /urlm_trim_log will do nothing. + + The lower you set this setting, the more CPU and disk access it requires + (unless you set it to zero, of course). Probably it's a bad idea to + use a value lower than 60 seconds here, under any conditions. + diff --git a/help/urlm_log_trim_startup b/help/urlm_log_trim_startup new file mode 100644 index 0000000..f33be64 --- /dev/null +++ b/help/urlm_log_trim_startup @@ -0,0 +1,7 @@ + +Setting: URLM_LOG_TRIM_STARTUP + + Boolean; controls whether urlmanager trims the log on startup. Has no + effect unless one or both of urlm_max_log_lines or urlm_max_log_age + are set to a non-zero value. + diff --git a/help/urlm_max_log_age b/help/urlm_max_log_age new file mode 100644 index 0000000..9c342ae --- /dev/null +++ b/help/urlm_max_log_age @@ -0,0 +1,17 @@ + +Setting: URLM_MAX_LOG_AGE + + Maximum age (in seconds) for URLs in the log. Set to zero to disable + age-based trimming. Any URLs older than this will be removed from the + log whenever the log is trimmed. This happens: + + - At startup (unless urlm_log_trim_startup is OFF) + - Every urlm_log_trim_interval seconds (if urlm_log_trim_interval + is non-zero) + - Any time a URL is captured + - When /urlm_trim_log is run manually + + This means that old URLs persist in the log for up to urlm_log_trim_interval + seconds past their expiration time; if this annoys you, decrease the + urlm_log_trim_interval to reduce the problem. + diff --git a/help/urlm_max_log_lines b/help/urlm_max_log_lines new file mode 100644 index 0000000..68e932c --- /dev/null +++ b/help/urlm_max_log_lines @@ -0,0 +1,11 @@ + +Setting: URLM_MAX_LOG_LINES + + Maximum number of URLs to keep in the log. May be set to zero to + disable trimming by length (in which case, trimming by age may still + be used or not, as desired). + + When set to non-zero, the log will be trimmed to this size by discarding + older (lower-numbered) URLs. See below for explanation of when trimming + is done. + diff --git a/help/urlm_open b/help/urlm_open new file mode 100644 index 0000000..1aac2c2 --- /dev/null +++ b/help/urlm_open @@ -0,0 +1,29 @@ + +URLM_OPEN [<arg>] - Open URL using "best" browser for the URL + +Alternate command name: UO + +Opens a URL according to the following rules: + +- If the URL's file extension (e.g. .zip) is found in urlm_wget_extensions, + the URL is downloaded with wget. (wget is run in an irssi window, so + you can monitor its progress) + +- Otherwise, if the URL matches any of the patterns in urlm_browser_overrides, + the URL is opened with the matching browser. (This is useful in cases + where e.g. you have Firefox as the default browser, but want all + youtube.com pages to open in Internet Explorer). See the + /urlm_add_override and /urlm_del_override commands for details. + +- Otherwise, the default browser (urlm_default_browser setting) is used. + +If <arg> is omitted, the default is to open the most recently captured URL. +If <arg> is provided, it must be a single numeric URL number (from the +output of /UL). Negative numbers are allowed, and are interpreted as +counting from the end of the list (so -1 means the second most recent +captured URL). + +Note: you do not need to define wget as a browser. urlmanager will use +its own internal wget support to run wget in a window if the file +extension is listed in urlm_wget_extensions. + diff --git a/help/urlm_quiet_capture b/help/urlm_quiet_capture new file mode 100644 index 0000000..eba5da2 --- /dev/null +++ b/help/urlm_quiet_capture @@ -0,0 +1,16 @@ + +Setting: URLM_QUIET_CAPTURE + +Boolean; whether or not to print "Captured URL #xx http://whatever from nick" +in the current window every time a URL is captured. Default: ON + +I can't think of a reason I'd ever want to turn this off, but maybe +it drives other people crazy... one warning: if you turn this setting off, +your default URL for "/urlm_open" may change between the time you notice +a URL in channel, and the time you try to open it (e.g. because someone in +another channel pasted another URL after the one you saw). + +Future versions of urlmanager may support an option to allow printing of +each captured URL in the window where it was captured, instead of the +current window. + diff --git a/help/urlm_short_cmds b/help/urlm_short_cmds new file mode 100644 index 0000000..3b15d48 --- /dev/null +++ b/help/urlm_short_cmds @@ -0,0 +1,14 @@ + +Setting: URLM_SHORT_CMDS (boolean, default: on) + +Whether or not to bind short command names, such as /ff as an alias +for /urlm_open_ff. The only commands that get short-name aliases are +/urlm_open (alias /uo) and the /urlm_open_* commands (which get the +browser tags as their short aliases). + +When this option is off, every command defined by urlmanager begins +with the string "urlm_", which acts as a sort of a namespace. Some +people might hate "polluting" the rest of the command namespace, or +maybe they already have a /uo command defined in another script. If +you're one of these people, /set urlm_short_cmds off. + diff --git a/help/urlm_trim_log b/help/urlm_trim_log new file mode 100644 index 0000000..59d3cf8 --- /dev/null +++ b/help/urlm_trim_log @@ -0,0 +1,12 @@ + +Setting: URLM_TRIM_LOG + +Manually trim the log file, according to the urlm_max_log_lines and +urlm_max_log_age settings (q.v.) + +Normally you won't need this command: instead you'll use the +urlm_log_trim_startup and/or urlm_log_trim_interval settings to +automatically keep the log size manageable. /urlm_trim_log might be +useful for recovering from an attack by floodbots that send URLs +to a channel... + diff --git a/help/urlm_undo_delete b/help/urlm_undo_delete new file mode 100644 index 0000000..1fbfea9 --- /dev/null +++ b/help/urlm_undo_delete @@ -0,0 +1,11 @@ + +URLM_UNDO_DELETE [-yes] + +Undo the last /urlm_list -delete operation. There is only one level of +undo, and you can't undo the undo. + +If any URLs have been captured since the last -delete, /urlm_undo_delete +will warn of this fact and refuse to restore, unless -yes is given. If +you override the warning with -yes, you WILL lose any URLs that have been +captured since the delete. + diff --git a/help/urlm_use_bold b/help/urlm_use_bold new file mode 100644 index 0000000..6c41e0b --- /dev/null +++ b/help/urlm_use_bold @@ -0,0 +1,7 @@ + +Setting: URLM_USE_BOLD (boolean, default: on) + +Whether or not you want bold in your /urlm_list output (and a few +other places within urlmanager). + + diff --git a/help/urlm_use_color b/help/urlm_use_color new file mode 100644 index 0000000..c2e453b --- /dev/null +++ b/help/urlm_use_color @@ -0,0 +1,12 @@ + +Setting: URLM_USE_COLOR (boolean, default: on) + +Whether or not you want color in your /urlm_list output. The author +finds the colors useful, but you might hate it. + +Note that urlmanager never sends text to the server (e.g. to a channel +or a query). With bold/color enabled, only you will see them, so you +won't be violating any "no mirc colors" channel rules. + +This setting has no effect if irssi's hide_colors is set to ON. + diff --git a/help/urlm_wget b/help/urlm_wget new file mode 100644 index 0000000..8ed7039 --- /dev/null +++ b/help/urlm_wget @@ -0,0 +1,29 @@ + +URLM_WGET [<wget-args] [<arg>] + +Alternate command name: WGET + +Downloads a URL with wget. <arg> is treated the same as /urlm_open (see +above). <wget-args>, if present, are passed to the wget process as-is +(see also the urlm_wget_extra_args setting). + +When urlmanager runs wget, it creates a new irssi window (split or hidden) +named urlm_wget_<number> (where <number> is a unique serial number generated +by urlmanager). This window behaves as a normal irssi window (shows up +in /window list, can be closed with /window close, etc). By default, +wget windows are created as hidden windows (change with urlm_wget_split_size +setting), which are automatically closed 60 seconds after the wget process +completes (change with urlm_wget_autoclose and urlm_wget_autoclose_delay +settings). + +To cancel a wget download, you may close its window while wget is still +running. This will kill the wget process, leaving any partially-downloaded +files behind (which may be resumed with wget's -c option). + +Note: If you need to pass a numeric argument to /urlm_wget as its last +argument, do not separate it from its command switch with a space. That +is, instead of "/urlm_wget -T 30", use "/urlm_wget -T30" (or its long +version, "/urlm_wget --timeout=30"). The reason for this restriction +is that urlmanager will interpret the last argument as a URL number, +if it's numeric. + diff --git a/help/urlm_wget_autoclose b/help/urlm_wget_autoclose new file mode 100644 index 0000000..42af64f --- /dev/null +++ b/help/urlm_wget_autoclose @@ -0,0 +1,13 @@ + +Setting: URLM_WGET_AUTOCLOSE + +Boolean; whether or not to automatically close windows created by running +wget (via /wget or /urlm_wget). Default: ON + +With this setting OFF, you'll have to manually close windows created +by /wget or /urlm_wget. + +Changing this setting only affects wget windows created after the change. +Any existing wget windows will still be autoclosed if the old value was +ON, or else they will not be autoclosed if the old value was OFF. + diff --git a/help/urlm_wget_autoclose_delay b/help/urlm_wget_autoclose_delay new file mode 100644 index 0000000..206657b --- /dev/null +++ b/help/urlm_wget_autoclose_delay @@ -0,0 +1,10 @@ + +Setting: URLM_WGET_AUTOCLOSE_DELAY + +Integer; how long to wait after a wget download is complete, before auto- +closing the window. No effect if urlm_wget_autoclose is OFF. + +With urlm_wget_autoclose ON, set urlm_wget_autoclose_delay to zero to +immediately close wget windows, or to a number of seconds to delay +before closing wget windows. + diff --git a/help/urlm_wget_dl_dir b/help/urlm_wget_dl_dir new file mode 100644 index 0000000..da06e82 --- /dev/null +++ b/help/urlm_wget_dl_dir @@ -0,0 +1,14 @@ + +Setting: URLM_WGET_DL_DIR (default: ~) [*] + +This is where files downloaded with wget will be saved. Tilde expansion +is supported. If this directory does not exist, it will be created by +wget, when it is run for the first time. + +[*] Normally, the log file and download directory should be an absolute +path, or relative to $HOME (with ~ expansion). If a relative path is +used (without ~), it will be resolved relative to the working directory +where irssi was started. + +FIXME: this setting may not contain whitespace characters (spaces or tabs). + diff --git a/help/urlm_wget_extensions b/help/urlm_wget_extensions new file mode 100644 index 0000000..ec87f9c --- /dev/null +++ b/help/urlm_wget_extensions @@ -0,0 +1,23 @@ + +Setting: URLM_WGET_EXTENSIONS (default: tar zip atr bas xex exe dcm car z gz torrent) + +Space-separated list of filename extensions. When /urlm_open is used on +a URL ending in one of these, the file will be downloaded with wget, +running in an irssi window. To disable wget, you may set this list to +an empty string, or use one of your defined browsers to open such files. + +If you want to use wget without running it in an irssi window, clear the +extension list, then define a browser like so: + +# download in background (no controlling terminal, no progress reports) +/urlm_add_browser dl:Download with wget:wget -b '%s' + +# download in new screen window (irssi must be running under GNU screen) +/urlm_add_browser dl:Download with wget:screen wget '%s' + +# download in new X window (irssi must be running under X) +/urlm_add_browser dl:Download with wget:xterm -e "wget '%s';echo 'press Enter to close window';read junk" + +Note that you may not define a browser tag as 'wget' (the examples above +all use 'dl' instead). + diff --git a/help/urlm_wget_extra_args b/help/urlm_wget_extra_args new file mode 100644 index 0000000..1ee593f --- /dev/null +++ b/help/urlm_wget_extra_args @@ -0,0 +1,5 @@ + +Setting: URLM_WGET_EXTRA_ARGS (default: <none>) + +Extra arguments to be passed to wget verbatim. Default is no arguments. + diff --git a/help/urlm_wget_path b/help/urlm_wget_path new file mode 100644 index 0000000..260a921 --- /dev/null +++ b/help/urlm_wget_path @@ -0,0 +1,9 @@ + +Setting: URLM_WGET_PATH (default: wget) + +The path to the wget binary. Either an absolute path such as /usr/bin/wget, +or the string wget (the default) to search the $PATH. Tilde expansion +is supported (e.g. /set urlm_wget_path ~/bin/wget) + +FIXME: this setting may not contain whitespace characters (spaces or tabs). + diff --git a/help/urlm_wget_split_size b/help/urlm_wget_split_size new file mode 100644 index 0000000..63beb07 --- /dev/null +++ b/help/urlm_wget_split_size @@ -0,0 +1,11 @@ + +Setting: URLM_WGET_SPLIT_SIZE + +Integer; how tall (in screen lines) to make split windows created by +/wget or /urlm_wget. Set to zero (the default) to use hidden (full-sized) +windows instead of split windows. + +Try not to set this too high; if urlmanager is unable to resize a window +to this size, the window will remain at the default size (as used +by the /window split command). + diff --git a/help/urlmanager b/help/urlmanager new file mode 100644 index 0000000..f979ad9 --- /dev/null +++ b/help/urlmanager @@ -0,0 +1,30 @@ + +URLMANAGER + +Commands: all urlmanager commands are prefixed with /urlm_ except the +short browser aliases (if urlm_short_cmds is enabled). To see the list +of commands, type "/help urlm". + +Settings: urlmanager's behaviour is controlled by quite a few settings. +All urlmanager settings are prefixed with "urlm_". +To see a full list of them, use "/set urlm". + +Log File: + +URLs are stored in a file (filename set with urlm_log_file), one URL +per line. + +Each line is a space-separated list: + +timestamp nick channel url + +This file may be edited (carefully) with a standard text editor, or +removed (to clear the URL list). If you edit or delete the file, reload +the script with "/run urlmanager.pl". (it's probably a +good idea to trim the file when it gets above a few hundred lines). + +Notes: +- The timestamp is expressed in seconds since the epoch. +- For a URL received in a private /msg or dcc chat, "channel" will + be the sending user. + |