Anonymous committed 9c1102c

never create the "in" file if it doesn't exist, add comments and change status colors to

Comments (0)

Files changed (2)

 #include <err.h>
 #include <errno.h>
+#include <fcntl.h>
 #include <signal.h>
 #include <stdio.h>
 #include <stdlib.h>
 int main(int argc, char **argv)
-	int evq, len;
+	int evq, len, fd;
 	int in_wd = 0, out_wd = 0;
 	struct inotify_event *cur;
 	fd_set rd;
 	if ((in_wd = inotify_add_watch(evq, argv[1], IN_MODIFY)) < 0)
 		err(1, "failed inotify_add_watch on %s", argv[1]);
-	if ((out = fopen(argv[2], "w")) == NULL)
-		err(1, "failed to fopen %s", argv[2]);
+	if ((fd = open(argv[2], O_WRONLY)) < 0)
+		err(1, "failed to open %s", argv[2]);
+	if ((out = fdopen(fd, "w")) == NULL)
+		err(1, "failed to fdopen %s on fd %d", argv[2], fd);
 	if ((out_wd = inotify_add_watch(evq, argv[2], IN_CLOSE_NOWRITE)) < 0)
 		err(1, "failed inotify_add_watch on %s", argv[2]);


+# NOTE: make sure you have a 256 color terminal, or change these options
 # to find out which colors are readable...
 # for i in {0..255}; do echo $(tput setaf $i) $i foobar baz qux; done
 colors=({9..11} {13..14} {26..51} {62..87} 99 {105..123} {130..159} {165..231})
 declare -A color_cache
 reset="$(tput sgr0)"
-bold="$(tput bold)"
-black="$(tput setaf 0)"
 red="$(tput setaf 9)"
 cyan="$(tput setaf 14)"
 magenta="$(tput setaf 13)"
 green="$(tput setaf 10)"
 yellow="$(tput setaf 11)"
-my_nick_fmt="$red$(echo -e "\a")"
+action="$magenta*$cyan*$yellow*"  # used to prefix CTCP actions
+notice_fmt="$(tput setaf 239)"    # used for time, and join/part/quit/etc. messages
+my_nick_fmt="$red$(echo -e "\a")" # how to highlight your nick when someone mentions it
+my_line_fmt="$cyan"               # how you want your own lines to appear
 		head_len=$((${#nick} + ${#time} + 2))
-	time="${bold}${black}${time}${reset}"
+	time="${notice_fmt}${time}${reset}"
 	set_format "$nick"
 	nick=$(printf "%s%${PAD}s%s |%s" "$format" "$nick" "$reset" "$format")