From 50057d5149dda340b3b47aca4096f4a6ec66b9ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Fri, 6 Aug 2021 16:12:15 +0200 Subject: [PATCH] Come up with sillier names for the binaries I'm not entirely sure, but it looks like some people might not like jokes about the Holocaust. On a more serious note, the project has become more serious over the 7 or so years of its existence. --- CMakeLists.txt | 60 +++--- NEWS | 192 +++++++++--------- README.adoc | 78 +++---- plugins/{zyklonb => xB}/calc | 2 +- plugins/{zyklonb => xB}/coin | 2 +- plugins/{zyklonb => xB}/eval | 2 +- plugins/{zyklonb => xB}/factoids | 2 +- plugins/{zyklonb => xB}/pomodoro | 2 +- plugins/{zyklonb => xB}/script | 2 +- plugins/{zyklonb => xB}/seen | 2 +- .../seen-import-xC.pl} | 4 +- plugins/{zyklonb => xB}/youtube | 2 +- plugins/{degesch => xC}/auto-rejoin.lua | 8 +- plugins/{degesch => xC}/censor.lua | 6 +- plugins/{degesch => xC}/fancy-prompt.lua | 8 +- plugins/{degesch => xC}/last-fm.lua | 6 +- plugins/{degesch => xC}/ping-timeout.lua | 4 +- plugins/{degesch => xC}/prime.lua | 4 +- plugins/{degesch => xC}/slack.lua | 16 +- plugins/{degesch => xC}/thin-cursor.lua | 0 plugins/{degesch => xC}/utm-filter.lua | 4 +- test | 6 +- test-nick-colors | 2 +- test-static | 2 +- zyklonb.adoc => xB.adoc | 22 +- zyklonb.c => xB.c | 10 +- degesch.adoc => xC.adoc | 28 +-- degesch.c => xC.c | 22 +- degesch.png => xC.png | Bin kike-gen-replies.sh => xD-gen-replies.sh | 2 +- kike-replies => xD-replies | 0 kike.adoc => xD.adoc | 16 +- kike.c => xD.c | 6 +- 33 files changed, 260 insertions(+), 262 deletions(-) rename plugins/{zyklonb => xB}/calc (99%) rename plugins/{zyklonb => xB}/coin (98%) rename plugins/{zyklonb => xB}/eval (99%) rename plugins/{zyklonb => xB}/factoids (99%) rename plugins/{zyklonb => xB}/pomodoro (99%) rename plugins/{zyklonb => xB}/script (99%) rename plugins/{zyklonb => xB}/seen (99%) rename plugins/{zyklonb/seen-import-degesch.pl => xB/seen-import-xC.pl} (87%) rename plugins/{zyklonb => xB}/youtube (98%) rename plugins/{degesch => xC}/auto-rejoin.lua (89%) rename plugins/{degesch => xC}/censor.lua (96%) rename plugins/{degesch => xC}/fancy-prompt.lua (95%) rename plugins/{degesch => xC}/last-fm.lua (97%) rename plugins/{degesch => xC}/ping-timeout.lua (93%) rename plugins/{degesch => xC}/prime.lua (97%) rename plugins/{degesch => xC}/slack.lua (92%) rename plugins/{degesch => xC}/thin-cursor.lua (100%) rename plugins/{degesch => xC}/utm-filter.lua (95%) rename zyklonb.adoc => xB.adoc (87%) rename zyklonb.c => xB.c (99%) rename degesch.adoc => xC.adoc (86%) rename degesch.c => xC.c (99%) rename degesch.png => xC.png (100%) rename kike-gen-replies.sh => xD-gen-replies.sh (96%) rename kike-replies => xD-replies (100%) rename kike.adoc => xD.adoc (81%) rename kike.c => xD.c (99%) diff --git a/CMakeLists.txt b/CMakeLists.txt index a18ebca..9c1d39b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,9 +77,9 @@ CHECK_C_SOURCE_RUNS ("#include int main () { return iconv_open (\"UTF-8//TRANSLIT\", \"ISO-8859-1\") == (iconv_t) -1; }" ICONV_ACCEPTS_TRANSLIT) -# Dependencies for degesch +# Dependencies for xC pkg_check_modules (libffi REQUIRED libffi) -list (APPEND degesch_libraries ${libffi_LIBRARIES}) +list (APPEND xC_libraries ${libffi_LIBRARIES}) include_directories (${libffi_INCLUDE_DIRS}) link_directories (${libffi_LIBRARY_DIRS}) @@ -92,7 +92,7 @@ if (WITH_LUA) message (FATAL_ERROR "Lua library not found") endif () - list (APPEND degesch_libraries ${lua_LIBRARIES}) + list (APPEND xC_libraries ${lua_LIBRARIES}) include_directories (${lua_INCLUDE_DIRS}) link_directories (${lua_LIBRARY_DIRS}) endif () @@ -100,10 +100,10 @@ endif () find_package (Curses) pkg_check_modules (ncursesw ncursesw) if (ncursesw_FOUND) - list (APPEND degesch_libraries ${ncursesw_LIBRARIES}) + list (APPEND xC_libraries ${ncursesw_LIBRARIES}) include_directories (${ncursesw_INCLUDE_DIRS}) elseif (CURSES_FOUND) - list (APPEND degesch_libraries ${CURSES_LIBRARY}) + list (APPEND xC_libraries ${CURSES_LIBRARY}) include_directories (${CURSES_INCLUDE_DIR}) else () message (SEND_ERROR "Curses not found") @@ -115,13 +115,13 @@ elseif (WANT_READLINE) # OpenBSD's default readline is too old if ("${CMAKE_SYSTEM_NAME}" MATCHES "OpenBSD") include_directories (${OPENBSD_LOCALBASE}/include/ereadline) - list (APPEND degesch_libraries ereadline) + list (APPEND xC_libraries ereadline) else () - list (APPEND degesch_libraries readline) + list (APPEND xC_libraries readline) endif () elseif (WANT_LIBEDIT) pkg_check_modules (libedit REQUIRED libedit) - list (APPEND degesch_libraries ${libedit_LIBRARIES}) + list (APPEND xC_libraries ${libedit_LIBRARIES}) include_directories (${libedit_INCLUDE_DIRS}) endif () @@ -135,34 +135,34 @@ configure_file (${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR}) # Generate IRC replies--we need a custom target because of the multiple outputs -add_custom_command (OUTPUT kike-replies.c kike.msg - COMMAND ${PROJECT_SOURCE_DIR}/kike-gen-replies.sh - > kike-replies.c < ${PROJECT_SOURCE_DIR}/kike-replies - DEPENDS ${PROJECT_SOURCE_DIR}/kike-replies +add_custom_command (OUTPUT xD-replies.c xD.msg + COMMAND ${PROJECT_SOURCE_DIR}/xD-gen-replies.sh + > xD-replies.c < ${PROJECT_SOURCE_DIR}/xD-replies + DEPENDS ${PROJECT_SOURCE_DIR}/xD-replies COMMENT "Generating files from the list of server numerics") -add_custom_target (replies DEPENDS ${PROJECT_BINARY_DIR}/kike-replies.c) +add_custom_target (replies DEPENDS ${PROJECT_BINARY_DIR}/xD-replies.c) # Build -foreach (name zyklonb degesch kike) +foreach (name xB xC xD) add_executable (${name} ${name}.c ${PROJECT_BINARY_DIR}/config.h) target_link_libraries (${name} ${project_libraries}) add_threads (${name}) endforeach () -add_dependencies (kike replies) -add_dependencies (degesch replies) -target_link_libraries (degesch ${degesch_libraries}) +add_dependencies (xD replies) +add_dependencies (xC replies) +target_link_libraries (xC ${xC_libraries}) # Tests include (CTest) if (BUILD_TESTING) - add_executable (test-degesch $) - set_target_properties (test-degesch PROPERTIES COMPILE_DEFINITIONS TESTING) - target_link_libraries (test-degesch $) - add_threads (test-degesch) - add_dependencies (test-degesch replies) + add_executable (test-xC $) + set_target_properties (test-xC PROPERTIES COMPILE_DEFINITIONS TESTING) + target_link_libraries (test-xC $) + add_threads (test-xC) + add_dependencies (test-xC replies) - add_test (NAME test-degesch COMMAND test-degesch) + add_test (NAME test-xC COMMAND test-xC) add_test (NAME custom-static-analysis COMMAND ${PROJECT_SOURCE_DIR}/test-static) endif () @@ -182,13 +182,13 @@ add_custom_target (clang-tidy WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}) # Installation -install (TARGETS zyklonb degesch kike DESTINATION ${CMAKE_INSTALL_BINDIR}) +install (TARGETS xB xC xD DESTINATION ${CMAKE_INSTALL_BINDIR}) install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR}) # XXX: our defaults for XDG_DATA_DIRS expect /usr/local/shore or /usr/share -install (DIRECTORY plugins/zyklonb/ - DESTINATION ${CMAKE_INSTALL_DATADIR}/zyklonb/plugins USE_SOURCE_PERMISSIONS) -install (DIRECTORY plugins/degesch/ - DESTINATION ${CMAKE_INSTALL_DATADIR}/degesch/plugins) +install (DIRECTORY plugins/xB/ + DESTINATION ${CMAKE_INSTALL_DATADIR}/xB/plugins USE_SOURCE_PERMISSIONS) +install (DIRECTORY plugins/xC/ + DESTINATION ${CMAKE_INSTALL_DATADIR}/xC/plugins) # Generate documentation from text markup find_program (ASCIIDOCTOR_EXECUTABLE asciidoctor) @@ -196,7 +196,7 @@ if (NOT ASCIIDOCTOR_EXECUTABLE) message (FATAL_ERROR "asciidoctor not found") endif () -foreach (page zyklonb degesch kike) +foreach (page xB xC xD) set (page_output "${PROJECT_BINARY_DIR}/${page}.1") list (APPEND project_MAN_PAGES "${page_output}") add_custom_command (OUTPUT ${page_output} @@ -217,7 +217,7 @@ foreach (page ${project_MAN_PAGES}) endforeach () # CPack -set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unethical IRC client, daemon and bot") +set (CPACK_PACKAGE_DESCRIPTION_SUMMARY "Unreasonable IRC client, daemon and bot") set (CPACK_PACKAGE_VERSION "${project_version_safe}") set (CPACK_PACKAGE_VENDOR "Premysl Eric Janouch") set (CPACK_PACKAGE_CONTACT "Přemysl Eric Janouch ") diff --git a/NEWS b/NEWS index ce42717..87338e3 100644 --- a/NEWS +++ b/NEWS @@ -1,29 +1,31 @@ -1.3.0 (20xx-xx-xx) +1.3.0 (2021-xx-xx) - * degesch: made nick autocompletion offer recent speakers first + * xC: made nick autocompletion offer recent speakers first + + * All binaries have been renamed to something even sillier 1.2.0 (2021-07-08) "There Are Other Countries As Well" - * degesch: added a /squery command for IRCnet + * xC: added a /squery command for IRCnet - * degesch: added trivial support for SASL EXTERNAL, enabled by adding "sasl" + * xC: added trivial support for SASL EXTERNAL, enabled by adding "sasl" to the respective server's "capabilities" list - * degesch: now supporting IRCv3.2 capability negotiation, including CAP DEL + * xC: now supporting IRCv3.2 capability negotiation, including CAP DEL - * degesch: added support for IRCv3 chghost + * xC: added support for IRCv3 chghost - * degesch: /deop and /devoice without arguments will use the client's user + * xC: /deop and /devoice without arguments will use the client's user - * degesch: /set +=/-= now treats its argument as a string array + * xC: /set +=/-= now treats its argument as a string array - * degesch: made "/help /command" work the same way as "/help command" does + * xC: made "/help /command" work the same way as "/help command" does - * degesch: /ban and /unban don't mangle extended bans anymore + * xC: /ban and /unban don't mangle extended bans anymore - * degesch: joining new channels no longer switches to their buffer - automatically if the current input line isn't empty + * xC: joining new channels no longer switches to their buffer automatically + if the current input line isn't empty * censor.lua: now stripping colours from censored messages; their attributes are also configurable rather than always black on black @@ -31,9 +33,9 @@ 1.1.0 (2020-10-31) "What Do You Mean By 'This Isn't Germany'?" - * degesch: made fancy-prompt.lua work with libedit + * xC: made fancy-prompt.lua work with libedit - * kike: fixed a regression with an unspecified "bind_host" + * xD: fixed a regression with an unspecified "bind_host" * Miscellaneous minor improvements @@ -42,55 +44,55 @@ * Coming with real manual pages instead of help2man-generated stubs - * degesch: added support for more IRC colours and strike-through text (M-m x) + * xC: added support for more IRC colours and strike-through text (M-m x) - * degesch: now tolerating all UTF-8 messages cut off by the server + * xC: now tolerating all UTF-8 messages cut off by the server - * degesch: disabled "behaviour.backlog_helper_strip_formatting" by default + * xC: disabled "behaviour.backlog_helper_strip_formatting" by default since the relevant issue with ACS terminfo entries has been resolved - * degesch: enabled word wrapping in the backlog by default + * xC: enabled word wrapping in the backlog by default - * degesch: made the unread marker span the whole line, with a configurable + * xC: made the unread marker span the whole line, with a configurable character; the previous behaviour can be obtained by setting it empty - * degesch: fixed the prompt not showing back up after exiting a backlog helper + * xC: fixed the prompt not showing back up after exiting a backlog helper when an external event has provoked an attempt to change it - * degesch: now watching fellow channel users' away status when the server + * xC: now watching fellow channel users' away status when the server supports the away-notify capability; indicated by italicised nicknames - * degesch: added a plugin to highlight prime numbers in incoming messages + * xC: added a plugin to highlight prime numbers in incoming messages - * kike: make sure an unspecified "bind_host" binds to both IPv4 and IPv6 + * xD: make sure an unspecified "bind_host" binds to both IPv4 and IPv6 - * ZyklonB: install plugins to /usr/share and look for them in XDG data dirs + * xB: install plugins to /usr/share and look for them in XDG data dirs * Miscellaneous little fixes 0.9.8 (2020-09-02) "Yep, Still Using It" - * degesch: fixed a crash and prompt attribute output in libedit 20191231-3.1, + * xC: fixed a crash and prompt attribute output in libedit 20191231-3.1, though users are officially discouraged from using this library - * degesch: fixed Lua 5.4 build, so far the support is experimental + * xC: fixed Lua 5.4 build, so far the support is experimental * Miscellaneous little fixes 0.9.7 (2018-10-21) "Business as Usual" - * kike: fix wildcard handling in WHOIS + * xD: fix wildcard handling in WHOIS - * kike: properly handle STATS without parametetrs + * xD: properly handle STATS without parametetrs - * kike: abort earlier when an invalid mode character is detected while + * xD: abort earlier when an invalid mode character is detected while processing channel MODE messages - * kike: do not send NICK notifications when the nickname doesn't really change + * xD: do not send NICK notifications when the nickname doesn't really change - * kike: fix hostname string verification (only used for "server_name") + * xD: fix hostname string verification (only used for "server_name") 0.9.6 (2018-06-22) "I've Been Sitting Here All This Time" @@ -99,108 +101,108 @@ * Fix LibreSSL compatibility - * degesch: a second /disconnect cuts the connection by force + * xC: a second /disconnect cuts the connection by force - * degesch: send a QUIT message to the IRC server on Ctrl-C + * xC: send a QUIT message to the IRC server on Ctrl-C - * degesch: add a Slack plugin (even though the gateway's now defunct) + * xC: add a Slack plugin (even though the gateway's now defunct) - * degesch: show an error message on log write failure + * xC: show an error message on log write failure - * degesch: fix parsing of literal IPv6 addresses with port numbers + * xC: fix parsing of literal IPv6 addresses with port numbers - * degesch: fix some error messages + * xC: fix some error messages - * degesch: workaround a Readline bug in the fancy-prompt.lua plugin + * xC: workaround a Readline bug in the fancy-prompt.lua plugin - * kike: fix two memory leaks + * xD: fix two memory leaks - * kike: improve error handling for incoming connections + * xD: improve error handling for incoming connections - * kike: disable TLS session reuse + * xD: disable TLS session reuse 0.9.5 (2016-12-30) "It's Time" * Better support for the KILL command - * degesch: export many more fields to the Lua API, add a prompt hook + * xC: export many more fields to the Lua API, add a prompt hook - * degesch: show channel user count in the prompt + * xC: show channel user count in the prompt - * degesch: allow hiding join/part messages and other noise (Meta-Shift-H) + * xC: allow hiding join/part messages and other noise (Meta-Shift-H) - * degesch: allow autojoining channels with keys + * xC: allow autojoining channels with keys - * degesch: rejoin channels with keys on reconnect + * xC: rejoin channels with keys on reconnect - * degesch: make /query without arguments just open the buffer + * xC: make /query without arguments just open the buffer - * degesch: add a censor plugin + * xC: add a censor plugin - * degesch: die on configuration parse errors + * xC: die on configuration parse errors - * degesch: request channel modes also on rejoin + * xC: request channel modes also on rejoin - * degesch: don't show remembered channel modes on parted channels + * xC: don't show remembered channel modes on parted channels - * degesch: fix highlight detection in colored text + * xC: fix highlight detection in colored text - * degesch: fix CTCP handling for the real world and don't decode X-QUOTEs + * xC: fix CTCP handling for the real world and don't decode X-QUOTEs - * degesch: add support for OpenSSL 1.1.0 + * xC: add support for OpenSSL 1.1.0 0.9.4 (2016-04-28) "Oops" - * degesch: fix crash on characters invalid in Windows-1252 + * xC: fix crash on characters invalid in Windows-1252 - * degesch: add an auto-rejoin plugin + * xC: add an auto-rejoin plugin - * degesch: better date change messages with customizable formatting; + * xC: better date change messages with customizable formatting; now also used in the backlog, so it looks closer to regular output - * ZyklonB: add a calc plugin providing a basic Scheme REPL + * xB: add a calc plugin providing a basic Scheme REPL - * ZyklonB: add a seen plugin + * xB: add a seen plugin - * kike, ZyklonB: use pledge(2) on OpenBSD + * xD, xB: use pledge(2) on OpenBSD 0.9.3 (2016-03-27) "Doesn't Even Suck" * Use TLS Server Name Indication when connecting to servers - * degesch: now we erase the screen before displaying buffers + * xC: now we erase the screen before displaying buffers - * degesch: implemented word wrapping in buffers + * xC: implemented word wrapping in buffers - * degesch: added autocomplete for /topic + * xC: added autocomplete for /topic - * degesch: Lua API was improved and extended + * xC: Lua API was improved and extended - * degesch: added a basic last.fm "now playing" plugin + * xC: added a basic last.fm "now playing" plugin - * degesch: backlog limit was made configurable + * xC: backlog limit was made configurable - * degesch: allow changing the list of IRC capabilities to use if available + * xC: allow changing the list of IRC capabilities to use if available - * degesch: optimize buffer memory usage + * xC: optimize buffer memory usage - * degesch: added logging of messages sent from /quote and plugins + * xC: added logging of messages sent from /quote and plugins - * degesch: M-! and M-a to go to the next buffer in order with - a highlight or new activity respectively + * xC: M-! and M-a to go to the next buffer in order with a highlight + or new activity respectively - * degesch: added --format for previewing things like MOTD files + * xC: added --format for previewing things like MOTD files - * degesch: added /buffer goto supporting case insensitive partial matches + * xC: added /buffer goto supporting case insensitive partial matches - * kike: add support for IRCv3.2 server-time + * xD: add support for IRCv3.2 server-time - * ZyklonB: plugins now run in a dedicated data directory + * xB: plugins now run in a dedicated data directory - * ZyklonB: added a factoids plugin + * xB: added a factoids plugin * Remote addresses are now resolved asynchronously @@ -209,28 +211,28 @@ 0.9.2 (2015-12-31) - * degesch: added rudimentary support for Lua scripting + * xC: added rudimentary support for Lua scripting - * degesch: added detection of pasting, so that it doesn't trigger other + * xC: added detection of pasting, so that it doesn't trigger other keyboard shortcuts, such as for autocomplete - * degesch: added auto-away capability + * xC: added auto-away capability - * degesch: added an /oper command + * xC: added an /oper command - * degesch: libedit backend works again + * xC: libedit backend works again - * degesch: added capability to edit the input line using VISUAL/EDITOR + * xC: added capability to edit the input line using VISUAL/EDITOR - * degesch: added Meta-Tab to switch to the last used buffer + * xC: added Meta-Tab to switch to the last used buffer - * degesch: correctly respond to stopping and resuming (SIGTSTP) + * xC: correctly respond to stopping and resuming (SIGTSTP) - * degesch: fixed decoding of text formatting + * xC: fixed decoding of text formatting - * degesch: unseen PMs now show up as highlights + * xC: unseen PMs now show up as highlights - * degesch: various bugfixes + * xC: various bugfixes 0.9.1 (2015-09-25) @@ -241,23 +243,23 @@ * Pulled in kqueue support - * degesch: added backlog/scrollback functionality using less(1) + * xC: added backlog/scrollback functionality using less(1) - * degesch: made showing the entire set of channel mode user prefixes optional + * xC: made showing the entire set of channel mode user prefixes optional - * degesch: nicknames in /names are now ordered + * xC: nicknames in /names are now ordered - * degesch: nicknames now use the 256-color terminal palette if available + * xC: nicknames now use the 256-color terminal palette if available - * degesch: now we skip entries in the "addresses" list that can't be resolved + * xC: now we skip entries in the "addresses" list that can't be resolved to an address, along with displaying a more helpful message - * degesch: joins, parts, nick changes and quits don't count as new buffer + * xC: joins, parts, nick changes and quits don't count as new buffer activity anymore - * degesch: added Meta-H to open the full log file + * xC: added Meta-H to open the full log file - * degesch: various bugfixes and little improvements + * xC: various bugfixes and little improvements 0.9.0 (2015-07-23) diff --git a/README.adoc b/README.adoc index f4200e5..ef721aa 100644 --- a/README.adoc +++ b/README.adoc @@ -2,25 +2,25 @@ uirc3 ===== :compact-option: -The [line-through]#unethical# edgy IRC trinity. This project consists of an -IRC client, daemon, and bot. It's all you're ever going to need for chatting, -as long as you can make do with minimalist software. +The unreasonable IRC trinity. This project consists of an IRC client, daemon, +and bot. It's all you're ever going to need for chatting, as long as you can +make do with minimalist software. All of them have these potentially interesting properties: - IPv6 support - TLS support, including client certificates - - lean on dependencies (with the exception of 'degesch') + - lean on dependencies (with the exception of 'xC') - compact and arguably easy to hack on - very permissive license -degesch -------- +xC +-- The IRC client. It is largely defined by being built on top of GNU Readline that has been hacked to death. Its interface should feel somewhat familiar for weechat or irssi users. -image::degesch.png[align="center"] +image::xC.png[align="center"] This is the largest application within the project. It has most of the stuff you'd expect of an IRC client, such as being able to set up multiple servers, @@ -28,8 +28,8 @@ a powerful configuration system, integrated help, text formatting, CTCP queries, automatic splitting of overlong messages, autocomplete, logging to file, auto-away, command aliases and basic support for Lua scripting. -kike ----- +xD +-- The IRC daemon. It is designed to be used as a regular user application rather than a system-wide daemon. If all you want is a decent, minimal IRCd for testing purposes or a small network of respectful users (or bots), this one will @@ -48,7 +48,7 @@ Not supported: - server linking (which also means no services); I consider existing protocols for this purpose ugly and tricky to implement correctly; I've also found no use for this feature yet - - online changes to configuration; the configuration system from degesch could + - online changes to configuration; the configuration system from xC could be used to implement this feature if needed - limits of almost any kind, just connections and mode `+l` @@ -56,8 +56,8 @@ This program has been https://git.janouch.name/p/haven/src/branch/master/hid[ported to Go], and development continues over there. -ZyklonB -------- +xB +-- The IRC bot. It builds upon the concept of my other VitaminA IRC bot. The main characteristic of these two bots is that they run plugins as coprocesses, which allows for enhanced reliability and programming language freedom. @@ -78,8 +78,8 @@ Building -------- Build dependencies: CMake, pkg-config, asciidoctor, awk, liberty (included) + Runtime dependencies: openssl + -Additionally for degesch: curses, libffi, lua >= 5.3 (optional), - readline >= 6.0 or libedit >= 2013-07-12 +Additionally for xC: curses, libffi, lua >= 5.3 (optional), + readline >= 6.0 or libedit >= 2013-07-12 Avoid libedit if you can, in general it works but at the moment history is acting up and I have no clue about fixing it. @@ -102,49 +102,49 @@ Or you can try telling CMake to make a package for you. For Debian it is: Usage ----- -'degesch' has in-program configuration. Just run it and read the instructions. -Consult its link:degesch.adoc[man page] for details about the interface. +'xC' has in-program configuration. Just run it and read the instructions. +Consult its link:xC.adoc[man page] for details about the interface. For the rest you might want to generate a configuration file: - $ zyklonb --write-default-config - $ kike --write-default-config + $ xB --write-default-config + $ xD --write-default-config After making any necessary edits to the file (there are comments to aid you in doing that), simply run the appropriate program with no arguments: - $ zyklonb - $ kike + $ xB + $ xD -'ZyklonB' stays running in the foreground, therefore I recommend launching it -inside a Screen or tmux session. +'xB' stays running in the foreground, therefore I recommend launching it inside +a Screen or tmux session. -'kike', on the other hand, immediately forks into the background. Use the PID +'xD', on the other hand, immediately forks into the background. Use the PID file or something like `killall` if you want to terminate it. You can run it as a `forking` type systemd user service. Client Certificates ------------------- -'degesch' will use the SASL EXTERNAL method to authenticate using the TLS -client certificate specified by the respective server's `tls_cert` option -if you add `sasl` to the `capabilities` option and the server supports this. +'xC' will use the SASL EXTERNAL method to authenticate using the TLS client +certificate specified by the respective server's `tls_cert` option if you add +`sasl` to the `capabilities` option and the server supports this. -'kike' uses SHA-1 fingerprints of TLS client certificates to authenticate users. +'xD' uses SHA-1 fingerprints of TLS client certificates to authenticate users. To get the fingerprint from a certificate file in the required form, use: $ openssl x509 -in public.pem -outform DER | sha1sum -Custom Key Bindings in degesch ------------------------------- -The default and preferred frontend used in 'degesch' is GNU Readline. This -means that you can change your bindings by editing '~/.inputrc'. For example: +Custom Key Bindings in xC +------------------------- +The default and preferred frontend used in 'xC' is GNU Readline. This means +that you can change your bindings by editing '~/.inputrc'. For example: .... # Preload with system-wide settings $include /etc/inputrc # Make M-left and M-right reorder buffers -$if degesch +$if xC "\e\e[C": move-buffer-right "\e\e[D": move-buffer-left $endif @@ -154,12 +154,12 @@ Consult the source code and the GNU Readline manual for a list of available functions. Also refer to the latter for the exact syntax of this file. Beware that you can easily break the program if you're not careful. -How do I make degesch look like the screenshot? ------------------------------------------------ -First of all, you must build it with Lua support. With the defaults, degesch -doesn't look too fancy because I don't want to depend on Lua or 256-colour -terminals. In addition to that, I appear to be one of the few people who use -black on white terminals. +How do I make xC look like the screenshot? +------------------------------------------ +First of all, you must build it with Lua support. With the defaults, xC doesn't +look too fancy because I don't want to depend on Lua or 256-colour terminals. +In addition to that, I appear to be one of the few people who use black on white +terminals. /set behaviour.date_change_line = "%a %e %b %Y" /set behaviour.plugin_autoload += "fancy-prompt.lua" @@ -195,5 +195,5 @@ License This software is released under the terms of the 0BSD license, the text of which is included within the package along with the list of authors. -Note that 'degesch' becomes GPL-licensed when you link it against GNU Readline +Note that 'xC' becomes GPL-licensed when you link it against GNU Readline, but that is not a concern of this source package. The licenses are compatible. diff --git a/plugins/zyklonb/calc b/plugins/xB/calc similarity index 99% rename from plugins/zyklonb/calc rename to plugins/xB/calc index 8e36357..e67244b 100755 --- a/plugins/zyklonb/calc +++ b/plugins/xB/calc @@ -1,6 +1,6 @@ #!/usr/bin/env guile - ZyklonB calc plugin, basic Scheme evaluator + xB calc plugin, basic Scheme evaluator Copyright 2016 Přemysl Eric Janouch See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/coin b/plugins/xB/coin similarity index 98% rename from plugins/zyklonb/coin rename to plugins/xB/coin index 7dfe923..14cabb5 100755 --- a/plugins/zyklonb/coin +++ b/plugins/xB/coin @@ -1,6 +1,6 @@ #!/usr/bin/env tclsh # -# ZyklonB coin plugin, random number-based utilities +# xB coin plugin, random number-based utilities # # Copyright 2012, 2014 Přemysl Eric Janouch # See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/eval b/plugins/xB/eval similarity index 99% rename from plugins/zyklonb/eval rename to plugins/xB/eval index ccc7f0a..24e4050 100755 --- a/plugins/zyklonb/eval +++ b/plugins/xB/eval @@ -1,6 +1,6 @@ #!/usr/bin/awk -f # -# ZyklonB eval plugin, LISP-like expression evaluator +# xB eval plugin, LISP-like expression evaluator # # Copyright 2013, 2014 Přemysl Eric Janouch # See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/factoids b/plugins/xB/factoids similarity index 99% rename from plugins/zyklonb/factoids rename to plugins/xB/factoids index 431600c..9e9a7b4 100755 --- a/plugins/zyklonb/factoids +++ b/plugins/xB/factoids @@ -1,6 +1,6 @@ #!/usr/bin/env perl # -# ZyklonB factoids plugin +# xB factoids plugin # # Copyright 2016 Přemysl Eric Janouch # See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/pomodoro b/plugins/xB/pomodoro similarity index 99% rename from plugins/zyklonb/pomodoro rename to plugins/xB/pomodoro index 2bb6531..08b87cb 100755 --- a/plugins/zyklonb/pomodoro +++ b/plugins/xB/pomodoro @@ -1,7 +1,7 @@ #!/usr/bin/env ruby # coding: utf-8 # -# ZyklonB pomodoro plugin +# xB pomodoro plugin # # Copyright 2015 Přemysl Eric Janouch # See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/script b/plugins/xB/script similarity index 99% rename from plugins/zyklonb/script rename to plugins/xB/script index c19b8c5..948e7e5 100755 --- a/plugins/zyklonb/script +++ b/plugins/xB/script @@ -1,6 +1,6 @@ #!/usr/bin/tcc -run -lm // -// ZyklonB scripting plugin, using a custom stack-based language +// xB scripting plugin, using a custom stack-based language // // Copyright 2014 Přemysl Eric Janouch // See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/seen b/plugins/xB/seen similarity index 99% rename from plugins/zyklonb/seen rename to plugins/xB/seen index 8fc9c82..da20972 100755 --- a/plugins/zyklonb/seen +++ b/plugins/xB/seen @@ -1,6 +1,6 @@ #!/usr/bin/env lua -- --- ZyklonB seen plugin +-- xB seen plugin -- -- Copyright 2016 Přemysl Eric Janouch -- See the file LICENSE for licensing information. diff --git a/plugins/zyklonb/seen-import-degesch.pl b/plugins/xB/seen-import-xC.pl similarity index 87% rename from plugins/zyklonb/seen-import-degesch.pl rename to plugins/xB/seen-import-xC.pl index ddef6be..db706a0 100755 --- a/plugins/zyklonb/seen-import-degesch.pl +++ b/plugins/xB/seen-import-xC.pl @@ -1,7 +1,7 @@ #!/usr/bin/env perl -# Creates a database for the "seen" plugin from logs for degesch. +# Creates a database for the "seen" plugin from logs for xC. # The results may not be completely accurate but are good for jumpstarting. -# Usage: ./seen-import-degesch.pl LOG-FILE... > seen.db +# Usage: ./seen-import-xC.pl LOG-FILE... > seen.db use strict; use warnings; diff --git a/plugins/zyklonb/youtube b/plugins/xB/youtube similarity index 98% rename from plugins/zyklonb/youtube rename to plugins/xB/youtube index 53b86d8..0bf0c1e 100755 --- a/plugins/zyklonb/youtube +++ b/plugins/xB/youtube @@ -1,6 +1,6 @@ #!/usr/bin/env python3 # -# ZyklonB YouTube plugin, displaying info about YouTube links +# xB YouTube plugin, displaying info about YouTube links # # Copyright 2014 - 2015, Přemysl Eric Janouch # See the file LICENSE for licensing information. diff --git a/plugins/degesch/auto-rejoin.lua b/plugins/xC/auto-rejoin.lua similarity index 89% rename from plugins/degesch/auto-rejoin.lua rename to plugins/xC/auto-rejoin.lua index ce82213..f42fb2e 100644 --- a/plugins/degesch/auto-rejoin.lua +++ b/plugins/xC/auto-rejoin.lua @@ -16,7 +16,7 @@ -- local timeout -degesch.setup_config { +xC.setup_config { timeout = { type = "integer", comment = "auto rejoin timeout", @@ -31,9 +31,9 @@ degesch.setup_config { }, } -async, await = degesch.async, coroutine.yield -degesch.hook_irc (function (hook, server, line) - local msg = degesch.parse (line) +async, await = xC.async, coroutine.yield +xC.hook_irc (function (hook, server, line) + local msg = xC.parse (line) if msg.command ~= "KICK" then return line end local who = msg.prefix:match ("^[^!]*") diff --git a/plugins/degesch/censor.lua b/plugins/xC/censor.lua similarity index 96% rename from plugins/degesch/censor.lua rename to plugins/xC/censor.lua index cb76c23..49cab5b 100644 --- a/plugins/degesch/censor.lua +++ b/plugins/xC/censor.lua @@ -39,7 +39,7 @@ local read_masks = function (v) end local quote -degesch.setup_config { +xC.setup_config { masks = { type = "string_array", default = "\"\"", @@ -72,8 +72,8 @@ local censor = function (line) return start .. text end -degesch.hook_irc (function (hook, server, line) - local msg = degesch.parse (line) +xC.hook_irc (function (hook, server, line) + local msg = xC.parse (line) if msg.command ~= "PRIVMSG" then return line end local channel = msg.params[1]:lower () diff --git a/plugins/degesch/fancy-prompt.lua b/plugins/xC/fancy-prompt.lua similarity index 95% rename from plugins/degesch/fancy-prompt.lua rename to plugins/xC/fancy-prompt.lua index 93fe67c..8ec697a 100644 --- a/plugins/degesch/fancy-prompt.lua +++ b/plugins/xC/fancy-prompt.lua @@ -28,15 +28,15 @@ -- background but to really fix that mode, we'd have to fully reimplement it -- since its alternative prompt very often gets overriden by accident anyway. -degesch.hook_prompt (function (hook) - local current = degesch.current_buffer +xC.hook_prompt (function (hook) + local current = xC.current_buffer local chan = current.channel local s = current.server local bg_color = "255" local current_n = 0 local active = "" - for i, buffer in ipairs (degesch.buffers) do + for i, buffer in ipairs (xC.buffers) do if buffer == current then current_n = i elseif buffer.new_messages_count ~= buffer.new_unimportant_count then @@ -61,7 +61,7 @@ degesch.hook_prompt (function (hook) end if current.hide_unimportant then x = x .. "" end - local lines, cols = degesch.get_screen_size () + local lines, cols = xC.get_screen_size () x = x .. " " .. active .. string.rep (" ", cols) -- Readline 7.0.003 seems to be broken and completely corrupts the prompt. diff --git a/plugins/degesch/last-fm.lua b/plugins/xC/last-fm.lua similarity index 97% rename from plugins/degesch/last-fm.lua rename to plugins/xC/last-fm.lua index 6ade80d..3bdfed2 100644 --- a/plugins/degesch/last-fm.lua +++ b/plugins/xC/last-fm.lua @@ -23,7 +23,7 @@ local cjson = require "cjson" -- Setup configuration to load last.fm API credentials from local user, api_key -degesch.setup_config { +xC.setup_config { user = { type = "string", comment = "last.fm username", @@ -117,7 +117,7 @@ end local running -- Initiate a connection to last.fm servers -async, await = degesch.async, coroutine.yield +async, await = xC.async, coroutine.yield local make_request = function (buffer, action) if not user or not api_key then report_error (buffer, "configuration is incomplete") @@ -159,7 +159,7 @@ local send_song = function (buffer) end -- Hook input to simulate new commands -degesch.hook_input (function (hook, buffer, input) +xC.hook_input (function (hook, buffer, input) if input == "/np" then make_request (buffer, function (np) now_playing = np diff --git a/plugins/degesch/ping-timeout.lua b/plugins/xC/ping-timeout.lua similarity index 93% rename from plugins/degesch/ping-timeout.lua rename to plugins/xC/ping-timeout.lua index 6444c0a..c455c57 100644 --- a/plugins/degesch/ping-timeout.lua +++ b/plugins/xC/ping-timeout.lua @@ -15,8 +15,8 @@ -- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -- -degesch.hook_irc (function (hook, server, line) - local msg = degesch.parse (line) +xC.hook_irc (function (hook, server, line) + local msg = xC.parse (line) local start, timeout = line:match ("^(.* :Ping timeout:) (%d+) seconds$") if msg.command ~= "QUIT" or not start then return line diff --git a/plugins/degesch/prime.lua b/plugins/xC/prime.lua similarity index 97% rename from plugins/degesch/prime.lua rename to plugins/xC/prime.lua index 420124f..23740ee 100644 --- a/plugins/degesch/prime.lua +++ b/plugins/xC/prime.lua @@ -16,7 +16,7 @@ -- local smallest, highlight = 0, "\x1f" -degesch.setup_config { +xC.setup_config { smallest = { type = "integer", default = "0", @@ -62,7 +62,7 @@ end -- XXX: sadly it won't typically highlight primes in our own messages, -- unless IRCv3 echo-message is on -degesch.hook_irc (function (hook, server, line) +xC.hook_irc (function (hook, server, line) local start, message = line:match ("^(.- PRIVMSG .- :)(.*)$") return message and start .. do_message (message) or line end) diff --git a/plugins/degesch/slack.lua b/plugins/xC/slack.lua similarity index 92% rename from plugins/degesch/slack.lua rename to plugins/xC/slack.lua index dcddb3c..c1a08de 100644 --- a/plugins/degesch/slack.lua +++ b/plugins/xC/slack.lua @@ -51,7 +51,7 @@ local load_emoji = function (extra) for k, v in extra:gmatch "([^,]+) ([^,]+)" do emoji[k] = v end end -degesch.setup_config { +xC.setup_config { servers = { type = "string_array", default = "\"\"", @@ -74,8 +74,8 @@ degesch.setup_config { -- We can handle external messages about what we've supposedly sent just fine, -- so let's get rid of that "[username] some message sent from the web UI" crap -degesch.hook_irc (function (hook, server, line) - local msg, us = degesch.parse (line), server.user +xC.hook_irc (function (hook, server, line) + local msg, us = xC.parse (line), server.user if not servers[server.name] or msg.command ~= "PRIVMSG" or not us or msg.params[1]:lower () ~= us.nickname:lower () then return line end @@ -88,7 +88,7 @@ degesch.hook_irc (function (hook, server, line) end) -- Unfuck emoji and :nick!nick@irc.tinyspeck.com MODE #channel +v nick : active -degesch.hook_irc (function (hook, server, line) +xC.hook_irc (function (hook, server, line) if not servers[server.name] then return line end if unemojify then local start, text = line:match ("^(.- PRIVMSG .- :)(.*)$") @@ -101,7 +101,7 @@ degesch.hook_irc (function (hook, server, line) end) -- The gateway simply ignores the NAMES command altogether -degesch.hook_input (function (hook, buffer, input) +xC.hook_input (function (hook, buffer, input) if not buffer.channel or not servers[buffer.server.name] or not input:match "^/names%s*$" then return input end @@ -119,9 +119,9 @@ degesch.hook_input (function (hook, buffer, input) buffer:log (names) end) -degesch.hook_completion (function (hook, data, word) - local chan = degesch.current_buffer.channel - local server = degesch.current_buffer.server +xC.hook_completion (function (hook, data, word) + local chan = xC.current_buffer.channel + local server = xC.current_buffer.server if not chan or not servers[server.name] then return end -- In /commands there is typically no desire at all to add the at sign diff --git a/plugins/degesch/thin-cursor.lua b/plugins/xC/thin-cursor.lua similarity index 100% rename from plugins/degesch/thin-cursor.lua rename to plugins/xC/thin-cursor.lua diff --git a/plugins/degesch/utm-filter.lua b/plugins/xC/utm-filter.lua similarity index 95% rename from plugins/degesch/utm-filter.lua rename to plugins/xC/utm-filter.lua index 63f85e3..82c4522 100644 --- a/plugins/degesch/utm-filter.lua +++ b/plugins/xC/utm-filter.lua @@ -52,11 +52,11 @@ local do_text = function (text) return text:gsub ('%f[%g]https?://%g+', do_single_url) end -degesch.hook_irc (function (hook, server, line) +xC.hook_irc (function (hook, server, line) local start, message = line:match ("^(.* :)(.*)$") return message and start .. do_text (message) or line end) -degesch.hook_input (function (hook, buffer, input) +xC.hook_input (function (hook, buffer, input) return do_text (input) end) diff --git a/test b/test index bf4d697..2ba55b4 100755 --- a/test +++ b/test @@ -2,13 +2,13 @@ # Very basic end-to-end testing for CI # Run the daemon to test against -system ./kike --write-default-cfg -spawn ./kike -d +system ./xD --write-default-cfg +spawn ./xD -d # 10 seconds is a bit too much set timeout 5 -spawn ./degesch +spawn ./xC # Fuck this Tcl shit, I want the exit code expect_after { diff --git a/test-nick-colors b/test-nick-colors index dcc112f..b6c97cc 100755 --- a/test-nick-colors +++ b/test-nick-colors @@ -9,7 +9,7 @@ export example=$( #define N_ELEMENTS(a) (sizeof (a) / sizeof ((a)[0])) $(perl -0777 -ne 'print $& if /^.*?\nfilter_color(?s:.*?)^}$/m' \ - "$(dirname "$0")"/degesch.c) + "$(dirname "$0")"/xC.c) void main () { size_t len = 0; diff --git a/test-static b/test-static index 0c22b0d..85d7f4f 100755 --- a/test-static +++ b/test-static @@ -1,7 +1,7 @@ #!/bin/sh # We don't use printf's percent notation with our custom logging mechanism, # so the compiler cannot check it for us like it usually does -perl -n0777 - "$(dirname "$0")"/degesch.c <<-'END' +perl -n0777 - "$(dirname "$0")"/xC.c <<-'END' while (/\blog_[^ ]+\s*\([^"()]*"[^"]*%[^%][^"]*"/gm) { my ($p, $m) = ($`, $&); printf "$ARGV:%d: suspicious log format string: %s...\n", diff --git a/zyklonb.adoc b/xB.adoc similarity index 87% rename from zyklonb.adoc rename to xB.adoc index b4730cb..91f7703 100644 --- a/zyklonb.adoc +++ b/xB.adoc @@ -1,20 +1,20 @@ -zyklonb(1) -========== +xB(1) +===== :doctype: manpage :manmanual: uirc3 Manual :mansource: uirc3 {release-version} Name ---- -zyklonb - modular IRC bot +xB - modular IRC bot Synopsis -------- -*zyklonb* [_OPTION_]... +*xB* [_OPTION_]... Description ----------- -*zyklonb* is a modular IRC bot with a programming language-agnostic plugin +*xB* is a modular IRC bot with a programming language-agnostic plugin architecture based on co-processes. Options @@ -82,19 +82,19 @@ All other commands will be forwarded directly to the IRC server. Files ----- -*zyklonb* follows the XDG Base Directory Specification. +*xB* follows the XDG Base Directory Specification. -_~/.config/zyklonb/zyklonb.conf_:: +_~/.config/xB/xB.conf_:: The bot's configuration file. Use the *--write-default-cfg* option to create a new one for editing. -_~/.local/share/zyklonb/_:: +_~/.local/share/xB/_:: The initial working directory for plugins, in which they may create private databases or other files as needed. -_~/.local/share/zyklonb/plugins/_:: -_/usr/local/share/zyklonb/plugins/_:: -_/usr/share/zyklonb/plugins/_:: +_~/.local/share/xB/plugins/_:: +_/usr/local/share/xB/plugins/_:: +_/usr/share/xB/plugins/_:: Plugins are searched for in these directories, in order, unless the *plugin_dir* configuration option overrides this. diff --git a/zyklonb.c b/xB.c similarity index 99% rename from zyklonb.c rename to xB.c index 08ffb1b..9e36040 100644 --- a/zyklonb.c +++ b/xB.c @@ -1,5 +1,5 @@ /* - * zyklonb.c: a modular IRC bot + * xB.c: a modular IRC bot * * Copyright (c) 2014 - 2020, Přemysl Eric Janouch * @@ -17,7 +17,7 @@ */ #include "config.h" -#define PROGRAM_NAME "ZyklonB" +#define PROGRAM_NAME "xB" #include "common.c" @@ -25,9 +25,9 @@ static struct simple_config_item g_config_table[] = { - { "nickname", "ZyklonB", "IRC nickname" }, + { "nickname", "xB", "IRC nickname" }, { "username", "bot", "IRC user name" }, - { "realname", "ZyklonB IRC bot", "IRC real name/e-mail" }, + { "realname", "xB IRC bot", "IRC real name/e-mail" }, { "irc_host", NULL, "Address of the IRC server" }, { "irc_port", "6667", "Port of the IRC server" }, @@ -1860,7 +1860,7 @@ on_plugin_death (struct plugin *plugin, int status) struct bot_context *ctx = plugin->ctx; // TODO: callbacks on children death, so that we may tell the user - // "plugin `name' died like a dirty jewish pig"; use `status' + // "plugin `name' died"; use `status' if (!plugin->is_zombie && WIFSIGNALED (status)) { const char *notes = ""; diff --git a/degesch.adoc b/xC.adoc similarity index 86% rename from degesch.adoc rename to xC.adoc index f3c7904..31c5b1d 100644 --- a/degesch.adoc +++ b/xC.adoc @@ -1,22 +1,22 @@ -degesch(1) -========== +xC(1) +===== :doctype: manpage :manmanual: uirc3 Manual :mansource: uirc3 {release-version} Name ---- -degesch - terminal-based IRC client +xC - terminal-based IRC client Synopsis -------- -*degesch* [_OPTION_]... +*xC* [_OPTION_]... Description ----------- -*degesch* is a scriptable IRC client for the command line. On the first run -it will welcome you with an introductory message. Should you ever get lost, -use the */help* command to obtain more information on commands or options. +*xC* is a scriptable IRC client for the command line. On the first run it will +welcome you with an introductory message. Should you ever get lost, use the +*/help* command to obtain more information on commands or options. Options ------- @@ -26,7 +26,7 @@ Options database: + ``` -printf '\x02bold\x02\n' | degesch -f +printf '\x02bold\x02\n' | xC -f ``` + This feature may be used to preview server MOTD files. @@ -98,18 +98,18 @@ Environment Files ----- -*degesch* follows the XDG Base Directory Specification. +*xC* follows the XDG Base Directory Specification. -_~/.config/degesch/degesch.conf_:: +_~/.config/xC/xC.conf_:: The program's configuration file. Preferrably use internal facilities, such as the */set* command, to make changes in it. -_~/.local/share/degesch/logs/_:: +_~/.local/share/xC/logs/_:: When enabled by *behaviour.logging*, log files are stored here. -_~/.local/share/degesch/plugins/_:: -_/usr/local/share/degesch/plugins/_:: -_/usr/share/degesch/plugins/_:: +_~/.local/share/xC/plugins/_:: +_/usr/local/share/xC/plugins/_:: +_/usr/share/xC/plugins/_:: Plugins are searched for in these directories, in order. Bugs diff --git a/degesch.c b/xC.c similarity index 99% rename from degesch.c rename to xC.c index 0f8f22b..438cf59 100644 --- a/degesch.c +++ b/xC.c @@ -1,5 +1,5 @@ /* - * degesch.c: a terminal-based IRC client + * xC.c: a terminal-based IRC client * * Copyright (c) 2015 - 2021, Přemysl Eric Janouch * @@ -46,10 +46,10 @@ enum #define print_warning_data ((void *) ATTR_WARNING) #include "config.h" -#define PROGRAM_NAME "degesch" +#define PROGRAM_NAME "xC" #include "common.c" -#include "kike-replies.c" +#include "xD-replies.c" #include #include @@ -10699,7 +10699,7 @@ lua_plugin_load (struct app_context *ctx, const char *filename, luaL_checkversion (L); - // Register the degesch library as a singleton with "plugin" as an upvalue + // Register the xC library as a singleton with "plugin" as an upvalue // (mostly historical, but rather convenient) luaL_newmetatable (L, lua_ctx_info.name); lua_pushlightuserdata (L, plugin); @@ -13712,7 +13712,7 @@ app_editline_init (struct input_el *self) static const char *g_first_time_help[] = { "", - "\x02Welcome to degesch!", + "\x02Welcome to xC!", "", "To get a list of all commands, type \x02/help\x02. To obtain", "more information on a command or option, simply add it as", @@ -14346,13 +14346,9 @@ main (int argc, char *argv[]) static const char *g_logo[] = { - " __ __ ", - " __/ /___________________/ / ", - " / / , / / , / __/ __/ _ \\ ", - "/ / / __/ / / __/_ / /_/ // / ", - "\\__/\\__/_ /\\__/___/\\__/_//_/ " PROGRAM_VERSION, - " /___/", - "" + "", + "\x02" PROGRAM_NAME "\x02 " PROGRAM_VERSION, + "", }; static void @@ -14379,7 +14375,7 @@ format_input_and_die (struct app_context *ctx) int main (int argc, char *argv[]) { - // We include a generated file from kike including this array we don't use; + // We include a generated file from xD including this array we don't use; // let's just keep it there and silence the compiler warning instead (void) g_default_replies; diff --git a/degesch.png b/xC.png similarity index 100% rename from degesch.png rename to xC.png diff --git a/kike-gen-replies.sh b/xD-gen-replies.sh similarity index 96% rename from kike-gen-replies.sh rename to xD-gen-replies.sh index 004da2b..0fcbbba 100755 --- a/kike-gen-replies.sh +++ b/xD-gen-replies.sh @@ -2,7 +2,7 @@ LC_ALL=C exec awk ' BEGIN { # The message catalog is a by-product - msg = "kike.msg" + msg = "xD.msg" print "$quote \"" > msg; print "$set 1" > msg; } diff --git a/kike-replies b/xD-replies similarity index 100% rename from kike-replies rename to xD-replies diff --git a/kike.adoc b/xD.adoc similarity index 81% rename from kike.adoc rename to xD.adoc index 0807c78..89f54e5 100644 --- a/kike.adoc +++ b/xD.adoc @@ -1,20 +1,20 @@ -kike(1) -======= +xD(1) +===== :doctype: manpage :manmanual: uirc3 Manual :mansource: uirc3 {release-version} Name ---- -kike - IRC daemon +xD - IRC daemon Synopsis -------- -*kike* [_OPTION_]... +*xD* [_OPTION_]... Description ----------- -*kike* is a basic IRC daemon for single-server networks, suitable for testing +*xD* is a basic IRC daemon for single-server networks, suitable for testing and private use. When run without a configuration file, it will start listening on the standard port 6667 and the "any" address. @@ -40,10 +40,10 @@ contrary to what you might expect from a server. Files ----- -*kike* follows the XDG Base Directory Specification. +*xD* follows the XDG Base Directory Specification. -_~/.config/kike/kike.conf_:: -_/etc/xdg/kike/kike.conf_:: +_~/.config/xD/xD.conf_:: +_/etc/xdg/xD/xD.conf_:: The daemon's configuration file. Use the *--write-default-cfg* option to create a new one for editing. diff --git a/kike.c b/xD.c similarity index 99% rename from kike.c rename to xD.c index e805e00..5e8d6a9 100644 --- a/kike.c +++ b/xD.c @@ -1,5 +1,5 @@ /* - * kike.c: an IRC daemon + * xD.c: an IRC daemon * * Copyright (c) 2014 - 2020, Přemysl Eric Janouch * @@ -17,11 +17,11 @@ */ #include "config.h" -#define PROGRAM_NAME "kike" +#define PROGRAM_NAME "xD" #define WANT_SYSLOG_LOGGING #include "common.c" -#include "kike-replies.c" +#include "xD-replies.c" #include enum { PIPE_READ, PIPE_WRITE };