degesch: add the first Lua plugin to distribution
This required separate plugin directories for both pluginized executables.
This commit is contained in:
parent
d135728424
commit
71f3532e04
@ -94,7 +94,8 @@ set (HAVE_EDITLINE "${WANT_LIBEDIT}")
|
||||
set (HAVE_LUA "${WITH_LUA}")
|
||||
|
||||
include (GNUInstallDirs)
|
||||
set (plugin_dir ${CMAKE_INSTALL_LIBDIR}/${PROJECT_NAME})
|
||||
# ZyklonB is currently an odd duck but degesch follows normal XDG rules
|
||||
set (zyklonb_plugin_dir ${CMAKE_INSTALL_LIBDIR}/zyklonb/plugins)
|
||||
configure_file (${PROJECT_SOURCE_DIR}/config.h.in ${PROJECT_BINARY_DIR}/config.h)
|
||||
include_directories (${PROJECT_SOURCE_DIR} ${PROJECT_BINARY_DIR})
|
||||
|
||||
@ -138,10 +139,10 @@ add_custom_target (clang-tidy
|
||||
# Installation
|
||||
install (TARGETS zyklonb degesch kike DESTINATION ${CMAKE_INSTALL_BINDIR})
|
||||
install (FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
|
||||
|
||||
foreach (plugin coin eval script youtube ${plugins})
|
||||
install (FILES plugins/${plugin} DESTINATION ${plugin_dir})
|
||||
endforeach (plugin)
|
||||
install (DIRECTORY plugins/zyklonb/
|
||||
DESTINATION ${zyklonb_plugin_dir} USE_SOURCE_PERMISSIONS)
|
||||
install (DIRECTORY plugins/degesch/
|
||||
DESTINATION ${CMAKE_INSTALL_DATADIR}/degesch/plugins)
|
||||
|
||||
# Generate documentation from program help
|
||||
find_program (HELP2MAN_EXECUTABLE help2man)
|
||||
|
@ -2,7 +2,7 @@
|
||||
#define CONFIG_H
|
||||
|
||||
#define PROGRAM_VERSION "${project_VERSION}"
|
||||
#define PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/${plugin_dir}"
|
||||
#define ZYKLONB_PLUGIN_DIR "${CMAKE_INSTALL_PREFIX}/${zyklonb_plugin_dir}"
|
||||
|
||||
#cmakedefine HAVE_READLINE
|
||||
#cmakedefine HAVE_EDITLINE
|
||||
|
33
plugins/degesch/ping-timeout.lua
Normal file
33
plugins/degesch/ping-timeout.lua
Normal file
@ -0,0 +1,33 @@
|
||||
--
|
||||
-- ping-timeout.lua: ping timeout readability enhancement plugin
|
||||
--
|
||||
-- Copyright (c) 2015, Přemysl Janouch <p.janouch@gmail.com>
|
||||
--
|
||||
-- Permission to use, copy, modify, and/or distribute this software for any
|
||||
-- purpose with or without fee is hereby granted, provided that the above
|
||||
-- copyright notice and this permission notice appear in all copies.
|
||||
--
|
||||
-- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
-- WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
-- MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
|
||||
-- SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
-- WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
|
||||
-- OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
-- CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
--
|
||||
|
||||
degesch.hook_irc (function (hook, server, line)
|
||||
local start, timeout =
|
||||
line:match ("^(:[^ ]* QUIT :Ping timeout:) (%d+) seconds$")
|
||||
if not start then
|
||||
return line
|
||||
end
|
||||
|
||||
local minutes = timeout // 60
|
||||
if minutes == 0 then
|
||||
return line
|
||||
end
|
||||
|
||||
local seconds = timeout % 60
|
||||
return string.format ("%s %d minutes, %d seconds", start, minutes, seconds)
|
||||
end)
|
Loading…
Reference in New Issue
Block a user