1
0
mirror of https://github.com/bertptrs/vimconfig.git synced 2025-12-25 12:30:32 +01:00

Import hexchat config.

This commit is contained in:
2019-12-23 20:52:45 +01:00
parent c4478b04da
commit a2009f8af5
4 changed files with 594 additions and 1 deletions

View File

@@ -0,0 +1,95 @@
__module_name__ = 'SmartFilter'
__module_version__ = '1.0'
__module_description__ = 'Filters join/part messages'
import hexchat
from time import time
last_seen = {} # For each entry: the key is the user's nickname, the entry
# is a list: element 0: last seen time
# element 1: 0 if the user never spoke, 1 otherwise
user_timeout = 600 # If the user hasn't spoken for this amount of seconds, his
# join/part messages won't be shown
halt = False
def human_readable(s):
deltas = [
("seconds", int(s)%60),
("minutes", int(s/60)%60),
("hours", int(s/60/60)%24),
("days", int(s/24/60/60)%30),
("months", int(s/30/24/60/60)%12),
("years", int(s/12/30/24/60/60))
]
tarr = ['%d %s' % (d[1], d[1] > 1 and d[0] or d[0][:-1])
for d in reversed(deltas) if d[1]]
return " ".join(tarr[:2])
def new_msg(word, word_eol, event, attrs):
"""Handles normal messages.
Unless this is the first user's message since he joined, the message will
not be altered. Otherwise, a '(logged in Xs ago)' message will be appended.
"""
global halt
if halt is True:
return
user = hexchat.strip(word[0])
# If the user logged in before we did (which means the Join part of
# filter_msg didn't take effect), add him to the dict.
if user not in last_seen:
last_seen[user]= [time(), 1]
# If the user has never spoken before, let us know when he logged in.
if last_seen[user][1] == 0:
time_diff = time() - last_seen[user][0]
word[1] += " \00307(logged in %s ago)" % human_readable(time_diff)
halt = True
hexchat.emit_print(event, *word)
halt = False
last_seen[user]= [time(), 1]
return hexchat.EAT_ALL
else:
last_seen[user]= [time(), 1]
def filter_msg(word, word_eol, event, attrs):
"""Filters join and part messages"""
user = hexchat.strip(word[0])
# If the user just joined, add him to the dict and mark him as such
#if 'Join' in userdata:
if event == "Join":
if user not in last_seen:
last_seen[user] = [time(), 0]
return hexchat.EAT_ALL
# If the user changed his nick, check if we've been tracking him before
# and transfer his stats if so. Otherwise, add him to the dict.
#elif 'Nick' in userdata:
elif event == "Change Nick":
user = hexchat.strip(word[1])
old = hexchat.strip(word[0])
if old in last_seen:
last_seen[user] = last_seen[old]
del last_seen[old]
else:
last_seen[user] = [time(), 0]
# If the user logged in before we did (no entry of him yet), don't display
# his part messages
if user not in last_seen:
return hexchat.EAT_ALL
# If the user has never spoken, or has spoken too long ago, eat his part
# or join messages.
if last_seen[user][1] == 0 or last_seen[user][0] + user_timeout < time():
return hexchat.EAT_ALL
hooks_new = ["Your Message", "Channel Message", "Channel Msg Hilight",
"Your Action", "Channel Action", "Channel Action Hilight"]
hooks_filter = ["Join", "Change Nick", "Part", "Part with Reason", "Quit"]
# hook_print_attrs is used for compatibility with my other scripts,
# since priorities are hook specific
for hook in hooks_new:
hexchat.hook_print_attrs(hook, new_msg, hook, hexchat.PRI_HIGH)
for hook in hooks_filter:
hexchat.hook_print_attrs(hook, filter_msg, hook, hexchat.PRI_HIGH)
print("\00304", __module_name__, "successfully loaded.\003")

View File

@@ -0,0 +1,42 @@
color_0 = ffff ffff ffff
color_1 = 4949 4848 3e3e
color_2 = 6666 d9d9 efef
color_3 = 6b6b c7c7 2b2b
color_4 = f9f9 2626 7272
color_5 = 7777 5454 3e3e
color_6 = 94bc 5925 ffff
color_7 = fdfd 9797 1f1f
color_8 = e6e6 dbdb 7474
color_9 = a6a6 e2e2 2e2e
color_10 = 3542 b072 9155
color_11 = 6666 efef d566
color_12 = 6666 d9d9 efef
color_13 = aeae 8181 ffff
color_14 = 7575 7171 5e5e
color_15 = cfcf cfcf c2c2
color_16 = ffff ffff ffff
color_17 = 4949 4848 3e3e
color_18 = 6666 d9d9 efef
color_19 = 6b6b c7c7 2b2b
color_20 = f9f9 2626 7272
color_21 = 770d 53e1 3e1f
color_22 = 94bc 5925 ffff
color_23 = fdfd 9797 1f1f
color_24 = e6e6 dbdb 7474
color_25 = a6a6 e2e2 2e2e
color_26 = 3542 b072 9155
color_27 = 6666 efef d566
color_28 = 6666 d9d9 efef
color_29 = aeae 8181 ffff
color_30 = 7575 7171 5e5e
color_31 = cfcf cfcf c2c2
color_256 = f8f8 f8f8 f2f2
color_257 = 4949 4848 3e3e
color_258 = cfcf cfcf c2c2
color_259 = 2727 2828 2222
color_260 = e6e6 dbdb 7474
color_261 = fdfd 9797 1f1f
color_262 = a6a6 e2e2 2e2e
color_263 = 6666 d9d9 efef
color_264 = 7575 7171 5e5e
color_265 = f9f9 2626 7272

View File

@@ -0,0 +1,456 @@
event_name=Add Notify
event_text=%C18*%O$t%C18$1%O added to notify list.
event_name=Ban List
event_text=%C22*%O$t%C22$1%O: %C18$2%O on %C24$4%O by %C26$3%O
event_name=Banned
event_text=%C22*%O$tCannot join %C22$1 %O(%C20You are banned%O).
event_name=Beep
event_text=
event_name=Capability Acknowledgement
event_text=%C29*%O$tCapabilities acknowledged: %C29$2%O
event_name=Capability Deleted
event_text=%C29*%O$tCapabilities removed: %C29$2%O
event_name=Capability List
event_text=%C23*%O$tCapabilities supported: %C29$2%O
event_name=Capability Request
event_text=%C23*%O$tCapabilities requested: %C29$1%O
event_name=Change Nick
event_text=%C24*%O$t%C28$1%O is now known as %C18$2%O
event_name=Channel Action
event_text=%C18*$t%B$1%O $2
event_name=Channel Action Hilight
event_text=%C19*$t%B$1%B $2%O
event_name=Channel Ban
event_text=%C22*%O$t%C26$1%O sets ban on %C18$2%O
event_name=Channel Creation
event_text=%C22*%O$tChannel %C22$1%O created on %C24$2%O
event_name=Channel DeHalfOp
event_text=%C22*%O$t%C26$1%O removes channel half-operator status from %C18$2%O
event_name=Channel DeOp
event_text=%C22*%O$t%C26$1%O removes channel operator status from %C18$2%O
event_name=Channel DeVoice
event_text=%C22*%O$t%C26$1%O removes voice from %C18$2%O
event_name=Channel Exempt
event_text=%C22*%O$t%C26$1%C sets exempt on %C18$2%O
event_name=Channel Half-Operator
event_text=%C22*%O$t%C26$1%O gives channel half-operator status to %C18$2%O
event_name=Channel INVITE
event_text=%C22*%O$t%C26$1%C sets invite exempt on %C18$2%O
event_name=Channel List
event_text=%UChannel Users Topic
event_name=Channel Message
event_text=%C18%H<%H$4$1%C18%H>%H%O$t$2
event_name=Channel Mode Generic
event_text=%C22*%O$t%C26$1%O sets mode %C24$2$3%O on %C22$4%O
event_name=Channel Modes
event_text=%C22*%O$tChannel %C22$1%O modes: %C24$2
event_name=Channel Msg Hilight
event_text=%C19%H<%H$4%B$1%B%H>%H$t$2%O
event_name=Channel Notice
event_text=%C18$1%C%C$t%C3Notice: %O$3%O
event_name=Channel Operator
event_text=%C22*%O$t%C26$1%O gives channel operator status to %C18$2%O
event_name=Channel Quiet
event_text=%C22*%O$t%C26$1%O sets quiet on %C18$2%O
event_name=Channel Remove Exempt
event_text=%C22*%O$t%C26$1%O removes exempt on %C18$2%O
event_name=Channel Remove Invite
event_text=%C22*%O$t%C26$1%O removes invite exempt on %C18$2%O
event_name=Channel Remove Keyword
event_text=%C22*%O$t%C26$1%O removes channel keyword
event_name=Channel Remove Limit
event_text=%C22*%O$t%C26$1%O removes user limit
event_name=Channel Set Key
event_text=%C22*%O$t%C26$1%O sets channel keyword to %C24$2%O
event_name=Channel Set Limit
event_text=%C22*%O$t%C26$1%O sets channel limit to %C24$2%O
event_name=Channel UnBan
event_text=%C22*%O$t%C26$1%O removes ban on %C18$2%O
event_name=Channel UnQuiet
event_text=%C22*%O$t%C26$1%O removes quiet on %C18$2%O
event_name=Channel Url
event_text=%C22*%O$tChannel %C22$1%O url: %C24$2
event_name=Channel Voice
event_text=%C22*%O$t%C26$1%O gives voice to %C18$2%O
event_name=Connected
event_text=%C23*%O$tConnected. Now logging in.
event_name=Connecting
event_text=%C23*%O$tConnecting to %C29$1%C (%C23$2:$3%O)
event_name=Connection Failed
event_text=%C20*%O$tConnection failed (%C20$1%O)
event_name=CTCP Generic
event_text=%C24*%O$tReceived a CTCP %C24$1%C from %C18$2%O
event_name=CTCP Generic to Channel
event_text=%C24*%C$tReceived a CTCP %C24$1%C from %C18$2%C (to %C22$3%C)%O
event_name=CTCP Send
event_text=>%C18$1%C<$tCTCP %C24$2%O
event_name=CTCP Sound
event_text=%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%O
event_name=CTCP Sound to Channel
event_text=%C24*%O$tReceived a CTCP Sound %C24$1%C from %C18$2%C (to %C22$3%O)
event_name=DCC CHAT Abort
event_text=%C23*%O$tDCC CHAT to %C18$1%O aborted.
event_name=DCC CHAT Connect
event_text=%C24*%O$tDCC CHAT connection established to %C18$1%C %C30[%C24$2%C30]%O
event_name=DCC CHAT Failed
event_text=%C20*%O$tDCC CHAT to %C18$1%O lost (%C20$4%O)
event_name=DCC CHAT Offer
event_text=%C24*%O$tReceived a DCC CHAT offer from %C18$1%O
event_name=DCC CHAT Offering
event_text=%C24*%O$tOffering DCC CHAT to %C18$1%O
event_name=DCC CHAT Reoffer
event_text=%C24*%O$tAlready offering CHAT to %C18$1%O
event_name=DCC Conection Failed
event_text=%C20*%O$tDCC $1 connect attempt to %C18$2%O failed (%C20$3%O)
event_name=DCC Generic Offer
event_text=%C23*%O$tReceived '%C23$1%C' from %C18$2%O
event_name=DCC Header
event_text=%C16,17 Type To/From Status Size Pos File
event_name=DCC Malformed
event_text=%C20*%O$tReceived a malformed DCC request from %C18$1%O.$a010%C23*%O$tContents of packet: %C23$2%O
event_name=DCC Offer
event_text=%C24*%O$tOffering '%C24$1%O' to %C18$2%O
event_name=DCC Offer Not Valid
event_text=%C23*%O$tNo such DCC offer.
event_name=DCC RECV Abort
event_text=%C23*%O$tDCC RECV '%C23$2%O' to %C18$1%O aborted.
event_name=DCC RECV Complete
event_text=%C24*%O$tDCC RECV '%C23$1%O' from %C18$3%O complete %C30[%C24$4%O cps%C30]%O
event_name=DCC RECV Connect
event_text=%C24*%O$tDCC RECV connection established to %C18$1 %C30[%O%C24$2%C30]%O
event_name=DCC RECV Failed
event_text=%C20*%O$tDCC RECV '%C23$1%O' from %C18$3%O failed (%C20$4%O)
event_name=DCC RECV File Open Error
event_text=%C20*%O$tDCC RECV: Cannot open '%C23$1%C' for writing (%C20$2%O)
event_name=DCC Rename
event_text=%C23*%O$tThe file '%C24$1%C' already exists, saving it as '%C23$2%O' instead.
event_name=DCC RESUME Request
event_text=%C24*%O$t%C18$1%C has requested to resume '%C23$2%C' from %C24$3%O.
event_name=DCC SEND Abort
event_text=%C23*%O$tDCC SEND '%C23$2%C' to %C18$1%O aborted.
event_name=DCC SEND Complete
event_text=%C24*%O$tDCC SEND '%C23$1%C' to %C18$2%C complete %C30[%C24$3%C cps%C30]%O
event_name=DCC SEND Connect
event_text=%C24*%O$tDCC SEND connection established to %C18$1 %C30[%O%C24$2%C30]%O
event_name=DCC SEND Failed
event_text=%C20*%O$tDCC SEND '%C23$1%C' to %C18$2%C failed (%C20$3%O)
event_name=DCC SEND Offer
event_text=%C24*%O$t%C18$1%C has offered '%C23$2%C' (%C24$3%O bytes)
event_name=DCC Stall
event_text=%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O stalled, aborting.
event_name=DCC Timeout
event_text=%C20*%O$tDCC $1 '%C23$2%C' to %C18$3%O timed out, aborting.
event_name=Delete Notify
event_text=%C24*%O$t%C18$1%O deleted from notify list.
event_name=Disconnected
event_text=%C20*%O$tDisconnected (%C20$1%O)
event_name=Found IP
event_text=%C24*%O$tFound your IP: %C30[%C24$1%C30]%O
event_name=Generic Message
event_text=$1$t$2
event_name=Ignore Add
event_text=%O%C18$1%O added to ignore list.
event_name=Ignore Changed
event_text=%OIgnore on %C18$1%O changed.
event_name=Ignore Footer
event_text=%C16,17
event_name=Ignore Header
event_text=%C16,17 Hostmask PRIV NOTI CHAN CTCP DCC INVI UNIG
event_name=Ignore Remove
event_text=%O%C18$1%O removed from ignore list.
event_name=Ignorelist Empty
event_text=%OIgnore list is empty.
event_name=Invite
event_text=%C20*%O$tCannot join %C22$1%C (%C20Channel is invite only%O)
event_name=Invited
event_text=%C24*%O$tYou have been invited to %C22$1%O by %C18$2%O (%C29$3%O)
event_name=Join
event_text=%C23*$t$1 ($3%C23) has joined
event_name=Keyword
event_text=%C20*%O$tCannot join %C22$1%C (%C20Requires keyword%O)
event_name=Kick
event_text=%C22*%O$t%C26$1%C has kicked %C18$2%C from %C22$3%C (%C24$4%O)
event_name=Killed
event_text=%C19*%O$t%C19You have been killed by %C26$1%C (%C20$2%O)
event_name=Message Send
event_text=%O>%C18$1%C<%O$t$2
event_name=Motd
event_text=%C29*%O$t%C29$1%O
event_name=MOTD Skipped
event_text=%C29*%O$t%C29MOTD Skipped%O
event_name=Nick Clash
event_text=%C23*%O$t%C28$1%C is already in use. Retrying with %C18$2%O...
event_name=Nick Erroneous
event_text=%C23*%O$t%C28$1%C is errorneous. Retrying with %C18$2%O...
event_name=Nick Failed
event_text=%C20*%O$tNickname is erroneous or already in use. Use /NICK to try another.
event_name=No DCC
event_text=%C20*%O$tNo such DCC.
event_name=No Running Process
event_text=%C23*%O$tNo process is currently running
event_name=Notice
event_text=%O-%C18$1%O-$t$2
event_name=Notice Send
event_text=%O->%C18$1%O<-$t$2
event_name=Notify Away
event_text=%C23*%O$tNotify: %C18$1%C is away (%C24$2%O)
event_name=Notify Back
event_text=%C23*%O$tNotify: %C18$1%C is back
event_name=Notify Empty
event_text=$tNotify list is empty.
event_name=Notify Header
event_text=%C16,17 Notify List
event_name=Notify Number
event_text=%C23*%O$t%C23$1%O users in notify list.
event_name=Notify Offline
event_text=%C23*%O$tNotify: %C18$1%C is offline (%C29$3%O)
event_name=Notify Online
event_text=%C23*%O$tNotify: %C18$1%C is online (%C29$3%O)
event_name=Open Dialog
event_text=
event_name=Part
event_text=%C24*$t$1 ($2%C24) has left
event_name=Part with Reason
event_text=%C24*$t$1 ($2%C24) has left ($4)
event_name=Ping Reply
event_text=%C24*%O$tPing reply from %C18$1%C: %C24$2%O second(s)
event_name=Ping Timeout
event_text=%C20*%O$tNo ping reply for %C24$1%O seconds, disconnecting.
event_name=Private Action
event_text=%C18**$t$3$1%O $2 %C18**
event_name=Private Action to Dialog
event_text=%C18*$t$3$1%O $2
event_name=Private Message
event_text=%C18*%C18$3$1*%O$t$2
event_name=Private Message to Dialog
event_text=%C18%H<%H$3$1%H>%H%O$t$2
event_name=Process Already Running
event_text=%C24*%O$tA process is already running
event_name=Quit
event_text=%C24*$t$1 has quit ($2)
event_name=Raw Modes
event_text=%C24*%O$t%C26$1%C sets modes %C30[%C24$2%C30]%O
event_name=Receive Wallops
event_text=%O-%C29$1/Wallops%O-$t$2
event_name=Resolving User
event_text=%C24*%O$tLooking up IP number for %C18$1%O...
event_name=SASL Authenticating
event_text=%C23*%O$tAuthenticating via SASL as %C18$1%O (%C24$2%O)
event_name=SASL Response
event_text=%C29*%O$t$4
event_name=Server Connected
event_text=%C29*%O$tConnected.
event_name=Server Error
event_text=%C29*%O$t%C20$1%O
event_name=Server Lookup
event_text=%C29*%O$tLooking up %C29$1%O
event_name=Server Notice
event_text=%C29*%O$t$1
event_name=Server Text
event_text=%C29*%O$t$1
event_name=SSL Message
event_text=%C29*%O$t$1
event_name=Stop Connection
event_text=%C23*%O$tStopped previous connection attempt (%C24$1%O)
event_name=Topic
event_text=%C22*%O$tTopic for %C22$1%C is: $2%O
event_name=Topic Change
event_text=%C22*%O$t%C26$1%C has changed the topic to: $2%O
event_name=Topic Creation
event_text=%C22*%O$tTopic for %C22$1%C set by %C26$2%C (%C24$3%O)
event_name=Unknown Host
event_text=%C20*%O$tUnknown host. Maybe you misspelt it?
event_name=User Limit
event_text=%C20*%O$tCannot join %C22$1%C (%C20User limit reached%O)
event_name=Users On Channel
event_text=%C22*%O$tUsers on %C22$1%C: %C24$2%O
event_name=WhoIs Authenticated
event_text=%C23*%O$t%C28[%C18$1%C28]%O $2 %C18$3%O
event_name=WhoIs Away Line
event_text=%C23*%O$t%C28[%C18$1%C28]%C is away %C30(%C23$2%O%C30)%O
event_name=WhoIs Channel/Oper Line
event_text=%C23*%O$t%C28[%C18$1%C28]%O $2
event_name=WhoIs End
event_text=%C23*%O$t%C28[%C18$1%C28] %OEnd of WHOIS list.
event_name=WhoIs Identified
event_text=%C23*%O$t%C28[%C18$1%C28]%O $2
event_name=WhoIs Idle Line
event_text=%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O
event_name=WhoIs Idle Line with Signon
event_text=%C23*%O$t%C28[%C18$1%C28]%O idle %C23$2%O, signon: %C23$3%O
event_name=WhoIs Name Line
event_text=%C23*%O$t%C28[%C18$1%C28] %C30(%C24$2@$3%C30)%O: %C18$4%O
event_name=WhoIs Real Host
event_text=%C23*%O$t%C28[%C18$1%C28]%O Real Host: %C23$2%O, Real IP: %C30[%C23$3%C30]%O
event_name=WhoIs Server Line
event_text=%C23*%O$t%C28[%C18$1%C28]%O %C29$2%O
event_name=WhoIs Special
event_text=%C23*%O$t%C28[%C18$1%C28]%O $2
event_name=You Join
event_text=%C19*%O$tNow talking on %C22$2%O
event_name=You Kicked
event_text=%C19*%O$tYou have been kicked from %C22$2%C by %C26$3%O (%C20$4%O)
event_name=You Part
event_text=%C19*%O$tYou have left channel %C22$3%O
event_name=You Part with Reason
event_text=%C19*%O$tYou have left channel %C22$3%C (%C24$4%O)
event_name=Your Action
event_text=%C20*$t%B$1%B %C30$2%O
event_name=Your Invitation
event_text=%C20*%O$tYou've invited %C18$1%O to %C22$2%O (%C24$3%O)
event_name=Your Message
event_text=%C20%H<%H$4$1%H>%H%O%C30$t$2%O
event_name=Your Nick Changing
event_text=%C20*%O$tYou are now known as %C18$2%O

View File

@@ -52,9 +52,9 @@ installIfAvailable git
installIfAvailable latexmk installIfAvailable latexmk
installIfAvailable ruby installIfAvailable ruby
installIfAvailable npm installIfAvailable npm
installIfAvailable Xorg
installIfAvailable awesome installIfAvailable awesome
installIfAvailable sakura installIfAvailable sakura
installIfAvailable hexchat
if commandAvailable weechat; then if commandAvailable weechat; then
echo "Setting up weechat settings…" echo "Setting up weechat settings…"