diff options
| author | richo <richo@psych0tik.net> | 2011-09-23 04:25:14 +0000 | 
|---|---|---|
| committer | richo <richo@psych0tik.net> | 2011-09-23 04:25:14 +0000 | 
| commit | 6c706bc256ddd1fd1c1ac96833b6b177174b1904 (patch) | |
| tree | d80168716e280edfb7c02fe0b1246e5d8d62fb66 | |
| parent | TODO notes (diff) | |
| parent | If these links don't work I'm going to move to the country and live in the wo... (diff) | |
| download | irssi-scripts-richoH-dev.tar.gz irssi-scripts-richoH-dev.zip | |
Merge branch 'master' into richoH-devrichoH-dev
Diffstat (limited to '')
| -rw-r--r-- | README.md | 256 | 
1 files changed, 167 insertions, 89 deletions
| @@ -1,7 +1,7 @@  # Shabble's Irssi Scripts -This repository contains a collection of scripts I have written or adapted from -others to improve my (and your!) irssi using experience. +This repository contains a collection of scripts and things I have written or +adapted from others to improve my (and maybe your!) Irssi using experience.  ## What's In Here @@ -11,92 +11,111 @@ 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/`](irssi-scripts/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 -  search over your recent command history. +* [`history-search/`](irssi-scripts/tree/master/history-search) -- an improved +  version of [@coekie](/coekie/irssi-scripts/blob/master/history_search.pl)'s +  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/`](irssi-scripts/tree/master/ido-mode) -- A window switching mode +  best described as "The bastard lovechild of Emacs +  [ido-mode](http://www.emacswiki.org/emacs/InteractivelyDoThings) and +  [window_switcher.pl](http://scripts.irssi.org/html/window_switcher.pl.html)". +  It supports flexible matching of channel names, filtering by active windows, +  servers, and more. See the script comments for details. +   +* [`feature-tests/`](irssi-scripts/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`](irssi-scripts/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`](irssi-scripts/tree/master/feature-tests/template.pl) - A +   basic outline of a script to use as a starting point for others. + + * [`pipes.pl`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/tree/master/undo) contains 2 scripts, `undo.pl` and +  `kill-ring.pl`. See their header for further documentation. + +  *Still undergoing heavy development, and not really ready for public usage.* + +   +* [`testing/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/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/`](irssi-scripts/tree/master/url_hilight) I can't remember what +  this one does. Suggestions & ideas welcome. + +* [`vim-mode/`](irssi-scripts/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](irc://irc.freenode.org/#irssi_vim).  ## Documentation @@ -106,12 +125,71 @@ 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 +California to cause madness, rabies, or reproductive harm.* + +### Todo Lists + +I should really put these into the issue tracker instead. That can be a +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`. Bit like a general purpose version of +[`hide.pl`](http://scripts.irssi.org/html/hide.pl.html) + +* Finish work on [`foreach-guard`](irssi-scripts/tree/master/foreach-guard) + +* Finish (Well, start) something in [`colour-popup`](irssi-scripts/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-scripts/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. +   +#### Other things + +* Go do something useful regarding the `IrssiX::` namespace and add some useful +general features. + + * Window and transient-split handling +  + * Higher-level abstraction for key-interception +  + * Overlays? +  + * Format helper functions like the ones listed in the + [Guide](https://github.com/shabble/irssi-docs/wiki/Guide). +    +* Refactor just about everything to use the above. + +* Do something productive again on the 256colour fork/patches + +* Ditto [@leonerd](/leonerd)'s +[fixterms](http://www.leonerd.org.uk/hacks/fixterms/) key binding support + +* Try to get someone to look at my patches & bug reports. + +#### Documentation Wiki + +You know, [that](https://github.com/shabble/irssi-docs/wiki) one. + +* Fix the stupid ToC generator internal anchor names problem. + +* Add more examples, always more examples. +  ### Deployment Process  * Commit messages should be prefixed with something approximating the name of @@ -120,8 +198,8 @@ and will probably refuse to load without it.  * `./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. | 
