rse.rc 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. ##
  2. ## ~/.irc/rse -- ircII run-commands for RSE settings
  3. ## Copyright (c) 1998-2005 Ralf S. Engelschall <rse@engelschall.com>
  4. ##
  5. # Banner
  6. ^set display off
  7. echo *** Loading ircII configuration: rse (Ralf S. Engelschall)
  8. # Allow certain levels of customization
  9. set novice off
  10. load functions
  11. # Use 8-bit ISO-Latin-1 character set
  12. # (requires "stty -istrip cs8")
  13. set translation LATIN_1
  14. set eight_bit_characters on
  15. # Bash-style command line editing
  16. set history_file ~/.irc_history
  17. set history 100
  18. bind meta1-[ meta2
  19. bind meta1-O meta2
  20. bind meta2-A backward_history
  21. bind meta2-B forward_history
  22. bind meta2-C forward_character
  23. bind meta2-D backward_character
  24. bind ^W delete_previous_word
  25. bind ^R parse /!$"Search: "
  26. # Vim-style window management (part-size screens)
  27. bind ^Y meta6_character
  28. bind meta6-c parse_command window new
  29. bind meta6-^c parse_command window new
  30. bind meta6-k parse_command window kill
  31. bind meta6-l parse_command window list
  32. bind meta6-< previous_window
  33. bind meta6-p previous_window
  34. bind meta6-n next_window
  35. bind meta6-> next_window
  36. bind meta6-^` next_window
  37. bind meta6-= parse window balance
  38. bind meta6-+ parse window grow 4
  39. bind meta6-- parse window shrink 4
  40. # Screen-style window management (full-size screens)
  41. alias win.newwin window new hide;window swap last
  42. bind ^A meta7_character
  43. bind meta7-c parse_command win.newwin
  44. bind meta7-^c parse_command win.newwin
  45. bind meta7-k parse_command window killswap
  46. bind meta7-l parse_command window list
  47. bind meta7-a beginning_of_line # alternative: parse_command window swap last
  48. bind meta7-^a parse_command window swap last
  49. bind meta7-p swap_previous_window
  50. bind meta7-n swap_next_window
  51. bind meta7-^` swap_next_window # notice: actually a space, for unknown reasons
  52. bind meta7-1 parse_command window swap 1
  53. bind meta7-2 parse_command window swap 2
  54. bind meta7-3 parse_command window swap 3
  55. bind meta7-4 parse_command window swap 4
  56. bind meta7-5 parse_command window swap 5
  57. bind meta7-6 parse_command window swap 6
  58. bind meta7-7 parse_command window swap 7
  59. bind meta7-8 parse_command window swap 8
  60. bind meta7-9 parse_command window swap 9
  61. bind meta7-0 parse_command window swap 10
  62. bind meta7-C parse_command clear all
  63. # Shorthands for Services Communication
  64. alias gl msg global $0-
  65. alias al msg alis $0-
  66. alias ns msg nickserv $0-
  67. alias us msg userserv $0-
  68. alias cs msg chanserv $0-
  69. alias os msg operserv $0-
  70. alias ob msg operbot $0-
  71. alias js msg jupeserv $0-
  72. # Convenience Keystrokes
  73. bind ^X meta8_character
  74. bind meta8-q parse_command quit
  75. bind meta8-w parse_command who -here *
  76. bind meta8-W parse_command who
  77. bind meta8-l parse_command list -users *
  78. bind meta8-L parse_command list -wide -name
  79. bind meta8-n parse_command names *
  80. bind meta8-N parse_command names
  81. # Convenience Commands
  82. alias unset set -$0
  83. alias unalias alias -$0
  84. alias ! exec $*
  85. alias who {
  86. if ([$C] == []) {
  87. echo *** You still haven't joined a channel!
  88. } {
  89. //who $C
  90. }
  91. }
  92. # Convenience Private Messaging
  93. alias talkto window new name $0;query $0
  94. alias reply talkto $* $,
  95. alias . msg .
  96. alias , msg ,
  97. alias oops {
  98. ^assign alias.oops $B
  99. msg $. Oops, sorry! That wasn't meant for you.
  100. msg $0 $alias.oops
  101. }
  102. # Display Formatting
  103. set lastlog 1000
  104. set input_prompt >\
  105. on ^send_public * echo $lformat(8 $N:) $1-
  106. on ^public * echo $lformat(8 $0:) $2-
  107. on ^send_msg * echo ${N} -> $0: $1-
  108. on ^public_other * echo $1 <- $0: $2-
  109. on ^public_msg * echo $1 <- $0: $2-
  110. on ^msg * echo $N <- $0: $1-
  111. on ^msg_group * echo $1 <- $0: $2-
  112. on ^send_notice * echo ${N} ~> $0: $1-
  113. on ^public_notice * echo $1 <~ $0: $2-
  114. on ^notice * echo $1 <~ $0: $2-
  115. # Server Auto-Reconnect
  116. on ^disconnect * timer 10 server 0
  117. # Away Handling
  118. on ^idle 5 away I've just wandered off...
  119. on ^idle 10 away I'm still not back? Hmmm... but perhaps I'm coming back soon.
  120. on ^idle 20 away Well, I must be long gone. Don't keep waiting for me.
  121. set beep_when_away yes
  122. # Convenience Tab-Expansion for /msg
  123. load tabkey
  124. # Convenience Logging Support
  125. on ^exec thing assign thing $1
  126. on ^exec_exit thing
  127. alias _log ^set logfile ~/.irc_log.$thing
  128. alias log.process {
  129. exec -name thing date '+%Y%m%dT%H%M%S'
  130. wait %thing
  131. _log
  132. }
  133. alias log {
  134. if ([$0] == [on]) {
  135. if ([$1] > 0) {
  136. set logfile $1
  137. }{
  138. ^log.process
  139. }
  140. }
  141. set log $0
  142. }
  143. # End of Configuration
  144. ^set display on