diff options
Diffstat (limited to '')
| -rw-r--r-- | README.md | 207 | 
1 files changed, 109 insertions, 98 deletions
| @@ -11,92 +11,103 @@ each their own repository as might be sensible, they're all stuffed in here.  The following is a brief list of the interesting scripts, and why you might want  to use them. -* `auto_server/` -- provides a `/join+` command which allows you to join -  channels on servers to which you're not currently connected, as long as you've -  got everything set up correctly in your `/channels` and `/networks` config. +* [`auto_server/`](tree/master/auto_server/) -- provides a `/join+` command +  which allows you to join channels on servers to which you're not currently +  connected, as long as you've got everything set up correctly in your +  `/channels` and `/networks` config. -* `history_search/` -- an improved version of coekie's original history_search, it -  behaves a lot more like the standard Readline incremental +* [`history_search/`](tree/master/history_search/) -- an improved version of +  [@coekie's](/coekie/irssi-scripts/blob/master/history_search.pl) original +  history_search, it behaves a lot more like the standard Readline incremental    search over your recent command history. -* `ido_mode/` -- A window switching mode best described as "The bastard lovechild -  of emacs ido-mode and window_switcher.pl".  It supports flexible matching of -  channel names, filtering by active windows, servers, and more. See the script -  comments for details. -   -* `feature_tests/` has a bunch of different little scripts written to test certain -  aspects of Irssi behaviour.  None of them are likely to be particularly useful -  unless you're looking for simple examples of various things on which to build. -  Some of the ones which might actually be useful are: - - * `key_test.pl` - decodes and prints keyboard inputs from the `gui key pressed` -   signal.  Useful for checking what keycode a particular combo generates. - - * `template.pl` - A basic outline of a script to use as a starting point -   for others. - - * `pipes.pl` A barebones template for a script which uses forking and pipes -   to handle async tasks in the background without hanging Irssi. -   -* `modules/` contains a few half-baked attempts at loadable modules for Irssi, -  none of which do very much at the moment.  They might be useful as templates -  for your own modules, however. -   -* `no_key_modes/` provides an additional expando `$M_nopass` which you can -  add to your theme to provide channel modes, but without showing the channel -  key.  This is probably less useful since someone pointed me at `/set -  chanmode_expando_strip` which has much the same effect. -   -* `patches/` contains a few patches for the irssi source, probably out of date -  by now, which do various things. The easiest way to figure out what is to read -  them, unless I get bored and document them sometime. -   -* `prompt_info/` was the original "How can I put dynamic status crap into my -  prompt string" script.  This has since been superceded by the far nicer -  `uberprompt.pl` which also lives in that dir.  Many of my other scripts -  require uberprompt as a way to provide part of their user interface. -   -* `sb_position/` gives you an additional status bar item which indicates -  approximately how far you are scrolled in a given window buffer, in terms -  of pages and percentage.  It is configurable as the comments in the script -  explain. -   -* `scrolled_reminder/` is a script that tries to prevent one of the more -  common accidental IRC screwups -- replying to a conversation that happened -  hours ago because you didn't notice you were scrolled up in the history buffer. -  If you try to send a message whilst scrolled, it'll warn you and check you -  really want to first. +* [`ido_mode/`](tree/master/ido_mode/) -- A window switching mode best described +  as "The bastard lovechild of emacs ido-mode and window_switcher.pl".  It +  supports flexible matching of channel names, filtering by active windows, +  servers, and more. See the script comments for details. +   +* [`feature_tests/`](tree/master/feature_tests/) has a bunch of different little +  scripts written to test certain aspects of Irssi behaviour.  None of them are +  likely to be particularly useful unless you're looking for simple examples of +  various things on which to build.  Some of the ones which might actually be +  useful are: + + * [`key_test.pl`](tree/master/feature_tests/key_test.pl) - decodes and prints +   keyboard inputs from the `gui key pressed` signal.  Useful for checking what +   keycode a particular combo generates. + + * [`template.pl`](tree/master/feature_tests/template.pl) - A basic outline of a +   script to use as a starting point for others. + + * [`pipes.pl`](tree/master/feature_tests/pipes.pl) A barebones template for a +   script which uses forking and pipes to handle async tasks in the background +   without hanging Irssi. +   +* [`modules/`](tree/master/modules/) contains a few half-baked attempts at +  loadable modules for Irssi, none of which do very much at the moment.  They +  might be useful as templates for your own modules, however. +   +* [`no_key_modes/`](tree/master/no_key_modes/) provides an additional expando +  `$M_nopass` which you can add to your theme to provide channel modes, but +  without showing the channel key.  This is probably less useful since someone +  pointed me at `/set chanmode_expando_strip` which has much the same effect. +   +* [`patches/`](tree/master/patches/) contains a few patches for the irssi +  source, probably out of date by now, which do various things. The easiest way +  to figure out what is to read them, unless I get bored and document them +  sometime. +   +* [`prompt_info/`](tree/master/prompt_info/) was the original "How can I put +  dynamic status crap into my prompt string" script.  This has since been +  superceded by the far nicer `uberprompt.pl` which also lives in that dir. +  Many of my other scripts require uberprompt as a way to provide part of their +  user interface. +   +* [`sb_position/`](tree/master/sb_position/) gives you an additional status bar +  item which indicates approximately how far you are scrolled in a given window +  buffer, in terms of pages and percentage.  It is configurable as the comments +  in the script explain. +   +* [`scrolled_reminder/`](tree/master/scrolled_reminder/) is a script that tries +  to prevent one of the more common accidental IRC screwups -- replying to a +  conversation that happened hours ago because you didn't notice you were +  scrolled up in the history buffer.  If you try to send a message whilst +  scrolled, it'll warn you and check you really want to first. -* `quit-notify/` is based on a script by vague@#irssi/Freenode.  It is most -  useful when you are ignoring joins/parts/quits from a channel, and hence -  don't realise when the person you are responding to has left.  If they have -  (or if you prefix your message with a nonexistent nick), the script will -  ask you to confirm that you want to send the message, much like -  `scrolled_reminder`. -   -* `undo/` contains 2 scripts, `undo.pl` and `kill-ring.pl`. See their header -  for further documentation. -   -* `testing/` is a Perl framework external to Irssi (ie: not a script) that will -  ultimately allow you to write unit tests for your scripts, and run them in a -  real irssi instance, and check that they behave correctly.  Still undergoing -  heavy development, and not really ready for public usage. -   -* `throttled_autojoin/` doesn't work. It's meant to allow people with huuuuuuge -  numbers of autojoin channels and servers to connect slowly, so as not to time -  themselves out when reconnecting. Mostly dead. -   -* `tinyurl_tabcomplete/` is a script which lets you hit tab following anything -  that looks like a URL to replace it with a tinyurl'd version.  Handy if you -  regularly paste Google-maps links or other massive horrible links. -   -* `url_hilight/` I can't remember what this one does. Suggestions welcome. - -* `vim_mode/` The most exciting (and by far the largest) script here. Gives -  vim-addicted users a way to use most of their finger-memory in Irssi.  Still -  under active development, features and bug-requests welcome.  Also supported -  in #irssi_vim on Freenode. +* [`quit-notify/`](tree/master/quit-notify/) is based on a script by +  vague@#irssi/Freenode.  It is most useful when you are ignoring +  joins/parts/quits from a channel, and hence don't realise when the person you +  are responding to has left.  If they have (or if you prefix your message with +  a nonexistent nick), the script will ask you to confirm that you want to send +  the message, much like `scrolled_reminder`. +   +* [`undo/`](tree/master/undo/) contains 2 scripts, `undo.pl` and +  `kill-ring.pl`. See their header for further documentation. +   +* [`testing/`](tree/master/testing/) is a Perl framework external to Irssi (ie: +  not a script) that will ultimately allow you to write unit tests for your +  scripts, and run them in a real irssi instance, and check that they behave +  correctly.  Still undergoing heavy development, and not really ready for +  public usage. +   +* [`throttled_autojoin/`](tree/master/throttled_autojoin/) doesn't work. It's +  meant to allow people with huuuuuuge numbers of autojoin channels and servers +  to connect slowly, so as not to time themselves out when reconnecting. Mostly +  dead. +   +* [`tinyurl_tabcomplete/`](tree/master/tinyurl_tabcomplete/) is a script which +  lets you hit tab following anything that looks like a URL to replace it with a +  tinyurl'd version.  Handy if you regularly paste Google-maps links or other +  massive horrible links. +   +* [`url_hilight/`](tree/master/url_hilight/) I can't remember what this one +  does. Suggestions welcome. + +* [`vim_mode/`](tree/master/vim_mode/) The most exciting (and by far the +  largest) script here. Gives vim-addicted users a way to use most of their +  finger-memory in Irssi.  Still under active development, features and +  bug-requests welcome.  Also supported in #irssi_vim on Freenode.  ## Documentation @@ -106,13 +117,14 @@ it has been moved to  ## Other Things -Many of my scripts require [uberprompt](https://github.com/shabble/irssi-scripts/blob/master/prompt_info/uberprompt.pl) as a -dependency.  Those that do will say so in the comments at the top of the file, -and will probably refuse to load without it. +Many of my scripts require +[uberprompt](https://github.com/shabble/irssi-scripts/blob/master/prompt_info/uberprompt.pl) +as a dependency.  Those that do will say so in the comments at the top of the +file, and will probably refuse to load without it.  ## Reminders for myself -*Not for public consumption. This section contains text  known to the State of +*Not for public consumption. This section contains text known to the State of  California to cause madness, rabies, or other reproductive harm.*  ### Todo Lists @@ -122,27 +134,26 @@ reminder. I'll go create an issue for it Right Now!  #### Script ideas -* override `/set` to provide list manipulation options, something like -`/set {-append, -remove} $param $value`. +* override `/set` to provide list manipulation options, something like `/set +{-append, -remove} $param $value`. -* Finish work on [`foreach-guard`](foreach-guard/) +* Finish work on [`foreach-guard`](tree/master/foreach-guard/) -* Finish (Well, start) something in [`colour_popup`](colour_popup/) +* Finish (Well, start) something in [`colour_popup`](tree/master/colour_popup/)   to make an actual popup  * Revisit some of the cracked-out ideas for colour/format overlays -* Go back and clean up [`irssi_vim`](irssi_vim/) like I promised to everyone -  ages and ages ago. Also do the features thing. +* Go back and clean up [`irssi_vim`](tree/master/irssi_vim/) like I promised to +  everyone ages and ages ago. Also do the features thing. -* Actually fix all the -  [issues](https://github.com/shabble/irssi-scripts/issues) people have -  dilligently reported. +* Actually fix all the [issues](https://github.com/shabble/irssi-scripts/issues) +  people have dilligently reported.  #### Other things -* Go do something useful regarding the `IrssiX::` namespace and add some -useful general features. +* Go do something useful regarding the `IrssiX::` namespace and add some useful +general features.   * Window and transient-split handling @@ -178,8 +189,8 @@ You know, [that](https://github.com/shabble/irssi-docs/wiki) one.  * `./readme_generator.pl <dir> [<dirs]` to generate README files for each script    that has POD in it. Use `--overwrite` from time to time to clean things out. -* `./changed_update.pl <script_name>` changes the %IRSSI{changed} timestamp -  to the current time, which is something I always forget to do. +* `./changed_update.pl <script_name>` changes the %IRSSI{changed} timestamp to +  the current time, which is something I always forget to do.  * Think about bumping the internal version number if it's a big change. | 
