1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-12 14:14:48 +02:00

Compare commits

...

831 Commits

Author SHA1 Message Date
Sébastien Helleu d50d32629f core: add CVE ids in ChangeLog 2020-03-02 20:43:10 +01:00
Sébastien Helleu 5c0aa1aae7 Version 2.7.1 2020-02-20 20:45:08 +01:00
Sébastien Helleu c827d6fa86 irc: fix crash when receiving a malformed message 352 (who)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-14 08:14:31 +01:00
Sébastien Helleu 694b5c9f87 irc: fix crash when a new message 005 is received with longer nick prefixes
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-14 08:11:02 +01:00
Sébastien Helleu 51a739df61 irc: fix crash when receiving a malformed message 324 (channel mode) (CVE-2020-8955)
Thanks to Stuart Nevans Locke for reporting the issue.
2020-02-14 08:08:23 +01:00
Sébastien Helleu 410a12b2ae Version 2.7.1-dev 2020-02-14 08:05:19 +01:00
Sébastien Helleu 236dbe3f62 Version 2.7 2019-12-08 09:48:53 +01:00
Sébastien Helleu 632755d51d core: remove obsolete file FindTCL.cmake from root Makefile.am 2019-12-08 09:23:35 +01:00
Sébastien Helleu ee52c8ceae debian: fix debian/wheezy and ubuntu/trusty patches 2019-12-08 09:13:46 +01:00
Sébastien Helleu dda3ac7963 debian: update changelog 2019-12-08 08:23:07 +01:00
Sébastien Helleu e81d0787e4 debian: bump Standards-Version to 4.4.0 2019-12-08 08:22:45 +01:00
Sébastien Helleu 54aa8b82b3 doc: update Polish auto-generated files 2019-12-01 18:03:07 +01:00
Krzysztof Korościk 39ae55322d doc: updated polish traslation 2019-12-01 17:14:12 +01:00
Krzysztof Korościk 10f4e16695 po: update polish translation 2019-12-01 16:24:32 +01:00
Sébastien Helleu cfd7d31f95 doc: update German auto-generated files 2019-12-01 11:42:49 +01:00
Nils Görs 621b87ea8a core: update German translations 2019-11-29 09:17:37 +01:00
Sébastien Helleu c947d1575f core: exit makedist.sh script if command "cd" failed 2019-11-28 21:28:07 +01:00
Sébastien Helleu d876ec49fc core: replace "! -z" by "-n" in build-debian.sh 2019-11-28 21:27:43 +01:00
Sébastien Helleu d2300e62af core: replace "-o" by "||" in tools scripts 2019-11-28 21:26:45 +01:00
Sébastien Helleu a727516e0d core: run command and check return code on same line in tools scripts 2019-11-28 21:25:47 +01:00
Sébastien Helleu c0e48b0370 core: double quote variables in tools scripts 2019-11-28 21:23:59 +01:00
Sébastien Helleu 45509c3560 core: double quote variables in script autogen.sh 2019-11-27 20:17:48 +01:00
Sébastien Helleu fb8f0590b0 Version 2.7-rc1 2019-11-26 20:10:18 +01:00
Sébastien Helleu 3dab07d659 tests: add unit tests on hash algorithms with salt (issue #635) 2019-11-25 23:02:05 +01:00
Sébastien Helleu cd53fc61cf core: fix typo in French translation (issue #635) 2019-11-25 22:43:55 +01:00
Sébastien Helleu d66a02ca9d core: move each hash algorithm in a separate function (issue #635) 2019-11-25 22:31:36 +01:00
Sébastien Helleu 771b932dec doc: update auto-generated files with WeeChat options (issue #635) 2019-11-25 21:44:27 +01:00
Sébastien Helleu 41911babd3 core: remove obsolete translations 2019-11-25 21:42:57 +01:00
Sébastien Helleu f69079e3d0 core: update ChangeLog (issue #635) 2019-11-25 21:39:02 +01:00
Sébastien Helleu b43ab911fd core: add more info in /help weechat.look.nick_color_hash_salt (issue #635) 2019-11-25 21:38:58 +01:00
Sébastien Helleu 0044fa1902 core: remove allocation of string when salt is used (issue #635) 2019-11-25 21:38:55 +01:00
Simmo Saan 1a00368888 core: add option weechat.look.nick_color_hash_salt to allow for reshuffling of colors (issue #635) 2019-11-25 21:38:20 +01:00
Sébastien Helleu c634d6c56e doc: list the things removed by WeeChat on /plugin unload (user's guide) 2019-11-24 09:40:53 +01:00
Sébastien Helleu 661ef1e653 doc: fix translations in French plugin API reference 2019-11-24 09:32:35 +01:00
Sébastien Helleu 8223263e0e doc: remove flags "translation missing" in French docs 2019-11-24 09:29:02 +01:00
Sébastien Helleu a843e8fb14 doc: bump version of documentation generator 2019-11-22 21:01:14 +01:00
Sébastien Helleu e1692ab7e9 doc: add function to print counters, add separator lines (documentation generator) 2019-11-22 21:00:58 +01:00
Sébastien Helleu 73b3ff1491 doc: simplify function to compute SHA256 checksum, move function outside class AutogenDoc (documentation generator) 2019-11-22 20:59:58 +01:00
Sébastien Helleu 178b3eb8a6 doc: sort locales in documentation generator 2019-11-22 20:59:06 +01:00
Sébastien Helleu 2f99033384 doc: remove path option in documentation generator 2019-11-22 20:57:59 +01:00
Sébastien Helleu f1641604b0 doc: remove obsolete ignored options/completions in documentation generator 2019-11-22 20:57:52 +01:00
Sébastien Helleu e743e731ec irc: do not automatically open a channel with name "0" (closes #1429)
"0" is a special channel name which causes a client to leave all the channels
it is presently on.

Note that when option irc.look.buffer_open_before_join is on, WeeChat may still
open channel buffers with an invalid channel name like "1".  The server should
reply something like that, displayed on the server buffer:

  1: No such channel
2019-11-21 20:35:32 +01:00
Sébastien Helleu 64aae8b959 core: update build directories in .gitignore 2019-11-19 07:40:11 +01:00
Sébastien Helleu e4a9f95e38 core: remove arguments for endforeach() in CMake files 2019-11-18 20:18:54 +01:00
Sébastien Helleu 7aa24ecd88 core: add different icons sizes (16x16 to 512x512) (closes #1347) 2019-11-18 20:05:43 +01:00
Sébastien Helleu 8cde654c6f core: set buffer name, short name and title only if the value has changed
This fix reduces the number of messages "_buffer_title_changed" sent to the
weechat relay clients in IRC private buffers (this message was sent for every
new message received in the private buffer).
2019-11-17 21:48:17 +01:00
Sébastien Helleu 9a40aa04f8 core: rename label "enhancement" to "feature" 2019-11-15 21:06:15 +01:00
Sébastien Helleu 3a03184d7a irc: mention /filter command in /help irc.look.smart_filter 2019-11-15 08:38:40 +01:00
Sébastien Helleu b5804bd64d core: add labels in GitHub issue templates 2019-11-14 07:24:54 +01:00
Sébastien Helleu 005e5fd8f5 core: fix French translation of "uptime" 2019-11-13 21:17:14 +01:00
Sébastien Helleu fe7a05cb1f core: update ChangeLog 2019-11-12 21:20:43 +01:00
Eli Schwartz 76c6f52e8c build: support python 3.8
In python 3.8, in order to link to -lpython3.8, you need to use the
exported pkg-config interface 'python3-embed' (or 'python3-config --libs
--embed'), see https://bugs.python.org/issue36721 for details.
2019-11-12 21:19:47 +01:00
Eli Schwartz 5c8ac69f73 python: use more idiomatic cmake pkg-config linking
cmake documentation is absolutely atrocious, and I don't know why they
mention all the wrong things to use, and the cargo cult of successfully
writing a cmake build definition (copy-pasting what works from other
projects) also uses all the wrong things. But it turns out it is
possible to correctly link a PkgConfig target despite all that, at
least, *iff* you use cmake >= 3.13. I've chosen option 2, which is to
vendor in cmake >= 3.13's FindPkgConfig module in the previous commit.

Using IMPORTED_TARGET GLOBAL in a pkg-config check will result in a
proper linker target being created. For comparison, this is like using
meson's dependency() target, except meson forces you to do this by
default. The result is that the build system's internal representation
of how to link something, is used instead of manually passing build
flags defined in variables.

This is an important distinction to make, because cmake does not have a
list datatype, and instead turns lists into strings separated by ';'
which are indistinguishable from, like, strings which contain ';'
characters. When you pass the resulting list-which-isn't-really-a-list
to link an executable/library, you either need to preprocess the
variable to replace ';' with ' ' (just in case there are multiple
elements) or use cmake functions which magically know to do this
themselves -- or at least, I assume there are cmake functions that
correctly handle so-called "lists", or there would be no need for
"lists" to exist.

The IMPORTED_TARGET will define a bunch of INTERFACE_* properties which
do seem to do exactly this. The resulting build definition should
actually, correctly, link python, thereby fixing #1398 in a better way.
2019-11-12 21:19:47 +01:00
Eli Schwartz 682e558f76 cmake: vendor in a new version of FindPkgConfig
The current one is anciently ancient, and dates back to commit
4d2925ef1c which vendored this "for old
versions of cmake". Well, currently it just stops using new versions of
FindPkgConfig, so we're stuck on the 2006 version from cmake 2.5.0.

Instead of deleting it entirely (the minimum version of cmake is
currently 3.0) make this vendored file continue to be useful by using it
to vendor in the latest version of FindPkgConfig from cmake 3.16.0-rc3
with a bunch of useful improvements.
2019-11-12 21:19:47 +01:00
Sébastien Helleu a36e17abf9 debian: disable javascript plugin on Debian Sid and Ubuntu Eoan 2019-11-11 08:38:05 +01:00
Sébastien Helleu 38bb297d91 core: update ChangeLog (issue #1420) 2019-11-10 11:06:49 +01:00
Sébastien Helleu 421d6481da core: link with libnetwork and not libpthread on Haiku (autotools) (issue #1420) 2019-11-10 11:06:39 +01:00
Jerome Duval 8d991f1284 Haiku: link libnetwork, not libpthread. 2019-11-10 11:04:47 +01:00
Sébastien Helleu 9f8162651f irc: set option irc.look.display_pv_warning_address to off by default (issue #892)
This is because the bitlbee server causes the warning to be displayed when it
is not expected (the address of remote nick changes multiple times on login).
2019-11-08 21:27:12 +01:00
Sébastien Helleu 17d3032b73 core: move line from "New features" to "Bug fixes" 2019-11-07 19:46:55 +01:00
Sébastien Helleu 90aec7bec7 core: update URL of WeeChat blog 2019-11-05 07:50:30 +01:00
Sébastien Helleu 07577194c5 doc: add examples of division in ${calc:...} (plugin API reference) 2019-11-04 19:01:31 +01:00
Sébastien Helleu 9264de9ce0 doc: fix list of "updated in" versions in function string_eval_expression (plugin API reference) 2019-11-04 18:59:32 +01:00
Sébastien Helleu 4f7a51f72b core: fix sentence in release notes 2019-11-03 21:10:48 +01:00
Sébastien Helleu 6507544947 irc: fix typo and examples in /help server 2019-11-03 14:54:45 +01:00
Nils Görs cdcbdc94e0 core: update German translations 2019-11-03 14:48:43 +01:00
Sébastien Helleu 10f85df867 irc: set raw filter to "*" if local variable "filter" was not set after /upgrade on raw buffer 2019-11-03 09:55:09 +01:00
Sébastien Helleu 7e07954fbf irc: restore irc raw filter after /upgrade (issue #1000) 2019-11-03 09:28:16 +01:00
Sébastien Helleu 015ae4a94b irc: add filters on raw buffer (closes #1000) 2019-11-03 09:01:44 +01:00
Sébastien Helleu 4a86ab55d8 fset: add comment on filter by evaluated expression 2019-10-30 19:41:56 +01:00
Sébastien Helleu 7cac32fc1f fset: fix filter variable used to match filter string 2019-10-30 19:41:31 +01:00
Sébastien Helleu c6161d0e4a plugins: sort options added in configuration sections 2019-10-23 19:45:06 +02:00
Sébastien Helleu ecc7edda9e core: optimize search of options in configuration sections
Since options are sorted in sections, it is faster to search from the last
option to the first one.

For configuration files with many options in a single section (like
plugins.conf), the load of configuration file is about 2 to 3x faster.
2019-10-23 19:45:06 +02:00
Sébastien Helleu fbc9faed42 doc: add keys to type for the example message with color codes (user's guide) 2019-10-22 07:54:50 +02:00
Sébastien Helleu c99889cb15 core: fix typo in French translation of /help fset 2019-10-21 19:14:31 +02:00
Sébastien Helleu f85f097c25 debian: disable javascript plugin on Ubuntu Focal 2019-10-20 21:27:21 +02:00
Sébastien Helleu 5d4220a91f core: fix scrolling up in bare mode when switched to bare mode at the top of the buffer (closes #899, issue #978) 2019-10-14 20:44:15 +02:00
Sébastien Helleu 7e6d933d74 doc: update German auto-generated file 2019-10-13 21:05:32 +02:00
Nils Görs 92853e1b47 core: update German translations 2019-10-13 18:54:48 +02:00
Sébastien Helleu 577a932201 core: add info about Python 3 and strings in release notes 2019-10-13 08:18:38 +02:00
Sébastien Helleu 899550ca94 doc: fix typo in scripting guide 2019-10-13 08:18:30 +02:00
Sébastien Helleu ab6a991de2 doc: fix language in links to plugin API reference (scripting guide) 2019-10-12 23:26:16 +02:00
Sébastien Helleu 2dbc283023 doc: add links on signals and hsignals (plugin API reference) 2019-10-12 23:17:33 +02:00
Sébastien Helleu 513f5a1ee7 python: send "bytes" instead of "str" to callbacks in Python 3 when the string is not UTF-8 valid (issue #1220, closes #1389) 2019-10-12 22:21:48 +02:00
Sébastien Helleu 8fc8f728d4 core: add reverse of string for screen in evaluation of expressions with "revscr:" 2019-10-12 20:14:36 +02:00
Sébastien Helleu 9535f4a70b doc: update German auto-generated file 2019-10-11 22:45:08 +02:00
Nils Görs f85adf5cf1 core: update German translations 2019-10-11 22:41:19 +02:00
Sébastien Helleu 876a0a1609 irc: add option irc.look.display_pv_warning_address (closes #892)
If the address of remote nick changes in a private buffer, a warning is
displayed.
2019-10-11 20:26:34 +02:00
Sébastien Helleu 1dda5ffd02 doc: add value -1 for notify level in function hook_line (plugin API reference) 2019-10-10 18:39:31 +02:00
Sébastien Helleu dc9964ccc6 irc: add server option "ssl_password" (issue #115, issue #1416) 2019-10-09 21:40:43 +02:00
Sébastien Helleu 37415e61d5 core: update translations (issue #115, issue #1416) 2019-10-09 21:39:25 +02:00
Simmo Saan 116150c2fc irc: add server option ssl_password for SSL certificate private key password (closes #115) 2019-10-09 21:37:41 +02:00
Sébastien Helleu 5398f5d566 irc: fix compiler warning on uninitialized variable 2019-10-09 07:17:32 +02:00
Nils Görs 02c63beef9 core: add German translations in weechat.desktop 2019-10-08 20:54:25 +02:00
Sébastien Helleu 6619219297 doc: add value -1 for notify level in trigger of type line (user's guide) 2019-10-08 20:30:59 +02:00
Sébastien Helleu 6fa0f49a28 core: update ChangeLog (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu afe64aefbf core: add keywords in weechat.desktop (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu 85f9ead7b8 core: add French translations in weechat.desktop (issue #982, issue #408) 2019-10-07 21:06:55 +02:00
Sébastien Helleu b35c94cc91 core: install weechat.desktop with autotools (issue #982, issue #408) 2019-10-07 21:06:50 +02:00
Lucas Hoffmann 8054cb0ee1 core: add a desktop file (closes #982, closes #408) 2019-10-07 20:47:43 +02:00
Sébastien Helleu cbeecc0cde core: ensure completion_item is not NULL before using it 2019-10-06 21:47:56 +02:00
Sébastien Helleu 528c769e71 core: fix crash in completion of filenames 2019-10-06 21:45:27 +02:00
Sébastien Helleu d2a63b2b44 doc: update German auto-generated files 2019-10-06 19:17:15 +02:00
Sébastien Helleu 86e623a554 doc: fix chapter on IRC server connection in quickstart guide 2019-10-06 19:12:47 +02:00
Sébastien Helleu c391fe5fa5 core: update ChangeLog (closes #630) 2019-10-06 19:11:15 +02:00
Sébastien Helleu c3b33859ae core: fix long lines 2019-10-06 19:09:29 +02:00
Sébastien Helleu f2551b8403 Merge remote-tracking branch 'origin/pr/630' 2019-10-06 19:07:25 +02:00
Sébastien Helleu 98d9dc1a03 core: update ChangeLog (closes #610, closes #617, closes #619) 2019-10-06 18:14:50 +02:00
Sébastien Helleu e6570d6e3a core: fix line too long, add comment on argument "with_suffix" 2019-10-06 18:11:58 +02:00
Sébastien Helleu e47002884a core: count suffix in alignment computed for context info 2019-10-06 18:08:52 +02:00
Sébastien Helleu c77bccba87 Merge remote-tracking branch 'origin/pr/619' 2019-10-06 18:08:17 +02:00
Sébastien Helleu af5951c123 Merge pull request #1415 from ingank/doc-de-improve-pr
doc: update German documentation
2019-10-06 17:25:00 +02:00
Ingolf Ankert 1eb54f4065 doc: update German documentation
Reviewed: from @flashcode
2019-10-06 17:14:07 +02:00
Sébastien Helleu de0209e6d6 Merge pull request #1414 from ingank/improve-po-de
core: update German translations
2019-10-06 17:03:27 +02:00
Ingolf Ankert 903cb0baf3 doc: update German documentation
fix: typos in doc/de/weechat_faq.de.adoc
fix: typos, spelling, grammar in doc/de/weechat_quickstart.de.adoc
2019-10-06 16:55:26 +02:00
Ingolf Ankert 5518b56561 core: update German translations 2019-10-06 15:53:57 +02:00
Sébastien Helleu 53360a7909 logger: fix write in log file if it has been deleted or renamed (closes #123) 2019-10-06 13:36:35 +02:00
Sébastien Helleu 529af39612 doc: translate description of logger masks in user's guide 2019-10-06 10:19:01 +02:00
Sébastien Helleu 79e124d6e4 Merge pull request #1413 from FiXato/patch-2
Added introductory description of Logger masks
2019-10-06 10:18:32 +02:00
Sébastien Helleu d3254262ac doc: fix styles in plugin API reference 2019-10-06 10:01:49 +02:00
Sébastien Helleu 587f5bf15b irc: use path from option xfer.file.upload_path to complete filename in command "/dcc send" (closes #60) 2019-10-06 09:38:52 +02:00
Sébastien Helleu 6e382d26a9 core: add optional default path (evaluated) in completion "filename" (issue #60) 2019-10-06 09:38:20 +02:00
Sébastien Helleu 88aa82d672 core: add support of modifiers in evaluation of expressions with "modifier:name,data,string" (issue #60) 2019-10-06 09:13:35 +02:00
Sébastien Helleu 1a0ba4a9dc api: add modifier "eval_path_home" (issue #60) 2019-10-06 09:06:55 +02:00
Sébastien Helleu e921b9f432 core: fix comments on modifier callback functions in plugin API 2019-10-06 08:56:12 +02:00
Filip H.F. "FiXato" Slagter 86dcbc09c0 Added introductory description of Logger masks
While the documentation for Logger filename masks contained examples, it didn't actually describe it would try to match in order of descending specificity.
2019-10-05 20:43:29 +02:00
Sébastien Helleu 587ddf7222 core: add reference to issue #66 for hook_line function in ChangeLog 2019-10-05 18:55:27 +02:00
Sébastien Helleu c521392207 core: add quotes around commands with arguments in ChangeLog 2019-10-05 18:18:07 +02:00
Sébastien Helleu 1da5b9126e core: fix typo in ChangeLog 2019-10-05 18:17:49 +02:00
Sébastien Helleu 3c0bdc18f3 xfer: add option xfer.file.download_temporary_suffix with default value ".part" (closes #1237) 2019-10-05 18:11:39 +02:00
Sébastien Helleu 6c23f632b1 xfer: fix memory leak when a xfer is freed and when the plugin is unloaded 2019-10-05 17:49:07 +02:00
Sébastien Helleu 3e189fa60d irc: fix typo in /help links 2019-10-04 20:44:09 +02:00
Sébastien Helleu f9dcb573ca doc: update German auto-generated files 2019-10-03 20:39:48 +02:00
Sébastien Helleu 8c31306f30 Merge pull request #1410 from ingank/ingank/german-translation
core: update German translations
2019-10-03 20:32:37 +02:00
Sébastien Helleu d2be0e8e1d Merge pull request #1409 from ingank/master
doc: update German documentation
2019-10-03 20:32:10 +02:00
Ingolf Ankert b03a4e192c core: update German translations 2019-10-03 15:25:42 +02:00
Sébastien Helleu 70fd722278 logger: add option logger.file.color_lines (closes #528, closes #621) 2019-10-02 20:44:12 +02:00
Ingolf Ankert f3376f4264 doc: update German documentation 2019-10-01 21:48:44 +02:00
Sébastien Helleu e386965aba api: add modifier "color_encode_ansi" (issue #528) 2019-10-01 18:31:41 +02:00
Sébastien Helleu 90f711a965 core: add function to convert WeeChat colors to ANSI colors (issue #528) 2019-10-01 18:31:41 +02:00
Sébastien Helleu 177fa6c528 core: add support of reverse video in ANSI color codes 2019-10-01 18:31:41 +02:00
Sébastien Helleu a8ca4b5b3a tests: add tests on GUI color functions 2019-10-01 18:31:41 +02:00
Sébastien Helleu daad558291 core: fix typos in comments 2019-10-01 18:31:41 +02:00
Sébastien Helleu baf8f635ff core: fix style in CMake files 2019-10-01 18:31:41 +02:00
Sébastien Helleu 779420d50d core: fix typo in ChangeLog 2019-10-01 18:29:59 +02:00
Sébastien Helleu 92cad366a2 core: fix typos in French translations 2019-09-30 21:46:56 +02:00
Sébastien Helleu cddb314a10 doc: update German auto-generated files 2019-09-28 15:06:11 +02:00
Ingolf Ankert 45a55895fb core: update German translations 2019-09-28 14:42:32 +02:00
Sébastien Helleu 2067136506 core: add contributor in AUTHORS.adoc (issue #1406) 2019-09-27 20:56:17 +02:00
Sébastien Helleu 41cf758864 core: update ChangeLog (issue #1406) 2019-09-27 20:56:17 +02:00
Kyle Sabo 0678e0c9b3 core: fix build on Alpine (closes #1406) 2019-09-27 20:56:09 +02:00
Sébastien Helleu ae38b11407 irc: add "user" in output of irc_message_parse (closes #136) 2019-09-27 20:52:00 +02:00
Sébastien Helleu 3f33b327b1 logger: move logger backlog functions to logger-backlog.c 2019-09-26 21:26:23 +02:00
Sébastien Helleu 8ab6422520 debian: switch to Guile 2.2 in Debian build
Guile 2.2 is now used by default in Debian/Ubuntu builds, except on these old
distribution versions where only Guile 2.0 is available:

- Debian Stretch
- Debian Jessie
- Debian Wheezy
- Ubuntu Xenial
- Ubuntu Trusty
2019-09-25 20:58:22 +02:00
Nils Görs 4b0e6d5da2 core: update German translations 2019-09-24 21:43:30 +02:00
Sébastien Helleu 3a356f109f core: add power operator "**" in calc expressions (issue #997) 2019-09-24 21:03:56 +02:00
Sébastien Helleu 7d795c4d53 core: fix wrong results with the unary minus in calc expressions 2019-09-24 20:49:48 +02:00
Sébastien Helleu dc5e334f5c doc: update German auto-generated file 2019-09-23 23:10:40 +02:00
Nils Görs aa45748bff core: update German translations 2019-09-23 22:07:41 +02:00
Sébastien Helleu fe193a350b core: update translations (issue #683) 2019-09-23 21:31:09 +02:00
Simmo Saan e437613acb irc: add separate options for kick/kill message coloring (closes #683)
Add new options irc.color.message_kick and irc.color.reason_kick to be used
for coloring KICK and KILL messages.
2019-09-23 21:22:49 +02:00
Sébastien Helleu c5ffc3917f doc: update German auto-generated files 2019-09-22 21:37:23 +02:00
Nils Görs 6942444a2b core: update German translations 2019-09-22 21:32:46 +02:00
Sébastien Helleu 39b6fb6137 irc: remove option irc.network.channel_encode, add server option "charset_message" (closes #832)
This new option controls which part of the IRC message is decoded/encoded to
the target charset, and the new default behavior is to decode/encode the whole
IRC message (behavior in WeeChat >= 1.3 was to decode/encode only the text by
default).
2019-09-22 20:41:00 +02:00
Sébastien Helleu 12ee9cb75c core: build with Guile 2.2 on Cygwin (issue #1098) 2019-09-21 15:54:12 +02:00
Sébastien Helleu bed26f42a1 core: remove detection of Ruby 1.8, since Ruby >= 1.9.1 is now required (issue #1404) 2019-09-21 15:42:23 +02:00
Sébastien Helleu fbb0e85525 core: update ChangeLog (closes #1098) 2019-09-21 14:53:52 +02:00
Sébastien Helleu afce4804f5 guile: disable "/guile eval" as this does not (yet) work with Guile >= 2.2 (issue #1098) 2019-09-21 14:48:09 +02:00
Sébastien Helleu 387a44f5ec guile: add support of Guile 2.2 (issue #1098) 2019-09-21 14:48:05 +02:00
Sébastien Helleu e1a4612797 core: ignore color codes in ${length:xxx} and ${lengthscr:xxx} 2019-09-21 13:54:36 +02:00
Nils Görs de45636388 core: update German translations 2019-09-21 08:31:40 +02:00
Sébastien Helleu dcfc4e8ed5 core: add "length:xxx" and "lengthscr:xxx" in evaluation of expressions 2019-09-21 07:56:21 +02:00
Nils Görs 1919f23c2d core: update German translations 2019-09-20 23:13:03 +02:00
Sébastien Helleu bd3f1b5f00 doc: add file test-core-calc.cpp in developer's guide 2019-09-20 21:42:44 +02:00
Sébastien Helleu 92ecbe29ae core: move bugs below new features in ChangeLog 2019-09-20 21:37:21 +02:00
Sébastien Helleu 997894edc0 core: add calculation of expression in evaluation of expressions with "calc:..." (issue #997) 2019-09-20 21:37:01 +02:00
Sébastien Helleu 0109c51937 core: add chapter about CMake fatal errors on missing dependencies in release notes 2019-09-20 09:25:26 +02:00
Sébastien Helleu a81d266b31 doc: update auto-generated files 2019-09-20 09:25:03 +02:00
Nils Görs 4fca523b17 core: update German translations 2019-09-19 21:56:38 +02:00
Sébastien Helleu 5cf419dd63 core: remove extra spaces in arguments of /help uptime and /help version 2019-09-19 21:25:27 +02:00
Sébastien Helleu 85f6c5eeda script: add options "-ol" and "-il" in command /script, display "No scripts loaded" if no scripts are loaded 2019-09-19 21:20:55 +02:00
Sébastien Helleu 8a3ffda0a2 doc: set minimum Ruby version to 1.9.1 in user's guide (closes #1404)
This is now required after the changes introduced by commit
156d855787 in version 2.6.
2019-09-18 21:18:40 +02:00
Sébastien Helleu e04c30f00b doc: update German auto-generated files 2019-09-18 13:58:56 +02:00
Nils Görs 4324ff7c4b Merge branch 'master' of github.com:weechat/weechat 2019-09-18 13:52:31 +02:00
Nils Görs 29cd012627 core: update German translations 2019-09-18 13:51:46 +02:00
Sébastien Helleu d26893a70d core: update ChangeLog (closes #1400) 2019-09-17 21:29:28 +02:00
Tobias Stoeckmann f7b84fcc67 Fixed segfault during excessive evaluation.
It is possible to trigger a segmentation fault while processing
an evaluation of repeating string. On a Linux 64 bit system,
enter this (or adjust arguments for 32 bit accordingly):

/eval -n ${repeat:1073741824,----}

It will overflow an integer calculation because int instead of
size_t is used. Proper check of int limitations fixes this issue.

I haven't changed this specific piece of code to size_t because it
would crash in other parts of the code tree instead. For now, int
is a limitating factor when it comes to strings (and should be
enough for sane use cases).

Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
2019-09-17 21:26:52 +02:00
Sébastien Helleu 63a05d72d9 buflist: fix extra spaces between buffers when conditions are used to hide buffers (closes #1403)
This is a regression introduced in version 2.6 by commit
bf21ca072d.
2019-09-17 21:21:28 +02:00
Sébastien Helleu 40eb257d0d doc: update German auto-generated file 2019-09-17 09:02:45 +02:00
Nils Görs 8e267ad9f3 core: update German translations 2019-09-17 08:41:54 +02:00
Sébastien Helleu e8be4f62af core: mention possible background color in /help weechat.look.nick_color_force 2019-09-16 20:58:12 +02:00
Sébastien Helleu ea0bdbab1b debian: fix build of packages on Debian Jessie (issue #916, issue #956)
With the new errors on missing libraries in CMake, the PHP plugin must be
explicitly disabled.
2019-09-16 08:46:00 +02:00
Sébastien Helleu d690544499 core: update ChangeLog 2019-09-15 14:53:02 +02:00
Sébastien Helleu ab768ce902 core: remove obsolete file FindTCL.cmake (issue #916, issue #956)
This is file is provided by CMake and is not needed any more.  Moreover, it
causes an error on FreeBSD (TCL not found), even if TCL was properly detected
and used during the build.
2019-09-15 14:48:52 +02:00
Sébastien Helleu bff40e4c26 core: display an error on missing dependency in CMake (closes #916, closes #956) 2019-09-15 07:49:03 +02:00
Sébastien Helleu 9cb6857672 Version 2.7-dev 2019-09-08 08:33:06 +02:00
Sébastien Helleu 7477845205 Version 2.6 2019-09-08 08:13:58 +02:00
Sébastien Helleu ea139e7fdb doc: update Polish auto-generated files 2019-09-07 16:04:57 +02:00
Krzysztof Korościk 2d2d349d3c update polish translation 2019-09-07 15:54:13 +02:00
Sébastien Helleu 948caf0857 Version 2.6-rc2 2019-09-01 11:27:07 +02:00
Sébastien Helleu f24538646f core: update python dependency from python2-devel to python3-devel in cygport file 2019-08-31 20:49:42 +02:00
Sébastien Helleu 1beebdf01e core: fix compilation with autotools on FreeBSD 12.0 2019-08-31 14:18:55 +02:00
Sébastien Helleu 8bb4549494 core: fix compilation of Python plugin on FreeBSD 12.0 (closes #1398) 2019-08-31 14:13:58 +02:00
Sébastien Helleu 63902ef52d debian: add Python version in description of python plugin package 2019-08-30 18:34:31 +02:00
Sébastien Helleu 93775de7ff Version 2.6-rc1 2019-08-27 22:31:43 +02:00
Sébastien Helleu 62944b7168 core: disable option "-Werror-implicit-function-declaration" for C++ compiler
This option is valid for C compiler only.
2019-08-27 22:26:57 +02:00
Sébastien Helleu f0001ed670 doc: update German auto-generated file 2019-08-25 21:01:46 +02:00
Nils Görs e11f6e3046 core: update German translations 2019-08-25 20:05:18 +02:00
Sébastien Helleu 68d6f1b415 api: add infos "term_colors" and "term_color_pairs" 2019-08-25 19:10:32 +02:00
Sébastien Helleu f0685dd1b1 ruby: remove unused variable "ruby_hide_errors" 2019-08-25 07:14:42 +02:00
Sébastien Helleu 0884c9b33c core: move "Python 3 by default" as first item in the release notes 2019-08-24 17:43:49 +02:00
Sébastien Helleu 3938328375 doc: update German auto-generated file 2019-08-24 08:36:52 +02:00
Nils Görs 16592fdbbb core: update German translations 2019-08-24 08:06:44 +02:00
Sébastien Helleu bad8db720e irc: fix parsing of message 346, 348 and 728 when there is a colon before the timestamp (issue #1396)
IRC Messages:
- 346: invite list
- 348: exception list
- 728: quiet list
2019-08-24 07:19:01 +02:00
Sébastien Helleu 61c5d08320 fset: add filters "h=xxx" and "he=xxx" to filter options by description (translated or in English) 2019-08-24 07:13:34 +02:00
Sébastien Helleu 04162214d4 doc: update German auto-generated file 2019-08-22 07:45:10 +02:00
Nils Görs 2fa33b102b core: update German translations 2019-08-21 21:58:47 +02:00
iwalkalone 1e7232b8c2 irc: fix parsing of message 367 (banlist) when there is a colon before the timestamp (closes #1396) 2019-08-21 08:21:07 +02:00
Sébastien Helleu 608ec9f483 core: add values djb2_32 and sum_32 for option weechat.look.nick_color_hash (issue #1394) 2019-08-20 21:20:33 +02:00
Sébastien Helleu 21dca71ee0 ruby: fix compilation with Ruby < 2.3 2019-08-20 07:57:01 +02:00
Sébastien Helleu 7f62985f89 core: use fixed-width integer for computing hashtable DJB2 key hash (closes #1394) 2019-08-19 23:29:22 +02:00
Sébastien Helleu 80f103b68a core: use fixed-width integer for computing nick hash (issue #1394) 2019-08-19 23:27:11 +02:00
Sébastien Helleu 156d855787 ruby: fix conversion of big integers on 32bit architecture (closes #1395) 2019-08-19 23:21:12 +02:00
Sébastien Helleu bf21ca072d buflist: use extra variables in option buflist.look.display_conditions (closes #1393) 2019-08-17 08:57:40 +02:00
Sébastien Helleu a3e8163f37 Revert "buflist: mention variables available for option buflist.look.display_conditions in its help and in /help buflist (closes #1393)"
This reverts commit 39e5b0574c.
2019-08-17 08:43:22 +02:00
Nils Görs ceb579653f doc: update German documentation 2019-08-17 08:28:27 +02:00
Sébastien Helleu 39e5b0574c buflist: mention variables available for option buflist.look.display_conditions in its help and in /help buflist (closes #1393) 2019-08-17 08:17:11 +02:00
Sébastien Helleu 05744f3b61 doc: translate new Freenode Tor Hidden Service (user's guide) 2019-08-15 23:09:39 +02:00
Alfredo Ramos 783aebfd53 doc: use the new Freenode Tor Hidden Service (user's guide)
And add a note for users using an old version of Tor
2019-08-15 23:09:35 +02:00
Sébastien Helleu c411ee475a core: create or update option weechat.notify.xxx when function buffer_set is called with "notify" property (closes #1390) 2019-08-10 17:48:34 +02:00
Sébastien Helleu a409080d8b doc: update German auto-generated file 2019-08-10 17:33:59 +02:00
weechatter b1ae6ad1c6 core: update German translations 2019-08-10 17:22:00 +02:00
Andrew Potter 0957231d30 api: add function list_user_data (issue #666) 2019-08-10 12:55:43 +02:00
Sébastien Helleu 464d31155a core: update ChangeLog (issue #615) 2019-08-10 11:23:51 +02:00
Sébastien Helleu 5f1b895f27 irc: replace calls to strcpy and strcat with a call to snprintf 2019-08-10 11:20:43 +02:00
Sébastien Helleu dfcbb6b058 irc: rename variable vars_replaced to command2, remove fallback on *ptr_command 2019-08-10 11:16:21 +02:00
Sébastien Helleu dd133af522 Merge remote-tracking branch 'origin/pr/615' 2019-08-10 11:12:13 +02:00
Sébastien Helleu befa97ea81 core: mention there's no fallback on the other Python version in release notes 2019-08-10 10:42:53 +02:00
Sébastien Helleu a906afc3d7 core: replace python-dev by python3-dev in dependencies (user's guide) 2019-08-06 22:48:59 +02:00
Sébastien Helleu b4215ee466 tests: add tests on IRC function irc_nick_is_nick 2019-08-06 22:13:10 +02:00
Sébastien Helleu 210e864899 irc: fix memory leak when removing a server 2019-08-05 20:58:24 +02:00
Sébastien Helleu 47010dd9c6 doc: update auto-generated files with hdata 2019-08-04 16:43:48 +02:00
Sébastien Helleu b6cc5ef70f irc: fix length of user/nick/host in split of messages (closes #1387) 2019-08-04 16:39:18 +02:00
Sébastien Helleu 59ba378eec tests: add missing space after name of function 2019-08-04 14:39:58 +02:00
Sébastien Helleu 0bf5a5ae9c irc: add variables "user_max_length" and "host_max_length" in server structure (issue #1387) 2019-08-04 14:39:58 +02:00
Sébastien Helleu 4fa62a83f1 tests: add unit tests on IRC functions irc_message_split* (issue #1387) 2019-08-04 14:39:58 +02:00
Sébastien Helleu 067f237ec3 tests: add unit tests on IRC function irc_message_convert_charset 2019-08-04 14:04:45 +02:00
Sébastien Helleu fbc022a77a core: return NULL immediately if string is NULL in function hook_modifier_exec 2019-08-04 13:30:53 +02:00
Sébastien Helleu c46255b1d0 tests: add unit tests on IRC functions irc_message_parse and irc_message_parse_to_hashtable 2019-08-03 13:57:50 +02:00
Sébastien Helleu d79e0cbd31 tests: add unit tests on IRC function irc_message_replace_vars 2019-08-03 11:34:42 +02:00
Sébastien Helleu 28d79d0c93 tests: add unit tests on IRC functions irc_message_get_{nick,address}_from_host 2019-08-03 11:30:35 +02:00
Sébastien Helleu 478ca22054 irc: return NULL in function irc_message_get_address_from_host if the received host is NULL 2019-08-03 10:53:17 +02:00
Sébastien Helleu 1f52101a41 doc: update German auto-generated files 2019-08-03 10:52:58 +02:00
Sébastien Helleu 9be225b201 core: fix description of changes on Python build in release notes
There's no fallback on the other Python version:
- with no option: build with Python 3 only
- with option ENABLE_PYTHON2: build with Python 2 only.
2019-08-03 08:31:57 +02:00
weechatter 07878046d2 doc: update German documentation 2019-08-01 18:45:49 +02:00
Sébastien Helleu 2e07121457 core: update ChangeLog (issue #1384) 2019-07-31 22:55:40 +02:00
Sébastien Helleu f8b8669d2e Merge pull request #1384 from l2dy/memory
core: fix memory leak in case of error
2019-07-31 22:51:12 +02:00
Sébastien Helleu f3426f4388 doc: update note on Python recommended version in user's guide 2019-07-31 22:42:38 +02:00
Sébastien Helleu ad64fd16e1 core: update ChangeLog (issue #1382) 2019-07-31 22:17:28 +02:00
Sébastien Helleu 99bb662bc5 core: add contributor in AUTHORS.adoc 2019-07-31 22:16:42 +02:00
Sébastien Helleu 8bc5725278 core: remove obsolete checks of old Python version in configure, properly set Python version (issue #1382) 2019-07-31 21:53:16 +02:00
Sébastien Helleu 8897e04c0d core: fix help on python to build with Python 2 (issue #1382) 2019-07-31 21:24:36 +02:00
Eli Schwartz 4744c3fa41 work around broken travis environment variables
See: https://github.com/travis-ci/travis-ci/issues/5301
2019-07-31 20:46:02 +02:00
Eli Schwartz ad7d16a5b3 build: use pkg-config to properly link python
fixes incorrect (non)detection of libpython3.Ym.so due to PEP 3149 since
python's officially exported build flags know how to correctly link to
python.
2019-07-31 20:45:59 +02:00
weechatter b8d69307ee core: update German translations 2019-07-30 22:56:52 +02:00
Sébastien Helleu 015ec85f10 core: add some missing default keys in /help cursor 2019-07-29 22:49:29 +02:00
Zero King acbf021330 core: fix memory leak in case of error 2019-07-27 18:51:29 +00:00
Sébastien Helleu 93cd05bdd8 core: fix French translations on IRC ignores 2019-07-24 18:46:25 +02:00
Sébastien Helleu 5eeb98e40c buflist: use existing variable buflist_hdata_buffer to check buffer pointers in infolist "buflist" 2019-07-13 22:16:25 +02:00
Sébastien Helleu f6bc6fec2e doc: add function "register" in the plugin API reference 2019-07-11 21:12:33 +02:00
Sébastien Helleu c463b84421 doc: add Python prototype for function window_get_string (plugin API reference) 2019-07-11 20:51:52 +02:00
Sébastien Helleu 6461aefcae doc: fix return value of function window_get_string (plugin API reference) 2019-07-11 20:51:48 +02:00
Sébastien Helleu 643376fc1d core: update translations (issue #1375) 2019-07-11 07:30:01 +02:00
Sébastien Helleu 26c0b1270f core: update ChangeLog (issue #1375) 2019-07-11 07:29:56 +02:00
Sébastien Helleu ccaf99ff40 buflist: check validity of buffer pointers in info "buflist" (issue #1375) 2019-07-11 07:29:54 +02:00
Simmo Saan 0fdf2c13a5 buflist: add infolist "buflist" (issue #1375) 2019-07-11 07:29:46 +02:00
Sébastien Helleu fd592c2323 irc: quote NICK command argument sent to the server only if there's a ":" in the nick (closes #1376, issue #1319) 2019-07-11 07:08:36 +02:00
Sébastien Helleu 82a92bd4e9 irc: add unit tests on ignore functions 2019-07-10 19:20:09 +02:00
Sébastien Helleu 162ca1fade irc: split function irc_ignore_check into three functions 2019-07-10 19:19:35 +02:00
Sébastien Helleu e56c7e8c9b debian: disable Javascript plugin on Debian Buster/Bullseye (closes #1374) 2019-07-08 18:29:50 +02:00
Sébastien Helleu 5e9efeb2e3 debian: switch from Lua 5.1 to 5.3 in Debian build 2019-07-07 14:14:37 +02:00
Sébastien Helleu 965173ded5 doc: fix typos in examples of function hook_process_hashtable (plugin API reference) 2019-07-06 20:39:02 +02:00
Sébastien Helleu 768c0d9acc core: move line from "New features" to "Bug fixes" in ChangeLog 2019-07-05 08:43:29 +02:00
Sébastien Helleu 15ce4b2be5 irc: return all arguments in the PONG response to a PING (closes #1369) 2019-07-04 18:48:46 +02:00
Sébastien Helleu 789fa972f8 core: add Python 3 in release notes 2019-07-01 22:16:23 +02:00
Sébastien Helleu 179b00b4a3 doc: update auto-generated files with hdata 2019-07-01 22:09:58 +02:00
Sébastien Helleu 45fc8f1012 doc: rename option ENABLE_PYTHON3 to ENABLE_PYTHON2 in user's guide 2019-07-01 22:04:02 +02:00
Sébastien Helleu c99dd0f611 core: remove pyenv in Travis CI 2019-07-01 21:28:33 +02:00
Sébastien Helleu ab81128a7a core: compile with Python 3 by default
The CMake option ENABLE_PYTHON3 is renamed to ENABLE_PYTHON2, to use Python 2
first then fallback on Python 3.

In the same way, the configure option --enable-python3 is renamed to
--enable-python2, to use Python 2 first then fallback on Python 3.
2019-07-01 21:28:33 +02:00
Sébastien Helleu f9b6f359dd doc: update chapter on colors in user's guide (issue #1343, issue #1345) 2019-06-28 20:58:00 +02:00
Sébastien Helleu a9a1066e63 core: update ChangeLog (closes #1343, closes #1345) 2019-06-28 20:47:07 +02:00
Sébastien Helleu d540ea91ae Merge remote-tracking branch 'origin/pr/1345' 2019-06-28 20:43:21 +02:00
Sébastien Helleu b1ab2a0c50 doc: add description of arguments sent to the weechat_plugin_init plugin function (plugin API reference) 2019-06-26 21:20:01 +02:00
Sébastien Helleu 33ee803609 core: send command line parameter to plugins only if the name starts with the plugin name followed by a colon 2019-06-26 21:13:36 +02:00
Sébastien Helleu 1d6714e428 core: auto disable upgrade process (command line option "--upgrade") if the file weechat.upgrade is not found 2019-06-24 21:35:37 +02:00
Sébastien Helleu 98b5e90469 doc: update German auto-generated file 2019-06-22 08:43:24 +02:00
Sébastien Helleu b0ad684f6b irc: fix help of /connect command: the server is optional 2019-06-22 08:42:38 +02:00
weechatter ca73fabc72 core: update German translations 2019-06-18 19:15:15 +02:00
Sébastien Helleu f15a24b2ec core: add option "close" in command /window (closes #853) 2019-06-17 21:08:07 +02:00
Sébastien Helleu e5f963f78a doc: update auto-generated files with URL options 2019-06-16 23:03:48 +02:00
Sébastien Helleu 087d4c7af3 core: add Curl options for versions 7.53.0 to 7.63.0 2019-06-16 22:28:08 +02:00
Sébastien Helleu 07a8c4a0ec doc: update German auto-generated file 2019-06-16 16:13:17 +02:00
weechatter eb2535982c core: update German translations 2019-06-16 14:10:11 +02:00
Sébastien Helleu fe90a5ed4e core: replace newlines by spaces in argument "completion" of function hook_command (closes #538) 2019-06-16 08:14:24 +02:00
Sébastien Helleu 60c61c3962 irc: disable server reconnection when the server buffer is closed (closes #236) 2019-06-15 22:46:14 +02:00
Sébastien Helleu 0d9b7ec954 irc: strip spaces at beginning/end of addresses in server option "addresses" (closes #195) 2019-06-15 20:50:48 +02:00
Sébastien Helleu 9178156354 api: add argument "strip_items" in function string_split 2019-06-15 20:47:14 +02:00
Sébastien Helleu 866a29c7e6 core: check that string pointer is not NULL in function "string_shared_get" 2019-06-15 17:21:06 +02:00
Sébastien Helleu 95cbf3a48b irc: remove capability from cap_list when a client capability is disabled (issue #151) 2019-06-15 08:56:48 +02:00
Sébastien Helleu b6c304ac87 irc: fix display of enabled/disabled client capabilities received in command CAP ACK (closes #151) 2019-06-15 08:14:22 +02:00
Sébastien Helleu 31d0742aed doc: remove obsolete options for "brew install" command (user's guide) 2019-06-12 23:37:17 +02:00
Sébastien Helleu 7d24dd5a6c core: add contributor in AUTHORS.adoc 2019-06-12 23:34:36 +02:00
Johan Rylander 6c114bbba7 doc: remove obsolete options for "brew install" command (FAQ) 2019-06-12 23:33:33 +02:00
Sébastien Helleu 4b90549b86 doc: improve tree with log files in user's guide 2019-06-12 23:07:32 +02:00
Sébastien Helleu 04fd587fff exec: evaluate option exec.command.shell, change default value to "${env:SHELL}" (closes #1356) 2019-06-12 18:29:07 +02:00
Sébastien Helleu eb216de9b8 core: add contributor in AUTHORS.adoc 2019-06-07 21:36:58 +02:00
Sébastien Helleu 4d8785289d core: update ChangeLog 2019-06-07 21:36:28 +02:00
jesopo 4ea193c981 alias: remove default aliases /AME and /AMSG 2019-06-07 21:35:15 +02:00
Sébastien Helleu 7aa82db471 core: replace char "," by "~" in color codes to separate foreground from background (closes #1264) 2019-06-07 21:29:05 +02:00
Sébastien Helleu f065b43b71 doc: replace "cmake" by "CMake" 2019-06-07 21:14:17 +02:00
Sébastien Helleu 96d1276446 Version 2.6-dev 2019-06-06 21:03:56 +02:00
Sébastien Helleu 2904a2e811 Version 2.5 2019-06-06 20:43:20 +02:00
Sébastien Helleu c64cbe1a84 doc: update French auto-generated file 2019-06-06 20:09:08 +02:00
Sébastien Helleu 40f12ec20f core: add FUNDING.yml 2019-06-05 21:32:54 +02:00
Sébastien Helleu 4c9b61755b Version 2.5-rc2 2019-06-04 23:12:40 +02:00
Sébastien Helleu 22895f3f5e relay: set socket option SO_KEEPALIVE only for TCP sockets when creating the socket (issue #733) 2019-06-04 22:59:42 +02:00
Sébastien Helleu 479d234ced relay: set socket option SO_REUSEADDR only for TCP sockets when creating the socket (issue #733) 2019-06-04 22:54:00 +02:00
Sébastien Helleu 86d9cb1e41 relay: set socket option SO_REUSEADDR only for TCP sockets (issue #733) 2019-06-04 22:45:54 +02:00
Sébastien Helleu b4dadd6d98 relay: add UNIX domain socket completion for command /relay add (issue #733) 2019-06-04 22:29:18 +02:00
Sébastien Helleu bfbb511169 relay: fix typo in French translation of /help relay (issue #733) 2019-06-04 22:27:03 +02:00
Sébastien Helleu 22e6777aed relay: fix crash when deleting a relay (issue #733) 2019-06-04 22:19:39 +02:00
Sébastien Helleu 66011b4bee relay: fix truncated path when the unix socket path is longer than the authorized one (issue #733) 2019-06-04 22:19:31 +02:00
Sébastien Helleu 917b2ddf69 spell: add a warning if aspell.conf is still present (on first spell load) 2019-06-04 20:56:05 +02:00
Sébastien Helleu c4a482e067 core: sort changes by importance instead of commit date in release notes 2019-06-04 07:52:42 +02:00
Sébastien Helleu 5edf6ff1c5 doc: update Polish auto-generated files 2019-06-02 06:01:05 +02:00
Krzysztof Korościk a6f44be396 po: upated polish translation 2019-06-01 00:15:12 +02:00
Krzysztof Korościk 5e1174d135 doc: updated polish translation 2019-05-31 23:18:12 +02:00
weechatter 2ab08885be doc: update German documentation 2019-05-27 22:49:17 +02:00
Sébastien Helleu 99bb53f693 doc: add example of WeeChat command to setup the password in a WeeChat IRC relay client (user's guide) 2019-05-27 21:40:01 +02:00
Sébastien Helleu a599e0328b doc: disambiguate key binding "l", which is lower "L" (not "1") 2019-05-27 21:38:39 +02:00
weechatter f3f5bf1d31 core: update German translations 2019-05-26 15:00:15 +02:00
Sébastien Helleu 92a4948666 doc: add extra left/right margins on key sequences 2019-05-26 14:52:00 +02:00
Sébastien Helleu c0bb243541 doc: add links to WeeChat directories and files (user's guide) 2019-05-26 14:51:14 +02:00
Sébastien Helleu f1f1474fda doc: update Japanese auto-generated file 2019-05-26 13:22:17 +02:00
Sébastien Helleu b0554c7415 Merge pull request #1349 from l/master/translation/ja_JP
core: update Japanese translations
2019-05-26 13:21:35 +02:00
AYANOKOUZI, Ryuunosuke 26c844cd25 core: update Japanese translations 2019-05-26 09:00:00 +09:00
Sébastien Helleu ad40118469 doc: increase font size for key bindings 2019-05-25 16:10:23 +02:00
Sébastien Helleu bea63c7b60 doc: remove extra spaces before colons 2019-05-24 21:53:41 +02:00
Sébastien Helleu d3c3e97a0d doc: remove extra space in python dict (scripting guide) 2019-05-24 21:53:17 +02:00
Sébastien Helleu 7cf4585690 doc: fix styles in user's guide 2019-05-24 21:52:35 +02:00
Sébastien Helleu c9762c84e1 doc: fix style in bar items chapter (user's guide) 2019-05-23 21:12:40 +02:00
Sébastien Helleu c716ec1398 doc: update German auto-generated file 2019-05-16 22:02:52 +02:00
weechatter 403555d1be core: update German translations 2019-05-16 20:55:13 +02:00
Sébastien Helleu b6d56d4972 Version 2.5-rc1 2019-05-14 20:31:36 +02:00
Sébastien Helleu 34adcde2ff irc: add extra check on argument "nick" in functions "irc_nick_set_*" 2019-05-14 07:26:48 +02:00
Sébastien Helleu f6d6f7bac5 irc: fix crash when the nick in incoming message is not found in channel 2019-05-14 07:25:04 +02:00
Sébastien Helleu 90610c55c8 relay: remove useless condition
This fixes a compilation warning on FreeBSD.
2019-05-13 22:08:35 +02:00
Sébastien Helleu 828710737a core: update ChangeLog (closes #733, closes #1333) 2019-05-13 21:57:42 +02:00
Sébastien Helleu ec5aca81e7 relay: set address to "local" if not known 2019-05-13 21:57:23 +02:00
Sébastien Helleu 9ed89beaa0 core: update translations 2019-05-13 21:43:11 +02:00
Sébastien Helleu 8121747e7b relay: rename variables in function relay_config_check_path_length 2019-05-13 20:50:13 +02:00
Simmo Saan 5988d17d2d gui: simplify and revert FindNcurses using PATH_SUFFIXES for system default search 2019-05-13 14:18:02 +00:00
Simmo Saan 980d26956f gui: fix wide ncurses header on FreeBSD (issue #1343) 2019-05-13 13:48:39 +00:00
Sébastien Helleu 6f3e563f8b relay: fix comment 2019-05-12 22:57:25 +02:00
Sébastien Helleu 4d156ed8d7 doc: update chapter on relay unix domain sockets; add translations (user's guide) 2019-05-12 22:52:33 +02:00
Sébastien Helleu d1577b34da relay: set mode 700 on the unix socket file (only the owner can use it) 2019-05-12 22:27:43 +02:00
Sébastien Helleu ef1fcbd183 relay: do not overwrite a file if it's not a socket, display an error when the socket can not be created 2019-05-12 22:18:42 +02:00
Sébastien Helleu 585eb337e8 relay: evaluate path of unix socket relay 2019-05-12 21:53:23 +02:00
Sébastien Helleu b228ccdfc3 relay: rename function relay_config_check_path_len to relay_config_check_path_length 2019-05-12 21:39:22 +02:00
Sébastien Helleu ade52cdc7d relay: fix update of port/path variables in relay server when options relay.port.* and relay.path.* are changed with /set 2019-05-12 21:39:22 +02:00
Sébastien Helleu eacc08f2e1 relay: fix section used when the unix relay does not start with "unix." 2019-05-12 21:39:22 +02:00
Sébastien Helleu f273487688 relay: add unix relay format in /help relay 2019-05-12 21:39:22 +02:00
Sébastien Helleu 170c523c84 relay: remove extra newline at the end of /help relay 2019-05-12 21:39:22 +02:00
Sébastien Helleu c4230ecece relay: remove local variable ptr_server from function relay_config_check_path_cb (not needed) 2019-05-12 21:39:22 +02:00
Sébastien Helleu c1af2702b8 relay: improve message displayed on a new client 2019-05-12 21:39:22 +02:00
Sébastien Helleu 78fda01dd5 relay: improve message displayed when the relay is removed 2019-05-12 21:39:22 +02:00
Sébastien Helleu 9d04bc5801 relay: improve message displayed when the relay is added 2019-05-12 21:39:22 +02:00
Sébastien Helleu abe85999d8 relay: rename function relay_config_create_option_port to relay_config_create_option_port_path 2019-05-12 21:39:22 +02:00
Sébastien Helleu df3848e1f0 relay: fix code style 2019-05-12 21:39:22 +02:00
Sébastien Helleu c78fb8dc7c relay: rename variable "un" to "unix_socket" 2019-05-12 18:52:22 +02:00
Ryan Farley ffefd1b785 relay: add UNIX socket support (closes #733) 2019-05-12 18:51:13 +02:00
Nils Görs 5f87112ec5 doc: update German documentation 2019-05-12 14:28:40 +02:00
Sébastien Helleu 01795251f9 doc: fix typo in French scripting guide 2019-05-12 09:27:43 +02:00
Sébastien Helleu 1d3d0aa66e doc: add chapter about WeeChat architecture in scripting guide 2019-05-12 09:25:45 +02:00
Sébastien Helleu a24817b141 irc: rename server variable "nick_host" to "host" 2019-05-12 07:46:01 +02:00
Sébastien Helleu e1fb8433ce core: update ChangeLog (issue #1346) 2019-05-11 20:33:37 +02:00
Sébastien Helleu e3c38d7163 core: add detection of Ruby 2.6 in autotools 2019-05-11 20:32:45 +02:00
Sébastien Helleu b66655b1de Merge pull request #1346 from J0WI/patch-1
core: add detection for Ruby 2.6
2019-05-11 20:31:30 +02:00
J0WI 38b195214b core: add detection for Ruby 2.6 2019-05-11 13:31:34 +02:00
Sébastien Helleu 26ba04b454 irc: set buffer local variable "nick_host" when a channel buffer is opened 2019-05-10 22:25:56 +02:00
Sébastien Helleu 35237c8088 irc: add bar items "irc_nick", "irc_host" and "irc_nick_host" 2019-05-10 22:00:33 +02:00
Sébastien Helleu 06aa7034fb irc: add variable "nick_host" in server structure 2019-05-10 21:59:31 +02:00
Sébastien Helleu 2073408b86 irc: fix parsing of MODE command when there are colons after the first mode argument (closes #1296) 2019-05-10 19:29:58 +02:00
Simmo Saan 5910bcf3c8 gui: fix wbkgrndset for non-wide ncurses by fallback to wbkgdset (issue #1343)
cchar_t, setcchar and wbkgrndset are actually widec ncurses features,
not ext-colors features, but NCURSES_WIDECHAR doesn't accurately reflect
their existence so NCURSES_EXT_COLORS is used instead.
2019-05-04 14:31:11 +03:00
Simmo Saan c7b242ffd9 gui: readd color buffer table zero padding and dashes (issue #1343) 2019-05-02 21:16:57 +03:00
Simmo Saan bf1462d7a1 gui: change command line option "-c" color pairs table to match (issue #1343) 2019-05-02 21:06:42 +03:00
Simmo Saan f5f6cf028c gui: change color buffer pairs table to only show allocated pairs (issue #1343) 2019-05-02 19:30:22 +03:00
Simmo Saan d392b406c5 gui: increase ncurses color pair limit from 255 to 32767 (issue #1343) 2019-05-02 19:30:22 +03:00
Simmo Saan 08719963de gui: replace ncurses COLOR_PAIR attribute usage with special functions (issue #1343) 2019-05-02 19:30:22 +03:00
Sébastien Helleu 141b42817f core: update ChangeLog (issue #1341, issue #1342) 2019-05-01 08:35:07 +02:00
Sébastien Helleu 4ddfbc9714 core: add contributor in AUTHORS.adoc 2019-05-01 08:33:47 +02:00
Sébastien Helleu 2712f0991b core: replace CMAKE_INSTALL_PREFIX by ${prefix} in libdir (weechat.pc) 2019-05-01 08:32:36 +02:00
Sébastien Helleu 1102f8ccf0 Merge pull request #1342 from ryan-farley/libdir_fix
cmake: allow custom libdir (fix #1341)
2019-05-01 08:29:59 +02:00
Ryan Farley 8df3ad3d26 cmake: allow custom libdir (fix #1341)
Allows for custom LIBDIR to specified with cmake builds. WEECHAT_LIBDIR
is used for a custom Weechat directory, or set from LIBDIR (as LIBDIR
used to be set).
2019-04-25 16:53:55 -05:00
Sébastien Helleu 38535686f8 core: update ChangeLog 2019-04-20 11:00:29 +02:00
Sébastien Helleu ece92efd81 tests: add link with iconv library (if found)
This fixes a compilation error on FreeBSD.
2019-04-20 10:15:01 +02:00
Nils Görs 4718112c1c doc: update German documentation 2019-04-19 23:07:36 +02:00
Sébastien Helleu d9d1fa7210 doc: translate quickstart changes in other languages 2019-04-19 21:25:33 +02:00
Sébastien Helleu 7f00a51e19 Merge remote-tracking branch 'origin/pr/1340' 2019-04-19 20:55:23 +02:00
Michael Siegel 0b330762fa quick start guide: make two separate sections out of section 2 2019-04-19 18:18:47 +00:00
Nils Görs 88404452e0 doc: update German documentation 2019-04-19 07:12:45 +02:00
Sébastien Helleu ebff142511 core: add contributor in AUTHORS.adoc 2019-04-17 07:45:00 +02:00
Sébastien Helleu a706ee976c doc: translate quickstart changes in other languages 2019-04-17 07:44:03 +02:00
Sébastien Helleu 1e63cdcd9f Merge remote-tracking branch 'origin/pr/1339' 2019-04-17 07:32:03 +02:00
Michael Siegel ec337a7601 quick start guide: rearrange content in section 2
Put everything help-related first, then explain how to set options.
2019-04-16 22:02:19 +00:00
Sébastien Helleu 1582d923e6 core: use getopt to parse command line arguments
Multiple options can now be given in a single flag, for example:

  weechat -ast

Following formats were allowed for command line argument with a value:

  weechat -d /tmp/weechat
  weechat --dir /tmp/weechat

Now these extra formats are supported as well:

  weechat -d/tmp/weechat
  weechat --dir=/tmp/weechat
2019-04-14 13:35:47 +02:00
Sébastien Helleu cc2a6db335 doc: update Japanese auto-generated files 2019-04-14 13:21:09 +02:00
Sébastien Helleu cb28372dd7 Merge pull request #1337 from l/master/translation/ja_JP
core: update Japanese translations
2019-04-14 13:20:03 +02:00
Sébastien Helleu b376f9f013 Merge pull request #1336 from msiism/master
quick start guide: insert “the” where missing
2019-04-14 09:11:33 +02:00
Sébastien Helleu 0e2baa56cf doc: update German auto-generated files 2019-04-14 08:55:19 +02:00
AYANOKOUZI, Ryuunosuke 1876e84c82 core: update Japanese translations 2019-04-14 09:00:00 +09:00
Michael Siegel b4ecfa0159 quick start guide: insert “the” where missing 2019-04-13 20:22:17 +00:00
Nils Görs 2b65c351a8 core: update German translations 2019-04-13 21:18:56 +02:00
Sébastien Helleu 4063abc86b core: bump API version
This is required after changes on functions hook_info and info_get.
2019-04-13 20:48:42 +02:00
Sébastien Helleu dbf6691243 core: add contributor in AUTHORS.adoc (issue #931) 2019-04-13 20:48:11 +02:00
Sébastien Helleu ebf38f142e core: merge functions gui_line_prefix_is_same_nick_as_{previous|next} (issue #931) 2019-04-13 20:46:05 +02:00
Sébastien Helleu 573377e2d9 core: fix /help weechat.look.buffer_time_same 2019-04-13 20:38:19 +02:00
Adrian Bjugård 0b5bff9ef5 core: add option weechat.look.prefix_same_nick_middle (closes #930, closes #931) 2019-04-13 20:36:41 +02:00
Nils Görs 36fc3fdc3b core: update German translations 2019-04-13 18:48:08 +02:00
Nils Görs 92e3217cf5 core: update German translations 2019-04-13 17:40:47 +02:00
Simmo Saan 97e9046918 core: add option weechat.look.buffer_time_same (closes #1127) 2019-04-13 14:45:53 +02:00
Sébastien Helleu 63c992922c Merge pull request #1334 from msiism/master
Improve intro of “Start WeeChat” section
2019-04-13 13:54:27 +02:00
Sébastien Helleu 30768d4d24 trigger: add hook "info_hashtable" 2019-04-13 13:53:16 +02:00
Sébastien Helleu 8bc06ea101 trigger: add hook "info" 2019-04-13 08:52:40 +02:00
Sébastien Helleu 299c308f00 irc: fix memory leak in infos "irc_server_isupport" and "irc_server_isupport_value" 2019-04-13 08:42:45 +02:00
Sébastien Helleu 3d95217745 api: return allocated string in hook_info callback and function info_get 2019-04-13 08:42:45 +02:00
Michael Siegel beb04085d8 Improve intro of “Start WeeChat” section 2019-04-11 21:58:09 +00:00
Sébastien Helleu c80dc2a5ca Merge pull request #1332 from msiism/master
Two grammar fixes for WeeChat user’s guide
2019-04-11 22:40:56 +02:00
Michael Siegel 20c4cb5ae4 Improve grammar in “Screen layout” section 2019-04-11 19:46:57 +00:00
Michael Siegel 734d17993c Add missing “the” to footnote in “Files and directories” 2019-04-11 19:34:27 +00:00
Sébastien Helleu f701caf5bb doc: fix styles in user guide and plugin API reference 2019-04-11 20:56:35 +02:00
Sébastien Helleu 5440c9d91c doc: update German auto-generated file 2019-04-07 10:22:31 +02:00
Nils Görs 1f170bd7f3 core: update German translations 2019-04-06 22:15:58 +02:00
Sébastien Helleu a84c32cf30 xfer: add option xfer.network.speed_limit_recv (closes #269)
For consistency, the option xfer.network.speed_limit has been renamed to
xfer.network.speed_limit_send.
2019-04-06 14:11:07 +02:00
Sébastien Helleu 6ebd97cc63 core: fix typos in README 2019-04-04 20:50:49 +02:00
Sébastien Helleu f8d5776ec9 core: add links to Mastodon and Twitter in README 2019-04-04 20:49:23 +02:00
Sébastien Helleu a34233d54b core: remove link to Google+ in README 2019-04-04 20:49:06 +02:00
Nils Görs 544d006fb7 core: update German translations 2019-04-02 22:08:58 +02:00
Sébastien Helleu 6fa4494aae tests: add test with multiple wildcards in call to function string_match 2019-04-01 00:18:21 +02:00
Sébastien Helleu 5d02ff9a6d tests: add tests on function util_signal_search 2019-04-01 00:15:25 +02:00
Sébastien Helleu d2571ab53b tests: add tests on util_timeval functions 2019-04-01 00:07:32 +02:00
Sébastien Helleu 709334eede tests: add tests on function util_parse_delay with unit "ms" (milliseconds) 2019-04-01 00:02:49 +02:00
Sébastien Helleu 5f1b2722c8 doc: update Japanese auto-generated files 2019-03-31 23:54:50 +02:00
Sébastien Helleu 413aa499cc core: add documentation on command line debug options (in --help and man pages)
Command line debug options are now documented:

* --no-dlclose: do not call the function dlclose after plugins are unloaded
* --no-gnutls: do not call the init and deinit functions of GnuTLS library
* --no-gcrypt: do not call the init and deinit functions of Gcrypt library

These options must not be used in production, they're for debug only and can be
used with tools like Valgrind or electric-fence.
2019-03-31 23:53:54 +02:00
Sébastien Helleu c469f30be5 doc: fix generation of man page weechat-headless with autotools 2019-03-31 23:51:28 +02:00
Sébastien Helleu 5980a4deb8 Merge pull request #1328 from l/master/translation/ja_JP
core: update Japanese translations
2019-03-31 23:46:27 +02:00
AYANOKOUZI, Ryuunosuke 80becc9a29 core: update Japanese translations 2019-04-01 09:00:00 +09:00
Sébastien Helleu c77bffaa52 doc: update German auto-generated file 2019-03-29 23:27:45 +01:00
Sébastien Helleu dad451af34 core: send code coverage only with gcc, not with clang 2019-03-29 23:17:27 +01:00
Sébastien Helleu 3f80ae0ee8 core: add codecov badge 2019-03-29 23:17:09 +01:00
Sébastien Helleu d91954490f core: move coverage.info in parent directory 2019-03-29 23:01:27 +01:00
Sébastien Helleu 56d6b510e6 core: move upload of code coverage from build-test.sh to .travis.yml 2019-03-29 22:53:26 +01:00
Sébastien Helleu 33cefb7daa core: fix upload of code coverage to codecov.io 2019-03-29 22:46:13 +01:00
Sébastien Helleu 3e22bc116b core: upload code coverage on codecov.io in Travis CI 2019-03-29 22:37:03 +01:00
Nils Görs 4df26f391d core: update German translations 2019-03-29 22:34:33 +01:00
Sébastien Helleu b97fc2bd0f core: don't execute command scheduled by /repeat if the buffer does not exist any more 2019-03-29 20:42:00 +01:00
Sébastien Helleu 2571d17cb9 core: don't execute command scheduled by /wait if the buffer does not exist any more 2019-03-29 20:37:18 +01:00
Sébastien Helleu f1d18f4c26 core: use seconds by default in /repeat interval, allow unit for the interval 2019-03-29 20:31:19 +01:00
Sébastien Helleu fa5b1eed77 core: move parsing of /wait delay in a separate function, with unit tests 2019-03-29 20:17:26 +01:00
Sébastien Helleu b3cf270d1d core: allow text in addition to a command in command /repeat 2019-03-29 08:37:57 +01:00
Sébastien Helleu 8251f1fd13 core: update ChangeLog 2019-03-28 22:18:16 +01:00
Sébastien Helleu da43e95c75 relay: use option "delay" in call to command_options (closes #1327)
This fixes a crash when sending "/plugin reload relay" from a relay client.
2019-03-28 22:07:25 +01:00
Sébastien Helleu 4e9e5f2652 api: add option "delay" in hashtable options of function command_options (issue #1327) 2019-03-28 22:07:04 +01:00
Sébastien Helleu 2f37de9148 core: make "input_commands_allowed" work with /wait and /repeat commands (issue #928) 2019-03-28 18:45:22 +01:00
Sébastien Helleu 9b4fa10923 core: set CMake minimum version required to 3.0
This is required for add_library() with INTERFACE library type.
2019-03-25 08:52:53 +01:00
Sébastien Helleu c713a0e475 tests: fix scripting API tests on 32-bit arch
The problem is that on 32-bit arch (like GNU/Hurd), the number 42000000000000
is converted to 42000000000000L in Python, which is causing troubles in other
languages like Perl.

The fix is to use a smaller number. Such large size for function
string_format_size is tested in the C++ test suite anyway.
2019-03-25 00:18:55 +01:00
Sébastien Helleu b04d8934ee tests: fix style in CMake file 2019-03-24 13:43:19 +01:00
Sébastien Helleu 96d3a3834c doc: improve description of CMake option ENABLE_PYTHON3 in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 429fafd42f doc: fix typo Gnutls -> GnuTLS in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 6c41e627cd doc: fix description of man/doc CMake options in user's guide 2019-03-24 09:38:43 +01:00
Sébastien Helleu 2612adf899 core: add CMake option "ENABLE_CODE_COVERAGE" to compile with code coverage options
This option is OFF by default and should be enabled only for tests, to measure
test coverage.
2019-03-24 09:38:43 +01:00
Sébastien Helleu 47c4329404 debian: update changelog 2019-03-23 22:15:18 +01:00
Sébastien Helleu ecfe6756f8 core: switch from Ubuntu Trusty to Xenial in Travis CI 2019-03-23 22:00:26 +01:00
Sébastien Helleu e68754aafe lua: add detection of Lua 5.3 with autotools 2019-03-23 22:00:03 +01:00
Sébastien Helleu 34bf68d38e tests: remove extra output before/after tests 2019-03-23 20:08:17 +01:00
Sébastien Helleu ff32112396 irc: fix length of string for SHA-512, SHA-256 and SHA-1 in help on ssl_fingerprint option 2019-03-21 23:36:24 +01:00
Sébastien Helleu 2da148eb55 core: add Haiku as supported platform in README 2019-03-21 22:02:31 +01:00
Nils Görs 21e227020f core: update German translations 2019-03-19 23:18:33 +01:00
Sébastien Helleu bb017b2613 irc: display an error with /allchan -current or /allpv -current if the current buffer is not an irc buffer (closes #1325) 2019-03-19 20:37:06 +01:00
Sébastien Helleu 766bea3f9e tests: remove value for first #define in headers 2019-03-19 20:33:30 +01:00
Sébastien Helleu c4bf528b4e php: remove value for first #define in headers 2019-03-19 20:33:16 +01:00
Sébastien Helleu 8f79b1c0fc doc: add missing keys Ctrl+F1 and Ctrl+F2 for buflist (FAQ) 2019-03-19 20:32:27 +01:00
Sébastien Helleu f6c5061590 irc: fix update of channels modes with arguments when joining a channel (closes #1324) 2019-03-18 20:39:42 +01:00
Sébastien Helleu 1ef7a55e72 core: fix typo: Weechat -> WeeChat 2019-03-17 18:34:21 +01:00
Sébastien Helleu 3ee87bcfce core: fix description of Cygwin "weechat" package 2019-03-17 18:12:54 +01:00
Sébastien Helleu 58f4c37a63 core: fix version numbering scheme in cygport file 2019-03-17 14:40:36 +01:00
Sébastien Helleu 413221bc9e doc: update German auto-generated file 2019-03-12 22:58:54 +01:00
Nils Görs 840c815bb0 Merge branch 'master' of github.com:weechat/weechat 2019-03-12 22:43:03 +01:00
Nils Görs 27f33624bd core: update German translations 2019-03-12 22:42:39 +01:00
Sébastien Helleu 78cabc2e06 relay: fix compilation warning when gnutls is not found 2019-03-12 22:26:55 +01:00
Sébastien Helleu 5c2c19c0cd irc: fix compilation warning when gnutls is not found 2019-03-12 22:26:28 +01:00
Sébastien Helleu 99e48d7fa3 core: set max length to 4096 for /secure passphrase (closes #1323) 2019-03-12 21:30:01 +01:00
Sébastien Helleu bc6c1f274c core: improve message displayed when a command is not allowed (issue #928)
The whole command with arguments and the full buffer name are now displayed in
the warning message (in debug mode only).
2019-03-11 21:12:40 +01:00
Sébastien Helleu 92e176ab89 relay: use empty value by default for option relay.weechat.commands (issue #928)
The relay client is supposed to be safe by default, and the relay connection
should be protected by the different ways (restriction on IP address, SSL,
strong password, Time-based One-Time Password, local bind address and use of
SSH tunnel…).

So this option lets the user add extra security by allowing only some
commands (whitelist), or allowing any commands except a list of given
commands (blacklist).
2019-03-11 21:12:23 +01:00
Sébastien Helleu e44c4904c3 relay: add forbidden commands /key and /trigger in weechat protocol (issue #928) 2019-03-10 22:58:50 +01:00
Sébastien Helleu 508f224af9 relay: add forbidden commands /wait and /repeat in weechat protocol (issue #928) 2019-03-10 18:29:22 +01:00
Sébastien Helleu 2b70d71aa1 core: replace argument "keep_eol" by "flags" in function string_split (closes #1322) 2019-03-10 18:29:16 +01:00
Sébastien Helleu 8aa5f5375e core: add value -1 for keep_eol in function string_strip (issue #1322)
The value -1 means it's a standard split, but empty items are kept, and
separators are not removed at beginning/end of string.
2019-03-09 21:56:05 +01:00
Sébastien Helleu 79d0910c08 doc: update German auto-generated file 2019-03-09 20:51:31 +01:00
Nils Görs b925ed5950 core: update German translations 2019-03-09 19:34:40 +01:00
Sébastien Helleu dd44c1db16 relay: add extra forbidden commands in weechat protocol (issue #928)
Commands were already forbidden (option relay.weechat.commands):

- /exec
- /upgrade
- /quit

These extra commands are now forbidden by default:

- /fset
- /set
- /unset
- /plugin
- /script
- /python
- /perl
- /ruby
- /lua
- /tcl
- /guile
- /javascript
- /php
- /secure
2019-03-09 17:54:06 +01:00
Sébastien Helleu 2f5aa3b509 core: use bitwise shift operator to define flag constants 2019-03-02 11:09:52 +01:00
Sébastien Helleu 76290729b7 core: add contributor in AUTHORS.adoc (issue #1319) 2019-03-01 07:42:32 +01:00
Sébastien Helleu b9044f5ca1 core: update ChangeLog (issue #1319) 2019-03-01 07:41:24 +01:00
Sébastien Helleu 7b43d2fe43 Merge pull request #1319 from phy1729/quote-nick
irc: quote argument to NICK
2019-03-01 07:40:42 +01:00
Matthew Martin 77a9322bbf irc: quote argument to NICK 2019-02-28 18:55:26 -06:00
Nils Görs 6a0e9818a9 core: update German translations 2019-02-28 21:41:09 +01:00
Sébastien Helleu 791406f26f doc: fix typo in FAQ 2019-02-28 21:38:05 +01:00
Sébastien Helleu c91e47c414 script: use SHA-512 instead of MD5 for script checksum
Related to weechat/weechat.org@66a8b72ab1
2019-02-28 20:55:10 +01:00
Sébastien Helleu d290de2cba relay: add option relay.weechat.commands (closes #928) 2019-02-28 20:24:25 +01:00
Sébastien Helleu 80b980b2af api: add function command_options (issue #928) 2019-02-28 20:19:18 +01:00
Sébastien Helleu 64043d5a6c php: fix memory leak in functions using hashtable parameters
Functions fixed in PHP plugin:

- string_eval_expression
- string_eval_path_home
- key_bind
- hook_process_hashtable
- hook_hsignal_send
- info_get_hashtable
- hdata_update
2019-02-27 07:51:02 +01:00
Sébastien Helleu c079cc124e doc: fix typo in plugin API reference 2019-02-27 07:46:33 +01:00
Sébastien Helleu 55501b84d6 core: remove function gui_buffer_match_list_split, use function string_match_list 2019-02-27 07:46:29 +01:00
Sébastien Helleu 17a218e6b6 core: use function string_match_list for the autoload of plugins 2019-02-27 07:46:26 +01:00
Sébastien Helleu c2859096cb api: add function string_match_list 2019-02-27 07:46:22 +01:00
Sébastien Helleu e473161c9f core: remove parentheses after function names in ChangeLog 2019-02-26 20:02:21 +01:00
Sébastien Helleu e6850dcf9e Merge pull request #1318 from arza-zara/typos
fset: fix typo in /help fset.format.option2
2019-02-26 19:55:16 +01:00
arza 2af3157dc2 fset: fix typo in /help fset.format.option2 2019-02-26 19:33:03 +02:00
Sébastien Helleu a10769f0f8 doc: move spell chapter after scripts in user's guide 2019-02-26 08:01:42 +01:00
Sébastien Helleu 4ef149b591 core: clarify changes on option weechat.completion.nick_completer in release notes 2019-02-25 18:49:46 +01:00
Sébastien Helleu f1d30dc0b1 core: fix alignment of images in README 2019-02-24 17:03:01 +01:00
Sébastien Helleu a817327b0e core: add WeeChat logo in README 2019-02-24 16:14:57 +01:00
Sébastien Helleu 471f9c61da relay: remove obsolete comment 2019-02-24 16:13:04 +01:00
Sébastien Helleu 466268d5ef doc: update German auto-generated files 2019-02-24 10:03:30 +01:00
Nils Görs 485f5d3e87 core: update German translations 2019-02-23 23:25:22 +01:00
Sébastien Helleu 8eb24f4338 core: update ChangeLog (issue #1055, issue #1312) 2019-02-23 13:41:49 +01:00
Sébastien Helleu 4a13e1ac7e core: update translations (issue #1055, issue #1312) 2019-02-23 13:40:23 +01:00
Simmo Saan c84ac65954 core: add /filter addreplace (closes #1055) 2019-02-23 13:37:46 +01:00
Sébastien Helleu 525417c2c6 core: update ChangeLog (issue #1309, issue #1311) 2019-02-23 11:23:14 +01:00
Sébastien Helleu 68b56291f9 core: merge two comments in a single one (issue #1309, issue #1311) 2019-02-23 11:22:58 +01:00
Sébastien Helleu 7b79fbbd09 Merge remote-tracking branch 'origin/pr/1311' 2019-02-23 11:17:02 +01:00
Sébastien Helleu bdc905df16 core: replace "Desired behavior" by "Expected behavior" in bug report template 2019-02-22 21:46:24 +01:00
Sébastien Helleu baa598276c fset: fix slow refresh of fset buffer during /reload (closes #1313) 2019-02-22 21:33:39 +01:00
Sébastien Helleu 355843b27a core: move "Current behavior" after "Steps to reproduce" in bug report template 2019-02-22 21:00:55 +01:00
Simmo Saan 8ac4a75969 gui: fix use after free bug in /filter del (issue #1309)
Deleting (freeing) a filter also frees its buffers, so refilter must
happen before freeing. Disabling the filter temporarily fixes the bug.

This fix disables the filter before filter_removing signal, though.
2019-02-21 16:15:58 +02:00
Simmo Saan 91936ff583 gui: only refilter affected buffers on filter change (closes #1309) 2019-02-21 16:03:15 +02:00
Sébastien Helleu 33581dd1a7 doc: update German auto-generated files 2019-02-20 08:40:34 +01:00
Nils Görs d2ac854bfa core: update German translations 2019-02-20 08:36:58 +01:00
Nils Görs dd8969413d core: update German translations 2019-02-20 08:25:50 +01:00
Sébastien Helleu 21c02a0378 core: add command to change key alt+s in release notes 2019-02-19 22:42:11 +01:00
Sébastien Helleu 8344f0addc core: add command /spell and default key alt+s in release notes 2019-02-19 22:40:11 +01:00
Sébastien Helleu 7b0507bb47 core: add reason of aspell renaming in release notes 2019-02-19 22:35:08 +01:00
Sébastien Helleu cccd4f07e5 core: add extra instructions about spell plugin in release notes 2019-02-19 22:04:17 +01:00
Sébastien Helleu 3368557cc7 core: update translations (issue #1299) 2019-02-19 21:38:53 +01:00
Sébastien Helleu 27481df277 core: force new API version to prevent the old aspell plugin to load (issue #1299) 2019-02-19 21:21:20 +01:00
Sébastien Helleu 57aa9e060e spell: rename "aspell" plugin to "spell" (issue #1299)
The following things have been renamed:

- file aspell.conf -> spell.conf
- options aspell.* -> spell.*
- bar item aspell_dict -> spell_dict
- bar item and local variable aspell_suggest -> spell_suggest
- info aspell_dict -> spell_dict
2019-02-19 21:15:56 +01:00
Sébastien Helleu e8159298ad core: update ChangeLog (issue #1306, issue #1307) 2019-02-19 20:41:34 +01:00
Sébastien Helleu 9985af8b5d Merge remote-tracking branch 'origin/pr/1307' 2019-02-19 20:38:14 +01:00
Sébastien Helleu 6a9937f08a core: fix compilation on Mac OS (closes #1308)
This adds the missing include "unistd.h" for function "mkdtemp" (required on
Mac OS only).
2019-02-18 19:28:20 +01:00
Simmo Saan 62dfe2ac63 aspell: optimize stripping of nick_completer (issue #1306) 2019-02-18 11:48:48 +02:00
Simmo Saan d512cc324a aspell: strip trailing spaces from nick_completer (closes #1306) 2019-02-18 11:19:42 +02:00
Sébastien Helleu 0a6172c128 Version 2.5-dev 2019-02-17 08:46:20 +01:00
Sébastien Helleu ff6ae69c3f Version 2.4 2019-02-17 08:20:07 +01:00
Sébastien Helleu c76b6c024e core: add contributor in AUTHORS.adoc (issue #1304) 2019-02-16 08:27:30 +01:00
Sébastien Helleu 46a5e1d291 Merge pull request #1304 from ZethJack/patch-1
Fix czech translation kick message
2019-02-16 08:24:23 +01:00
ZethJack 4d4b254d7a Fix czech translation kick message
original: <op> byl vykopnut <user> results in confusing message caused by mistranslation: op was kicked user
proposed fix: <op> vykopnul <user> should result in more understandeable message: op has kicked user
2019-02-15 11:09:01 +01:00
Sébastien Helleu 7d4da3f9e4 doc: update Polish auto-generated files 2019-02-09 21:38:34 +01:00
Krzysztof Korościk 7caaf255b4 updated polish translation 2019-02-09 21:00:59 +01:00
Krzysztof Korościk c2a94d93c5 doc: updated polish translation 2019-02-09 19:50:01 +01:00
Sébastien Helleu 5adf94ffbe Version 2.4-rc1 2019-02-04 20:48:41 +01:00
Sébastien Helleu 87932bcb57 irc: fix parsing of whois messages in notify 2019-02-04 20:47:59 +01:00
Sébastien Helleu a511771802 core: update translations 2019-02-03 19:02:40 +01:00
Sébastien Helleu 4c05648faf Merge pull request #1301 from arza-zara/typos
Fix typo "part or words" -> "part of words"
2019-02-03 19:00:11 +01:00
arza 54c7afa6e2 Fix typo "part or words" -> "part of words" 2019-02-03 19:32:09 +02:00
Sébastien Helleu 82da8a79c4 Merge pull request #1300 from l/master/translation/ja_JP
core: update Japanese translations
2019-02-03 13:42:08 +01:00
AYANOKOUZI, Ryuunosuke c4c4f4d1ef core: update Japanese translations 2019-02-03 09:00:00 +09:00
Sébastien Helleu 5d43b5b80f core: add "travis_retry" on commands that can fail due to network error (Travis CI) 2019-01-31 21:42:07 +01:00
Sébastien Helleu 6932810c70 doc: remove obsolete note about gcrypt in chapter on IRC SASL authentication (user's guide) 2019-01-31 21:34:02 +01:00
Sébastien Helleu 6e09499163 irc: fix crash in parsing of IRC channel modes (issue #1296, closes #1297)
Regression was introduced by commit b38b2abe3b.
2019-01-31 21:13:58 +01:00
Sébastien Helleu b38b2abe3b irc: fix parsing of MODE, 341 (invite) and CHGHOST commands when there are colons (closes #1296) 2019-01-29 21:10:49 +01:00
Sébastien Helleu c869aa3809 relay: fix crash on /upgrade when the real IP is not set (closes #1294) 2019-01-28 20:37:38 +01:00
Nils Görs 50415dfbb7 doc: update German documentation 2019-01-27 15:00:29 +01:00
Sébastien Helleu b955b19388 doc: add example with command "/input set_unread" in question about terminal focus (issue #1295) 2019-01-27 13:23:20 +01:00
Sébastien Helleu 7e547ee70b aspell: look for suggestions only if the misspelled word has changed (closes #1175) 2019-01-27 10:33:12 +01:00
Nils Görs 68bdc5fb09 aspell: set a misspelled word without suggestions in local variable "aspell_suggest" (closes #1288) 2019-01-26 22:38:22 +01:00
Sébastien Helleu 5a681f3c5e core: fix sentence in release notes 2019-01-26 15:34:56 +01:00
Sébastien Helleu 1a34f87163 core: do not automatically add a space when completing "nick:" at the beginning of command line
The space can be added in option weechat.completion.nick_completer
(this is now the default value of the option):

  /set weechat.completion.nick_completer ": "
2019-01-26 14:54:57 +01:00
Sébastien Helleu 4d9fd4c4aa core: fix compilation of empty regular expression (not allowed on FreeBSD) 2019-01-26 10:21:39 +01:00
Sébastien Helleu 6d217ca8c5 doc: fix regex examples to be compatible with FreeBSD
The following special sequences are not supported in regular expressions on
FreeBSD:

- "\w": replaced with "[a-zA-Z0-9_]"
- "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice
  only spaces could be a problem when we use this sequence).
2019-01-26 10:15:35 +01:00
Sébastien Helleu 73a4901fe1 tests: fix evaluation tests on FreeBSD
The following special sequences are not supported in regular expressions on
FreeBSD:

- "\w": replaced with "[a-zA-Z0-9_]"
- "\S": replaced with "[^ ]" (it should be "[^ \t\n\r\f\v]", but in practice
  only spaces could be a problem when we use this sequence).
2019-01-26 10:00:47 +01:00
Sébastien Helleu 507dfec781 tests: fix UTF-8 tests on FreeBSD
Tests for size on screen are made on U+2EE9 (CJK Radical Simplified Yellow)
instead of U+24B62 (CJK Unified Ideograph-24B62) which returns a length of 1 on
FreeBSD and 2 on Linux.
2019-01-26 09:57:30 +01:00
Sébastien Helleu 7e0da4b68a script: add missing input actions "A" and "v" in /help script 2019-01-20 20:13:54 +01:00
Sébastien Helleu eb0828ec6c tests: fix link of tests on GNU Hurd and FreeBSD 2019-01-20 16:53:00 +01:00
Sébastien Helleu 142d312ad7 tests: add missing include of stdio.h 2019-01-20 15:59:04 +01:00
Sébastien Helleu 98249ada86 tests: add tests on IRC color functions
Functions tested:

- irc_color_decode
- irc_color_encode
- irc_color_decode_ansi
2019-01-20 15:17:21 +01:00
Sébastien Helleu fec7d38e3d irc: return IRC color code instead of WeeChat color code when decoding a too short ANSI color sequence 2019-01-20 15:07:21 +01:00
Sébastien Helleu 85ee15d4e2 irc: fix encoding of italic attribute when colors are removed 2019-01-20 15:04:52 +01:00
Sébastien Helleu ada2994062 buflist: add alternate key codes for alt-F1/alt-F2 (xterm) 2019-01-20 01:33:47 +01:00
Sébastien Helleu a199d243ca buflist: fix typo on key code for ctrl-F2 2019-01-20 01:32:09 +01:00
Sébastien Helleu e847068a3c buflist: add default keys ctrl-F1/F2 to scroll up/down one page in buflist (same action as F1/F2) 2019-01-20 01:29:33 +01:00
Sébastien Helleu 9d6ebeda0d core: add default keys ctrl-F11/F12 to scroll up/down one page in nicklist (same action as F11/F12) 2019-01-20 01:29:28 +01:00
Sébastien Helleu 09a124c226 buflist: add alternate key codes for F1/F2 and alt-F1/alt-F2 (compatibility with terminals) 2019-01-20 01:09:26 +01:00
Sébastien Helleu 7d442f8492 irc: fix compiler warning on GNU Hurd
This fixes the following warning:

irc-ctcp.c:411:46: warning: '%s' directive output may be truncated writing up
to 1023 bytes into a region of size between 0 and 1023 [-Wformat-truncation=]
2019-01-13 20:14:11 +01:00
Sébastien Helleu a294b791a8 doc: add missing file test-irc-protocol.cpp in developer's guide 2019-01-13 20:13:30 +01:00
Sébastien Helleu 4fab6dcd05 irc: do not use strptime to parse a time as float number (issue #1289) 2019-01-13 15:25:22 +01:00
Sébastien Helleu 1b26d0608f core: update ChangeLog 2019-01-13 14:48:16 +01:00
Sébastien Helleu 34a6fce134 tests: add tests on function irc_protocol_parse_time 2019-01-13 14:47:35 +01:00
Sébastien Helleu 6343924c16 irc: check return code of calls to strptime (issue #1289) 2019-01-13 14:46:43 +01:00
Nils Görs 1dae5827c6 doc: update German documentation 2019-01-12 22:36:57 +01:00
Sébastien Helleu 0fe6adb269 doc: add question about autojoin option in FAQ (closes #1287) 2019-01-12 21:49:57 +01:00
Sébastien Helleu 8009094717 irc: fix parsing of "time" message tag on FreeBSD (issue #1289) 2019-01-11 22:40:06 +01:00
Sébastien Helleu c96e2f3593 tests: add tests on function irc_config_check_autojoin 2019-01-11 22:27:28 +01:00
Sébastien Helleu 8629bf4b06 debian: switch debhelper compatibility to 12 2019-01-08 22:07:10 +01:00
Sébastien Helleu f8df26f57f debian: bump Standards-Version to 4.3.0 2019-01-08 21:57:31 +01:00
Sébastien Helleu 2b0057239b core: update copyright dates 2019-01-01 15:40:51 +01:00
Sébastien Helleu 169a84384c core: remove obsolete directory from .gitattributes 2018-12-24 15:57:29 +01:00
Sébastien Helleu 4912c46593 doc: update German auto-generated file 2018-12-22 11:03:55 +01:00
Nils Görs b3b58f89a4 core: update German translations 2018-12-22 10:19:49 +01:00
Sébastien Helleu f3db256ce4 core: add note about option sec.crypt.passphrase_file in /help secure (issue #1286) 2018-12-22 09:37:25 +01:00
Sébastien Helleu 237bf80920 doc: update German auto-generated files 2018-12-14 07:31:57 +01:00
Nils Görs cf5aaec3be core: update German translations 2018-12-13 22:38:26 +01:00
Sébastien Helleu d9849b4efe doc: add example of aspell dict for all channels of an IRC server (user's guide) (closes #1284) 2018-12-13 21:24:12 +01:00
Sébastien Helleu c214ca603f doc: update Japanese auto-generated files 2018-12-09 17:06:04 +01:00
Sébastien Helleu 1cd0fb4882 Merge pull request #1283 from l/master/translation/ja_JP
core: update Japanese translations
2018-12-09 17:04:51 +01:00
AYANOKOUZI, Ryuunosuke 8964e994c6 core: update Japanese translations 2018-12-09 09:00:00 +09:00
Sébastien Helleu 4034d07d5a core: use https for links in comments 2018-12-01 08:21:49 +01:00
Nils Görs 89f1f61458 doc: update German documentation 2018-11-30 07:42:25 +01:00
Sébastien Helleu d6e4bbf244 doc: add "WeeChat" term for core command /filter (FAQ) 2018-11-29 23:19:16 +01:00
Sébastien Helleu 342261d35b core: use https for all links where secured http is supported 2018-11-29 23:18:55 +01:00
Sébastien Helleu 4712d0bb06 core: use https for links to GNU GPL license 2018-11-29 23:16:07 +01:00
Sébastien Helleu d9fbf59c6b core: remove obsolete links to wiki in release notes 2018-11-29 23:15:23 +01:00
Nils Görs f6498c14a0 doc: update German documentation 2018-11-24 18:36:27 +01:00
Sébastien Helleu 4803cd62af doc: translate FAQ changes in other languages (issue #1280) 2018-11-19 21:00:21 +01:00
Filip H.F. "FiXato" Slagter fc0a3ef10a doc: add question "How can I disable highlights for specific nicks?" in FAQ (closes #1280) 2018-11-19 20:59:31 +01:00
Sébastien Helleu d8b2be8f91 doc: update German auto-generated file 2018-11-19 20:11:07 +01:00
Nils Görs 968d4ce2af doc: update German documentation 2018-11-18 14:43:16 +01:00
Nils Görs b08155410d Merge branch 'master' of github.com:weechat/weechat 2018-11-18 12:37:46 +01:00
Sébastien Helleu d26380a9bb core: replace "Mac OS X" and "OS X" by "macOS" (issue #1272) 2018-11-18 11:04:29 +01:00
Sébastien Helleu 3c0f72d48b doc: translate FAQ changes in other languages (issue #1272) 2018-11-18 10:55:39 +01:00
Filip H.F. "FiXato" Slagter d8fe89f7e9 doc: spelling/grammar fixes & documentation links added (FAQ) (closes #1272)
A number of spelling/grammar fixes, some restructured sentences to improve
readability and replacement of previous names for Apple Macintosh's OS with the
current 'macOS' name.

Also added some more references to User's guide documentation sections.

Also clarified that a window can not only display 1 buffer, but also a set of
merged buffers.

Finally, added a version note about the /script command.
2018-11-18 10:52:08 +01:00
Nils Görs 4e9203bb7d core: update German translations 2018-11-17 11:58:28 +01:00
Sébastien Helleu 916d99ad40 exec: add option exec.command.shell to customize the shell used with /exec -sh 2018-11-17 11:39:28 +01:00
Sébastien Helleu c94a8f4c68 exec: fix command displayed in debug message 2018-11-17 11:17:37 +01:00
Nils Görs ba9b087ca3 core: update German translations 2018-11-17 11:05:31 +01:00
Sébastien Helleu af382ffb91 core: add test on some WeeChat command line options on Travis CI 2018-11-17 10:46:12 +01:00
Sébastien Helleu 85d7c9b6c5 core: add command line option "-t" (or "--temp-dir") to create a temporary WeeChat home (deleted on exit) 2018-11-17 10:36:58 +01:00
Sébastien Helleu b480c7e7c0 core: add missing include of time.h in wee-secure.h
This fixes a compilation issue on FreeBSD 11.0.
2018-11-17 00:40:34 +01:00
Sébastien Helleu 1355a26920 doc: update German auto-generated file 2018-11-16 23:04:26 +01:00
Nils Görs ecd26fb678 core: update German translations 2018-11-16 16:26:30 +01:00
Sébastien Helleu 34fd37fa50 core: fix forced highlight on messages sent to other buffers (closes #1277)
The C compiler flag "-fsigned--char" is used to force "char" data type to be
always signed (which is what WeeChat expects).

On ARM systems, char is unsigned by default, which is causing problems when
WeeChat stores -1 in the notify_level (type: char).
2018-11-14 22:23:34 +01:00
Sébastien Helleu 638ed2ecf5 core: fix C++ compiler flags (cmake) 2018-11-14 22:06:35 +01:00
Sébastien Helleu 88adc5d703 doc: add missing variable "pointer" to make C compiler really happy (plugin API reference) 2018-11-13 20:48:04 +01:00
Sébastien Helleu b2d9b2f0ba doc: fix name of compiled plugin example (plugin API reference) 2018-11-13 20:43:26 +01:00
Sébastien Helleu 3766beb13e doc: update German auto-generated files 2018-11-12 22:54:56 +01:00
Nils Görs c78f322c9e core: update German translations 2018-11-12 22:44:30 +01:00
Sébastien Helleu 37a0cd0017 core: improve help on option irc.look.server_buffer (closes #1269) 2018-11-12 21:02:25 +01:00
Sébastien Helleu 39abe2fcd9 core: improve help on option weechat.look.nick_color_stop_chars (closes #1268) 2018-11-12 20:57:55 +01:00
Sébastien Helleu de8d640958 relay: add support of close frame in websocket connection (closes #1281) 2018-11-12 20:43:48 +01:00
Sébastien Helleu 594917bff4 core: add fix of memory leak in ChangeLog 2018-11-08 08:42:00 +01:00
Sébastien Helleu 6cdcebed8c buflist: add variable ${number2}, always set with the indented buffer number 2018-11-05 22:21:03 +01:00
Filip H.F. "FiXato" Slagter 5d338fee4e Added documentation links to README 2018-11-04 22:04:39 +01:00
Sébastien Helleu 0285ea785e Merge pull request #1270 from FiXato/patch-1
Make WeeChat screenshots link more descriptive.
2018-11-04 21:57:43 +01:00
Sébastien Helleu 5a132f06fd core: replace ellipses by "etc." (in English) and "etc..." by "etc." in French 2018-11-04 21:53:11 +01:00
Sébastien Helleu dd0b3c5692 core: replace "web site" by "website" 2018-11-04 21:32:35 +01:00
Sébastien Helleu fe586ae662 core: add contributor in AUTHORS.adoc (issue #1273) 2018-11-04 16:55:34 +01:00
Sébastien Helleu ba3d805167 Merge pull request #1273 from half-duplex/master
Fix regex in relay.network.allowed_ips doc
2018-11-04 16:46:11 +01:00
Sébastien Helleu d8ad7e6a8d tests: add missing file test-secure.cpp in autotools 2018-11-04 15:03:54 +01:00
Sébastien Helleu cb73c168b5 core: update translations 2018-11-04 14:50:53 +01:00
Sébastien Helleu dc7d99fa73 core: improve description of infos "totp_generate" and ""totp_validate" 2018-11-04 14:50:53 +01:00
Sébastien Helleu 738535e7f6 relay: add support of Time-based One-Time Password (TOTP) as second authentication factor in weechat protocol 2018-11-04 14:50:53 +01:00
Sébastien Helleu f02fc06dd0 doc: fix styles in relay protocol 2018-11-04 14:50:53 +01:00
Sébastien Helleu ed3f281ba9 api: add functions string_base_{encode,decode}, remove functions string_{encode,decode}_base64 2018-11-04 14:49:11 +01:00
Sébastien Helleu a8b6fa08b7 core: split plugin-api.c into 2 files (API wrappers and infos/infolists) 2018-11-03 23:01:46 +01:00
Sébastien Helleu 6d72868e15 api: return integer in function string_encode_base16 2018-11-02 14:20:16 +01:00
Sébastien Helleu 8848b0e22a api: return integer in function string_encode_base64 2018-11-02 14:09:23 +01:00
Sébastien Helleu 74a17d821f tests: add tests on functions secure_encrypt_data and secure_decrypt_data 2018-11-02 14:06:14 +01:00
Sébastien Helleu d0ea801724 core: add support of TOTP generation/validation (Time-based One-Time Password) 2018-11-02 14:06:14 +01:00
Sébastien Helleu 172736989a doc: add missing source files for tests (developer's guide) 2018-10-27 10:55:57 +02:00
Sébastien Helleu 70c2e27110 core: split wee-secure.c into 3 files (secured data functions, buffer and config) 2018-10-27 08:54:10 +02:00
Sébastien Helleu 3f067f2065 buflist: fix warning displayed when script buffers.pl is loaded (closes #1274) 2018-10-27 08:52:20 +02:00
Sébastien Helleu a6a90aebff doc: add commands to update .po files (developer's guide) 2018-10-25 08:00:14 +02:00
Trevor Bergeron 9121e5812c Fix regex in relay allowed_ips doc 2018-10-23 00:33:01 -04:00
Filip H.F. "FiXato" Slagter c2a2146ad8 Make WeeChat screenshots link more descriptive.
Restructured sentence to avoid using self-non-descriptive 'this page' anchors.
2018-10-23 02:34:56 +02:00
Sébastien Helleu 99ae73066c Version 2.4-dev 2018-10-21 12:53:37 +02:00
Sébastien Helleu 6620f40efa Version 2.3 2018-10-21 11:12:41 +02:00
Sébastien Helleu 438313d331 core: replace call to strncpy by memcpy
This fixes a gcc warning: "warning: ‘strncpy’ output truncated before
terminating nul copying as many bytes from a string as its length
[-Wstringop-truncation]".
2018-10-21 08:54:04 +02:00
Sébastien Helleu eb77c78dad irc: fix uninitialized variables in function irc_protocol_cap_sync 2018-10-21 08:53:22 +02:00
Sébastien Helleu 1a3bd49a46 debian: update changelog 2018-10-21 08:30:35 +02:00
Sébastien Helleu e3e4c89b5e debian: fix copyright Format URI 2018-10-21 08:28:50 +02:00
Sébastien Helleu 5bc37eeee3 debian: bump Standards-Version to 4.1.5 2018-10-21 08:22:31 +02:00
Sébastien Helleu 4939e9659f doc: update Polish auto-generated files 2018-10-19 20:24:35 +02:00
Krzysztof Korościk e9be61b133 po: updated polish translation 2018-10-19 20:17:56 +02:00
Krzysztof Korościk 585257196d doc: updated polish translation 2018-10-19 19:46:23 +02:00
Sébastien Helleu e7cb025e68 php: add detection of PHP 7.3 2018-10-16 23:02:13 +02:00
Sébastien Helleu 9bc9b4c86b core: add contributor in AUTHORS.adoc (issue #1267) 2018-10-14 21:05:09 +02:00
Sébastien Helleu f17cee75dc core: update ChangeLog (issue #1267) 2018-10-14 21:03:56 +02:00
Sébastien Helleu c5ccac9e22 Merge pull request #1267 from emkw/master
lua: mkdir API functions should return ERROR on error.
2018-10-14 21:03:24 +02:00
Sébastien Helleu 37da24ca22 doc: update auto-generated files with IRC options 2018-10-14 21:02:03 +02:00
Nils Görs 21b4294f4e core: update German translations 2018-10-14 20:50:03 +02:00
emk 63e2a3dab9 lua: mkdir API functions should return ERROR on error. 2018-10-14 20:39:00 +02:00
Sébastien Helleu d07701dae6 irc: fix colors 14 and 15 in /help irc.color.mirc_remap (closes #1266) 2018-10-14 20:38:14 +02:00
Sébastien Helleu 8d1dcb666a doc: update Japanese auto-generated file 2018-10-14 09:14:48 +02:00
Sébastien Helleu b348479e4c Merge pull request #1265 from l/master/translation/ja_JP
core: update Japanese translations
2018-10-14 09:13:48 +02:00
AYANOKOUZI, Ryuunosuke 85544ca6dd core: update Japanese translations 2018-10-14 09:00:00 +09:00
Sébastien Helleu a3e0c3f0e4 Version 2.3-rc1 2018-10-13 15:57:20 +02:00
Sébastien Helleu 96938d47f1 doc: update German auto-generated file 2018-10-11 21:09:01 +02:00
Nils Görs 72d5274d54 core: update German translations 2018-10-10 19:27:15 +02:00
Sébastien Helleu 8da3458f4c core: add repeat of string in evaluation of expressions with "repeat:count,string" (closes #958) 2018-10-09 21:12:02 +02:00
Sébastien Helleu 82697714e1 core: fix evaluation of nested ternary operators (closes #1263) 2018-10-08 22:51:08 +02:00
Sébastien Helleu a774ffd4e8 doc: update German auto-generated file 2018-10-08 21:35:39 +02:00
Nils Görs 7f69fff41e core: update German translations 2018-10-08 21:06:18 +02:00
Sébastien Helleu 102fc6662b code: fix issue in docgen.py with hashlib and Python 3 2018-10-06 09:58:22 +02:00
Sébastien Helleu e6e46bcae6 core: update ChangeLog (issue #1259) 2018-10-06 07:13:23 +02:00
Sébastien Helleu 40a87970e1 core: update translations 2018-10-06 07:12:21 +02:00
Sébastien Helleu 5173e19ff3 core: fix style 2018-10-06 07:10:36 +02:00
Sébastien Helleu e688fa4daa Merge remote-tracking branch 'origin/pr/1259' 2018-10-06 07:07:35 +02:00
Sébastien Helleu 5c766317df core: update WeeChat URL in debian NEWS file 2018-10-03 21:39:29 +02:00
Sébastien Helleu 30121ff9df aspell: remove useless test on max_suggestions 2018-10-01 23:00:05 +02:00
Sébastien Helleu ecdbaef288 relay: remove useless test on length 2018-10-01 22:59:05 +02:00
Sébastien Helleu 4b58ea37c0 relay: remove useless test on num_sent 2018-10-01 22:58:25 +02:00
Sébastien Helleu fc63620f1e irc: remove useless test on argc 2018-10-01 22:58:13 +02:00
Sébastien Helleu fb3ca3caae core: fix format of variables in printf-like functions (from int to long and long long) 2018-10-01 22:57:13 +02:00
Sébastien Helleu d6d8b9094f irc: replace call to gmtime by gmtime_r 2018-10-01 22:22:06 +02:00
Sébastien Helleu 56daba869e core: replace call to gmtime by gmtime_r 2018-10-01 22:21:56 +02:00
Sébastien Helleu 50567b0f64 core: add missing argument in call to log_printf 2018-10-01 22:21:43 +02:00
Sébastien Helleu 8abd05fe3d core: replace "long unsigned int" by "unsigned long" 2018-10-01 22:21:25 +02:00
Sébastien Helleu b7f3ba69e1 doc: update Japanese auto-generated file 2018-09-30 10:01:41 +02:00
Sébastien Helleu e28cb00106 relay: add real IP in client description (closes #1256) 2018-09-30 09:59:45 +02:00
Sébastien Helleu 0f782166e2 Merge pull request #1255 from l/master/translation/ja_JP
core: update Japanese translations
2018-09-30 09:01:19 +02:00
AYANOKOUZI, Ryuunosuke 9c96ce825b core: update Japanese translations 2018-09-30 09:00:00 +09:00
Sébastien Helleu eec2e37d20 doc: update German auto-generated file 2018-09-24 23:55:03 +02:00
Nils Görs 6bb0130e7b core: update German translations 2018-09-24 22:28:24 +02:00
Sébastien Helleu ff66a8a161 logger: add more info about log levels in /help logger (closes #1254) 2018-09-24 19:05:46 +02:00
Sébastien Helleu 7b3ec510ca logger: move logger command into a separate source file 2018-09-24 19:05:21 +02:00
Sébastien Helleu 4f0a64cc8b Merge pull request #1251 from l/master/translation/ja_JP
core: update Japanese translations
2018-09-22 08:48:34 +02:00
AYANOKOUZI, Ryuunosuke 4cf86af506 core: update Japanese translations 2018-09-22 09:00:00 +09:00
Sébastien Helleu ce9bcadaa8 doc: update German auto-generated file 2018-09-20 22:32:08 +02:00
Nils Görs a7a04783d4 doc: update German documentation 2018-09-20 21:20:01 +02:00
Sébastien Helleu 126b7d4433 core: update translations 2018-09-20 21:05:26 +02:00
Sébastien Helleu 93b5e60441 irc: display a warning when the value of option irc.server.xxx.autojoin is set to an invalid value 2018-09-20 20:32:47 +02:00
Sébastien Helleu 65f1c82a87 core: allow multiple arguments in command /buffer close 2018-09-18 21:27:44 +02:00
Simmo Saan 54cd82e4a4 core: allow specifying buffer number/name for /buffer localvar 2018-09-09 19:42:31 +03:00
Sébastien Helleu 7b8faf6d97 relay: fix URL to the page with remote interfaces in /help relay 2018-09-09 10:07:16 +02:00
Sébastien Helleu 1ff9d1f52a core: add missing slash at the end of weechat.org URLs 2018-09-09 10:00:53 +02:00
Nils Görs 952640e88c core: update German translations 2018-09-06 22:26:38 +02:00
Sébastien Helleu fcf7469d76 core: allow multiple options "-r" ("--run-command") in command line arguments (closes #1248) 2018-09-06 21:52:02 +02:00
Sébastien Helleu 8945e70f81 doc: add question about aspell dictionaries in FAQ 2018-09-06 21:22:50 +02:00
Sébastien Helleu f0d0612a33 doc: add missing comma in example of function config_new_option (plugin API reference) 2018-09-01 08:14:42 +02:00
Sébastien Helleu 796859b873 core: fix copyright dates 2018-09-01 08:13:12 +02:00
Sébastien Helleu 533dbf972d core: rename variable "plugin_blacklisted" to "plugin_forbidden" 2018-08-30 22:10:46 +02:00
Sébastien Helleu 1d85ff0f8d doc: fix hdata example (relay protocol) (closes #1242) 2018-08-30 22:08:55 +02:00
Nils Görs a9e84bfc52 core: update German translations 2018-08-20 20:40:40 +02:00
Sébastien Helleu b53045281e doc: update Japanese auto-generated file 2018-08-19 19:58:24 +02:00
Sébastien Helleu f4dbc060b8 Merge pull request #1234 from l/master/translation/ja_JP
core: update Japanese translations
2018-08-19 19:57:45 +02:00
AYANOKOUZI, Ryuunosuke 1495ecf6d0 core: update Japanese translations 2018-08-19 09:00:00 +09:00
Sébastien Helleu 6bf0dfddd6 core: fix evaluation of condition when the left operand is an empty string 2018-08-18 15:30:16 +02:00
Sébastien Helleu 97ad48e317 core: fix typo in release notes 2018-08-18 11:05:26 +02:00
Sébastien Helleu 41d5cdd14b core: move "new" info in release notes 2018-08-18 11:01:25 +02:00
Sébastien Helleu 5c9608f05c doc: update German auto-generated file 2018-08-17 21:52:54 +02:00
Nils Görs b4842dd707 Merge branch 'master' of github.com:weechat/weechat 2018-08-17 21:49:00 +02:00
Nils Görs cd5d48fc87 core: update German translations 2018-08-17 21:48:28 +02:00
Sébastien Helleu f4ea802322 doc: fix typo in German user guide 2018-08-17 21:46:39 +02:00
Nils Görs 79f204eeb9 core: update German translations 2018-08-17 20:49:31 +02:00
Sébastien Helleu 466dbbe75b core: add option "-P" (or "--plugins") to customize the plugins to load at startup
If given, the option replaces the option weechat.plugin.autoload.
2018-08-17 19:44:41 +02:00
Sébastien Helleu 822270ccca core: update translations 2018-08-17 19:37:31 +02:00
Sébastien Helleu fad6768318 doc: split list of modifiers into two tables (plugin API reference) 2018-08-17 19:33:46 +02:00
Sébastien Helleu 85681772f0 core: add "line" trigger in ChangeLog 2018-08-17 08:48:09 +02:00
Sébastien Helleu 669aa2741a doc: rename variable "tg_tags" to "tags" in line trigger (user guide) 2018-08-17 08:16:14 +02:00
Sébastien Helleu 968d7ede29 trigger: add variables "tg_prefix_nocolor" and "tg_message_nocolor" in line trigger 2018-08-17 07:59:20 +02:00
Sébastien Helleu e7096810c4 trigger: rename variable "tg_tags" to "tags" in line trigger 2018-08-17 07:43:56 +02:00
Sébastien Helleu 9105c3ba1f trigger: allow creation of temporary variables with the regex 2018-08-16 22:47:47 +02:00
Sébastien Helleu 1a0087a7d7 core: fix string evaluation with regex replacement when the string is empty 2018-08-16 22:45:42 +02:00
Sébastien Helleu ca90f28beb tests: add tests on modifier hook 2018-08-16 18:27:04 +02:00
Sébastien Helleu 6ca2408c99 core: fix weechat_print modifier
All changes:
- always send the Tab char in the weechat_print modifier string
- handle special cases in weechat_print modifier: no prefix (" \t...") or no
  date ("\t\t...")
2018-08-16 18:19:07 +02:00
Sébastien Helleu ec5a5fd73f core: fix use of NULL pointer in command /buffer when the GUI is not yet initialized 2018-08-15 16:24:07 +02:00
Sébastien Helleu f10578b18b core: remove use of pointer "buffer" once the line has been initialized 2018-08-15 16:16:31 +02:00
Sébastien Helleu cfc491f7d1 core: remove unneeded initialization of variable "highlight" 2018-08-15 16:11:27 +02:00
Sébastien Helleu eb64c8d65c irc: add missing initialization of variable "chghost" 2018-08-15 16:02:43 +02:00
Sébastien Helleu 053d432eec doc: update auto-generated files with hdata 2018-08-15 12:36:20 +02:00
Sébastien Helleu 50bedd10b6 core: update translations 2018-08-15 12:36:01 +02:00
Sébastien Helleu cb8b60028b trigger: fix /help trigger 2018-08-15 12:35:42 +02:00
Sébastien Helleu ba820a0172 doc: fix list of variables that can be updated in a hook_line trigger (user guide) 2018-08-15 12:28:15 +02:00
Sébastien Helleu 8c47ca6926 core: add comments in function to print a line 2018-08-15 12:17:42 +02:00
Sébastien Helleu 7b0cced319 core: fix destruction of line prefix in weechat_print modifier 2018-08-15 12:16:52 +02:00
Sébastien Helleu 8e939b089d core: fix comparison of strings in weechat_print modifier 2018-08-15 12:16:06 +02:00
Sébastien Helleu 2f2263afa6 trigger: add missing initialization of variable "tags" in hook line callback 2018-08-15 11:59:26 +02:00
Sébastien Helleu b8ec088fd9 doc: fix typos in plugin API reference 2018-08-15 09:56:18 +02:00
Sébastien Helleu 057f2c3396 tests: properly initialize variable argc before tests on function string_split 2018-08-15 09:43:35 +02:00
Sébastien Helleu cdc7faf93f tests: add test on function string_split with a string having only delimiters 2018-08-15 09:42:59 +02:00
Sébastien Helleu 6d061a9ac0 api: fix memory leak in function string_split 2018-08-15 09:42:43 +02:00
Sébastien Helleu aff752c50b trigger: fix memory leak in hook_line trigger callback 2018-08-15 09:33:25 +02:00
Sébastien Helleu bb8ac59c32 core: fix memory leak when removing a line hook 2018-08-15 09:32:56 +02:00
Sébastien Helleu 51bda896c8 doc: add list of variables that can be updated by type of trigger (user guide) 2018-08-15 09:07:01 +02:00
Sébastien Helleu 66d11b7e46 trigger: add missing values for line trigger 2018-08-15 09:02:58 +02:00
Sébastien Helleu d8c7b3fd5e doc: add more info about line, print and modifier functions for new lines (plugin API reference) 2018-08-15 09:01:55 +02:00
Sébastien Helleu 3bdab1c538 core: fix type of variables "buffer_name" and "buffer_type" sent to the hook_line callback 2018-08-14 14:51:18 +02:00
Sébastien Helleu 49c3e62106 core: split wee-hook.c into multiple sources 2018-08-14 07:15:39 +02:00
Sébastien Helleu 42be1a74a0 api: add function hook_line 2018-08-12 21:45:00 +02:00
Sébastien Helleu 12a6f74ec0 core: fix check of tags in lines
All changes:
- fix check of tags in lines: check lines without tags, fix check of tags with
  negation ("!tag")
- add string functions string_split_tags and string_free_split_tags
- add tests on function gui_line_match_tags
2018-08-12 20:30:13 +02:00
Sébastien Helleu d699ae89aa doc: fix style (relay protocol) 2018-08-12 20:29:26 +02:00
Sébastien Helleu e85bf426c1 doc: add length of field "id" in binary message (relay protocol) (closes #1233) 2018-08-12 20:23:24 +02:00
Sébastien Helleu 48cbf3ad37 doc: add "/msg nickserv set password" in list of commands handled by default trigger "cmd_pass" (user guide) 2018-08-11 09:48:32 +02:00
Sébastien Helleu 737a16b7de doc: fix default conditions of beep trigger (user guide) 2018-08-11 09:38:54 +02:00
Nils Görs 6140aac57f doc: update German documentation 2018-07-29 20:41:17 +02:00
Sébastien Helleu b3fc7c1b1a core: update weechat.org URLs to match latest version of the site 2018-07-29 11:03:24 +02:00
Sébastien Helleu 2047d4f1f7 doc: replace features page with remote interfaces (FAQ) 2018-07-29 10:57:39 +02:00
Sébastien Helleu ac5f26367a core: add contributor in AUTHORS.adoc (issue #1228) 2018-07-28 22:29:19 +02:00
Sébastien Helleu 9b3ec88559 Merge pull request #1228 from Redfoxmoon3/master
don't overwrite user installed GNU auto* files
2018-07-28 22:21:53 +02:00
Ørjan Malde ea4aad0b1d don't overwrite user installed GNU auto* files
autoreconf -f overwrites user installed GNU auto* files like config.sub and config.guess
2018-07-27 21:32:27 +02:00
Sébastien Helleu 9fb8ca649e core: update ChangeLog (issue #1162) 2018-07-27 07:53:17 +02:00
Sébastien Helleu a14973816b Merge pull request #1225 from weechatter/partial_completion
gui: fix uncleared completion item (#1162)
2018-07-27 07:51:36 +02:00
Sébastien Helleu 7d7ca34a41 core: allow partial buffer name in command /buffer close (closes #1226) 2018-07-27 07:48:02 +02:00
Sébastien Helleu b7d6be5936 scripts: fix duplicated lines in output of script eval (python, perl, ruby, lua and guile)
When there was a call to a hook callback during the eval, the output buffer was
cleared too late, and displayed multiple times in the buffer.

This commit clears the buffer even before we display it (this display can
trigger a hook callback).
2018-07-25 20:19:26 +02:00
Nils Görs b934e874d0 gui: fix uncleared completion item (#1162) 2018-07-21 12:50:39 +02:00
Sébastien Helleu df27a3b76a core: send signal "key_pressed" for mouse code only if the string is UTF-8 valid (closes #1220) 2018-07-15 15:09:31 +02:00
Jos Ahrens 738585d9e2 doc: mention there is an option to enable crash core files (user's guide)
For people skimming the section, it will not be immediately clear to
them, especially since everything seems to suggest this option is
enabled by default.
2018-07-15 14:18:07 +02:00
Jos Ahrens 62ad65ef45 core: improve instructions to report the crash 2018-07-15 14:09:34 +02:00
Sébastien Helleu 20a23484ed Merge pull request #1223 from l/master/translation/ja_JP
doc: update Japanese translations
2018-07-14 20:42:39 +02:00
Sébastien Helleu a3179c8c0d Version 2.3-dev 2018-07-14 13:36:04 +02:00
Sébastien Helleu c47916ac8e Version 2.2 2018-07-14 12:35:10 +02:00
AYANOKOUZI, Ryuunosuke dd0b04d057 doc: update Japanese translations 2018-07-14 09:00:00 +09:00
Sébastien Helleu e0cecefb0f tests: fix compiler warnings on calls to snprintf 2018-07-13 22:35:39 +02:00
Sébastien Helleu 2682fb450d lua: fix macros used to return values 2018-07-13 21:25:51 +02:00
Sébastien Helleu bf48efffec relay: fix compiler warnings on calls to snprintf 2018-07-13 21:25:07 +02:00
Sébastien Helleu a205886d7a core: fix compiler warnings on calls to snprintf 2018-07-13 21:24:40 +02:00
Simmo Saan d12e29620b irc: make command characters optional in server's command option 2017-06-17 18:38:37 +03:00
Simmo Saan 49ce989de6 gui: fix separator overlap check for deeply nested windows 2015-12-22 10:39:58 +02:00
Simmo Saan 9cc68b641b gui: fix window separators not respecting window splits 2015-12-21 17:41:38 +02:00
Simmo Saan 93d2dbf3e1 gui: add missing line pointer to long words split across lines (closes #617)
Displaying a word which was forced to be split across lines added the new
coords without pointer to the original line. This made them unquotable in
cursor mode.
2015-12-03 12:00:22 +02:00
Simmo Saan bcb7ac7777 gui: fix focus data being offset when prefix_align is none (closes #610)
window->coords_x_message stored a single x coordinate for the entire
window which was used for message position calculation. Such approach
does not work when prefix_align is none, thus now the x coordinate in
question is exactly calculated for a line individually.
2015-12-03 11:57:09 +02:00
874 changed files with 60691 additions and 30053 deletions
-1
View File
@@ -5,5 +5,4 @@ debian-devel export-ignore
debian-stable export-ignore
weechat.spec export-ignore
.mailmap export-ignore
tests/ubuntu/ export-ignore
tools/build-debian.sh export-ignore
+1
View File
@@ -0,0 +1 @@
custom: https://weechat.org/donate/
+6 -5
View File
@@ -1,6 +1,7 @@
---
name: Bug report
about: Create a bug report (please do not report security issues here)
labels: bug
---
@@ -10,17 +11,17 @@ about: Create a bug report (please do not report security issues here)
## Current behavior
## Steps to reproduce
1. 
2. 
3. 
## Desired behavior
## Current behavior
## Expected behavior
@@ -1,6 +1,7 @@
---
name: Feature request
about: Request a new feature / enhancement
labels: feature
---
+1
View File
@@ -1,6 +1,7 @@
---
name: Question
about: Ask a question (please read first FAQ and docs)
labels: question
---
+2 -1
View File
@@ -16,7 +16,8 @@
ABOUT-NLS
autom4te*
build*/*
build/*
builddir/*
compile
config.guess
config.h
+24 -15
View File
@@ -1,30 +1,37 @@
dist: xenial
sudo: required
language: c
compiler:
- gcc
- clang
sudo: required
dist: trusty
env:
- BUILDTOOL="cmake" BUILDARGS=""
# - BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON3=ON"
- BUILDTOOL="cmake" BUILDARGS="-DENABLE_PYTHON2=ON"
- BUILDTOOL="cmake" BUILDARGS="-DENABLE_GNUTLS=OFF"
- BUILDTOOL="cmake" BUILDARGS="-DENABLE_CODE_COVERAGE=ON" CODECOVERAGE="1"
- BUILDTOOL="autotools" BUILDARGS=""
# - BUILDTOOL="autotools" BUILDARGS="--enable-python3"
- BUILDTOOL="autotools" BUILDARGS="--enable-python2"
- BUILDTOOL="autotools" BUILDARGS="--disable-gnutls"
matrix:
fast_finish: true
exclude:
- compiler: clang
env: BUILDTOOL="cmake" BUILDARGS="-DENABLE_CODE_COVERAGE=ON" CODECOVERAGE="1"
before_script:
# Workaround https://github.com/travis-ci/travis-ci/issues/5326
- export PATH=$(echo $PATH | tr ':' "\n" | sed '/\/opt\/python/d' | tr "\n" ":" | sed "s|::|:|g")
- rm -rf "$HOME/.pyenv"
- sudo rm -rf /opt/pyenv
- echo 'APT::Install-Recommends "false";' | sudo tee -a /etc/apt/apt.conf
- sudo add-apt-repository -y ppa:ondrej/php
- sudo apt-get update -qq
- sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.1-0-dev tcl8.5-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt11-dev libgnutls-dev zlib1g-dev curl libcpputest-dev php7.0-dev libphp7.0-embed
- sudo gem install asciidoctor
- sudo pip install msgcheck pylint
- travis_retry sudo apt-get update -qq
- travis_retry sudo apt-get -y install devscripts equivs python-pip libenchant-dev autopoint cmake lcov pkg-config libncursesw5-dev gem2deb libperl-dev python-dev python3-dev libaspell-dev liblua5.3-dev tcl8.6-dev guile-2.0-dev libv8-dev libcurl4-gnutls-dev libgcrypt20-dev libgnutls-dev zlib1g-dev curl libcpputest-dev php7.0-dev libphp7.0-embed
- travis_retry sudo gem install asciidoctor
- travis_retry sudo -H pip install --ignore-installed msgcheck pylint
- phpenv local system
# work around broken travis environment variables, see https://github.com/travis-ci/travis-ci/issues/5301
- unset PYTHON_CFLAGS
script:
- ./tools/build-test.sh
@@ -39,6 +46,8 @@ script:
after_success:
- weechat --help
- weechat-curses --help
matrix:
fast_finish: true
- weechat --colors
- weechat --license
- weechat --version
- weechat --temp-dir --run-command "/debug dirs;/debug libs" --run-command "/quit"
- if [ "$CODECOVERAGE" = "1" ]; then bash <(curl -s https://codecov.io/bash) -f coverage.info || echo "Codecov error"; fi
+14 -1
View File
@@ -16,6 +16,7 @@
Alphabetically:
* Adam Saponara (adsr)
* Adrian Bjugård
* Ailin Nemui (Nei)
* Aleksey V Zapparov
* Alex Tarkovsky
@@ -35,9 +36,11 @@ Alphabetically:
* Dominik Honnef
* Dominique Martinet
* Eduardo Elias
* Eli Schwartz
* Elizabeth Myers (Elizacat)
* Elián Hanisch (m4v)
* Emanuele Giaquinta
* emk
* Esteban I. Ruiz Moreno (Exio)
* Evgeny Shmarnev
* Felix Eckhofer
@@ -52,9 +55,11 @@ Alphabetically:
* Jakub Jirutka
* Jason A. Donenfeld (zx2c4)
* JD Horelick (jdhore)
* jesopo
* Jim Ramsay (lack)
* Jiri Golembiovsky (GolemJ)
* Joey Pabalinas (alyptik)
* Johan Rylander
* Jos Ahrens
* Joseph Kichline
* Juan Francisco Cantero Hurtado
@@ -63,6 +68,7 @@ Alphabetically:
* Koka El Kiwi (KiwiDash)
* Krzysztof Koroscik (soltys)
* Kyle Fuller (kylef)
* Kyle Sabo
* Leonid Evdokimov
* Lázaro A.
* Linus Heckemann
@@ -71,8 +77,10 @@ Alphabetically:
* Marco Paolone
* Mateusz Poszwa
* Matt Robinson
* Matthew Martin
* Max Anton Teufel
* Maxim Baz
* Michael Siegel
* Miroslav Koskar
* Murilo Opsfelder Araujo
* Neui
@@ -94,6 +102,7 @@ Alphabetically:
* Quentin Glidic (SardemFF7)
* Quentin Pradet
* Quico Noizeux
* rafasc
* Raghavendra Prabhu
* raspbeguy
* Rettub
@@ -101,6 +110,7 @@ Alphabetically:
* Romero B. de S. Malaquias
* Rudolf Polzer (divVerent)
* Ruslan Bekenev
* Ryan Farley
* Ryuunosuke Ayanokouzi
* scumjr
* Sergio Durigan Junior
@@ -118,14 +128,17 @@ Alphabetically:
* Tom Alsberg
* Tomoe Mami
* Tor Hveem (xt)
* Trevor Bergeron
* Valentin Lorentz (progval)
* Vasco Almeida
* Voroskoi
* Wojciech Kwolek
* W. Trevor King
* Yannick Palanque
* ZethJack
* Ørjan Malde
== Contact
See https://weechat.org/files/doc/devel/weechat_user.en.html#support[user's guide]
or https://weechat.org/dev/support
or https://weechat.org/about/support
+85 -55
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007-2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -16,10 +16,10 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
cmake_minimum_required(VERSION 2.4)
cmake_minimum_required(VERSION 3.0)
project(weechat C)
@@ -27,8 +27,8 @@ project(weechat C)
set(CMAKE_VERBOSE_MAKEFILE OFF)
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})
set(CMAKE_SKIP_RPATH ON)
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wall -Wextra -Werror-implicit-function-declaration")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char -Wall -Wextra")
# version
execute_process(COMMAND ${CMAKE_SOURCE_DIR}/version.sh devel-major OUTPUT_VARIABLE VERSION_MAJOR)
@@ -58,10 +58,12 @@ endif()
set(PKG_STRING "${PROJECT_NAME} ${VERSION}")
string(REPLACE "\";\"" "\ " PKG_STRING ${PKG_STRING})
if(DEFINED LIBDIR)
set(LIBDIR ${LIBDIR}/${PROJECT_NAME})
else()
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib/${PROJECT_NAME})
if(NOT DEFINED LIBDIR)
set(LIBDIR ${CMAKE_INSTALL_PREFIX}/lib)
endif()
if(NOT DEFINED WEECHAT_LIBDIR)
set(WEECHAT_LIBDIR ${LIBDIR}/${PROJECT_NAME})
endif()
if(NOT DEFINED SHAREDIR)
@@ -82,38 +84,46 @@ else()
set(INCLUDEDIR ${CMAKE_INSTALL_PREFIX}/include/${PROJECT_NAME})
endif()
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_GNUTLS "Enable SSLv3/TLS support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_ASPELL "Enable Aspell plugin" ON)
option(ENABLE_ENCHANT "Enable Enchant lib for Aspell plugin" OFF)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_PYTHON3 "Use Python 3.x if found (NOT recommended because many \"official\" scripts won't work)" OFF)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" ON)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_NCURSES "Compile the Ncurses interface" ON)
option(ENABLE_HEADLESS "Compile the headless binary (required for tests)" ON)
option(ENABLE_NLS "Enable Native Language Support" ON)
option(ENABLE_GNUTLS "Enable SSLv3/TLS support" ON)
option(ENABLE_LARGEFILE "Enable Large File Support" ON)
option(ENABLE_ALIAS "Enable Alias plugin" ON)
option(ENABLE_BUFLIST "Enable Buflist plugin" ON)
option(ENABLE_CHARSET "Enable Charset plugin" ON)
option(ENABLE_EXEC "Enable Exec plugin" ON)
option(ENABLE_FIFO "Enable FIFO plugin" ON)
option(ENABLE_FSET "Enable Fast Set plugin" ON)
option(ENABLE_IRC "Enable IRC plugin" ON)
option(ENABLE_LOGGER "Enable Logger plugin" ON)
option(ENABLE_RELAY "Enable Relay plugin" ON)
option(ENABLE_SCRIPT "Enable Script plugin (script manager)" ON)
option(ENABLE_SCRIPTS "Enable script plugins (perl, python, ...)" ON)
option(ENABLE_PERL "Enable Perl scripting language" ON)
option(ENABLE_PYTHON "Enable Python scripting language" ON)
option(ENABLE_PYTHON2 "Use Python 2 instead of Python 3" OFF)
option(ENABLE_RUBY "Enable Ruby scripting language" ON)
option(ENABLE_LUA "Enable Lua scripting language" ON)
option(ENABLE_TCL "Enable Tcl scripting language" ON)
option(ENABLE_GUILE "Enable Scheme (guile) scripting language" ON)
option(ENABLE_JAVASCRIPT "Enable JavaScript scripting language" ON)
option(ENABLE_PHP "Enable PHP scripting language" ON)
option(ENABLE_SPELL "Enable Spell checker plugin" ON)
option(ENABLE_ENCHANT "Enable Enchant lib for Spell checker plugin" OFF)
option(ENABLE_TRIGGER "Enable Trigger plugin" ON)
option(ENABLE_XFER "Enable Xfer plugin" ON)
option(ENABLE_MAN "Enable build of man page" OFF)
option(ENABLE_DOC "Enable build of documentation" OFF)
option(ENABLE_TESTS "Enable tests" OFF)
option(ENABLE_CODE_COVERAGE "Enable code coverage" OFF)
# code coverage
add_library(coverage_config INTERFACE)
if(ENABLE_CODE_COVERAGE)
target_compile_options(coverage_config INTERFACE -O0 -g --coverage)
target_link_libraries(coverage_config INTERFACE --coverage)
endif()
# headless mode is required for tests
if(ENABLE_TESTS AND NOT ENABLE_HEADLESS)
@@ -170,6 +180,12 @@ if(ENABLE_NLS)
find_package(Gettext)
if(GETTEXT_FOUND)
add_definitions(-DENABLE_NLS)
find_package(Intl)
if(Intl_FOUND)
list(APPEND EXTRA_LIBS "${Intl_LIBRARIES}")
endif()
else()
message(SEND_ERROR "Gettext not found")
endif()
endif()
@@ -187,6 +203,8 @@ if(ENABLE_GNUTLS)
include_directories(${GNUTLS_INCLUDE_PATH})
set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -L${GNUTLS_LIBRARY_PATH}")
list(APPEND EXTRA_LIBS gnutls)
else()
message(SEND_ERROR "GnuTLS not found")
endif()
endif()
@@ -217,6 +235,8 @@ if(DL_LIBRARY)
list(APPEND EXTRA_LIBS dl)
endif()
add_subdirectory(icons)
if(ENABLE_NLS)
add_subdirectory(po)
endif()
@@ -224,10 +244,14 @@ endif()
add_subdirectory(src)
add_subdirectory(doc)
find_package(CppUTest)
if(ENABLE_TESTS AND CPPUTEST_FOUND)
enable_testing()
add_subdirectory(tests)
if(ENABLE_TESTS)
find_package(CppUTest)
if(CPPUTEST_FOUND)
enable_testing()
add_subdirectory(tests)
else()
message(SEND_ERROR "CppUTest not found")
endif()
endif()
configure_file(config.h.cmake config.h @ONLY)
@@ -235,28 +259,32 @@ configure_file(config.h.cmake config.h @ONLY)
# set the git version in "config-git.h"
add_custom_target(version_git ALL
COMMAND "${CMAKE_CURRENT_SOURCE_DIR}/tools/git-version.sh" "${CMAKE_CURRENT_SOURCE_DIR}" "${VERSION}" "config-git.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
IMMEDIATE @ONLY)
IMMEDIATE @ONLY
)
add_custom_target(uninstall
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake")
"${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake"
)
add_custom_target(dist
"${CMAKE_CURRENT_SOURCE_DIR}/tools/makedist.sh" "${VERSION}" "HEAD" "${CMAKE_CURRENT_BINARY_DIR}"
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
# pkgconfig file
set(PACKAGE "${PROJECT_NAME}")
set(prefix "${CMAKE_INSTALL_PREFIX}")
set(exec_prefix "\${prefix}")
set(libdir "\${exec_prefix}/lib")
string(REPLACE "${CMAKE_INSTALL_PREFIX}" "\${prefix}" libdir "${LIBDIR}")
set(includedir "\${prefix}/include")
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.pc.in ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/../pkgconfig)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/weechat.pc DESTINATION ${LIBDIR}/pkgconfig)
# cygport file (used to build Cygwin packages)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/weechat.cygport.in ${CMAKE_CURRENT_BINARY_DIR}/weechat-${VERSION}-1.cygport @ONLY)
@@ -269,11 +297,12 @@ if(CYGWIN)
${CMAKE_CURRENT_SOURCE_DIR}/Contributing.adoc
${CMAKE_CURRENT_SOURCE_DIR}/README.adoc
${CMAKE_CURRENT_SOURCE_DIR}/ReleaseNotes.adoc
DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME})
DESTINATION ${SHAREDIR}/doc/${PROJECT_NAME}
)
endif()
# icon
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.png DESTINATION ${SHAREDIR}/icons/hicolor/32x32/apps)
# desktop file
install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/weechat.desktop DESTINATION ${SHAREDIR}/applications)
# packages
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Fast, light and extensible chat client")
@@ -291,7 +320,8 @@ set(CPACK_PACKAGE_FILE_NAME weechat-binary-${VERSION})
# source package
set(CPACK_SOURCE_GENERATOR "TGZ;TBZ2")
set(CPACK_SOURCE_PACKAGE_FILE_NAME weechat-${VERSION})
set(CPACK_SOURCE_IGNORE_FILES "/\\\\.git" "/build/" "/m4/"
set(CPACK_SOURCE_IGNORE_FILES
"/\\\\.git" "/build/" "/m4/"
"/autom4te\\\\.cache/" "/ABOUT-NLS$" "/config\\\\.guess$" "/config\\\\.h$"
"/config\\\\.h.in$" "/config\\\\.log$" "/config\\\\.rpath$"
"/config\\\\.status$" "/config\\\\.sub$" "/configure$" "/depcomp$"
+4 -4
View File
@@ -1,7 +1,7 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -645,7 +645,7 @@ the "copyright" line and a pointer to where the full notice is found.
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <https://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
@@ -664,11 +664,11 @@ might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
<https://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
<https://www.gnu.org/philosophy/why-not-lgpl.html>.
+438 -191
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -65,7 +65,7 @@ instead.
== Translations
Pull requests on GitHub for fixes or new translations are welcome at any
time, for https://github.com/weechat/weechat[WeeChat] and the web site
time, for https://github.com/weechat/weechat[WeeChat] and the website
https://github.com/weechat/weechat.org[weechat.org].
To start a translation in a new language (not yet supported), please look at
+7 -8
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2006-2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -16,7 +16,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# This target will update file config-git.h with output of command "git describe"
@@ -29,7 +29,7 @@ if TESTS
tests_dir = tests
endif
SUBDIRS = po doc intl src $(tests_dir)
SUBDIRS = icons po doc intl src $(tests_dir)
EXTRA_DIST = AUTHORS.adoc \
ChangeLog.adoc \
@@ -56,7 +56,6 @@ EXTRA_DIST = AUTHORS.adoc \
cmake/FindPkgConfig.cmake \
cmake/FindPython.cmake \
cmake/FindRuby.cmake \
cmake/FindTCL.cmake \
cmake/FindV8.cmake \
cmake/FindZLIB.cmake \
cmake/cmake_uninstall.cmake.in \
@@ -66,17 +65,17 @@ EXTRA_DIST = AUTHORS.adoc \
tools/git-version.sh \
tools/makedist.sh \
version.sh \
weechat.png \
weechat.desktop \
weechat.pc.in \
weechat.cygport.in
ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = weechat.pc
icondir = $(datadir)/icons/hicolor/32x32/apps
icon_DATA = weechat.png
desktopdir = $(datadir)/applications
desktop_DATA = weechat.desktop
clean-local:
$(RM) config-git.h
+21 -18
View File
@@ -1,18 +1,21 @@
= WeeChat
:author: Sébastien Helleu
:email: flashcode@flashtux.org
:lang: en
pass:[<p align="center">] image:https://weechat.org/media/images/weechat_logo_large.png[align="center"] pass:[</p>]
image:https://img.shields.io/badge/diaspora*-follow-blue.svg["Diaspora*", link="https://diasp.eu/u/weechat"]
image:https://img.shields.io/badge/google%2B-follow-blue.svg["Google+", link="https://plus.google.com/+WeeChat"]
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://weechat.org/blog/"]
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="http://www.slant.co/topics/1323/~irc-clients-for-linux"]
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/about/donate/"]
image:https://img.shields.io/badge/mastodon-follow-blue.svg["Mastodon", link="https://hostux.social/@weechat"]
image:https://img.shields.io/badge/twitter-follow-blue.svg["Twitter", link="https://twitter.com/WeeChatClient"]
image:https://img.shields.io/badge/devel%20blog-follow-blue.svg["Devel blog", link="https://blog.weechat.org/"]
image:https://img.shields.io/badge/slant-recommend-28acad.svg["Slant", link="https://www.slant.co/topics/1323/~best-irc-clients-for-linux"]
image:https://img.shields.io/badge/help-donate%20%E2%9D%A4-ff69b4.svg["Donate", link="https://weechat.org/donate/"]
image:https://travis-ci.org/weechat/weechat.svg?branch=master["Build Status", link="https://travis-ci.org/weechat/weechat"]
image:https://codecov.io/gh/weechat/weechat/branch/master/graph/badge.svg["Code coverage", link="https://codecov.io/gh/weechat/weechat"]
WeeChat (Wee Enhanced Environment for Chat) is a free chat client, fast and
*WeeChat* (Wee Enhanced Environment for Chat) is a free chat client, fast and
light, designed for many operating systems.
It is highly customizable and extensible with scripts.
@@ -20,19 +23,19 @@ Homepage: https://weechat.org/
== Features
* *Modular chat client*: WeeChat has a lightweight core and optional plugins. All plugins (including IRC) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Mac OS X and Windows (Bash/Ubuntu and Cygwin).
* *Modular chat client*: WeeChat has a lightweight core and optional https://weechat.org/files/doc/stable/weechat_user.en.html#plugins[plugins]. All plugins (including https://weechat.org/files/doc/stable/weechat_user.en.html#irc_plugin[IRC]) are independent and can be unloaded.
* *Multi-platform*: WeeChat runs on GNU/Linux, *BSD, GNU/Hurd, Haiku, macOS and Windows (Bash/Ubuntu and Cygwin).
* *Multi-protocols*: WeeChat is designed to support multiple protocols by plugins, like IRC.
* *Standards-compliant*: the IRC plugin is compliant with RFCs 1459, 2810, 2811, 2812 and 2813.
* *Standards-compliant*: the IRC plugin is compliant with RFCs https://tools.ietf.org/html/rfc1459[1459], https://tools.ietf.org/html/rfc2810[2810], https://tools.ietf.org/html/rfc2811[2811], https://tools.ietf.org/html/rfc2812[2812] and https://tools.ietf.org/html/rfc2813[2813].
* *Small, fast and very light*: the core is and should stay as light and fast as possible.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and scripts (Perl, Python, Ruby, Lua, Tcl, Scheme, JavaScript and PHP).
* *Fully documented*: there is comprehensive documentation, which is translated into several languages.
* *Customizable and extensible*: there are a lot of options to customize WeeChat, and it is extensible with C plugins and https://weechat.org/scripts/[scripts] (https://weechat.org/scripts/stable/language/perl/[Perl], https://weechat.org/scripts/stable/language/python/[Python], https://weechat.org/scripts/stable/language/ruby[Ruby], https://weechat.org/scripts/stable/language/lua/[Lua], https://weechat.org/scripts/stable/language/tcl/[Tcl], https://weechat.org/scripts/stable/language/guile/[Scheme], https://weechat.org/scripts/stable/language/javascript/[JavaScript] and https://weechat.org/scripts/stable/language/php/[PHP]).
* *Fully documented*: there is comprehensive https://weechat.org/doc/[documentation], which is https://weechat.org/files/doc/stable/weechat_dev.en.html#translations[translated] into several languages.
* *Developed from scratch*: WeeChat was built from scratch and is not based on any other client.
* *Free software*: WeeChat is released under GPLv3.
* *Free software*: WeeChat is released under https://www.gnu.org/licenses/gpl-3.0.html[GPLv3].
image::https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"]
pass:[<p align="center">] image:https://weechat.org/media/images/screenshots/weechat/medium/weechat_2013-04-27_phlux_shadow.png[align="center"] pass:[</p>]
Other screenshots are on https://weechat.org/about/screenshots/[this page].
On WeeChat's website you can find https://weechat.org/about/screenshots/[more screenshots].
== Install
@@ -50,7 +53,7 @@ Following packages are optional:
* for i18n: gettext
* for SSL: gnutls, ca-certificates
* for spell checking: aspell
* for spell checking: aspell or enchant
* for scripting: python, perl, ruby, lua, tcl, guile, libv8 (javascript), php
* for building doc and man page: asciidoctor
* for building tests: C++ compiler, CppUTest
@@ -60,7 +63,7 @@ https://weechat.org/files/doc/devel/weechat_user.en.html#dependencies[user's gui
=== Compile
WeeChat can be built with http://cmake.org/[CMake] (recommended) or autotools.
WeeChat can be built with https://cmake.org/[CMake] (recommended) or autotools.
[NOTE]
Only CMake is officially supported to build WeeChat. You should only use
@@ -111,7 +114,7 @@ $ ctest -V
== Copyright
Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
This file is part of WeeChat, the extensible chat client.
@@ -126,4 +129,4 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
+295 -47
View File
@@ -17,8 +17,260 @@ https://weechat.org/files/changelog/ChangeLog-devel.html[ChangeLog]
(file _ChangeLog.adoc_ in sources).
[[v2.7.1]]
== Version 2.7.1 (2020-02-20)
Bug fix and maintenance release.
[[v2.7]]
== Version 2.7 (2019-12-08)
[[v2.7_cmake_errors]]
=== CMake errors on missing dependencies
When compiling WeeChat with CMake (which is the recommended way), errors are
now displayed on any missing dependency, if the optional feature was enabled
(most features are automatically enabled, except documentation, man page and
tests).
Any error on a missing dependency is fatal, so WeeChat can not be compiled.
This is a new behavior compared to old versions, where any missing dependency
was silently ignored and the compilation was possible anyway.
For example if PHP is not installed on your system, CMake will display an error
on missing PHP library:
----
-- checking for one of the modules 'php7'
CMake Warning at cmake/FindPHP.cmake:57 (message):
Could not find libphp7. Ensure PHP >=7.0.0 development libraries are
installed and compiled with `--enable-embed`. Ensure `php-config` is in
`PATH`. You may set `-DCMAKE_LIBRARY_PATH=...` to the directory containing
libphp7.
Call Stack (most recent call first):
src/plugins/CMakeLists.txt:157 (find_package)
CMake Error at src/plugins/CMakeLists.txt:161 (message):
Php not found
----
Then you can either install PHP or explicitly disable PHP if you don't need this
plugin, using this cmake option:
----
cmake .. -DENABLE_PHP=OFF
----
[[v2.7_python3_callbacks_strings]]
=== Strings received in Python 3 callbacks
The strings sent to script callbacks in Python 3 are now automatically converted
according to the content:
* if the string is valid UTF-8, it is sent as `str` (legacy behavior)
* if the string is not valid UTF-8, it is sent as `bytes` (new).
In some cases only, the string may not be valid UTF-8, so it is received as
`bytes` in the callback, which must take care of that.
For more information, see the WeeChat scripting guide: chapter about strings
received in callbacks (see also issue #1389).
Note: there are no changes for Python 2 (which is now deprecated and should not
be used any more), the strings sent to callbacks are always of type `str`, and
may contain invalid UTF-8 data, in the cases mentioned in the WeeChat scripting
guide.
[[v2.7_irc_message_decoding]]
=== IRC message decoding/encoding
A new server option called "charset_message" has been added, replacing the
option _irc.network.channel_encode_.
This new server option has three possible values:
* _message_ (default): the whole IRC message is decoded/encoded, this is the
new default behavior; in case of problem with channel names, try to use
_text_ instead
* _channel_: the message is decoded/encoded starting at the channel name (or
the text if no channel is present); this is like setting the old option
_irc.network.channel_encode_ to _on_
* _text_: the message is decoded/encoded starting from the text (for example
the user message); this is like setting the old option
_irc.network.channel_encode_ to _off_ (so this was the default behavior
in previous versions)
[[v2.7_xfer_file_receive_suffix]]
=== Suffix for files received via DCC
Files received via DCC (xfer plugin) now have a suffix ".part" during the
transfer. When the transfer is successful, the suffix is removed.
This suffix can be customized with the new option
_xfer.file.download_temporary_suffix_.
If you prefer the legacy behavior (no suffix added), you can set an empty value
in the new option:
----
/set xfer.file.download_temporary_suffix ""
----
[[v2.6]]
== Version 2.6 (2019-09-08)
[[v2.6_python3_default]]
=== Python 3 by default
Python 3 is now used by default to compile the "python" plugin (no fallback
on Python 2).
The CMake option `ENABLE_PYTHON3` has been renamed to `ENABLE_PYTHON2`
(configure option `--enable-python2`). If this option is enabled, the "python"
plugin is built with Python 2 (no fallback on Python 3).
[[v2.6_nick_colors]]
=== Nick colors
The function to compute the colors based on the nick letters has been fixed
(now the function uses only a 64-bit integer even if the underlying architecture
is 32-bit).
If you're running WeeChat on a 32-bit architecture and want to keep same colors
as the previous releases, you can use one of the two new hash values.
If you were using "djb2", you can switch to "djb2_32":
----
/set weechat.look.nick_color_hash djb2_32
----
If you were using "sum", you can switch to "sum_32":
----
/set weechat.look.nick_color_hash sum_32
----
[[v2.5]]
== Version 2.5 (2019-06-06)
[[v2.5_aspell_plugin_renamed]]
=== Aspell plugin renamed to Spell
The "aspell" plugin has been renamed to "spell", a more generic term, because
it supports aspell and also enchant.
Consequently, the following things have been renamed as well:
* file _aspell.conf_ renamed to _spell.conf_; the content of the
file has not changed, so you can just rename the file to keep your changes
* options _aspell.*_ renamed to _spell.*_
* command `/aspell` renamed to `/spell`
* default key kbd:[Alt+s] changed to `/mute spell toggle`
* bar item _aspell_dict_ renamed to _spell_dict_
* bar item _aspell_suggest_ renamed to _spell_suggest_
* info _aspell_dict_ renamed to _spell_dict_
If you are upgrading from a previous release, you can copy the config file
before doing `/upgrade`, in WeeChat:
----
/save aspell
/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
/upgrade
----
If you already upgraded WeeChat:
----
/exec -sh cp ~/.weechat/aspell.conf ~/.weechat/spell.conf
/reload spell
----
Once configuration is OK, you can delete the file _~/.weechat/aspell.conf_.
Then you can search if you are using "aspell" in values of options:
----
/fset =aspell
----
If there are options displayed, replace "aspell" by "spell" in values.
The default key kbd:[Alt+s] can be changed to the new `/spell` command:
----
/key bind meta-s /mute spell toggle
----
[[v2.5_xfer_option_speed_limit]]
=== Speed limit option for DCC files
The option _xfer.network.speed_limit_ has been renamed to
_xfer.network.speed_limit_send_.
If you changed the value of this option, you must set it again after upgrade.
A new option _xfer.network.speed_limit_recv_ has been added to limit the
speed of received files.
[[v2.5_hook_info_allocated_string]]
=== Allocated string in hook info and function info_get
The hook info callback now returns an allocated string, which must be freed
after use (in previous versions, a pointer to a static string was returned).
Consequently, the function info_get returns an allocated string, which must
be freed after use.
This affects only C code, no changes are required in scripts.
[[v2.4]]
== Version 2.4 (2019-02-17)
[[v2.4_nick_completer]]
=== Nick completer
A space is not added automatically any more when you complete a nick at the
beginning of command line. +
Purpose of this change is to be more flexible: you can choose whether the space
is added or not (it was always added in previous releases).
The default value of option `weechat.completion.nick_completer` has been changed
to add the space by default, but the value of option is not changed automatically
on upgrade.
So you can run this command if you upgraded from an old version
and want the space still added automatically:
----
/set weechat.completion.nick_completer ": "
----
[[v2.4_api_base64_functions]]
=== Base64 API functions
The functions to encode/decode base64 strings have been renamed and now support
base 16, 32, and 64.
New functions in C API, supporting base 16, 32, and 64:
* string_base_encode
* string_base_decode
Functions removed from C API:
* string_encode_base64
* string_decode_base64
[[v2.3]]
== Version 2.3 (2018-10-21)
No release note.
[[v2.2]]
== Version 2.2 (under dev)
== Version 2.2 (2018-07-14)
[[v2.2_default_hotlist_conditions]]
=== Default conditions for hotlist
@@ -34,8 +286,8 @@ is added to the hotlist:
* `${away}`: true if you are away on the server matching the buffer,
* `${buffer.num_displayed} == 0`: true if the buffer is not displayed in any
window
* `${info:relay_client_count,weechat,connected} > 0` (new): true if at least
one client is connected on a weechat relay.
* `${info:relay_client_count,weechat,connected} > 0`: true if at least
one client is connected on a weechat relay (new condition).
To use the new default value, you can reset the option with this command:
@@ -101,11 +353,31 @@ In older releases, this message was received:
A new Debian package has been added: _weechat-headless_ which contains the
binary _weechat-headless_ and its man page.
In version 2.0, this binary was in the package _weechat-curses_.
In version 2.1, this binary was in the package _weechat-curses_.
[[v2.1]]
== Version 2.1 (2018-03-18)
[[v2.1_option_name_completion]]
=== Completion for /set and /help commands
A new option weechat.completion.partial_completion_templates has been added to
force partial completion on some templates. By default, the option name
completed in `/set` and `/help` commands are now using partial completion.
If you prefer old behavior, you can remove the templates from the new option
with this command:
----
/set weechat.completion.partial_completion_templates ""
----
For more information about this feature, you can read help with:
----
/help weechat.completion.partial_completion_templates
----
[[v2.1_script_plugin_check_license]]
=== Option to check license of scripts loaded
@@ -127,26 +399,6 @@ List of options moved:
* _plugins.var.javascript.check_license_ (string) moved to _javascript.look.check_license_ (boolean)
* _plugins.var.php.check_license_ (string) moved to _php.look.check_license_ (boolean)
[[v2.1_option_name_completion]]
=== Completion for /set and /help commands
A new option weechat.completion.partial_completion_templates has been added to
force partial completion on some templates. By default, the option name
completed in `/set` and `/help` commands are now using partial completion.
If you prefer old behavior, you can remove the templates from the new option
with this command:
----
/set weechat.completion.partial_completion_templates ""
----
For more information about this feature, you can read help with:
----
/help weechat.completion.partial_completion_templates
----
[[v2.0.1]]
== Version 2.0.1 (2017-12-20)
@@ -254,20 +506,6 @@ No release note.
[[v1.8]]
== Version 1.8 (2017-05-13)
[[v1.8_options]]
=== Options
The option _script.scripts.url_force_https_ has been removed because now the
site weechat.org can only be used with HTTPS. +
Both HTTP and HTTPS protocols are allowed in the option _script.scripts.url_.
For http://weechat.org an automatic redirection to https://weechat.org will
occur, so you should check that the CA certificates are properly installed
on your machine.
Aspell option with color for suggestion on a misspelled word has been renamed:
* _aspell.color.suggestions_ has been renamed to _aspell.color.suggestion_
[[v1.8_buflist_plugin]]
=== Buflist plugin
@@ -299,6 +537,20 @@ prevent the plugin from loading on next startup:
/set weechat.plugin.autoload "*,!buflist"
----
[[v1.8_options]]
=== Options
The option _script.scripts.url_force_https_ has been removed because now the
site weechat.org can only be used with HTTPS. +
Both HTTP and HTTPS protocols are allowed in the option _script.scripts.url_.
For http://weechat.org/ an automatic redirection to https://weechat.org/ will
occur, so you should check that the CA certificates are properly installed
on your machine.
Aspell option with color for suggestion on a misspelled word has been renamed:
* _aspell.color.suggestions_ has been renamed to _aspell.color.suggestion_
[[v1.7.1]]
== Version 1.7.1 (2017-04-22)
@@ -704,7 +956,7 @@ behavior (never hide arguments, even with a channel key), you can do:
=== Jump to first/last buffer
The command `/input jump_last_buffer` has been replaced by `/buffer +`.
You can rebind the key kbd:[Alt+j], kbd:[Alt+l]:
You can rebind the key kbd:[Alt+j], kbd:[Alt+l] (`L`):
----
/key bind meta-jmeta-l /buffer +
@@ -761,7 +1013,7 @@ obsolete plugins).
=== Bare display
A bare display mode has been added (for easy text selection and click on URLs),
the new default key is kbd:[Alt+l].
the new default key is kbd:[Alt+l] (`L`).
Use command `/key missing` to add the key or `/key listdiff` to see differences
between your current keys and WeeChat default keys.
@@ -959,17 +1211,17 @@ accordingly).
[NOTE]
For packagers: you should create the link `weechat-curses` -> `weechat` if it's
not automatically created in the package (both cmake and configure are creating
not automatically created in the package (both CMake and configure are creating
this link on make install).
[[v0.4.2_man_page_documentation]]
=== Man page / documentation
Documentation is not built by default any more, you have to use option
`-DENABLE_DOC=ON` in cmake to enable it.
`-DENABLE_DOC=ON` in cmake command to enable it.
The man page is now built with asciidoc and translated in several
languages. A new cmake option `ENABLE_MAN` has been added to compile man page
languages. A new CMake option `ENABLE_MAN` has been added to compile man page
(`OFF` by default).
[[v0.4.2_aspell_colors]]
@@ -1484,10 +1736,6 @@ Major differences:
accordingly, scripts and plugins must have been designed for version 0.3.x to
be loaded into WeeChat.
More information about new API is available on wiki:
http://wiki.flashtux.org/wiki/WeeChat_0.3.0
and http://wiki.flashtux.org/wiki/WeeChat_0.3.0_API
[[v0.2.6.3]]
== Version 0.2.6.3 (2009-06-13)
+7 -8
View File
@@ -1,6 +1,6 @@
#!/bin/sh
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2006 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -17,15 +17,15 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
###
### common stuff
###
DIR=$(cd $(dirname "$0"); pwd)
cd $DIR
DIR=$(cd "$(dirname "$0")" || exit 1; pwd)
cd "$DIR" || exit 1
AUTOGEN_LOG=autogen.log
@@ -41,9 +41,8 @@ err ()
run ()
{
echo -n "Running \"$@\"..."
eval $@ >$AUTOGEN_LOG 2>&1
if [ $? = 0 ] ; then
printf "Running \"%s\"..." "$@"
if eval "$@" >$AUTOGEN_LOG 2>&1 ; then
echo " OK"
else
echo " FAILED"
@@ -64,7 +63,7 @@ run "rm -f ABOUT-NLS"
run "rm -rf intl"
# execute autoreconf cmds
run "autoreconf -fvi"
run "autoreconf -vi"
# ending
rm -f $AUTOGEN_LOG
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Asciidoctor
@@ -34,7 +34,7 @@ if(ASCIIDOCTOR_EXECUTABLE)
execute_process(
COMMAND ${ASCIIDOCTOR_EXECUTABLE} --version
OUTPUT_VARIABLE ASCIIDOCTOR_VERSION
)
)
string(REGEX REPLACE "^Asciidoctor ([^ ]+) .*" "\\1" ASCIIDOCTOR_VERSION "${ASCIIDOCTOR_VERSION}")
@@ -45,5 +45,5 @@ if(ASCIIDOCTOR_EXECUTABLE)
mark_as_advanced(
ASCIIDOCTOR_EXECUTABLE
ASCIIDOCTOR_VERSION
)
)
endif()
+3 -3
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Aspell
@@ -55,4 +55,4 @@ endif()
mark_as_advanced(
ASPELL_INCLUDE_PATH
ASPELL_LIBRARY
)
)
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2014-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2014-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find CppUTest
@@ -27,8 +27,8 @@
# CPPUTEST_LIBRARIES = Link options to compile with CppUTest
if(CPPUTEST_FOUND)
# Already in cache, be silent
set(CPPUTEST_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(CPPUTEST_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
+10 -11
View File
@@ -13,10 +13,8 @@
if(ENCHANT_INCLUDE_DIR AND ENCHANT_LIBRARIES)
# in cache already
set(ENCHANT_FOUND TRUE)
else()
if(NOT WIN32)
# use pkg-config to get the directories and then use these values
@@ -27,17 +25,19 @@ else()
endif()
find_path(ENCHANT_INCLUDE_DIR
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR}
${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant )
NAMES enchant++.h
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
PATH_SUFFIXES enchant
)
find_library(ENCHANT_LIBRARIES NAMES enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS} )
find_library(ENCHANT_LIBRARIES
NAMES enchant
HINTS ${PC_ENCHANT_LIBDIR}
${PC_ENCHANT_LIBRARY_DIRS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES )
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
@@ -47,5 +47,4 @@ else()
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
set(CMAKE_REQUIRED_INCLUDES)
set(CMAKE_REQUIRED_LIBRARIES)
endif()
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gcrypt
+5 -6
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2007 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
@@ -16,7 +16,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Gettext
@@ -28,8 +28,8 @@
# GETTEXT_FOUND = is gettext usable on system?
if(GETTEXT_FOUND)
# Already in cache, be silent
set(GETTEXT_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(GETTEXT_FIND_QUIETLY TRUE)
endif()
include(CheckIncludeFiles)
@@ -54,7 +54,7 @@ if(HAVE_LIBINTL_H)
PATHS
/usr/local/lib
/usr/lib
)
)
if(LIBINTL_LIBRARY)
if(${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD")
set(CMAKE_REQUIRED_LIBRARIES "iconv")
@@ -62,7 +62,6 @@ if(HAVE_LIBINTL_H)
else()
check_library_exists(${LIBINTL_LIBRARY} "dgettext" "" LIBINTL_HAS_DGETTEXT)
endif()
if(LIBINTL_HAS_DGETTEXT)
set(GETTEXT_FOUND TRUE)
endif()
+7 -7
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find GnuTLS
@@ -30,23 +30,23 @@
# GNUTLS_LDFLAGS = ldflags to use to compile
if(GNUTLS_INCLUDE_PATH AND GNUTLS_LIBRARY)
# Already in cache, be silent
set(GNUTLS_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(GNUTLS_FIND_QUIETLY TRUE)
endif()
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=prefix gnutls
OUTPUT_VARIABLE GNUTLS_PREFIX
OUTPUT_VARIABLE GNUTLS_PREFIX
)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --cflags gnutls
OUTPUT_VARIABLE GNUTLS_CFLAGS
OUTPUT_VARIABLE GNUTLS_CFLAGS
)
string(REGEX REPLACE "[\r\n]" "" GNUTLS_CFLAGS "${GNUTLS_CFLAGS}")
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --libs gnutls
OUTPUT_VARIABLE GNUTLS_LDFLAGS
OUTPUT_VARIABLE GNUTLS_LDFLAGS
)
string(REGEX REPLACE "[\r\n]" "" GNUTLS_LDFLAGS "${GNUTLS_LDFLAGS}")
+5 -5
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2011-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2011-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Guile
@@ -27,13 +27,13 @@
# GUILE_LIBRARIES = Link options to compile Guile
if(GUILE_FOUND)
# Already in cache, be silent
set(GUILE_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(GUILE_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(GUILE guile-2.0)
pkg_search_module(GUILE guile-2.2 guile-2.0)
if(GUILE_FOUND)
# check if variable "scm_install_gmp_memory_functions" exists
set(CMAKE_REQUIRED_INCLUDES ${GUILE_INCLUDE_DIRS})
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Iconv
@@ -29,8 +29,8 @@
# ICONV_FOUND = is iconv usable on system?
if(ICONV_FOUND)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(ICONV_FIND_QUIETLY TRUE)
endif()
include(CheckLibraryExists)
+4 -4
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Lua
@@ -29,8 +29,8 @@
# LUA_FOUND = is liblua usable on system?
if(LUA_FOUND)
# Already in cache, be silent
set(LUA_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(LUA_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
+4 -5
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(NCURSES_FOUND)
@@ -23,9 +23,8 @@ endif()
find_path(NCURSES_INCLUDE_PATH
NAMES ncurses.h curses.h
PATHS /usr/include/ncursesw /usr/include/ncurses /usr/include
/usr/local/include/ncursesw /usr/local/include/ncurses /usr/local/include
/usr/pkg/include/ncursesw /usr/pkg/include/ncurses /usr/pkg/include
PATH_SUFFIXES ncursesw ncurses
PATHS /usr/include /usr/local/include /usr/pkg/include
)
find_library(NCURSESW_LIBRARY
+7 -4
View File
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(PHP_FOUND)
@@ -28,10 +28,12 @@ endif()
if(NOT PHP_FOUND)
find_program(PHP_CONFIG_EXECUTABLE NAMES
php-config7.3 php-config73
php-config7.2 php-config72
php-config7.1 php-config71
php-config7.0 php-config70
php-config php-config7)
php-config php-config7
)
if (PHP_CONFIG_EXECUTABLE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --prefix OUTPUT_VARIABLE PHP_LIB_PREFIX OUTPUT_STRIP_TRAILING_WHITESPACE)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --includes OUTPUT_VARIABLE PHP_INCLUDE_DIRS OUTPUT_STRIP_TRAILING_WHITESPACE)
@@ -39,8 +41,9 @@ if(NOT PHP_FOUND)
execute_process(COMMAND ${PHP_CONFIG_EXECUTABLE} --version OUTPUT_VARIABLE PHP_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
if(${PHP_VERSION} MATCHES "^7")
find_library(PHP_LIB
NAMES php7.2 php7.1 php7.0 php7
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64)
NAMES php7.3 php7.2 php7.1 php7.0 php7
HINTS ${PHP_LIB_PREFIX} ${PHP_LIB_PREFIX}/lib ${PHP_LIB_PREFIX}/lib64
)
if(PHP_LIB)
get_filename_component(PHP_LIB_DIR ${PHP_LIB} DIRECTORY)
string(REPLACE "-I" "" PHP_INCLUDE_DIRS ${PHP_INCLUDE_DIRS})
+11 -11
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Perl libraries
@@ -29,31 +29,31 @@
# PERL_LFLAGS = perl compiler options for linking
if(PERL_FOUND)
# Already in cache, be silent
set(PERL_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(PERL_FIND_QUIETLY TRUE)
endif()
find_program(PERL_EXECUTABLE
NAMES perl perl5
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
)
if(PERL_EXECUTABLE)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MConfig -e "print \"\$Config{archlibexp}/CORE\""
OUTPUT_VARIABLE PERL_INTERNAL_DIR
)
)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ccopts
OUTPUT_VARIABLE PERL_CFLAGS
)
)
execute_process(
COMMAND ${PERL_EXECUTABLE} -MExtUtils::Embed -e ldopts
OUTPUT_VARIABLE PERL_LFLAGS
)
)
# remove the new lines from the output by replacing them with empty strings
string(REPLACE "\n" "" PERL_INTERNAL_DIR "${PERL_INTERNAL_DIR}")
@@ -63,12 +63,12 @@ if(PERL_EXECUTABLE)
find_path(PERL_INCLUDE_PATH
NAMES perl.h
PATHS ${PERL_INTERNAL_DIR}
)
)
find_library(PERL_LIBRARY
NAMES perl
PATHS /usr/lib /usr/local/lib /usr/pkg/lib ${PERL_INTERNAL_DIR}
)
)
if(PERL_LIBRARY AND PERL_INCLUDE_PATH)
set(PERL_FOUND TRUE)
@@ -80,5 +80,5 @@ if(PERL_EXECUTABLE)
PERL_LIBRARY
PERL_CFLAGS
PERL_LFLAGS
)
)
endif()
+597 -185
View File
@@ -1,117 +1,60 @@
# - a pkg-config module for CMake
#
# Usage:
# pkg_check_modules(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for all the given modules
#
# pkg_search_module(<PREFIX> [REQUIRED] <MODULE> [<MODULE>]*)
# checks for given modules and uses the first working one
#
# When the 'REQUIRED' argument was set, macros will fail with an error
# when module(s) could not be found
#
# It sets the following variables:
# PKG_CONFIG_FOUND ... true iff pkg-config works on the system
# PKG_CONFIG_EXECUTABLE ... pathname of the pkg-config program
# <PREFIX>_FOUND ... set to 1 iff module(s) exist
#
# For the following variables two sets of values exist; first one is the
# common one and has the given PREFIX. The second set contains flags
# which are given out when pkgconfig was called with the '--static'
# option.
# <XPREFIX>_LIBRARIES ... only the libraries (w/o the '-l')
# <XPREFIX>_LIBRARY_DIRS ... the paths of the libraries (w/o the '-L')
# <XPREFIX>_LDFLAGS ... all required linker flags
# <XPREFIX>_LDFLAGS_OTHER ... all other linker flags
# <XPREFIX>_INCLUDE_DIRS ... the '-I' preprocessor flags (w/o the '-I')
# <XPREFIX>_CFLAGS ... all required cflags
# <XPREFIX>_CFLAGS_OTHER ... the other compiler flags
#
# <XPREFIX> = <PREFIX> for common case
# <XPREFIX> = <PREFIX>_STATIC for static linking
#
# There are some special variables whose prefix depends on the count
# of given modules. When there is only one module, <PREFIX> stays
# unchanged. When there are multiple modules, the prefix will be
# changed to <PREFIX>_<MODNAME>:
# <XPREFIX>_VERSION ... version of the module
# <XPREFIX>_PREFIX ... prefix-directory of the module
# <XPREFIX>_INCLUDEDIR ... include-dir of the module
# <XPREFIX>_LIBDIR ... lib-dir of the module
#
# <XPREFIX> = <PREFIX> when |MODULES| == 1, else
# <XPREFIX> = <PREFIX>_<MODNAME>
#
# A <MODULE> parameter can have the following formats:
# {MODNAME} ... matches any version
# {MODNAME}>={VERSION} ... at least version <VERSION> is required
# {MODNAME}={VERSION} ... exactly version <VERSION> is required
# {MODNAME}<={VERSION} ... modules must not be newer than <VERSION>
#
# Examples
# pkg_check_modules (GLIB2 glib-2.0)
#
# pkg_check_modules (GLIB2 glib-2.0>=2.10)
# requires at least version 2.10 of glib2 and defines e.g.
# GLIB2_VERSION=2.10.3
#
# pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
# requires both glib2 and gtk2, and defines e.g.
# FOO_glib-2.0_VERSION=2.10.3
# FOO_gtk+-2.0_VERSION=2.8.20
#
# pkg_check_modules (XRENDER REQUIRED xrender)
# defines e.g.:
# XRENDER_LIBRARIES=Xrender;X11
# XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
#
# pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
# file Copyright.txt or https://cmake.org/licensing for details.
#[========================================[.rst:
FindPkgConfig
-------------
# Copyright (C) 2006 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
#
# Redistribution and use, with or without modification, are permitted
# provided that the following conditions are met:
#
# 1. Redistributions must retain the above copyright notice, this
# list of conditions and the following disclaimer.
# 2. The name of the author may not be used to endorse or promote
# products derived from this software without specific prior
# written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
# IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
A ``pkg-config`` module for CMake.
Finds the ``pkg-config`` executable and adds the :command:`pkg_get_variable`,
:command:`pkg_check_modules` and :command:`pkg_search_module` commands. The
following variables will also be set:
``PKG_CONFIG_FOUND``
if pkg-config executable was found
``PKG_CONFIG_EXECUTABLE``
pathname of the pkg-config program
``PKG_CONFIG_VERSION_STRING``
version of pkg-config (since CMake 2.8.8)
#]========================================]
### Common stuff ####
set(PKG_CONFIG_VERSION 1)
set(PKG_CONFIG_FOUND 0)
# find pkg-config, use PKG_CONFIG if set
if((NOT PKG_CONFIG_EXECUTABLE) AND (NOT "$ENV{PKG_CONFIG}" STREQUAL ""))
set(PKG_CONFIG_EXECUTABLE "$ENV{PKG_CONFIG}" CACHE FILEPATH "pkg-config executable")
endif()
find_program(PKG_CONFIG_EXECUTABLE NAMES pkg-config DOC "pkg-config executable")
mark_as_advanced(PKG_CONFIG_EXECUTABLE)
if(PKG_CONFIG_EXECUTABLE)
set(PKG_CONFIG_FOUND 1)
endif(PKG_CONFIG_EXECUTABLE)
if (PKG_CONFIG_EXECUTABLE)
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --version
OUTPUT_VARIABLE PKG_CONFIG_VERSION_STRING
ERROR_QUIET
OUTPUT_STRIP_TRAILING_WHITESPACE)
endif ()
include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
find_package_handle_standard_args(PkgConfig
REQUIRED_VARS PKG_CONFIG_EXECUTABLE
VERSION_VAR PKG_CONFIG_VERSION_STRING)
# This is needed because the module name is "PkgConfig" but the name of
# this variable has always been PKG_CONFIG_FOUND so this isn't automatically
# handled by FPHSA.
set(PKG_CONFIG_FOUND "${PKGCONFIG_FOUND}")
# Unsets the given variables
macro(_pkgconfig_unset var)
set(${var} "" CACHE INTERNAL "")
endmacro(_pkgconfig_unset)
endmacro()
macro(_pkgconfig_set var value)
set(${var} ${value} CACHE INTERNAL "")
endmacro(_pkgconfig_set)
endmacro()
# Invokes pkgconfig, cleans up the result and sets variables
macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
@@ -120,55 +63,311 @@ macro(_pkgconfig_invoke _pkglist _prefix _varname _regexp)
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${ARGN} ${_pkglist}
OUTPUT_VARIABLE _pkgconfig_invoke_result
RESULT_VARIABLE _pkgconfig_failed)
RESULT_VARIABLE _pkgconfig_failed
OUTPUT_STRIP_TRAILING_WHITESPACE)
if (_pkgconfig_failed)
set(_pkgconfig_${_varname} "")
_pkgconfig_unset(${_prefix}_${_varname})
else(_pkgconfig_failed)
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
string(REGEX REPLACE " +$" "" _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
else()
string(REGEX REPLACE "[\r\n]" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
if (NOT ${_regexp} STREQUAL "")
string(REGEX REPLACE "${_regexp}" " " _pkgconfig_invoke_result "${_pkgconfig_invoke_result}")
endif(NOT ${_regexp} STREQUAL "")
endif()
separate_arguments(_pkgconfig_invoke_result)
#message(STATUS " ${_varname} ... ${_pkgconfig_invoke_result}")
set(_pkgconfig_${_varname} ${_pkgconfig_invoke_result})
_pkgconfig_set(${_prefix}_${_varname} "${_pkgconfig_invoke_result}")
endif(_pkgconfig_failed)
endmacro(_pkgconfig_invoke)
endif()
endmacro()
# Internal version of pkg_get_variable; expects PKG_CONFIG_PATH to already be set
function (_pkg_get_variable result pkg variable)
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
set("${result}"
"${prefix_result}"
PARENT_SCOPE)
endfunction ()
# Invokes pkgconfig two times; once without '--static' and once with
# '--static'
macro(_pkgconfig_invoke_dyn _pkglist _prefix _varname cleanup_regexp)
_pkgconfig_invoke("${_pkglist}" ${_prefix} ${_varname} "${cleanup_regexp}" ${ARGN})
_pkgconfig_invoke("${_pkglist}" ${_prefix} STATIC_${_varname} "${cleanup_regexp}" --static ${ARGN})
endmacro(_pkgconfig_invoke_dyn)
endmacro()
# Splits given arguments into options and a package list
macro(_pkgconfig_parse_options _result _is_req)
macro(_pkgconfig_parse_options _result _is_req _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
set(${_is_req} 0)
set(${_is_silent} 0)
set(${_no_cmake_path} 0)
set(${_no_cmake_environment_path} 0)
set(${_imp_target} 0)
set(${_imp_target_global} 0)
if(DEFINED PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
if(NOT PKG_CONFIG_USE_CMAKE_PREFIX_PATH)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
elseif(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_LESS 3.1)
set(${_no_cmake_path} 1)
set(${_no_cmake_environment_path} 1)
endif()
foreach(_pkg ${ARGN})
if (_pkg STREQUAL "REQUIRED")
set(${_is_req} 1)
endif (_pkg STREQUAL "REQUIRED")
endforeach(_pkg ${ARGN})
endif ()
if (_pkg STREQUAL "QUIET")
set(${_is_silent} 1)
endif ()
if (_pkg STREQUAL "NO_CMAKE_PATH")
set(${_no_cmake_path} 1)
endif()
if (_pkg STREQUAL "NO_CMAKE_ENVIRONMENT_PATH")
set(${_no_cmake_environment_path} 1)
endif()
if (_pkg STREQUAL "IMPORTED_TARGET")
set(${_imp_target} 1)
endif()
if (_pkg STREQUAL "GLOBAL")
set(${_imp_target_global} 1)
endif()
endforeach()
if (${_imp_target_global} AND NOT ${_imp_target})
message(SEND_ERROR "the argument GLOBAL may only be used together with IMPORTED_TARGET")
endif()
set(${_result} ${ARGN})
list(REMOVE_ITEM ${_result} "REQUIRED")
endmacro(_pkgconfig_parse_options)
list(REMOVE_ITEM ${_result} "QUIET")
list(REMOVE_ITEM ${_result} "NO_CMAKE_PATH")
list(REMOVE_ITEM ${_result} "NO_CMAKE_ENVIRONMENT_PATH")
list(REMOVE_ITEM ${_result} "IMPORTED_TARGET")
list(REMOVE_ITEM ${_result} "GLOBAL")
endmacro()
# Add the content of a variable or an environment variable to a list of
# paths
# Usage:
# - _pkgconfig_add_extra_path(_extra_paths VAR)
# - _pkgconfig_add_extra_path(_extra_paths ENV VAR)
function(_pkgconfig_add_extra_path _extra_paths_var _var)
set(_is_env 0)
if(ARGC GREATER 2 AND _var STREQUAL "ENV")
set(_var ${ARGV2})
set(_is_env 1)
endif()
if(NOT _is_env)
if(NOT "${${_var}}" STREQUAL "")
list(APPEND ${_extra_paths_var} ${${_var}})
endif()
else()
if(NOT "$ENV{${_var}}" STREQUAL "")
file(TO_CMAKE_PATH "$ENV{${_var}}" _path)
list(APPEND ${_extra_paths_var} ${_path})
unset(_path)
endif()
endif()
set(${_extra_paths_var} ${${_extra_paths_var}} PARENT_SCOPE)
endfunction()
# scan the LDFLAGS returned by pkg-config for library directories and
# libraries, figure out the absolute paths of that libraries in the
# given directories
function(_pkg_find_libs _prefix _no_cmake_path _no_cmake_environment_path)
unset(_libs)
unset(_find_opts)
# set the options that are used as long as the .pc file does not provide a library
# path to look into
if(_no_cmake_path)
list(APPEND _find_opts "NO_CMAKE_PATH")
endif()
if(_no_cmake_environment_path)
list(APPEND _find_opts "NO_CMAKE_ENVIRONMENT_PATH")
endif()
unset(_search_paths)
foreach (flag IN LISTS ${_prefix}_LDFLAGS)
if (flag MATCHES "^-L(.*)")
list(APPEND _search_paths ${CMAKE_MATCH_1})
continue()
endif()
if (flag MATCHES "^-l(.*)")
set(_pkg_search "${CMAKE_MATCH_1}")
else()
continue()
endif()
if(_search_paths)
# Firstly search in -L paths
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
NAMES ${_pkg_search}
HINTS ${_search_paths} NO_DEFAULT_PATH)
endif()
find_library(pkgcfg_lib_${_prefix}_${_pkg_search}
NAMES ${_pkg_search}
${_find_opts})
mark_as_advanced(pkgcfg_lib_${_prefix}_${_pkg_search})
if(pkgcfg_lib_${_prefix}_${_pkg_search})
list(APPEND _libs "${pkgcfg_lib_${_prefix}_${_pkg_search}}")
else()
list(APPEND _libs ${_pkg_search})
endif()
endforeach()
set(${_prefix}_LINK_LIBRARIES "${_libs}" PARENT_SCOPE)
endfunction()
# create an imported target from all the information returned by pkg-config
function(_pkg_create_imp_target _prefix _imp_target_global)
# only create the target if it is linkable, i.e. no executables
if (NOT TARGET PkgConfig::${_prefix}
AND ( ${_prefix}_INCLUDE_DIRS OR ${_prefix}_LINK_LIBRARIES OR ${_prefix}_LDFLAGS_OTHER OR ${_prefix}_CFLAGS_OTHER ))
if(${_imp_target_global})
set(_global_opt "GLOBAL")
else()
unset(_global_opt)
endif()
add_library(PkgConfig::${_prefix} INTERFACE IMPORTED ${_global_opt})
if(${_prefix}_INCLUDE_DIRS)
set_property(TARGET PkgConfig::${_prefix} PROPERTY
INTERFACE_INCLUDE_DIRECTORIES "${${_prefix}_INCLUDE_DIRS}")
endif()
if(${_prefix}_LINK_LIBRARIES)
set_property(TARGET PkgConfig::${_prefix} PROPERTY
INTERFACE_LINK_LIBRARIES "${${_prefix}_LINK_LIBRARIES}")
endif()
if(${_prefix}_LDFLAGS_OTHER)
set_property(TARGET PkgConfig::${_prefix} PROPERTY
INTERFACE_LINK_OPTIONS "${${_prefix}_LDFLAGS_OTHER}")
endif()
if(${_prefix}_CFLAGS_OTHER)
set_property(TARGET PkgConfig::${_prefix} PROPERTY
INTERFACE_COMPILE_OPTIONS "${${_prefix}_CFLAGS_OTHER}")
endif()
endif()
endfunction()
# recalculate the dynamic output
# this is a macro and not a function so the result of _pkg_find_libs is automatically propagated
macro(_pkg_recalculate _prefix _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global)
_pkg_find_libs(${_prefix} ${_no_cmake_path} ${_no_cmake_environment_path})
if(${_imp_target})
_pkg_create_imp_target(${_prefix} ${_imp_target_global})
endif()
endmacro()
###
macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
macro(_pkg_set_path_internal)
set(_extra_paths)
if(NOT _no_cmake_path)
_pkgconfig_add_extra_path(_extra_paths CMAKE_PREFIX_PATH)
_pkgconfig_add_extra_path(_extra_paths CMAKE_FRAMEWORK_PATH)
_pkgconfig_add_extra_path(_extra_paths CMAKE_APPBUNDLE_PATH)
endif()
if(NOT _no_cmake_environment_path)
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_PREFIX_PATH)
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_FRAMEWORK_PATH)
_pkgconfig_add_extra_path(_extra_paths ENV CMAKE_APPBUNDLE_PATH)
endif()
if(NOT _extra_paths STREQUAL "")
# Save the PKG_CONFIG_PATH environment variable, and add paths
# from the CMAKE_PREFIX_PATH variables
set(_pkgconfig_path_old "$ENV{PKG_CONFIG_PATH}")
set(_pkgconfig_path "${_pkgconfig_path_old}")
if(NOT _pkgconfig_path STREQUAL "")
file(TO_CMAKE_PATH "${_pkgconfig_path}" _pkgconfig_path)
endif()
# Create a list of the possible pkgconfig subfolder (depending on
# the system
set(_lib_dirs)
if(NOT DEFINED CMAKE_SYSTEM_NAME
OR (CMAKE_SYSTEM_NAME MATCHES "^(Linux|kFreeBSD|GNU)$"
AND NOT CMAKE_CROSSCOMPILING))
if(EXISTS "/etc/debian_version") # is this a debian system ?
if(CMAKE_LIBRARY_ARCHITECTURE)
list(APPEND _lib_dirs "lib/${CMAKE_LIBRARY_ARCHITECTURE}/pkgconfig")
endif()
else()
# not debian, check the FIND_LIBRARY_USE_LIB32_PATHS and FIND_LIBRARY_USE_LIB64_PATHS properties
get_property(uselib32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB32_PATHS)
if(uselib32 AND CMAKE_SIZEOF_VOID_P EQUAL 4)
list(APPEND _lib_dirs "lib32/pkgconfig")
endif()
get_property(uselib64 GLOBAL PROPERTY FIND_LIBRARY_USE_LIB64_PATHS)
if(uselib64 AND CMAKE_SIZEOF_VOID_P EQUAL 8)
list(APPEND _lib_dirs "lib64/pkgconfig")
endif()
get_property(uselibx32 GLOBAL PROPERTY FIND_LIBRARY_USE_LIBX32_PATHS)
if(uselibx32 AND CMAKE_INTERNAL_PLATFORM_ABI STREQUAL "ELF X32")
list(APPEND _lib_dirs "libx32/pkgconfig")
endif()
endif()
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD" AND NOT CMAKE_CROSSCOMPILING)
list(APPEND _lib_dirs "libdata/pkgconfig")
endif()
list(APPEND _lib_dirs "lib/pkgconfig")
list(APPEND _lib_dirs "share/pkgconfig")
# Check if directories exist and eventually append them to the
# pkgconfig path list
foreach(_prefix_dir ${_extra_paths})
foreach(_lib_dir ${_lib_dirs})
if(EXISTS "${_prefix_dir}/${_lib_dir}")
list(APPEND _pkgconfig_path "${_prefix_dir}/${_lib_dir}")
list(REMOVE_DUPLICATES _pkgconfig_path)
endif()
endforeach()
endforeach()
# Prepare and set the environment variable
if(NOT _pkgconfig_path STREQUAL "")
# remove empty values from the list
list(REMOVE_ITEM _pkgconfig_path "")
file(TO_NATIVE_PATH "${_pkgconfig_path}" _pkgconfig_path)
if(UNIX)
string(REPLACE ";" ":" _pkgconfig_path "${_pkgconfig_path}")
string(REPLACE "\\ " " " _pkgconfig_path "${_pkgconfig_path}")
endif()
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path}")
endif()
# Unset variables
unset(_lib_dirs)
unset(_pkgconfig_path)
endif()
endmacro()
macro(_pkg_restore_path_internal)
if(NOT _extra_paths STREQUAL "")
# Restore the environment variable
set(ENV{PKG_CONFIG_PATH} "${_pkgconfig_path_old}")
endif()
unset(_extra_paths)
unset(_pkgconfig_path_old)
endmacro()
###
macro(_pkg_check_modules_internal _is_required _is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global _prefix)
_pkgconfig_unset(${_prefix}_FOUND)
_pkgconfig_unset(${_prefix}_VERSION)
_pkgconfig_unset(${_prefix}_PREFIX)
_pkgconfig_unset(${_prefix}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_LIBDIR)
_pkgconfig_unset(${_prefix}_MODULE_NAME)
_pkgconfig_unset(${_prefix}_LIBS)
_pkgconfig_unset(${_prefix}_LIBS_L)
_pkgconfig_unset(${_prefix}_LIBS_PATHS)
@@ -193,83 +392,77 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
# give out status message telling checked module
if (NOT ${_is_silent})
if (_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for module '${_pkg_check_modules_list}'")
else(_pkg_check_modules_cnt EQUAL 1)
message(STATUS "checking for modules '${_pkg_check_modules_list}'")
endif(_pkg_check_modules_cnt EQUAL 1)
endif(NOT ${_is_silent})
message(STATUS "Checking for module '${_pkg_check_modules_list}'")
else()
message(STATUS "Checking for modules '${_pkg_check_modules_list}'")
endif()
endif()
set(_pkg_check_modules_packages)
set(_pkg_check_modules_failed)
_pkg_set_path_internal()
# iterate through module list and check whether they exist and match the required version
foreach (_pkg_check_modules_pkg ${_pkg_check_modules_list})
set(_pkg_check_modules_exist_query)
# check whether version is given
if (_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\1" _pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\2" _pkg_check_modules_pkg_op "${_pkg_check_modules_pkg}")
string(REGEX REPLACE "(.*[^><])(>=|=|<=)(.*)" "\\3" _pkg_check_modules_pkg_ver "${_pkg_check_modules_pkg}")
else(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
if (_pkg_check_modules_pkg MATCHES "(.*[^><])(=|[><]=?)(.*)")
set(_pkg_check_modules_pkg_name "${CMAKE_MATCH_1}")
set(_pkg_check_modules_pkg_op "${CMAKE_MATCH_2}")
set(_pkg_check_modules_pkg_ver "${CMAKE_MATCH_3}")
else()
set(_pkg_check_modules_pkg_name "${_pkg_check_modules_pkg}")
set(_pkg_check_modules_pkg_op)
set(_pkg_check_modules_pkg_ver)
endif(_pkg_check_modules_pkg MATCHES ".*(>=|=|<=).*")
# handle the operands
if (_pkg_check_modules_pkg_op STREQUAL ">=")
list(APPEND _pkg_check_modules_exist_query --atleast-version)
endif(_pkg_check_modules_pkg_op STREQUAL ">=")
if (_pkg_check_modules_pkg_op STREQUAL "=")
list(APPEND _pkg_check_modules_exist_query --exact-version)
endif(_pkg_check_modules_pkg_op STREQUAL "=")
if (_pkg_check_modules_pkg_op STREQUAL "<=")
list(APPEND _pkg_check_modules_exist_query --max-version)
endif(_pkg_check_modules_pkg_op STREQUAL "<=")
# create the final query which is of the format:
# * --atleast-version <version> <pkg-name>
# * --exact-version <version> <pkg-name>
# * --max-version <version> <pkg-name>
# * --exists <pkg-name>
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_ver}")
else(_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query --exists)
endif(_pkg_check_modules_pkg_op)
endif()
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_VERSION)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_PREFIX)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_INCLUDEDIR)
_pkgconfig_unset(${_prefix}_${_pkg_check_modules_pkg_name}_LIBDIR)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
list(APPEND _pkg_check_modules_packages "${_pkg_check_modules_pkg_name}")
# create the final query which is of the format:
# * <pkg-name> > <version>
# * <pkg-name> >= <version>
# * <pkg-name> = <version>
# * <pkg-name> <= <version>
# * <pkg-name> < <version>
# * --exists <pkg-name>
list(APPEND _pkg_check_modules_exist_query --print-errors --short-errors)
if (_pkg_check_modules_pkg_op)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name} ${_pkg_check_modules_pkg_op} ${_pkg_check_modules_pkg_ver}")
else()
list(APPEND _pkg_check_modules_exist_query --exists)
list(APPEND _pkg_check_modules_exist_query "${_pkg_check_modules_pkg_name}")
endif()
# execute the query
execute_process(
COMMAND ${PKG_CONFIG_EXECUTABLE} ${_pkg_check_modules_exist_query}
RESULT_VARIABLE _pkgconfig_retval)
RESULT_VARIABLE _pkgconfig_retval
ERROR_VARIABLE _pkgconfig_error
ERROR_STRIP_TRAILING_WHITESPACE)
# evaluate result and tell failures
if (_pkgconfig_retval)
if(NOT ${_is_silent})
message(STATUS " package '${_pkg_check_modules_pkg}' not found")
endif(NOT ${_is_silent})
message(STATUS " ${_pkgconfig_error}")
endif()
set(_pkg_check_modules_failed 1)
endif(_pkgconfig_retval)
endforeach(_pkg_check_modules_pkg)
endif()
endforeach()
if(_pkg_check_modules_failed)
# fail when requested
if (${_is_required})
message(SEND_ERROR "A required package was not found")
endif (${_is_required})
else(_pkg_check_modules_failed)
message(FATAL_ERROR "A required package was not found")
endif ()
else()
# when we are here, we checked whether requested modules
# exist. Now, go through them and set variables
@@ -281,17 +474,23 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
# handle case when there is only one package required
if (pkg_count EQUAL 1)
set(_pkg_check_prefix "${_prefix}")
else(pkg_count EQUAL 1)
else()
set(_pkg_check_prefix "${_prefix}_${_pkg_check_modules_pkg}")
endif(pkg_count EQUAL 1)
endif()
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" VERSION "" --modversion )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" PREFIX "" --variable=prefix )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" INCLUDEDIR "" --variable=includedir )
_pkgconfig_invoke(${_pkg_check_modules_pkg} "${_pkg_check_prefix}" LIBDIR "" --variable=libdir )
pkg_get_variable("${_pkg_check_prefix}_PREFIX" ${_pkg_check_modules_pkg} "prefix")
pkg_get_variable("${_pkg_check_prefix}_INCLUDEDIR" ${_pkg_check_modules_pkg} "includedir")
pkg_get_variable("${_pkg_check_prefix}_LIBDIR" ${_pkg_check_modules_pkg} "libdir")
foreach (variable IN ITEMS PREFIX INCLUDEDIR LIBDIR)
_pkgconfig_set("${_pkg_check_prefix}_${variable}" "${${_pkg_check_prefix}_${variable}}")
endforeach ()
_pkgconfig_set("${_pkg_check_prefix}_MODULE_NAME" "${_pkg_check_modules_pkg}")
message(STATUS " found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
endforeach(_pkg_check_modules_pkg)
if (NOT ${_is_silent})
message(STATUS " Found ${_pkg_check_modules_pkg}, version ${_pkgconfig_VERSION}")
endif ()
endforeach()
# set variables which are combined for multiple modules
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" LIBRARIES "(^| )-l" --libs-only-l )
@@ -302,58 +501,271 @@ macro(_pkg_check_modules_internal _is_required _is_silent _prefix)
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" INCLUDE_DIRS "(^| )-I" --cflags-only-I )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS "" --cflags )
_pkgconfig_invoke_dyn("${_pkg_check_modules_packages}" "${_prefix}" CFLAGS_OTHER "" --cflags-only-other )
endif(_pkg_check_modules_failed)
else(PKG_CONFIG_EXECUTABLE)
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
endif()
_pkg_restore_path_internal()
else()
if (${_is_required})
message(SEND_ERROR "pkg-config tool not found")
endif (${_is_required})
endif(PKG_CONFIG_EXECUTABLE)
endmacro(_pkg_check_modules_internal)
endif ()
endif()
endmacro()
###
### User visible macros start here
###
###
#[========================================[.rst:
.. command:: pkg_check_modules
Checks for all the given modules, setting a variety of result variables in
the calling scope.
.. code-block:: cmake
pkg_check_modules(<prefix>
[REQUIRED] [QUIET]
[NO_CMAKE_PATH]
[NO_CMAKE_ENVIRONMENT_PATH]
[IMPORTED_TARGET [GLOBAL]]
<moduleSpec> [<moduleSpec>...])
When the ``REQUIRED`` argument is given, the command will fail with an error
if module(s) could not be found.
When the ``QUIET`` argument is given, no status messages will be printed.
By default, if :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or
later, or if :variable:`PKG_CONFIG_USE_CMAKE_PREFIX_PATH` is set to a
boolean ``True`` value, then the :variable:`CMAKE_PREFIX_PATH`,
:variable:`CMAKE_FRAMEWORK_PATH`, and :variable:`CMAKE_APPBUNDLE_PATH` cache
and environment variables will be added to the ``pkg-config`` search path.
The ``NO_CMAKE_PATH`` and ``NO_CMAKE_ENVIRONMENT_PATH`` arguments
disable this behavior for the cache variables and environment variables
respectively.
The ``IMPORTED_TARGET`` argument will create an imported target named
``PkgConfig::<prefix>`` that can be passed directly as an argument to
:command:`target_link_libraries`. The ``GLOBAL`` argument will make the
imported target available in global scope.
Each ``<moduleSpec>`` can be either a bare module name or it can be a
module name with a version constraint (operators ``=``, ``<``, ``>``,
``<=`` and ``>=`` are supported). The following are examples for a module
named ``foo`` with various constraints:
- ``foo`` matches any version.
- ``foo<2`` only matches versions before 2.
- ``foo>=3.1`` matches any version from 3.1 or later.
- ``foo=1.2.3`` requires that foo must be exactly version 1.2.3.
The following variables may be set upon return. Two sets of values exist:
One for the common case (``<XXX> = <prefix>``) and another for the
information ``pkg-config`` provides when called with the ``--static``
option (``<XXX> = <prefix>_STATIC``).
``<XXX>_FOUND``
set to 1 if module(s) exist
``<XXX>_LIBRARIES``
only the libraries (without the '-l')
``<XXX>_LINK_LIBRARIES``
the libraries and their absolute paths
``<XXX>_LIBRARY_DIRS``
the paths of the libraries (without the '-L')
``<XXX>_LDFLAGS``
all required linker flags
``<XXX>_LDFLAGS_OTHER``
all other linker flags
``<XXX>_INCLUDE_DIRS``
the '-I' preprocessor flags (without the '-I')
``<XXX>_CFLAGS``
all required cflags
``<XXX>_CFLAGS_OTHER``
the other compiler flags
All but ``<XXX>_FOUND`` may be a :ref:`;-list <CMake Language Lists>` if the
associated variable returned from ``pkg-config`` has multiple values.
There are some special variables whose prefix depends on the number of
``<moduleSpec>`` given. When there is only one ``<moduleSpec>``,
``<YYY>`` will simply be ``<prefix>``, but if two or more ``<moduleSpec>``
items are given, ``<YYY>`` will be ``<prefix>_<moduleName>``.
``<YYY>_VERSION``
version of the module
``<YYY>_PREFIX``
prefix directory of the module
``<YYY>_INCLUDEDIR``
include directory of the module
``<YYY>_LIBDIR``
lib directory of the module
Examples:
.. code-block:: cmake
pkg_check_modules (GLIB2 glib-2.0)
Looks for any version of glib2. If found, the output variable
``GLIB2_VERSION`` will hold the actual version found.
.. code-block:: cmake
pkg_check_modules (GLIB2 glib-2.0>=2.10)
Looks for at least version 2.10 of glib2. If found, the output variable
``GLIB2_VERSION`` will hold the actual version found.
.. code-block:: cmake
pkg_check_modules (FOO glib-2.0>=2.10 gtk+-2.0)
Looks for both glib2-2.0 (at least version 2.10) and any version of
gtk2+-2.0. Only if both are found will ``FOO`` be considered found.
The ``FOO_glib-2.0_VERSION`` and ``FOO_gtk+-2.0_VERSION`` variables will be
set to their respective found module versions.
.. code-block:: cmake
pkg_check_modules (XRENDER REQUIRED xrender)
Requires any version of ``xrender``. Example output variables set by a
successful call::
XRENDER_LIBRARIES=Xrender;X11
XRENDER_STATIC_LIBRARIES=Xrender;X11;pthread;Xau;Xdmcp
#]========================================]
macro(pkg_check_modules _prefix _module0)
_pkgconfig_parse_options(_pkg_modules _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
_pkgconfig_parse_options (_pkg_modules _pkg_is_required "${_module0}" ${ARGN})
_pkg_check_modules_internal("${_pkg_is_required}" 0 "${_prefix}" ${_pkg_modules})
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND OR
(NOT "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0};${ARGN}") OR
( "${ARGN}" STREQUAL "" AND NOT "${__pkg_config_arguments_${_prefix}}" STREQUAL "${_module0}"))
_pkg_check_modules_internal("${_pkg_is_required}" "${_pkg_is_silent}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" ${_pkg_modules})
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION})
endmacro(pkg_check_modules)
if (${_prefix}_FOUND)
_pkgconfig_set(__pkg_config_arguments_${_prefix} "${_module0};${ARGN}")
endif()
else()
if (${_prefix}_FOUND)
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
endif()
endif()
endmacro()
###
#[========================================[.rst:
.. command:: pkg_search_module
The behavior of this command is the same as :command:`pkg_check_modules`,
except that rather than checking for all the specified modules, it searches
for just the first successful match.
.. code-block:: cmake
pkg_search_module(<prefix>
[REQUIRED] [QUIET]
[NO_CMAKE_PATH]
[NO_CMAKE_ENVIRONMENT_PATH]
[IMPORTED_TARGET [GLOBAL]]
<moduleSpec> [<moduleSpec>...])
If a module is found, the ``<prefix>_MODULE_NAME`` variable will contain the
name of the matching module. This variable can be used if you need to run
:command:`pkg_get_variable`.
Example:
.. code-block:: cmake
pkg_search_module (BAR libxml-2.0 libxml2 libxml>=2)
#]========================================]
macro(pkg_search_module _prefix _module0)
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required _pkg_is_silent _no_cmake_path _no_cmake_environment_path _imp_target _imp_target_global "${_module0}" ${ARGN})
# check cached value
if (NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
set(_pkg_modules_found 0)
_pkgconfig_parse_options(_pkg_modules_alt _pkg_is_required "${_module0}" ${ARGN})
message(STATUS "checking for one of the modules '${_pkg_modules_alt}'")
if (NOT ${_pkg_is_silent})
message(STATUS "Checking for one of the modules '${_pkg_modules_alt}'")
endif ()
# iterate through all modules and stop at the first working one.
foreach(_pkg_alt ${_pkg_modules_alt})
if(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 "${_prefix}" "${_pkg_alt}")
endif(NOT _pkg_modules_found)
_pkg_check_modules_internal(0 1 ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global} "${_prefix}" "${_pkg_alt}")
endif()
if (${_prefix}_FOUND)
set(_pkg_modules_found 1)
endif(${_prefix}_FOUND)
endforeach(_pkg_alt)
break()
endif()
endforeach()
if (NOT ${_prefix}_FOUND)
if(${_pkg_is_required})
message(SEND_ERROR "None of the required '${_pkg_modules_alt}' found")
endif(${_pkg_is_required})
endif(NOT ${_prefix}_FOUND)
endif()
endif()
_pkgconfig_set(__pkg_config_checked_${_prefix} ${PKG_CONFIG_VERSION})
endif(NOT DEFINED __pkg_config_checked_${_prefix} OR __pkg_config_checked_${_prefix} LESS ${PKG_CONFIG_VERSION} OR NOT ${_prefix}_FOUND)
endmacro(pkg_search_module)
elseif (${_prefix}_FOUND)
_pkg_recalculate("${_prefix}" ${_no_cmake_path} ${_no_cmake_environment_path} ${_imp_target} ${_imp_target_global})
endif()
endmacro()
#[========================================[.rst:
.. command:: pkg_get_variable
Retrieves the value of a pkg-config variable ``varName`` and stores it in the
result variable ``resultVar`` in the calling scope.
.. code-block:: cmake
pkg_get_variable(<resultVar> <moduleName> <varName>)
If ``pkg-config`` returns multiple values for the specified variable,
``resultVar`` will contain a :ref:`;-list <CMake Language Lists>`.
For example:
.. code-block:: cmake
pkg_get_variable(GI_GIRDIR gobject-introspection-1.0 girdir)
#]========================================]
function (pkg_get_variable result pkg variable)
_pkg_set_path_internal()
_pkgconfig_invoke("${pkg}" "prefix" "result" "" "--variable=${variable}")
set("${result}"
"${prefix_result}"
PARENT_SCOPE)
_pkg_restore_path_internal()
endfunction ()
#[========================================[.rst:
Variables Affecting Behavior
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. variable:: PKG_CONFIG_EXECUTABLE
This can be set to the path of the pkg-config executable. If not provided,
it will be set by the module as a result of calling :command:`find_program`
internally. The ``PKG_CONFIG`` environment variable can be used as a hint.
.. variable:: PKG_CONFIG_USE_CMAKE_PREFIX_PATH
Specifies whether :command:`pkg_check_modules` and
:command:`pkg_search_module` should add the paths in the
:variable:`CMAKE_PREFIX_PATH`, :variable:`CMAKE_FRAMEWORK_PATH` and
:variable:`CMAKE_APPBUNDLE_PATH` cache and environment variables to the
``pkg-config`` search path.
If this variable is not set, this behavior is enabled by default if
:variable:`CMAKE_MINIMUM_REQUIRED_VERSION` is 3.1 or later, disabled
otherwise.
#]========================================]
### Local Variables:
### mode: cmake
+11 -74
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Python
@@ -24,80 +24,17 @@
# code sets the following variables:
#
# PYTHON_EXECUTABLE = full path to the python binary
# PYTHON_INCLUDE_PATH = path to where python.h can be found
# PYTHON_LIBRARY = path to where libpython.so* can be found
# PYTHON_LFLAGS = python compiler options for linking
# PYTHON_INCLUDE_DIRS = path to where python.h can be found
# PYTHON_LIBRARIES = path to where libpython.so* can be found
# PYTHON_LDFLAGS = python compiler options for linking
if(PYTHON_FOUND)
# Already in cache, be silent
set(PYTHON_FIND_QUIETLY TRUE)
endif()
include(FindPkgConfig)
if(ENABLE_PYTHON3)
find_program(PYTHON_EXECUTABLE
NAMES python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python3 python2.7 python2.6 python2.5 python
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
if(ENABLE_PYTHON2)
pkg_check_modules(PYTHON python2 IMPORTED_TARGET GLOBAL)
else()
find_program(PYTHON_EXECUTABLE
NAMES python2.7 python2.6 python2.5 python
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
endif()
if(PYTHON_EXECUTABLE)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('INCLUDEPY'))"
OUTPUT_VARIABLE PYTHON_INC_DIR
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBPL'))"
OUTPUT_VARIABLE PYTHON_POSSIBLE_LIB_PATH
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; from distutils.sysconfig import *; sys.stdout.write(get_config_var('LIBS') + ' ' + get_config_var('LINKFORSHARED'))"
OUTPUT_VARIABLE PYTHON_LFLAGS
)
find_path(PYTHON_INCLUDE_PATH
NAMES Python.h
HINTS ${PYTHON_INC_DIR}
)
if(ENABLE_PYTHON3)
find_library(PYTHON_LIBRARY
NAMES python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python3 python2.7 python2.6 python2.5 python
HINTS ${PYTHON_POSSIBLE_LIB_PATH}
)
else()
find_library(PYTHON_LIBRARY
NAMES python2.7 python2.6 python2.5 python
HINTS ${PYTHON_POSSIBLE_LIB_PATH}
)
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
if(NOT PYTHON_FOUND)
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
endif()
if(PYTHON_LIBRARY AND PYTHON_INCLUDE_PATH)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(sys.version[:3])"
OUTPUT_VARIABLE PYTHON_VERSION
)
execute_process(
COMMAND ${PYTHON_EXECUTABLE} -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"
OUTPUT_VARIABLE PYTHON_OLD_VERSION
)
if(${PYTHON_OLD_VERSION} STREQUAL "True")
message("Python >= 2.5 is needed to build python plugin, version found: ${PYTHON_VERSION}")
else()
set(PYTHON_FOUND TRUE)
endif()
endif()
mark_as_advanced(
PYTHON_EXECUTABLE
PYTHON_INCLUDE_PATH
PYTHON_LIBRARY
PYTHON_LFLAGS
)
endif()
+15 -15
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find Ruby
@@ -27,13 +27,13 @@
# RUBY_LIB = ruby library (found without pkg-config)
if(RUBY_FOUND)
# Already in cache, be silent
set(RUBY_FIND_QUIETLY TRUE)
# Already in cache, be silent
set(RUBY_FIND_QUIETLY TRUE)
endif()
find_package(PkgConfig)
if(PKG_CONFIG_FOUND)
pkg_search_module(RUBY ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9 ruby-1.8)
pkg_search_module(RUBY ruby-2.6 ruby-2.5 ruby-2.4 ruby-2.3 ruby-2.2 ruby-2.1 ruby-2.0 ruby-1.9)
endif()
if(RUBY_FOUND)
@@ -41,35 +41,35 @@ if(RUBY_FOUND)
mark_as_advanced(RUBY_LIB)
else()
find_program(RUBY_EXECUTABLE
NAMES ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby
NAMES ruby2.6.0 ruby260 ruby2.6 ruby2.5.0 ruby250 ruby2.5 ruby2.4.0 ruby240 ruby2.4 ruby2.3.0 ruby230 ruby2.3 ruby23 ruby2.2.3 ruby223 ruby2.2.2 ruby222 ruby2.2.1 ruby221 ruby2.2.0 ruby220 ruby2.2 ruby22 ruby2.1.7 ruby217 ruby2.1.6 ruby216 ruby2.1.5 ruby215 ruby2.1.4 ruby214 ruby2.1.3 ruby213 ruby2.1.2 ruby212 ruby2.1.1 ruby211 ruby2.1.0 ruby210 ruby2.1 ruby21 ruby2.0 ruby20 ruby1.9.3 ruby193 ruby1.9.2 ruby192 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS /usr/bin /usr/local/bin /usr/pkg/bin
)
)
if(RUBY_EXECUTABLE)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubyhdrdir'] || RbConfig::CONFIG['archdir']"
OUTPUT_VARIABLE RUBY_ARCH_DIR
)
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['arch']"
OUTPUT_VARIABLE RUBY_ARCH
)
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['libdir']"
OUTPUT_VARIABLE RUBY_POSSIBLE_LIB_PATH
)
)
execute_process(
COMMAND ${RUBY_EXECUTABLE} -r rbconfig -e "print RbConfig::CONFIG['rubylibdir']"
OUTPUT_VARIABLE RUBY_RUBY_LIB_PATH
)
)
find_path(RUBY_INCLUDE_DIRS
NAMES ruby.h
PATHS ${RUBY_ARCH_DIR}
)
)
set(RUBY_INCLUDE_ARCH "${RUBY_INCLUDE_DIRS}/${RUBY_ARCH}")
find_library(RUBY_LIB
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby1.8 ruby18 ruby
NAMES ruby-1.9.3 ruby1.9.3 ruby193 ruby-1.9.2 ruby1.9.2 ruby192 ruby-1.9.1 ruby1.9.1 ruby191 ruby1.9 ruby19 ruby
PATHS ${RUBY_POSSIBLE_LIB_PATH} ${RUBY_RUBY_LIB_PATH}
)
)
if(RUBY_LIB AND RUBY_INCLUDE_DIRS)
set(RUBY_FOUND TRUE)
endif()
@@ -78,6 +78,6 @@ else()
RUBY_INCLUDE_DIRS
RUBY_LIBRARY_DIRS
RUBY_LIB
)
)
endif()
endif()
-162
View File
@@ -1,162 +0,0 @@
#
# Copyright (C) 2008 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2008-2018 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
# WeeChat is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# WeeChat is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
#
# - Find Tcl includes and libraries.
# This module finds if Tcl is installed and determines where the
# include files and libraries are. It also determines what the name of
# the library is. This code sets the following variables:
# TCL_FOUND = Tcl was found
# TK_FOUND = Tk was found
# TCLTK_FOUND = Tcl and Tk were found
# TCL_LIBRARY = path to Tcl library (tcl tcl80)
# TCL_INCLUDE_PATH = path to where tcl.h can be found
# TCL_TCLSH = path to tclsh binary (tcl tcl80)
# TK_LIBRARY = path to Tk library (tk tk80 etc)
# TK_INCLUDE_PATH = path to where tk.h can be found
# TK_WISH = full path to the wish executable
#
# In an effort to remove some clutter and clear up some issues for people
# who are not necessarily Tcl/Tk gurus/developpers, some variables were
# moved or removed. Changes compared to CMake 2.4 are:
# - The stub libraries are now found in FindTclStub.cmake
# => they were only useful for people writing Tcl/Tk extensions.
# - TCL_LIBRARY_DEBUG and TK_LIBRARY_DEBUG were removed.
# => these libs are not packaged by default with Tcl/Tk distributions.
# Even when Tcl/Tk is built from source, several flavors of debug libs
# are created and there is no real reason to pick a single one
# specifically (say, amongst tcl84g, tcl84gs, or tcl84sgx).
# Let's leave that choice to the user by allowing him to assign
# TCL_LIBRARY to any Tcl library, debug or not.
# - TK_INTERNAL_PATH was removed.
# => this ended up being only a Win32 variable, and there is a lot of
# confusion regarding the location of this file in an installed Tcl/Tk
# tree anyway (see 8.5 for example). If you need the internal path at
# this point it is safer you ask directly where the *source* tree is
# and dig from there.
if(TCL_FOUND)
set(TCL_FIND_QUIETLY TRUE)
endif()
include(CMakeFindFrameworks)
include(FindTclsh)
get_filename_component(TCL_TCLSH_PATH "${TCL_TCLSH}" PATH)
get_filename_component(TCL_TCLSH_PATH_PARENT "${TCL_TCLSH_PATH}" PATH)
string(REGEX REPLACE
"^.*tclsh([0-9]\\.*[0-9]).*$" "\\1" TCL_TCLSH_VERSION "${TCL_TCLSH}")
get_filename_component(TCL_INCLUDE_PATH_PARENT "${TCL_INCLUDE_PATH}" PATH)
get_filename_component(TCL_LIBRARY_PATH "${TCL_LIBRARY}" PATH)
get_filename_component(TCL_LIBRARY_PATH_PARENT "${TCL_LIBRARY_PATH}" PATH)
string(REGEX REPLACE
"^.*tcl([0-9]\\.*[0-9]).*$" "\\1" TCL_VERSION "${TCL_LIBRARY}")
set(TCL_POSSIBLE_LIB_PATHS
"${TCL_INCLUDE_PATH_PARENT}/lib"
"${TCL_INCLUDE_PATH_PARENT}/lib64"
"${TCL_LIBRARY_PATH}"
"${TCL_TCLSH_PATH_PARENT}/lib"
"${TCL_TCLSH_PATH_PARENT}/lib64"
/usr/lib
/usr/lib64
/usr/local/lib
/usr/local/lib64
)
if(WIN32)
get_filename_component(
ActiveTcl_CurrentVersion
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl;CurrentVersion]"
NAME)
set(TCLTK_POSSIBLE_LIB_PATHS ${TCLTK_POSSIBLE_LIB_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/lib"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/lib"
"$ENV{ProgramFiles}/Tcl/Lib"
"C:/Program Files/Tcl/lib"
"C:/Tcl/lib"
)
endif()
find_library(TCL_LIBRARY
NAMES
tcl86 tcl8.6
tcl85 tcl8.5
tcl
tcl${TCL_VERSION} tcl${TCL_TCLSH_VERSION}
PATHS ${TCL_POSSIBLE_LIB_PATHS}
)
cmake_find_frameworks(Tcl)
set(TCL_FRAMEWORK_INCLUDES)
if(Tcl_FRAMEWORKS)
if(NOT TCL_INCLUDE_PATH)
foreach(dir ${Tcl_FRAMEWORKS})
set(TCL_FRAMEWORK_INCLUDES ${TCL_FRAMEWORK_INCLUDES} ${dir}/Headers)
endforeach(dir)
endif()
endif()
set(TCL_POSSIBLE_INCLUDE_PATHS
"${TCL_LIBRARY_PATH_PARENT}/include"
"${TCL_INCLUDE_PATH}"
${TCL_FRAMEWORK_INCLUDES}
"${TCL_TCLSH_PATH_PARENT}/include"
/usr/include/tcl8.6
/usr/include/tcl8.5
/usr/include
/usr/local/include
/usr/include/tcl${TCL_VERSION}
/usr/local/include/tcl${TCL_VERSION}
/usr/local/include/tcl8.6
/usr/local/include/tcl8.5
)
if(WIN32)
set(TCLTK_POSSIBLE_INCLUDE_PATHS ${TCLTK_POSSIBLE_INCLUDE_PATHS}
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\ActiveState\\ActiveTcl\\${ActiveTcl_CurrentVersion}]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.6;Root]/include"
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scriptics\\Tcl\\8.5;Root]/include"
"$ENV{ProgramFiles}/Tcl/include"
"C:/Program Files/Tcl/include"
"C:/Tcl/include"
)
endif()
find_path(TCL_INCLUDE_PATH
NAMES tcl.h
PATHS ${TCL_POSSIBLE_INCLUDE_PATHS}
)
if(TCL_LIBRARY AND TCL_INCLUDE_PATH)
set(TCL_VERSION ${TCL_VERSION})
set(TCL_LIBARY ${TCL_LIBRARY})
set(TCL_INCLUDE_PATH ${TCL_INCLUDE_PATH})
set(TCL_FOUND TRUE)
endif()
mark_as_advanced(
TCL_INCLUDE_PATH
TCL_LIBRARY
TCL_VERSION
)
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2015-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2015-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# - Find V8 (Google's JavaScript engine)
+1 -1
View File
@@ -41,7 +41,7 @@ find_library(ZLIB_LIBRARY
${ZLIB_NAMES}
PATHS
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\GnuWin32\\Zlib;InstallPath]/lib"
)
)
mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
if(ZLIB_INCLUDE_DIR AND EXISTS "${ZLIB_INCLUDE_DIR}/zlib.h")
+3 -3
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
@@ -37,4 +37,4 @@ foreach(file ${files})
else()
message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
endif()
endforeach(file)
endforeach()
+1 -1
View File
@@ -13,7 +13,7 @@
#define PACKAGE "@PROJECT_NAME@"
#define PACKAGE_NAME "@PROJECT_NAME@"
#define PACKAGE_STRING "@PKG_STRING@"
#define WEECHAT_LIBDIR "@LIBDIR@"
#define WEECHAT_LIBDIR "@WEECHAT_LIBDIR@"
#define WEECHAT_SHAREDIR "@SHAREDIR@"
#define LOCALEDIR "@LOCALEDIR@"
#define WEECHAT_HOME "@WEECHAT_HOME@"
+109 -148
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2005 Benoit Papillault <benoit.papillault@free.fr>
# Copyright (C) 2005-2006 Julien Louis <ptitlouis@sysif.net>
# Copyright (C) 2005-2009 Emmanuel Bouthenot <kolter@openics.org>
@@ -17,7 +17,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
# -*- Autoconf -*-
@@ -37,6 +37,7 @@ AC_PROG_MAKE_SET
AC_GNU_SOURCE
AC_PROG_LN_S
AM_PROG_LIBTOOL
PKG_PROG_PKG_CONFIG
# Files to generate
AC_CONFIG_FILES([weechat.pc])
@@ -108,7 +109,6 @@ AH_VERBATIM([HAVE_ASPELL_VERSION_STRING], [#undef HAVE_ASPELL_VERSION_STRING])
AH_VERBATIM([HAVE_ENCHANT_GET_VERSION], [#undef HAVE_ENCHANT_GET_VERSION])
AH_VERBATIM([HAVE_GUILE_GMP_MEMORY_FUNCTIONS], [#undef HAVE_GUILE_GMP_MEMORY_FUNCTIONS])
AH_VERBATIM([PLUGIN_ALIAS], [#undef PLUGIN_ALIAS])
AH_VERBATIM([PLUGIN_ASPELL], [#undef PLUGIN_ASPELL])
AH_VERBATIM([PLUGIN_BUFLIST], [#undef PLUGIN_BUFLIST])
AH_VERBATIM([PLUGIN_CHARSET], [#undef PLUGIN_CHARSET])
AH_VERBATIM([PLUGIN_EXEC], [#undef PLUGIN_EXEC])
@@ -126,6 +126,7 @@ AH_VERBATIM([PLUGIN_PHP], [#undef PLUGIN_PHP])
AH_VERBATIM([PLUGIN_TCL], [#undef PLUGIN_TCL])
AH_VERBATIM([PLUGIN_GUILE], [#undef PLUGIN_GUILE])
AH_VERBATIM([PLUGIN_JAVASCRIPT], [#undef PLUGIN_JAVASCRIPT])
AH_VERBATIM([PLUGIN_SPELL], [#undef PLUGIN_SPELL])
AH_VERBATIM([PLUGIN_TRIGGER], [#undef PLUGIN_TRIGGER])
AH_VERBATIM([PLUGIN_XFER], [#undef PLUGIN_XFER])
AH_VERBATIM([TESTS], [#undef TESTS])
@@ -141,8 +142,6 @@ AC_ARG_ENABLE(headless, [ --disable-headless turn off headless binary
AC_ARG_ENABLE(gnutls, [ --disable-gnutls turn off gnutls support (default=compiled if found)],enable_gnutls=$enableval,enable_gnutls=yes)
AC_ARG_ENABLE(largefile, [ --disable-largefile turn off Large File Support (default=on)],enable_largefile=$enableval,enable_largefile=yes)
AC_ARG_ENABLE(alias, [ --disable-alias turn off Alias plugin (default=compiled)],enable_alias=$enableval,enable_alias=yes)
AC_ARG_ENABLE(aspell, [ --disable-aspell turn off Aspell plugin (default=compiled)],enable_aspell=$enableval,enable_aspell=yes)
AC_ARG_ENABLE(enchant, [ --enable-enchant turn on Enchant lib for Aspell plugin (default=off)],enable_enchant=$enableval,enable_enchant=no)
AC_ARG_ENABLE(buflist, [ --disable-buflist turn off Buflist plugin (default=compiled)],enable_buflist=$enableval,enable_buflist=yes)
AC_ARG_ENABLE(charset, [ --disable-charset turn off Charset plugin (default=compiled)],enable_charset=$enableval,enable_charset=yes)
AC_ARG_ENABLE(exec, [ --disable-exec turn off Exec plugin (default=compiled)],enable_exec=$enableval,enable_exec=yes)
@@ -155,13 +154,15 @@ AC_ARG_ENABLE(script, [ --disable-script turn off Script plugin (d
AC_ARG_ENABLE(scripts, [ --disable-scripts turn off script plugins (perl, python, ...) (default=compiled if found)],enable_scripts=$enableval,enable_scripts=yes)
AC_ARG_ENABLE(perl, [ --disable-perl turn off Perl script plugin (default=compiled if found)],enable_perl=$enableval,enable_perl=yes)
AC_ARG_ENABLE(python, [ --disable-python turn off Python script plugin (default=compiled if found)],enable_python=$enableval,enable_python=yes)
AC_ARG_ENABLE(python3, [ --enable-python3 use Python 3.x if found (NOT recommended because many "official" scripts won't work) (default=off)],enable_python3=$enableval,enable_python3=no)
AC_ARG_ENABLE(python2, [ --enable-python2 use Python 2 instead of Python 3 (default=off)],enable_python2=$enableval,enable_python2=no)
AC_ARG_ENABLE(ruby, [ --disable-ruby turn off Ruby script plugin (default=compiled if found)],enable_ruby=$enableval,enable_ruby=yes)
AC_ARG_ENABLE(lua, [ --disable-lua turn off Lua script plugin (default=compiled if found)],enable_lua=$enableval,enable_lua=yes)
AC_ARG_ENABLE(tcl, [ --disable-tcl turn off Tcl script plugin (default=compiled if found)],enable_tcl=$enableval,enable_tcl=yes)
AC_ARG_ENABLE(guile, [ --disable-guile turn off Guile (scheme) script plugin (default=compiled if found)],enable_guile=$enableval,enable_guile=yes)
AC_ARG_ENABLE(javascript, [ --disable-javascript turn off JavaScript script plugin (default=compiled if found)],enable_javascript=$enableval,enable_javascript=yes)
AC_ARG_ENABLE(php, [ --disable-php turn off PHP script plugin (default=compiled if found)],enable_php=$enableval,enable_php=yes)
AC_ARG_ENABLE(spell, [ --disable-spell turn off Spell checker plugin (default=compiled)],enable_spell=$enableval,enable_spell=yes)
AC_ARG_ENABLE(enchant, [ --enable-enchant turn on Enchant lib for Spell checker plugin (default=off)],enable_enchant=$enableval,enable_enchant=no)
AC_ARG_ENABLE(trigger, [ --disable-trigger turn off Trigger plugin (default=compiled)],enable_trigger=$enableval,enable_trigger=yes)
AC_ARG_ENABLE(xfer, [ --disable-xfer turn off Xfer (file transfer) plugin (default=compiled)],enable_xfer=$enableval,enable_xfer=yes)
AC_ARG_WITH(tclconfig, [ --with-tclconfig=DIR directory containing tcl configuration (tclConfig.sh)],tclconfig=$withval,tclconfig='')
@@ -322,79 +323,6 @@ else
not_asked="$not_asked alias"
fi
# ---------------------------------- aspell ------------------------------------
if test "x$enable_aspell" = "xyes" ; then
ac_found_enchant_lib="no"
if test "x$enable_enchant" = "xyes" ; then
PKG_CHECK_MODULES(ENCHANT, [enchant], ac_found_enchant_lib="yes", ac_found_enchant_lib="no")
fi
if test "x$ac_found_enchant_lib" = "xyes" ; then
CFLAGS="$CFLAGS -DUSE_ENCHANT"
ASPELL_LIB_USED="enchant"
# check if function enchant_get_version() exists
ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $ENCHANT_CFLAGS"
LDFLAGS="$LDFLAGS $ENCHANT_LIBS"
AC_CACHE_CHECK([for enchant_get_version() support], ac_cv_have_enchant_get_version, [
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[ #include <enchant.h>]],
[[ const char *version = enchant_get_version(); ]])],
[ ac_have_enchant_get_version="yes" ],
[ ac_have_enchant_get_version="no" ])])
CFLAGS="$ac_save_CFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
if test "x$ac_have_enchant_get_version" = "xyes"; then
AC_DEFINE(HAVE_ENCHANT_GET_VERSION)
fi
else
ASPELL_CFLAGS=""
ASPELL_LFLAGS=""
AC_CHECK_HEADER(aspell.h,ac_found_aspell_header="yes",ac_found_aspell_header="no")
AC_CHECK_LIB(aspell,new_aspell_speller,ac_found_aspell_lib="yes",ac_found_aspell_lib="no")
AC_MSG_CHECKING(for aspell headers and libraries)
if test "x$ac_found_aspell_header" = "xno" -o "x$ac_found_aspell_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** Aspell headers and/or libraries couldn't be found on your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Aspell support.])
enable_aspell="no"
not_found="$not_found aspell"
else
AC_MSG_RESULT(yes)
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
ASPELL_LIB_USED="aspell"
# check if function aspell_version_string() exists
ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $ASPELL_LFLAGS"
AC_CACHE_CHECK([for aspell_version_string() support], ac_cv_have_aspell_version_string, [
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[ #include <aspell.h>]],
[[ const char *version = aspell_version_string(); ]])],
[ ac_have_aspell_version_string="yes" ],
[ ac_have_aspell_version_string="no" ])])
LDFLAGS="$ac_save_LDFLAGS"
if test "x$ac_have_aspell_version_string" = "xyes"; then
AC_DEFINE(HAVE_ASPELL_VERSION_STRING)
fi
fi
fi
else
not_asked="$not_asked aspell"
fi
if test "x$enable_aspell" = "xyes" ; then
AC_SUBST(ASPELL_CFLAGS)
AC_SUBST(ASPELL_LFLAGS)
AC_DEFINE(PLUGIN_ASPELL)
fi
# --------------------------------- buflist ------------------------------------
if test "x$enable_buflist" = "xyes" ; then
@@ -546,66 +474,21 @@ fi
PYTHON_VERSION=
if test "x$enable_python" = "xyes" ; then
if test "x$enable_python3" = "xyes" ; then
AC_PATH_PROGS(PYTHON, python3.7 python3.6 python3.5 python3.4 python3.3 python3.2 python3.1 python3.0 python3 python2.7 python2.6 python2.5 python2 python)
if test "x$enable_python2" = "xyes" ; then
PKG_CHECK_MODULES(PYTHON, [python2], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python2`], [PYTHON_FOUND=no])
else
AC_PATH_PROGS(PYTHON, python2.7 python2.6 python2.5 python2 python)
PKG_CHECK_MODULES(PYTHON, [python3-embed], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3-embed`], [PYTHON_FOUND=no])
if test "x$PYTHON_FOUND" != "xyes"; then
PKG_CHECK_MODULES(PYTHON, [python3], [PYTHON_FOUND=yes; PYTHON_VERSION=`$PKGCONFIG --modversion python3`], [PYTHON_FOUND=no])
fi
fi
if test -z $PYTHON ; then
if test "x$PYTHON_FOUND" != "xyes" ; then
AC_MSG_WARN([
*** Python must be installed on your system but python interpreter couldn't be found in path.
*** Please check that python is in path, or install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
else
PYTHON_SYSPREFIX=`$PYTHON -c 'import sys; sys.stdout.write("%s" % sys.prefix)'`
PYTHON_VERSION=`$PYTHON -c 'import sys; sys.stdout.write(sys.version[[:3]])'`
PYTHON_INCLUDE=`$PYTHON -c "import sys, distutils.sysconfig, string; sys.stdout.write(distutils.sysconfig.get_config_var('INCLUDEPY'))"`
PYTHON_OLD_VERSION=`$PYTHON -c "import sys; sys.stdout.write(str(sys.version_info < (2,5)))"`
if test "x$PYTHON_OLD_VERSION" = "xTrue" ; then
AC_MSG_WARN([
*** Python >= 2.5 is needed to build Python plugin, version found: $PYTHON_VERSION.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
else
AC_MSG_CHECKING(for Python header files)
if test -r "$PYTHON_INCLUDE/Python.h"; then
PYTHON_CFLAGS="-I$PYTHON_INCLUDE"
AC_MSG_RESULT(found)
PYTHON_LIB=`$PYTHON -c "import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_config_var('LIBPL'))"`
PYTHON_LFLAGS="-lpython$PYTHON_VERSION "`$PYTHON -c "import sys, distutils.sysconfig; sys.stdout.write(distutils.sysconfig.get_config_var('LIBS')+' '+distutils.sysconfig.get_config_var('SYSLIBS')+' '+distutils.sysconfig.get_config_var('LINKFORSHARED'))"`
AC_MSG_CHECKING(for Python library)
if test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.a"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_LIB/libpython$PYTHON_VERSION.dll.a"; then
PYTHON_LFLAGS="-L$PYTHON_LIB $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
elif test -r "$PYTHON_SYSPREFIX/lib/libpython$PYTHON_VERSION.so"; then
PYTHON_LFLAGS="-L$PYTHON_SYSPREFIX/lib/ $PYTHON_LFLAGS"
AC_MSG_RESULT(found)
else
AC_MSG_WARN([
*** Python library couldn't be found on your system.
*** Try to install it with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
else
AC_MSG_WARN([
*** Python header files couldn't be found on your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Python support.])
enable_python="no"
not_found="$not_found python"
fi
fi
fi
else
not_asked="$not_asked python"
@@ -613,7 +496,8 @@ fi
if test "x$enable_python" = "xyes" ; then
AC_SUBST(PYTHON_CFLAGS)
AC_SUBST(PYTHON_LFLAGS)
AC_SUBST(PYTHON_LIBS)
AC_SUBST(PYTHON_VERSION)
AC_DEFINE(PLUGIN_PYTHON)
fi
@@ -624,7 +508,7 @@ RUBY_VERSION=
if test "x$enable_ruby" = "xyes" ; then
RUBY_CFLAGS=""
RUBY_LFLAGS=""
for v in "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
for v in "2.6" "2.5" "2.4" "2.3" "2.2" "2.1" "2.0" "1.9" "1.8" ; do
pkgconfig_ruby_found=`$PKGCONFIG --exists ruby-$v 2>/dev/null`
if test "x$?" = "x0" ; then
RUBY_VERSION=`$PKGCONFIG --modversion ruby-$v`
@@ -636,7 +520,7 @@ if test "x$enable_ruby" = "xyes" ; then
# detect old Ruby versions
if test "x$RUBY_CFLAGS" = "x" -o "x$RUBY_LFLAGS" = "x" ; then
AC_PATH_PROGS(RUBY, ruby1.9.3 ruby1.9.2 ruby1.9.1 ruby1.9 ruby1.8 ruby)
AC_PATH_PROGS(RUBY, ruby1.9.3 ruby1.9.2 ruby1.9.1 ruby1.9 ruby)
if test -z $RUBY ; then
AC_MSG_WARN([
*** Ruby must be installed on your system but ruby interpreter couldn't be found in path.
@@ -696,7 +580,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for Lua headers and libraries with pkg-config)
echo
for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
for l in "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
pkgconfig_lua_found=`$PKGCONFIG --exists lua$l 2>/dev/null`
if test "x$?" = "x0" ; then
LUA_VERSION=`$PKGCONFIG --modversion lua$l`
@@ -715,7 +599,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$LUA_CFLAGS" = "x" -o "x$LUA_LFLAGS" = "x" ; then
LUACONFIG=""
AC_CHECK_PROGS(LUACONFIG, lua-config lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0)
AC_CHECK_PROGS(LUACONFIG, lua-config53 lua-config5.3 lua-config52 lua-config5.2 lua-config51 lua-config5.1 lua-config50 lua-config5.0 lua-config)
if test "x$LUACONFIG" != "x" ; then
AC_MSG_CHECKING(for Lua headers and libraries with lua-config)
echo
@@ -733,7 +617,7 @@ if test "x$enable_lua" = "xyes" ; then
if test "x$ac_found_lua_header" = "xyes" -a "x$ac_found_liblua_header" = "xyes"; then
LUA_CFLAGS="$CFLAGS"
fi
for l in "$lua_suffix" "" "52" "5.2" "51" "5.1" "50" "5.0" ; do
for l in "53" "5.3" "52" "5.2" "51" "5.1" "50" "5.0" "$lua_suffix" "" ; do
AC_CHECK_LIB(lua$l,lua_call,ac_found_lua_lib="yes",ac_found_lua_lib="no")
if test "x$ac_found_lua_lib" = "xyes" ; then
LUA_VERSION=">=5.1.0"
@@ -846,7 +730,7 @@ if test "x$enable_guile" = "xyes" ; then
guile_found="no"
AC_MSG_CHECKING(for Guile headers and libraries)
echo
for v in "2.0" ; do
for v in "2.2" "2.0" ; do
pkgconfig_guile_found=`$PKGCONFIG --exists guile-$v 2>/dev/null`
if test "x$?" = "x0" ; then
GUILE_VERSION=`$PKGCONFIG --modversion guile-$v`
@@ -968,7 +852,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
AC_MSG_CHECKING(for PHP headers and libraries with pkg-config)
echo
for l in "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
pkgconfig_php_found=`$PKGCONFIG --exists php$l 2>/dev/null`
if test "x$?" = "x0" ; then
pkgconfig_php_found=`$PKGCONFIG --atleast-version=7 php$l 2>/dev/null`
@@ -985,7 +869,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$PHP_CFLAGS" = "x" -o "x$PHP_LFLAGS" = "x" ; then
PHPCONFIG=""
AC_MSG_CHECKING(for PHP headers and libraries with php-config)
for l in "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_PROG(PHPCONFIG, "php-config$l", "php-config$l")
if test "x$PHPCONFIG" != "x" ; then
php_config_version=`$PHPCONFIG --version`
@@ -1006,7 +890,7 @@ if test "x$enable_php" = "xyes" ; then
if test "x$ac_found_php_header" = "xyes" ; then
PHP_CFLAGS="$CFLAGS"
fi
for l in "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
for l in "7.3" "73" "7.2" "72" "7.1" "71" "7.0" "70" "7" "$php_suffix" "" ; do
AC_CHECK_LIB(php$l,php_execute_script,ac_found_php_lib="yes",ac_found_php_lib="no")
if test "x$ac_found_php_lib" = "xyes" ; then
PHP_VERSION=">=7.0.0"
@@ -1053,6 +937,79 @@ if test "x$enable_php" = "xyes" ; then
AC_DEFINE(PLUGIN_PHP)
fi
# ----------------------------------- spell ------------------------------------
if test "x$enable_spell" = "xyes" ; then
ac_found_enchant_lib="no"
if test "x$enable_enchant" = "xyes" ; then
PKG_CHECK_MODULES(ENCHANT, [enchant], ac_found_enchant_lib="yes", ac_found_enchant_lib="no")
fi
if test "x$ac_found_enchant_lib" = "xyes" ; then
CFLAGS="$CFLAGS -DUSE_ENCHANT"
SPELL_LIB_USED="enchant"
# check if function enchant_get_version() exists
ac_save_CFLAGS="$CFLAGS"
ac_save_LDFLAGS="$LDFLAGS"
CFLAGS="$CFLAGS $ENCHANT_CFLAGS"
LDFLAGS="$LDFLAGS $ENCHANT_LIBS"
AC_CACHE_CHECK([for enchant_get_version() support], ac_cv_have_enchant_get_version, [
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[ #include <enchant.h>]],
[[ const char *version = enchant_get_version(); ]])],
[ ac_have_enchant_get_version="yes" ],
[ ac_have_enchant_get_version="no" ])])
CFLAGS="$ac_save_CFLAGS"
LDFLAGS="$ac_save_LDFLAGS"
if test "x$ac_have_enchant_get_version" = "xyes"; then
AC_DEFINE(HAVE_ENCHANT_GET_VERSION)
fi
else
ASPELL_CFLAGS=""
ASPELL_LFLAGS=""
AC_CHECK_HEADER(aspell.h,ac_found_aspell_header="yes",ac_found_aspell_header="no")
AC_CHECK_LIB(aspell,new_aspell_speller,ac_found_aspell_lib="yes",ac_found_aspell_lib="no")
AC_MSG_CHECKING(for aspell headers and libraries)
if test "x$ac_found_aspell_header" = "xno" -o "x$ac_found_aspell_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_WARN([
*** Aspell headers and/or libraries couldn't be found on your system.
*** Try to install them with your software package manager.
*** WeeChat will be built without Aspell support.])
enable_spell="no"
not_found="$not_found spell"
else
AC_MSG_RESULT(yes)
ASPELL_LFLAGS="$ASPELL_LFLAGS -laspell"
SPELL_LIB_USED="aspell"
# check if function aspell_version_string() exists
ac_save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS $ASPELL_LFLAGS"
AC_CACHE_CHECK([for aspell_version_string() support], ac_cv_have_aspell_version_string, [
AC_LINK_IFELSE([AC_LANG_PROGRAM(
[[ #include <aspell.h>]],
[[ const char *version = aspell_version_string(); ]])],
[ ac_have_aspell_version_string="yes" ],
[ ac_have_aspell_version_string="no" ])])
LDFLAGS="$ac_save_LDFLAGS"
if test "x$ac_have_aspell_version_string" = "xyes"; then
AC_DEFINE(HAVE_ASPELL_VERSION_STRING)
fi
fi
fi
else
not_asked="$not_asked spell"
fi
if test "x$enable_spell" = "xyes" ; then
AC_SUBST(ASPELL_CFLAGS)
AC_SUBST(ASPELL_LFLAGS)
AC_DEFINE(PLUGIN_SPELL)
fi
# --------------------------------- trigger ------------------------------------
if test "x$enable_trigger" = "xyes" ; then
@@ -1206,7 +1163,7 @@ AC_MSG_CHECKING(for zlib headers and libraries)
if test "x$ac_found_zlib_header" = "xno" -o "x$ac_found_zlib_lib" = "xno" ; then
AC_MSG_RESULT(no)
AC_MSG_ERROR([
*** zlib was not found. You may want to get it from http://zlib.net/
*** zlib was not found. You may want to get it from https://zlib.net/
*** or try to install zlib1g-dev with your software package manager.])
else
AC_MSG_RESULT(yes)
@@ -1330,7 +1287,7 @@ AC_DEFINE_UNQUOTED(WEECHAT_SHAREDIR, "$WEECHAT_SHAREDIR")
weechat_libdir=${libdir}/weechat
AC_SUBST(weechat_libdir)
COMMON_CFLAGS="-Wall -Wextra -Werror-implicit-function-declaration"
COMMON_CFLAGS="-fsigned-char -Wall -Wextra -Werror-implicit-function-declaration"
AC_MSG_CHECKING([whether we have GNU assembler])
GAS=`as --version < /dev/null 2>/dev/null | grep GNU`
if test "$GAS"; then
@@ -1373,6 +1330,9 @@ netbsd*)
gnu*)
LDFLAGS="$LDFLAGS -lpthread"
;;
haiku*)
LDFLAGS="$LDFLAGS -lnetwork"
;;
*)
;;
esac
@@ -1390,7 +1350,6 @@ AM_CONDITIONAL(HAVE_EAT_NEWLINE_GLITCH, test "$enable_eatnewlineglitch" = "yes")
AM_CONDITIONAL(GUI_NCURSES, test "$enable_ncurses" = "yes")
AM_CONDITIONAL(HEADLESS, test "$enable_headless" = "yes")
AM_CONDITIONAL(PLUGIN_ALIAS, test "$enable_alias" = "yes")
AM_CONDITIONAL(PLUGIN_ASPELL, test "$enable_aspell" = "yes")
AM_CONDITIONAL(PLUGIN_BUFLIST, test "$enable_buflist" = "yes")
AM_CONDITIONAL(PLUGIN_CHARSET, test "$enable_charset" = "yes")
AM_CONDITIONAL(PLUGIN_EXEC, test "$enable_exec" = "yes")
@@ -1408,6 +1367,7 @@ AM_CONDITIONAL(PLUGIN_TCL, test "$enable_tcl" = "yes")
AM_CONDITIONAL(PLUGIN_GUILE, test "$enable_guile" = "yes")
AM_CONDITIONAL(PLUGIN_JAVASCRIPT, test "$enable_javascript" = "yes")
AM_CONDITIONAL(PLUGIN_PHP, test "$enable_php" = "yes")
AM_CONDITIONAL(PLUGIN_SPELL, test "$enable_spell" = "yes")
AM_CONDITIONAL(PLUGIN_TRIGGER, test "$enable_trigger" = "yes")
AM_CONDITIONAL(PLUGIN_XFER, test "$enable_xfer" = "yes")
AM_CONDITIONAL(TESTS, test "$enable_tests" = "yes")
@@ -1415,6 +1375,7 @@ AM_CONDITIONAL(MAN, test "$enable_man" = "yes")
AM_CONDITIONAL(DOC, test "$enable_doc" = "yes")
AC_OUTPUT([Makefile
icons/Makefile
doc/Makefile
doc/en/Makefile
doc/fr/Makefile
@@ -1429,7 +1390,6 @@ AC_OUTPUT([Makefile
src/core/Makefile
src/plugins/Makefile
src/plugins/alias/Makefile
src/plugins/aspell/Makefile
src/plugins/buflist/Makefile
src/plugins/charset/Makefile
src/plugins/exec/Makefile
@@ -1447,6 +1407,7 @@ AC_OUTPUT([Makefile
src/plugins/guile/Makefile
src/plugins/javascript/Makefile
src/plugins/php/Makefile
src/plugins/spell/Makefile
src/plugins/trigger/Makefile
src/plugins/xfer/Makefile
src/gui/Makefile
@@ -1479,9 +1440,6 @@ listplugins=""
if test "x$enable_alias" = "xyes"; then
listplugins="$listplugins alias"
fi
if test "x$enable_aspell" = "xyes"; then
listplugins="$listplugins aspell($ASPELL_LIB_USED)"
fi
if test "x$enable_buflist" = "xyes"; then
listplugins="$listplugins buflist"
fi
@@ -1533,6 +1491,9 @@ fi
if test "x$enable_php" = "xyes"; then
listplugins="$listplugins php($PHP_VERSION)"
fi
if test "x$enable_spell" = "xyes"; then
listplugins="$listplugins spell($SPELL_LIB_USED)"
fi
if test "x$enable_trigger" = "xyes"; then
listplugins="$listplugins trigger"
fi
+1 -1
View File
@@ -1 +1 @@
11
12
+7 -7
View File
@@ -4,16 +4,16 @@ Priority: optional
Maintainer: Sébastien Helleu <flashcode@flashtux.org>
Build-Depends:
asciidoctor (>= 1.5.4),
debhelper (>= 11),
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
gem2deb,
libperl-dev,
python-dev,
python3-dev,
libaspell-dev,
liblua5.1-0-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-2.0-dev,
guile-2.2-dev,
libv8-dev [amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386],
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
@@ -21,7 +21,7 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
zlib1g-dev
Standards-Version: 4.1.3
Standards-Version: 4.4.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -162,11 +162,11 @@ Depends:
${shlibs:Depends},
weechat-devel-curses (= ${binary:Version}) | weechat-devel-headless (= ${binary:Version})
Conflicts: weechat-python
Description: Fast, light and extensible chat client - Python plugin
Description: Fast, light and extensible chat client - Python 3 plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Python scripting API plugin.
This package provides the Python 3 scripting API plugin.
Package: weechat-devel-perl
Architecture: any
+2 -2
View File
@@ -16,7 +16,7 @@ weechat (1.1.1-1) unstable; urgency=medium
Since version 1.1, there is a new format for regexp replacement in
triggers. This format is incompatible with version 1.0. The existing
triggers will not be automatically updated.
See http://www.weechat.org/files/releasenotes/ReleaseNotes-1.1.html
See https://weechat.org/files/releasenotes/ReleaseNotes-1.1.html
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 25 Jan 2015 20:41:50 +0100
@@ -26,7 +26,7 @@ weechat (0.3.1-1) unstable; urgency=low
are stronger checks while connecting with SSL. By default, if a connection
is not fully trusted it will fail.
You can find more information on how to handle this new behaviour here:
https://weechat.org/blog/post/2009/12/01/SSL-certificates
https://blog.weechat.org/post/2009/12/01/SSL-certificates
-- Emmanuel Bouthenot <kolter@debian.org> Mon, 25 Jan 2010 12:35:11 +0100
+46
View File
@@ -1,3 +1,49 @@
weechat (2.6-2) unstable; urgency=medium
* Add a patch from upstream to support Guile 2.2 (Closes: #885235)
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 11 Oct 2019 15:07:22 +0000
weechat (2.6-1) unstable; urgency=medium
* New upstream release
* Build only with Python3 (Closes: #938817)
* Bump Standards-Version to 4.4.0
* Build Lua plugin against Lua 5.3
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 17 Sep 2019 13:30:32 +0000
weechat (2.4-1) unstable; urgency=medium
* New upstream release
-- Emmanuel Bouthenot <kolter@debian.org> Sun, 03 Mar 2019 19:29:13 +0000
weechat (2.3-1) unstable; urgency=medium
* New upstream release
* Bump Standards-Version to 4.3.0
* Switch debhelper compatibility to 12
-- Emmanuel Bouthenot <kolter@debian.org> Fri, 04 Jan 2019 16:06:44 +0000
weechat (2.2-1) unstable; urgency=medium
* New upstream release
* Remove upstream patch about localized manpages for weechat-headless
* Bump Standards-Version to 4.1.5
-- Emmanuel Bouthenot <kolter@debian.org> Wed, 19 Sep 2018 09:41:45 +0000
weechat (2.1-2) unstable; urgency=medium
* Disable build of javascript plugin to fix weechat autoremoval from
testing (RC bugs in libv8) (Closes: #894680)
* Add missing localized manpages for weechat-headless
* Fix debian/copyright Format URI
-- Emmanuel Bouthenot <kolter@debian.org> Tue, 03 Apr 2018 10:48:35 +0200
weechat (2.1-1) unstable; urgency=medium
* New upstream release (Closes: #887114)
+1 -1
View File
@@ -1 +1 @@
11
12
+7 -7
View File
@@ -4,16 +4,16 @@ Priority: optional
Maintainer: Emmanuel Bouthenot <kolter@debian.org>
Build-Depends:
asciidoctor (>= 1.5.4),
debhelper (>= 11),
debhelper (>= 12),
cmake, pkg-config,
libncursesw5-dev,
gem2deb,
libperl-dev,
python-dev,
python3-dev,
libaspell-dev,
liblua5.1-0-dev,
liblua5.3-dev,
tcl8.6-dev,
guile-2.0-dev,
guile-2.2-dev,
libv8-dev [amd64 i386 armel armhf mips mipsel hurd-i386 kfreebsd-amd64 kfreebsd-i386],
php-dev, libphp-embed, libargon2-0-dev, libsodium-dev,
libxml2-dev,
@@ -21,7 +21,7 @@ Build-Depends:
libgcrypt20-dev,
libgnutls28-dev,
zlib1g-dev
Standards-Version: 4.1.3
Standards-Version: 4.4.0
Homepage: https://weechat.org/
Vcs-Git: https://salsa.debian.org/kolter/weechat.git
Vcs-Browser: https://salsa.debian.org/kolter/weechat
@@ -156,11 +156,11 @@ Depends:
${misc:Depends},
${shlibs:Depends},
weechat-curses (= ${binary:Version}) | weechat-headless (= ${binary:Version})
Description: Fast, light and extensible chat client - Python plugin
Description: Fast, light and extensible chat client - Python 3 plugin
WeeChat (Wee Enhanced Environment for Chat) is a fast and light chat client
for many operating systems. Everything can be done with a keyboard.
.
This package provides the Python scripting API plugin.
This package provides the Python 3 scripting API plugin.
Package: weechat-perl
Architecture: any
+14 -14
View File
@@ -1,10 +1,10 @@
Format: http://svn.debian.org/wsvn/dep/web/deps/dep5.mdwn?op=file&rev=174
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: weechat
Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
Source: https://weechat.org/
Files: *
Copyright: 2003-2018, Sébastien Helleu <flashcode@flashtux.org>
Copyright: 2003-2019, Sébastien Helleu <flashcode@flashtux.org>
License: GPL-3+
Files: src/core/wee-command.c
@@ -19,11 +19,11 @@ Files: src/core/wee-config-file.c
Copyright: 2005-2006, Emmanuel Bouthenot <kolter@openics.org>
License: GPL-3+
Files: src/core/wee-hook.c
Files: src/core/hook/wee-hook-connect.c
Copyright: 2012, Simon Arlott
License: GPL-3+
Files: src/core/wee-hook.h
Files: src/core/hook/wee-hook-connect.h
Copyright: 2012, Simon Arlott
License: GPL-3+
@@ -35,11 +35,11 @@ Files: src/core/wee-completion.c
src/core/wee-log.c
src/core/wee-utf8.c
src/core/weechat.h
src/plugins/aspell/weechat-aspell-config.c
src/plugins/aspell/weechat-aspell-config.h
src/plugins/aspell/weechat-aspell-speller.c
src/plugins/aspell/weechat-aspell-speller.h
src/plugins/aspell/weechat-aspell.h
src/plugins/spell/spell-config.c
src/plugins/spell/spell-config.h
src/plugins/spell/spell-speller.c
src/plugins/spell/spell-speller.h
src/plugins/spell/spell.h
src/plugins/irc/irc-command.c
src/plugins/irc/irc.h
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
@@ -51,12 +51,12 @@ Copyright: 2005-2010, Emmanuel Bouthenot <kolter@openics.org>
2012, Simon Arlott
License: GPL-3+
Files: src/plugins/aspell/weechat-aspell-bar-item.c
src/plugins/aspell/weechat-aspell-bar-item.h
Files: src/plugins/spell/spell-bar-item.c
src/plugins/spell/spell-bar-item.h
Copyright: 2012, Nils Görs <weechatter@arcor.de>
License: GPL-3+
Files: src/plugins/aspell/weechat-aspell.c
Files: src/plugins/spell/spell.c
Copyright: 2006, Emmanuel Bouthenot <kolter@openics.org>
2012, Nils Görs <weechatter@arcor.de>
License: GPL-3+
@@ -165,7 +165,7 @@ License: GPL-3+
General Public License for more details.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
with this program. If not, see <https://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License,
Version 3 can be found in the file /usr/share/common-licenses/GPL-3
@@ -182,7 +182,7 @@ License: GPL-3-with-openssl-exception
General Public License for more details.
.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
with this program. If not, see <https://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General Public License,
Version 3 can be found in the file /usr/share/common-licenses/GPL-3
+1 -1
View File
@@ -1,6 +1,6 @@
usr/lib/*/weechat/plugins/aspell.so
usr/lib/*/weechat/plugins/exec.so
usr/lib/*/weechat/plugins/fifo.so
usr/lib/*/weechat/plugins/relay.so
usr/lib/*/weechat/plugins/script.so
usr/lib/*/weechat/plugins/spell.so
usr/lib/*/weechat/plugins/trigger.so
+4 -8
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2009 Emmanuel Bouthenot <kolter@openics.org>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,17 +15,13 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(ENABLE_MAN OR ENABLE_DOC)
find_package(Asciidoctor)
if(ASCIIDOCTOR_FOUND)
set(ASCIIDOCTOR_ARGS -a experimental -a icons=font -a revnumber="${VERSION}" -a sectanchors -a source-highlighter=prettify)
add_subdirectory(cs)
add_subdirectory(de)
add_subdirectory(en)
@@ -35,7 +31,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
add_subdirectory(ja)
add_subdirectory(pl)
add_subdirectory(ru)
else()
message(SEND_ERROR "Asciidoctor not found")
endif()
endif()
+2 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
SUBDIRS = . cs de en es fr it ja pl ru
+4 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(ENABLE_MAN)
@@ -25,6 +25,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.cs.adoc
@@ -41,6 +42,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.cs.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.cs.adoc
+11 -7
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
@@ -22,13 +22,16 @@ docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.cs.adoc \
weechat-headless.1.cs.adoc \
cmdline_options.cs.adoc \
cmdline_options_debug.cs.adoc \
weechat_quickstart.cs.adoc \
$(wildcard autogen/user/*.adoc) \
$(wildcard autogen/plugin_api/*.adoc)
if MAN
man_targets = weechat.1
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
@@ -39,9 +42,11 @@ if DOC
endif
all-local: $(man_targets) $(doc_targets)
# man page
weechat.1: weechat.1.cs.adoc cmdline_options.cs.adoc
# man pages
weechat.1: weechat.1.cs.adoc cmdline_options.cs.adoc cmdline_options_debug.cs.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/cs/weechat.1.cs.adoc
weechat-headless.1: weechat-headless.1.cs.adoc cmdline_options.cs.adoc cmdline_options_debug.cs.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/cs/weechat-headless.1.cs.adoc
# quickstart
weechat_quickstart.cs.html: weechat_quickstart.cs.adoc $(abs_top_srcdir)/doc/docinfo.html
@@ -54,7 +59,6 @@ install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/cs/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/cs/man1/
(cd '$(DESTDIR)$(mandir)/cs/man1/' && $(RM) weechat-headless.1 && $(LN_S) weechat.1 weechat-headless.1)
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
@@ -76,4 +80,4 @@ uninstall-doc:
# clean
clean-local:
-$(RM) weechat.1 weechat_*.html
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
+20 -1
View File
@@ -17,6 +17,18 @@
Pokud tato volba není zadána, použije se promněná prostředí WEECHAT_HOME
(pokud není prázdná)
// TRANSLATION MISSING
*-t*, *--temp-dir*::
Create a temporary WeeChat home directory and delete it on exit
(incompatible with option "-d"). +
The name of the directory is automatically built by WeeChat, with this
template: "weechat_temp_XXXXXX" (where "XXXXXX" is random). It it created
in the first available directory in this list: environment variable "TMPDIR",
"/tmp" (may be different according to the operating system), environment
variable "HOME", current directory. +
The temporary home directory has permissions 0700 (only owner can read,
write and execute).
*-h*, *--help*::
Zobrazí nápovědu.
@@ -26,8 +38,15 @@
*-p*, *--no-plugin*::
Vypne automatické nahrání pluginů.
// TRANSLATION MISSING
*-P*, *--plugins* _<plugins>_::
Load only these plugins at startup (see /help weechat.plugin.autoload).
If this option is given, the option weechat.plugin.autoload is not used.
// TRANSLATION MISSING
*-r*, *--run-command* _<command>_::
Spustí příkaz(y) po startu (více přůkazů může být odděleno středníky).
Run command(s) after startup; many commands can be separated by semicolons,
this option can be given multiple times.
*-s*, *--no-script*::
Vypni automatické nahrání scriptů.
+16
View File
@@ -0,0 +1,16 @@
// TRANSLATION MISSING
*--no-dlclose*::
Do not call the function dlclose after plugins are unloaded.
This is useful with tools like Valgrind to display stack for unloaded
plugins.
// TRANSLATION MISSING
*--no-gnutls*::
Do not call the init and deinit functions of GnuTLS library.
This is useful with tools like Valgrind and electric-fence, to prevent
GnuTLS memory errors.
// TRANSLATION MISSING
*--no-gcrypt*::
Do not call the init and deinit functions of Gcrypt library.
This is useful with tools like Valgrind, to prevent Gcrypt memory errors.
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je v
souboru AUTHORS.adoc).
Copyright (C) 2003-2018 {author}
Copyright (C) 2003-2019 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+3 -3
View File
@@ -10,9 +10,6 @@ $HOME/.weechat/sec.conf::
$HOME/.weechat/alias.conf::
configurační soubor pro _alias_ plugin
$HOME/.weechat/aspell.conf::
konfigurační soubor pro _aspell_ plugin
$HOME/.weechat/buflist.conf::
konfigurační soubor pro _buflist_ plugin
@@ -61,6 +58,9 @@ $HOME/.weechat/ruby.conf::
$HOME/.weechat/script.conf::
konfigurační soubor pro _script_ plugin
$HOME/.weechat/spell.conf::
konfigurační soubor pro _spell_ plugin
$HOME/.weechat/tcl.conf::
konfigurační soubor pro _tcl_ plugin
+10 -3
View File
@@ -14,8 +14,9 @@ weechat-headless - the extensible chat client (headless version)
== PŘEHLED
// TRANSLATION MISSING
[verse]
*weechat-headless* [-a|--no-connect] [--daemon] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
*weechat-headless* [-a|--no-connect] [--daemon] [-d|--dir <path>] [-t|--temp-dir] [-p|--no-plugin] [-P|--plugins <plugins>] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [debug-option...] [plugin:option...]
*weechat-headless* [-c|--colors]
*weechat-headless* [-h|--help]
*weechat-headless* [-l|--license]
@@ -31,11 +32,17 @@ v obvyklých sciptovacích jazycích.
The command *weechat-headless* runs WeeChat in a headless mode (no interface).
It can be used for tests or to daemonize WeeChat with the option "--daemon".
== VOLBY
include::cmdline_options.cs.adoc[]
// TRANSLATION MISSING
== DEBUG OPTIONS
*WARNING:* these options are for debug purposes only, *DO NOT USE IN PRODUCTION!*
include::cmdline_options_debug.cs.adoc[]
== VOLBY PLUGINŮ
include::man_plugin_options.cs.adoc[]
@@ -60,4 +67,4 @@ include::man_copyright.cs.adoc[]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/dev/support
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+10 -2
View File
@@ -13,8 +13,9 @@ weechat - the extensible chat client
== PŘEHLED
// TRANSLATION MISSING
[verse]
*weechat* [-a|--no-connect] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
*weechat* [-a|--no-connect] [-d|--dir <path>] [-t|--temp-dir] [-p|--no-plugin] [-P|--plugins <plugins>] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [debug-option...] [plugin:option...]
*weechat* [-c|--colors]
*weechat* [-h|--help]
*weechat* [-l|--license]
@@ -30,6 +31,13 @@ v obvyklých sciptovacích jazycích.
include::cmdline_options.cs.adoc[]
// TRANSLATION MISSING
== DEBUG OPTIONS
*WARNING:* these options are for debug purposes only, *DO NOT USE IN PRODUCTION!*
include::cmdline_options_debug.cs.adoc[]
== VOLBY PLUGINŮ
include::man_plugin_options.cs.adoc[]
@@ -54,4 +62,4 @@ include::man_copyright.cs.adoc[]
== PODPORA / HLÁŠENÍ CHYB
Pro pomoc nebo hlášení chyb https://weechat.org/dev/support
Pro pomoc nebo hlášení chyb https://weechat.org/about/support
+23 -15
View File
@@ -20,8 +20,8 @@ Spustění z Vašeho shellu:
$ weechat
----
[[help_options]]
== On-line nápověda/ volby
[[help]]
== On-line nápověda
WeeChat má nápovědů pro všechny příkazy, postě vložte:
@@ -35,15 +35,26 @@ K získání nápovědy pro specifický příkaz napište:
/help příkaz
----
// TRANSLATION MISSING
Help is available for options as well:
----
/help config.section.option
----
(kde `config` je jméno konfigurace (`weechat` pro jádro, nebo jméno pluginu),
`section` sekce této konfigurace a `option` jméno volby).
// TRANSLATION MISSING
[[options]]
== Set options
K nastavení voleb napište:
----
/set config.section.option value
----
(kde `config` je jméno konfigurace (`weechat` pro jádro, nebo jméno pluginu),
`section` sekce této konfigurace a `option` jméno volby).
WeeChat okamžitě použije novou hodnotu (*nikdy* nebudete potřebovat restart
WeeChatu po změně konfigurace).
@@ -59,13 +70,6 @@ that were not yet saved with `/save`). +
You can use the command `/set`, which checks the value and applies immediately
the changes.
// TRANSLATION MISSING
Help is available for options:
----
/help config.section.option
----
// TRANSLATION MISSING
The plugin _fset_ allows you to easily browse options and change them.
@@ -231,18 +235,22 @@ název volby):
----
[[connect_to_irc_server]]
== Připojení k IRC serveru a automatické ořipojení kanálů
== Připojení k IRC serveru
----
/connect freenode
----
// TRANSLATION MISSING
With this command, WeeChat connects to the freenode server and auto-joins the
channels configured in the "autojoin" server option.
// TRANSLATION MISSING
[NOTE]
Tento příkaz může být použit k vytvoření nového připojení k serveru bez
použití příkazu `/server` (see `/help connect`).
Ve výchozím nastavení jsou serverové bufery spojen s Weechat _core_ buferem.
Ve výchozím nastavení jsou serverové bufery spojen s WeeChat _core_ buferem.
K přepnutí mezi _core_ a server bufery můžete použít klávesu kbd:[Ctrl+x].
Je možné vypnout automatické sloučení serverových buferů a mít nezávislé
@@ -335,7 +343,7 @@ To remove the split:
[[key_bindings]]
== Předvoblby klávesových zkratek
Weechat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny
najdete v dokumentaci, ale je dobré znát alespoň pár těchto důležitých:
- kbd:[Alt+←] / kbd:[Alt+→] nebo kbd:[F5] / kbd:[F6]: přepnout na předchozí/další bufer
+5 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(ENABLE_MAN)
@@ -25,6 +25,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.de.adoc
@@ -41,6 +42,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.de.adoc
@@ -63,6 +65,7 @@ if(ENABLE_DOC)
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.de.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.de.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.de.html"
+12 -8
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
@@ -23,7 +23,9 @@ docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.de.adoc \
weechat-headless.1.de.adoc \
cmdline_options.de.adoc \
cmdline_options_debug.de.adoc \
weechat_user.de.adoc \
weechat_scripting.de.adoc \
weechat_faq.de.adoc \
@@ -32,7 +34,8 @@ EXTRA_DIST = CMakeLists.txt \
$(wildcard autogen/user/*.adoc)
if MAN
man_targets = weechat.1
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
@@ -47,12 +50,14 @@ if DOC
endif
all-local: $(man_targets) $(doc_targets)
# man page
weechat.1: weechat.1.de.adoc cmdline_options.de.adoc
# man pages
weechat.1: weechat.1.de.adoc cmdline_options.de.adoc cmdline_options_debug.de.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/de/weechat.1.de.adoc
weechat-headless.1: weechat-headless.1.de.adoc cmdline_options.de.adoc cmdline_options_debug.de.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/de/weechat-headless.1.de.adoc
# user's guide
weechat_user.de.html: weechat_user.de.adoc cmdline_options.de.adoc $(wildcard autogen/user/*.adoc) $(abs_top_srcdir)/doc/docinfo.html
weechat_user.de.html: weechat_user.de.adoc cmdline_options.de.adoc cmdline_options_debug.de.adoc $(wildcard autogen/user/*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) -a revision="$(VERSION)" -a sectanchors -a source-highlighter=prettify -o weechat_user.de.html $(abs_top_srcdir)/doc/de/weechat_user.de.adoc
# scripting guide
@@ -78,7 +83,6 @@ install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/de/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/de/man1/
(cd '$(DESTDIR)$(mandir)/de/man1/' && $(RM) weechat-headless.1 && $(LN_S) weechat.1 weechat-headless.1)
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
@@ -100,4 +104,4 @@ uninstall-doc:
# clean
clean-local:
-$(RM) weechat.1 weechat_*.html
-$(RM) weechat.1 weechat-headless.1 weechat_*.html
+7 -5
View File
@@ -10,10 +10,6 @@
| alias | alias_value | Wert von Alias
| aspell | aspell_dicts | Auflistung der installierten Wörterbücher
| aspell | aspell_langs | Liste aller Sprachen die durch Aspell unterstützt werden
| exec | exec_commands_ids | IDs (Nummern und Namen) von ausgeführten Befehlen
| fset | fset_options | Konfigurationsdateien, Sektionen, Optionen und Worte von Optionen
@@ -42,6 +38,8 @@
| irc | irc_privates | Private auf allen IRC Servern
| irc | irc_raw_filters | Filter für IRC Rohbuffer
| irc | irc_server | aktueller IRC-Server
| irc | irc_server_channels | Channels des derzeitigen IRC-Server
@@ -86,6 +84,10 @@
| script | script_tags | Schlagwortliste für Skripten im Repositorium
| spell | spell_dicts | Auflistung der installierten Wörterbücher
| spell | spell_langs | Liste aller Sprachen die unterstützt werden
| tcl | tcl_script | Liste der Skripten
| trigger | trigger_hook_arguments | Standardargumente für einen Hook
@@ -142,7 +144,7 @@
| weechat | env_vars | Umgebungsvariablen
| weechat | filename | Dateinamen
| weechat | filename | Dateiname; optionales Argument: default path (Hinweis: Inhalt wird evaluiert, siehe /help eval)
| weechat | filters_names | Liste der Filter
+6 -1
View File
@@ -243,6 +243,7 @@ _nick_first_tried_   (integer) +
_nick_alternate_number_   (integer) +
_nick_   (string) +
_nick_modes_   (string) +
_host_   (string) +
_checking_cap_ls_   (integer) +
_cap_ls_   (hashtable) +
_checking_cap_list_   (integer) +
@@ -251,6 +252,8 @@ _isupport_   (string) +
_prefix_modes_   (string) +
_prefix_chars_   (string) +
_nick_max_length_   (integer) +
_user_max_length_   (integer) +
_host_max_length_   (integer) +
_casemapping_   (integer) +
_chantypes_   (string) +
_chanmodes_   (string) +
@@ -429,7 +432,7 @@ _tags_   (string) +
_requirements_   (string) +
_min_weechat_   (string) +
_max_weechat_   (string) +
_md5sum_   (string) +
_sha512sum_   (string) +
_url_   (string) +
_popularity_   (integer) +
_date_added_   (time) +
@@ -891,6 +894,7 @@ _str_time_   (string) +
_tags_count_   (integer) +
_tags_array_   (shared_string, array_size: "tags_count") +
_displayed_   (char) +
_notify_level_   (char) +
_highlight_   (char) +
_refresh_needed_   (char) +
_prefix_   (shared_string) +
@@ -968,6 +972,7 @@ _charset_   (string) +
_priority_   (integer) +
_initialized_   (integer) +
_debug_   (integer) +
_upgrading_   (integer) +
_variables_   (hashtable) +
_prev_plugin_   (pointer, hdata: "plugin") +
_next_plugin_   (pointer, hdata: "plugin") +
+2
View File
@@ -10,6 +10,8 @@
| alias | alias_default | Liste der standardmäßigen Aliase | - | -
| buflist | buflist | Liste der Buffer in buflist Bar-Item | - | buflist Bar-Item Name (optional)
| fset | fset_option | Auflistung der fset Optionen | fset Option-Pointer (optional) | Name einer Einstellung (Platzhalter "*" kann verwendet werden) (optional)
| guile | guile_script | Liste der Skripten | Skript Pointer (optional) | Name des Skriptes (Platzhalter "*" kann verwendet werden) (optional)
+12 -4
View File
@@ -6,8 +6,6 @@
|===
| Erweiterung | Name | Beschreibung | Argumente
| aspell | aspell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.freenode.#weechat")
| fifo | fifo_filename | Name der FIFO-Pipe | -
| guile | guile_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
@@ -74,6 +72,8 @@
| ruby | ruby_version | Version des verwendeten Interpreters | -
| spell | spell_dict | durch Kommata getrennte Liste von Wörterbüchern, die in diesem Buffer genutzt werden sollen | Buffer-Pointer ("0x12345678") oder der vollständige Buffername ("irc.freenode.#weechat")
| tcl | tcl_eval | Evaluierung des Quelltextes | Quelltext welcher ausgeführt werden soll
| tcl | tcl_interpreter | Name des verwendeten Interpreters | -
@@ -100,7 +100,7 @@
| weechat | inactivity | Inaktivität der Tastatur (Sekunden) | -
| weechat | locale | Lokalisation welche für die übersetzten Nachrichten verwendet werden soll | -
| weechat | locale | Spracheinstellung die für die übersetzten Nachrichten verwendet werden soll | -
| weechat | nick_color | zeigt Farbecode des Nick | Nickname
@@ -108,11 +108,19 @@
| weechat | pid | WeeChat PID (Prozess-ID) | -
| weechat | term_color_pairs | Anzahl der Farbpaare die durch das Terminal unterstützt werden | -
| weechat | term_colors | Anzahl der Farben die durch das Terminal unterstützt werden | -
| weechat | term_height | Höhe des Terminals | -
| weechat | term_width | Breite des Terminals | -
| weechat | uptime | Laufzeit von Weechat (Format: "days:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | totp_generate | generiert ein Time-based One-Time Passwort (TOTP) | geheime Zeichenkette (in base32), Zeitstempel (optional, standardmäßig aktuelle Zeit), Anzahl an Zeichen (optional, zwischen 4 und 10, standardmäßig 6)
| weechat | totp_validate | validiert ein Time-based One-Time Passwort (TOTP): 1 falls TOTP korrekt ist, ansonsten 0 | geheim (in base32), einmaliges Passwort, Zeitstempel (optional, standardmäßig aktuelle Zeit), Anzahl der zu testenden Passwörtern vorher/nachher (optional, standardmäßig 0)
| weechat | uptime | Laufzeit von WeeChat (Format: "days:hh:mm:ss") | "days" (Anzahl der Tage) oder "seconds" (Anzahl der Sekunden) (optional)
| weechat | version | WeeChat-Version | -
@@ -6,7 +6,7 @@
|===
| Erweiterung | Name | Beschreibung | Hashtable (Eingabe) | Hashtable (Ausgabe)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
| irc | irc_message_parse | Parse eine IRC Nachricht | "message": IRC Nachricht, "server": Servername (optional) | "tags": Tags, "message_without_tags": Nachrichten ohne Tags, "nick": Nick, "user": Benutzername, "host": Host, "command": Befehl, "channel": Channel, "arguments": Argumente (schließt Channel ein), "text": Text (zum Beispiel eine Nachricht von einem User), "pos_command": Index der "command" Nachricht ("-1" falls "command" nicht gefunden wird), "pos_arguments": Index der "arguments" Nachricht ("-1" falls "arguments" nicht gefunden wird), "pos_channel": Index der "channel" Nachricht ("-1" falls "channel" nicht gefunden wird),"pos_text": Index für "text" Nachricht ("-1" falls "text" nicht gefunden wird)
| irc | irc_message_split | trennt eine IRC Nachricht (standardmäßig in 512 Bytes große Nachrichten) | "message": IRC Nachricht, "server": Servername (optional) | "msg1" ... "msgN": Nachrichten die versendet werden sollen (ohne abschließendes "\r\n"), "args1" ... "argsN": Argumente für Nachrichten, "count": Anzahl der Nachrichten
@@ -6,7 +6,7 @@
. logger (14000)
. exec (13000)
. trigger (12000)
. aspell (11000)
. spell (11000)
. alias (10000)
. buflist (9000)
. fifo (8000)
+34 -8
View File
@@ -62,6 +62,8 @@
| unix_socket_path | string |
| abstract_unix_socket | string |
| path_as_is | long |
| proxy_service_name | string |
@@ -72,15 +74,21 @@
| tcp_fastopen | long |
| socks5_auth | long |
| haproxyprotocol | long |
| doh_url | string |
| netrc | long | ignored, optional, required
| userpwd | string |
| proxyuserpwd | string |
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate
| httpauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate
| proxyauth | mask | none, basic, digest, ntlm, any, anysafe, digest_ie, only, ntlm_wb, negotiate, gssapi, bearer
| netrc_file | string |
@@ -104,6 +112,8 @@
| login_options | string |
| disallow_username_in_url | long |
| autoreferer | long |
| followlocation | long |
@@ -114,8 +124,6 @@
| postfields | string |
| httppost | list |
| referer | string |
| useragent | string |
@@ -170,6 +178,8 @@
| stream_weight | long |
| request_target | string |
| mail_from | string |
| mail_rcpt | list |
@@ -258,6 +268,10 @@
| maxfilesize_large | long long |
| timevalue_large | long long |
| upload_buffersize | long |
| timeout | long |
| low_speed_limit | long |
@@ -300,9 +314,15 @@
| connect_to | list |
| happy_eyeballs_timeout_ms | long |
| dns_shuffle_addresses | long |
| upkeep_interval_ms | long |
| sslcert | string |
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3
| sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| ssl_verifypeer | long |
@@ -342,7 +362,7 @@
| gssapi_delegation | long | none, policy_flag, flag
| ssl_options | long | allow_beast, no_revoke
| ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| ssl_enable_alpn | long |
@@ -372,11 +392,11 @@
| proxy_sslkeytype | string |
| proxy_sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3
| proxy_sslversion | long | default, tlsv1, sslv2, sslv3, tlsv1_0, tlsv1_1, tlsv1_2, tlsv1_3, max_default, max_none, max_tlsv1_0, max_tlsv1_1, max_tlsv1_2, max_tlsv1_3
| proxy_ssl_cipher_list | list |
| proxy_ssl_options | long | allow_beast, no_revoke
| proxy_ssl_options | long | allow_beast, no_revoke, no_backends, ok, too_late, unknown_backend
| proxy_ssl_verifyhost | long |
@@ -388,6 +408,10 @@
| proxy_tlsauth_username | string |
| tls13_ciphers | list |
| proxy_tls13_ciphers | list |
| ssh_auth_types | mask | none, policy_flag, flag
| ssh_public_keyfile | string |
@@ -398,6 +422,8 @@
| ssh_knownhosts | string |
| ssh_compression | long |
| new_file_perms | long |
| new_directory_perms | long |
@@ -7,8 +7,6 @@
| Alias | Befehl | Vervollständigung
| /AAWAY | /allserv /away | -
| /AME | /allchan /me | -
| /AMSG | /allchan /msg * | -
| /ANICK | /allserv /nick | -
| /BEEP | /print -beep | -
| /BYE | /quit | -
@@ -35,8 +33,9 @@
| /UMODE | /mode $nick | -
| /V | /command core version | -
| /W | /who | -
| /WC | /window merge | -
| /WC | /window close | -
| /WI | /whois | -
| /WII | /whois $1 $1 | -
| /WM | /window merge | -
| /WW | /whowas | -
|===
-32
View File
@@ -1,32 +0,0 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
[[command_aspell_aspell]]
* `+aspell+`: Konfiguration für Aspell-Erweiterung
----
/aspell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
deldict
addword [<dict>] <word>
enable: Aspell wird aktiviert
disable: Aspell wird deaktiviert
toggle: Aspell Funktionalität umschalten
listdict: die, auf dem System, installierten Wörterbücher werden aufgelistet
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden)
deldict: Wörterbuch für den aktuellen Buffer entfernen
addword: fügt ein Wort in das persönliche Wörterbuch von Aspell hinzu
Eingaben die mit '/' beginnen werden nicht überprüft, davon ausgenommen sind einige Befehle (siehe /set aspell.check.commands).
Um sich eine Liste von Vorschlägen in einer Bar anzeigen zu lassen nutzt man das Item "aspell_suggest".
Um Aspell auf alle Buffer anzuwenden sollte die Einstellung "default_dict" genutzt und Aspell aktiviert werden:
/set aspell.check.default_dict "de_DE-neu"
/aspell enable
Die Standardtastaturbelegung zum Umschalten der Aspell Funktionalität lautet alt-s.
----
+5 -4
View File
@@ -10,7 +10,7 @@
refresh
bar: fügt eine "buflist" Bar hinzu
refresh: erzwingt eine Aktualisierung des "buflist" Bar-Item
refresh: erzwingt eine Aktualisierung der Bar-Item (buflist, buflist2 und buflist3)
Jede Zeile die einen Buffer anzeigt wird mittels Zeichenketten-Evaluation dargestellt (siehe /help eval für das Format), dazu werden folgende Optionen genutzt:
- buflist.look.display_conditions: Bedingungen um einen Buffer in der Liste darzustellen
@@ -32,15 +32,16 @@ Die folgenden Variablen können in den obigen Optionen genutzt werden:
- ${format_buffer}: der evaluierte Wert der Option buflist.format.buffer; dies kann in der Option buflist.format.buffer_current genutzt werden um zum Beispiel die Hintergrundfarbe zu verändern
- ${current_buffer}: ein Boolean ("0" oder "1"), "1" falls es sich um den aktuellen Buffer handelt; dies kann in einer Bedingung verwendet werden: ${if:${current_buffer}?...:...}
- ${merged}: ein Boolean ("0" oder "1"), "1" wenn der Buffer mit einem anderen zusammengefügt ist; kann innerhalb einer Bedingung genutzt werden: ${if:${merged}?...:...}
- ${format_number}: eingerückte Numer mit Trennzeichen (evaluiert aus Option buflist.format.number)
- ${number}: eingerückte Nummer, zum Beispiel " 1", falls die Anzahl der Buffer zwischen 10 und 99 liegt
- ${format_number}: eingerückte Nummer mit Trennzeichen (evaluiert aus Option buflist.format.number)
- ${number}: eingerückte Nummer, zum Beispiel " 1", falls die Anzahl der Buffer zwischen 10 und 99 liegt; bei zusammengefügten Buffern enthält die Variable für den ersten Buffer die entsprechende Nummer, die weiteren Buffer enthalten ein Leerzeichen anstelle der Nummer
- ${number2}: eingerückte Nummer, zum Beispiel " 1", falls die Anzahl der Buffer zwischen 10 und 99 liegt
- ${number_displayed}: "1" falls Nummer angezeigt wird, ansonsten "0"
- ${indent}: Einrückung für Name (Channel und private Buffer werden eingerückt) (evaluiert aus Option buflist.format.indent)
- ${format_nick_prefix}: Nick-Präfix mit entsprechender Farbe für einen Channel (evaluiert aus Option buflist.format.nick_prefix)
- ${color_nick_prefix}: Farbe für den Nick-Präfix von einem Channel (wird nur genutzt wenn die Option buflist.look.nick_prefix aktiviert ist)
- ${nick_prefix}: der Nick-Präfix für einen Channel (wird nur genutzt falls die Option buflist.look.nick_prefix aktiviert ist)
- ${format_name}: der formatierte Name (evaluiert aus Option buflist.format.name)
- ${name}: der Kurzname (falls einer gesetzt ist), Ersatzweise wird auf den Originalnamen zurückgegriffen
- ${name}: der Kurzname (falls einer gesetzt ist), ersatzweise wird auf den Originalnamen zurückgegriffen
- ${color_hotlist}: die Farbe mit der höchsten Priorität für den entsprechenden Buffer (evaluiert aus Option buflist.format.hotlist_xxx wobei xxx der entsprechende Level ist)
- ${format_hotlist}: die formatierte Hotlist (evaluiert aus Option buflist.format.hotlist)
- ${hotlist}: die Hotlist in der Rohform
+3 -3
View File
@@ -19,7 +19,7 @@
-list: zeigt laufende Befehle an
-sh: es wird die shell verwendet um Befehle auszuführen, mehrere Befehle können dabei gepiped werden (WARNUNG: Dieses Argument sollte nur verwendet werden, falls alle Argumente unbedenklich sind, siehe Argument -nosh)
-nosh: die shell wird nicht verwendet um Befehle auszuführen (wird benötigt, falls der Befehl mit sensiblen Daten hantiert. Zum Beispiel der Inhalt einer Nachricht eines anderen Users)(Standardverhalten)
-bg: führt Prozess im Hintergrund aus: gibt weder eine Prozessausgabe noch einen Rückgabewert aus (nicht kompatibel mit Argumenten -o/-oc/-n/-nf/-pipe/-hsignal)
-bg: führt Prozess im Hintergrund aus: es wird weder eine Prozessausgabe noch ein Rückgabewert ausgegeben (nicht kompatibel mit Argumenten -o/-oc/-n/-nf/-pipe/-hsignal)
-nobg: gibt Prozessausgabe und Rückgabewert aus (Standardverhalten)
-stdin: erstellt eine PIPE um Daten zu dem Prozess zu senden (mittels /exec -in/-inclose)
-nostdin: es wird keine PIPE für stdin erstellt (Standardverhalten)
@@ -28,7 +28,7 @@
-o: gibt die Ausgabe des Befehls im Buffer aus (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
-oc: gibt die Ausgabe des Befehls im Buffer aus und führt diesen dann aus (betrifft Zeilen die mit "/" beginnen bzw. das benutzerdefinierte Befehlszeichen verwenden) (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
-n: gibt die Ausgabe des Befehls in einem neuen Buffer aus (nicht kompatibel mit Argumenten -bg/-pipe/-hsignal)
-nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Argument -bg/-pipe/-hsignal)
-nf: gibt die Ausgabe des Befehls in einem neuen Buffer, mit einem freien Inhalt, aus (kein Zeilenumbruch, keine Limitierung in der Anzahl der Zeilen), aus (nicht kompatibel mit Argument -bg/-pipe/-hsignal)
-cl: der neue Buffer wird vor einer Ausgabe gelöscht
-nocl: Ausgabe wird an neuen Buffer angehangen, ohne diesen vorher zu löschen (Standardverhalten)
-sw: es wird zum Ausgabebuffer gewechselt (Standardverhalten)
@@ -67,7 +67,7 @@ Standardoptionen können in der Einstellung exec.command.default_options bestimm
Beispiele:
/exec -n ls -l /tmp
/exec -sh -n ps xu | grep weechat
/exec -n -norc url:http://pastebin.com/raw.php?i=xxxxxxxx
/exec -n -norc url:https://pastebin.com/raw.php?i=xxxxxxxx
/exec -nf -noln links -dump https://weechat.org/files/doc/devel/weechat_user.en.html
/exec -o uptime
/exec -pipe "/print Machine uptime:" uptime
+6
View File
@@ -25,3 +25,9 @@
** Typ: integer
** Werte: -1 .. 25920000
** Standardwert: `+0+`
* [[option_exec.command.shell]] *exec.command.shell*
** Beschreibung: pass:none[shell welche für den Befehl "/exec -sh" genutzt werden soll; hierbei kann es sich um den Namen der shell handeln der über PATH gefunden wird (zum Beispiel "bash") oder man nutzt eine absolute Pfadangabe zur Binärdatei (zum Beispiel "/bin/bash"); wenn kein Wert angegeben ist, wird "sh" genutzt (Hinweis: Inhalt ist evaluiert, siehe /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"${env:SHELL}"+`
+5 -3
View File
@@ -51,6 +51,8 @@
d:xxx zeigt nur Optionen die verändert wurden und "xxx" im Namen haben
d=xxx zeigt nur veränderte Optionen, die "xxx" als Wert haben
d==xxx zeigt nur veränderte Optionen die exakt "xxx" als Wert haben
h=xxx zeigt alle Optionen, die den Text "xxx" in der Beschreibung enthalten (in der Übersetzung)
he=xxx zeigt alle Optionen, die den Text "xxx" in der Beschreibung enthalten (in der englischen Beschreibung)
=xxx zeigt nur Optionen mit "xxx" als Wert
==xxx zeigt nur Optionen die exakt "xxx" als Wert haben
c:xxx zeigt nur Optionen auf die die evaluierte Bedingung "xxx" zutrifft, folgende Variable können verwendet werden: file, section, option, name, parent_name, type, type_en, type_short (bool/int/str/col), type_tiny (b/i/s/c), default_value, default_value_undef, value, quoted_value, value_undef, value_changed, parent_value, min, max, description, description2, description_en, description_en2, string_values
@@ -60,14 +62,14 @@ Zeilen werden mittels evaluierten Ausdrücken dargestellt (siehe /help eval für
- fset.format.option2: zweites Format für eine Option
Die nachfolgenden Variablen können in den Optionen genutzt werden:
- Optionsdaten, mit Farbe und durch Leerzeichen auf der rechten Seite aufgefüllt:
- Optionsdaten, mit Farbe und durch Leerzeichen auf der rechten Seite aufgefüllt:
- ${file}: Konfigurationsdatei (zum Beispiel "weechat" oder "irc")
- ${section}: Sektion
- ${option}: Name der Option
- ${name}: vollständiger Name der Option (file.section.option)
- ${parent_name}: übergeordneter Name der Option
- ${type}: Optionstyp (übersetzt)
- ${type_en}: Optionstyp (auf englisch)
- ${type_en}: Optionstyp (auf englisch)
- ${type_short}: Optionstyp Kurzform (bool/int/str/col)
- ${type_tiny}: Optionstyp klein (b/i/s/c)
- ${default_value}: Standardwert einer Option
@@ -145,7 +147,7 @@ Mausaktionen im fset Buffer:
Hinweis: Leerzeichen am Anfang der Eingabezeile werden ignoriert und der folgende Text wird als Filter verwendet. Ein Beispiel: "q" schließt den fset Buffer wobei hingegen " q" alle Optionen anzeigt die ein "q" im Namen beinhalten.
Beispiele:
zeigt alle IRC Optionen an die verändert wurden:
zeigt alle IRC Optionen an, die verändert wurden:
/fset d:irc.*
zeigt alle Optionen die "nicklist" im Namen tragen:
/fset nicklist
+16 -5
View File
@@ -124,7 +124,7 @@ Beispiele:
* `+connect+`: Mit IRC-Server(n) verbinden
----
/connect <server> [<server>...] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
/connect [<server> [<server>...]] [-<option>[=<value>]] [-no<option>] [-nojoin] [-switch]
-all|-auto|-open [-nojoin] [-switch]
server: Name des Servers, folgende Möglichkeiten bestehen:
@@ -160,7 +160,7 @@ Beispiele:
server: an diesen Server senden (interner Servername)
target: Nick- oder Channelname an welchen eine CTCP-Nachricht geschickt werden soll ('*' = aktuellen Channel)
type: CTCP-Nachricht (Beispiele: "version", "ping", ..)
type: CTCP-Nachricht (Beispiele: "version", "ping", usw.)
arguments: Argumente für CTCP
Beispiele:
@@ -373,7 +373,7 @@ reason: Grund der Abmeldung
----
[[command_irc_links]]
* `+links+`: alle Servernamen auflisten die dem antwortenden Server bekannt sind
* `+links+`: alle Servernamen auflisten, die dem antwortenden Server bekannt sind
----
/links [[<target>] <server_mask>]
@@ -726,7 +726,8 @@ reason: Grund der Abmeldung
reorder <name> [<name>...]
open <name>|-all [<name>...]
del|keep <name>
deloutq|jump|raw
deloutq|jump
raw [<filter>]
list: listet Server auf (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
listfull: listet alle Server auf, mit detaillierten Informationen zu jedem einzelnen Server
@@ -739,12 +740,19 @@ nooption: stellt die Boolean Einstellung auf 'off' (Beispiel: -nossl)
copy: erstellt eine Kopie des Servers
rename: benennt den Server um
reorder: Anordnung der Server ändern
open: öffnen den Serverbuffer, ohne eine Verbindung herzustellen
open: öffnet den Serverbuffer, ohne eine Verbindung herzustellen
keep: übernimmt den Server in die Konfigurationsdatei (nur sinnvoll bei temporär angelegten Servern)
del: entfernt einen Server
deloutq: löscht bei allen Servern alle ausgehende Nachrichten, die in der Warteschlange stehen (dies betrifft alle Nachrichten die WeeChat gerade sendet)
jump: springt zum Server-Buffer
raw: öffnet Buffer mit Roh-IRC-Daten
filter: setzt einen neuen Filter um übereinstimmende Nachrichten anzuzeigen (ein Filter kann auch in der Eingabezeile im IRC Datenbuffer angelegt werden); erlaubte Formattierungen:
* zeigt alle Nachrichten an (keine Filterung von Nachrichten)
xxx zeigt nur Nachrichten mit "xxx" an
s:xxx zeigt nur Nachrichten von Server "xxx" an
f:xxx zeigt nur Nachrichten mit dem entsprechenden Flag an: recv (erhaltene Nachricht), sent (gesendete Nachricht), modified (Nachricht welche modifiziert wurde), redirected (umgeleitete Nachricht)
m:xxx zeigt nur IRC Befehl "xxx" an
c:xxx zeigt nur Nachrichten an auf die die evaluierte Bedingung "xxx" zutrifft, folgende Variable können verwendet werden: Ausgabe der Funktion irc_message_parse (wie nick, command, channel, text, etc., siehe Funktion info_get_hashtable in der Anleitung für API Erweiterung für eine Liste aller möglichen Variablen), date (Format: "yyyy-mm-dd hh:mm:ss"), server, recv, sent, modified, redirected
Beispiele:
/server listfull
@@ -756,6 +764,9 @@ Beispiele:
/server reorder freenode2 freenode
/server del freenode
/server deloutq
/server raw
/server raw s:freenode
/server raw c:${recv} && ${command}==PRIVMSG && ${nick}==foo
----
[[command_irc_service]]
+36 -12
View File
@@ -44,6 +44,12 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+green+`
* [[option_irc.color.message_kick]] *irc.color.message_kick*
** Beschreibung: pass:none[Textfarbe in der die Meldungen für kick/kill Nachrichten angezeigt werden soll]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+red+`
* [[option_irc.color.message_quit]] *irc.color.message_quit*
** Beschreibung: pass:none[Textfarbe in der die Meldungen für das Verlassen/Beenden eines Channels angezeigt werden soll]
** Typ: Farbe
@@ -51,7 +57,7 @@
** Standardwert: `+red+`
* [[option_irc.color.mirc_remap]] *irc.color.mirc_remap*
** Beschreibung: pass:none[ersetzt mirc Farben in Nachrichten mittels einer Hashtabelle: Schlüssel sind "fg,bg" als Ganzzahl zwischen -1 (nicht näher bezeichnet) und 15. Als Wert ist der Farbname oder die Farbnummer von WeeChat möglich (Format: "1,-1:Farbe1;2,7:Farbe2"), Beispiel: "1,-1:darkgray;1,2:white,blue" ersetzt schwarz durch "darkgray" und schwarz auf blau durch "white,blue"; Tabelle der Standard-IRC-Farben von WeeChat (in Klammern der Farbname, wie er von WeeChat genutzt wird): 0=weiß (white), 1=schwarz (black), 2=blau (blue), 3=grün (green), 4=hellrot (lightred), 5=rot (red), 6=violett (magenta), 7=braun (brown), 8=gelb (yellow), 9= hell-grün (lightgreen), 10=türkis (cyan), 11=hell-türkis (lightcyan), 12=hellblau (lightblue), 13=hell-violett (lightmagenta), 14=grau (gray), 15=weiß (white)]
** Beschreibung: pass:none[ersetzt mirc Farben in Nachrichten mittels einer Hashtabelle: Schlüssel sind "fg,bg" als Ganzzahl zwischen -1 (nicht näher bezeichnet) und 15. Als Wert ist der Farbname oder die Farbnummer von WeeChat möglich (Format: "1,-1:Farbe1;2,7:Farbe2"), Beispiel: "1,-1:darkgray;1,2:white,blue" ersetzt schwarz durch "darkgray" und schwarz auf blau durch "white,blue"; Tabelle der Standard-IRC-Farben von WeeChat (in Klammern der Farbname, wie er von WeeChat genutzt wird): 0=weiß (white), 1=schwarz (black), 2=blau (blue), 3=grün (green), 4=hellrot (lightred), 5=rot (red), 6=violett (magenta), 7=braun (brown), 8=gelb (yellow), 9= hell-grün (lightgreen), 10=türkis (cyan), 11=hell-türkis (lightcyan), 12=hellblau (lightblue), 13=hell-violett (lightmagenta), 14=dunkel-grau (darkgray), 15=grau (gray)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"1,-1:darkgray"+`
@@ -68,6 +74,12 @@
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+green+`
* [[option_irc.color.reason_kick]] *irc.color.reason_kick*
** Beschreibung: pass:none[Textfarbe in der die Begründung einer kick/kill Nachricht angezeigt werden soll]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+default+`
* [[option_irc.color.reason_quit]] *irc.color.reason_quit*
** Beschreibung: pass:none[Textfarbe in der die Begründung einer part/quit Nachricht angezeigt werden soll]
** Typ: Farbe
@@ -212,6 +224,12 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_irc.look.display_pv_warning_address]] *irc.look.display_pv_warning_address*
** Beschreibung: pass:none[zeigt eine Warnung in einem privaten Buffer an, sobald sich die Adresse eines Remote-Nick geändert hat; diese Option ist standardmäßig ausgeschaltet, da Server wie bitlbee eine solche Warnung unvermittelt auslösen (die Adresse des Remote-Nick ändert sich während eines Login mehrfach)]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_irc.look.highlight_channel]] *irc.look.highlight_channel*
** Beschreibung: pass:none[durch Kommata getrennte Liste von Wörtern die in Channel-Buffern als Highlight erscheinen sollen (zwischen Groß- und Kleinschreibung wird nicht unterschieden. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss zu Beginn "(?-i)" genutzt werden; des Weiteren können folgende Variablen genutzt werden: $nick, $channel und $server). Wird ein Buffer geöffnet, dann werden die angegeben Wörter dem Buffer-Merkmal "highlight_words" hinzugefügt. Dies bedeutet, dass diese Einstellung keinen direkten Einfluss auf schon geöffnete Buffer hat. Eine leere Zeichenkette deaktiviert ein Highlight für den Nick. Beispiel: "$nick", "(?-i)$nick"]
** Typ: Zeichenkette
@@ -363,13 +381,13 @@
** Standardwert: `+256+`
* [[option_irc.look.server_buffer]] *irc.look.server_buffer*
** Beschreibung: pass:none[Server-Buffer zusammenfügen]
** Beschreibung: pass:none[fügt Serverbuffer zusammen; diese Option hat keine Auswirkung wenn ein Layout genutzt wird und mit dieser Option im Widerspruch steht (siehe /help layout)]
** Typ: integer
** Werte: merge_with_core, merge_without_core, independent
** Standardwert: `+merge_with_core+`
* [[option_irc.look.smart_filter]] *irc.look.smart_filter*
** Beschreibung: pass:none[filtert join/part/quit/nick Nachrichten für einen Nick der einige Minuten im Channel inaktiv gewesen ist. Dazu muss ein Filter mit dem Schlagwort "irc_smart_filter" erstellt werden]
** Beschreibung: pass:none[filtert join/part/quit/nick Nachrichten für einen Nick der einige Minuten im Channel inaktiv gewesen ist (dazu muss ein Filter mit dem Schlagwort "irc_smart_filter" erstellt werden, siehe /help filter)]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+on+`
@@ -429,7 +447,7 @@
** Standardwert: `+off+`
* [[option_irc.network.autoreconnect_delay_growing]] *irc.network.autoreconnect_delay_growing*
** Beschreibung: pass:none[Multiplikator für die Verzögerung bei der automatischen Wiederverbindung zum Server (1 = immer die selbe Verzögerung nutzen, 2 = Verzögerung*2 für jeden weiteren Versuch, ..)]
** Beschreibung: pass:none[Multiplikator für die Verzögerung bei der automatischen Wiederverbindung zum Server (1 = immer die selbe Verzögerung nutzen, 2 = Verzögerung*2 für jeden weiteren Versuch, usw.)]
** Typ: integer
** Werte: 1 .. 100
** Standardwert: `+2+`
@@ -446,12 +464,6 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"*!$ident@$host"+`
* [[option_irc.network.channel_encode]] *irc.network.channel_encode*
** Beschreibung: pass:none[dekodieren/kodieren von Channelnamen innerhalb einer Nachricht mittels Charset-Optionen; es wird empfohlen diese Option deaktiviert zu lassen sofern man ausschließlich UTF-8 in Channelnamen verwendet. Diese Option sollte nur dann verwendet werden, sofern man exotische Zeichensätze wie ISO für Channelnamen nutzt]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_irc.network.colors_receive]] *irc.network.colors_receive*
** Beschreibung: pass:none[wenn deaktiviert, werden Farben-Codes von eingehenden Nachrichten ignoriert]
** Typ: boolesch
@@ -543,7 +555,7 @@
** Standardwert: `+2+`
* [[option_irc.server_default.autoconnect]] *irc.server_default.autoconnect*
** Beschreibung: pass:none[Beim Programmstart von Weechat automatisch mit dem Server verbinden]
** Beschreibung: pass:none[Beim Programmstart von WeeChat automatisch mit dem Server verbinden]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
@@ -596,6 +608,12 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_irc.server_default.charset_message]] *irc.server_default.charset_message*
** Beschreibung: pass:none[Teil der IRC Nachricht (empfangen oder gesendet) die zum Zielzeichensatz dekodiert/kodiert werden soll; message = die komplette IRC Nachricht (Standard), channel = beginnend mit dem Channel-Namen (sofern dieser gefunden wird, ansonsten Fallback auf text), text = beginnend mit dem Nachrichtentext (dieser Wert sollte ausprobiert werden, falls es Probleme bei der Kodierung des Channel-Namen geben sollte)]
** Typ: integer
** Werte: message, channel, text
** Standardwert: `+message+`
* [[option_irc.server_default.command]] *irc.server_default.command*
** Beschreibung: pass:none[Befehl(e) welche nach einem Verbindungsaufbau zum Server und vor dem automatischem Betreten von Channels ausgeführt werden sollen (mehrere Befehle müssen durch ";" getrennt werden, soll ein Semikolon genutzt werden, schreibt man "\;", die Platzhalter $nick,$channel und $server werden durch den entsprechenden Wert ersetzt) (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Typ: Zeichenkette
@@ -741,7 +759,13 @@
** Standardwert: `+2048+`
* [[option_irc.server_default.ssl_fingerprint]] *irc.server_default.ssl_fingerprint*
** Beschreibung: pass:none[Fingerprint des Zertifikates welches als vertrauenswürdig eingestuft und für diesen Server akzeptiert wird; es sind nur hexadezimale Zeichen erlaubt (0-9, a-f): bei SHA-512 ist das Zertifikat 64 Zeichen lang, bei SHA-256 sind es 32 Zeichen, bei SHA-1 sind es 20 Zeichen (nicht empfohlen, da unsicher); mehrere Fingerprints können durch Kommata voneinander getrennt werden; wird diese Option genutzt, findet KEINE weitere Überprüfung der Zertifikate statt (Option "ssl_verify") (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Beschreibung: pass:none[Fingerprint des Zertifikates welches als vertrauenswürdig eingestuft und für diesen Server akzeptiert wird; es sind nur hexadezimale Zeichen erlaubt (0-9, a-f): bei SHA-512 ist das Zertifikat 128 Zeichen lang, bei SHA-256 sind es 64 Zeichen, bei SHA-1 sind es 40 Zeichen (nicht empfohlen, da unsicher); mehrere Fingerprints können durch Kommata voneinander getrennt werden; wird diese Option genutzt, findet KEINE weitere Überprüfung der Zertifikate statt (Option "ssl_verify") (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_irc.server_default.ssl_password]] *irc.server_default.ssl_password*
** Beschreibung: pass:none[Passwort für SSL Zertifikat des privaten Schlüssels (Hinweis: Inhalt wird evaluiert, siehe /help eval; Serveroptionen sind mittels ${irc_server.xxx} evaluiert und ${server} wird durch den eigentlichen Servernamen ersetzt)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
+3 -3
View File
@@ -11,16 +11,16 @@
flush
disable
list: zeigt den Status der Protokollierung aller geöffneten Buffer an
list: zeigt von allen geöffneten Buffern den Status der Protokollierung an
set: legt den Level fest, nach dem der aktuelle Buffer protokolliert werden soll
level: legt fest, welche Nachrichten protokolliert werden sollen (0 = nichts protokollieren, 1 = nur die wichtigsten Nachrichten protokollieren .. 9 = alle Nachrichten werden protokolliert)
flush: sichert alle Protokolle umgehend
disable: die Protokollierung wird für den aktuellen Buffer ausgeschaltet (der Level wird auf 0 gestellt)
disable: die Protokollierung wird für den aktuellen Buffer deaktiviert (der Level wird auf 0 gestellt)
Die Einstellungen "logger.level.*" und "logger.mask.*" können genutzt werden um den Level der Protokollierung festzulegen und um eine Maske für einen oder mehrere Buffer zu definieren.
Level der Protokollierung, die die IRC Erweiterung unterstützt:
1: Nachrichten von Usern, private Nachrichten und Bemerkungen
1: Nachrichten von Usern (private und öffentliche Nachrichten) , notice (Server und Channel)
2: Wechsel von Nicks (/nick)
3: Nachrichten vom Server
4: join/part/quit Nachrichten
+7 -1
View File
@@ -9,7 +9,7 @@
** Standardwert: `+default+`
* [[option_logger.color.backlog_line]] *logger.color.backlog_line*
** Beschreibung: pass:none[Textfarbe in der der Verlaufsspeicher dargestellt werden soll]
** Beschreibung: pass:none[Farbe der Zeilen des Verlaufspeichers; wird nur dann angewandt, wenn die Option logger.file.color_lines = off ist]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+default+`
@@ -20,6 +20,12 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_logger.file.color_lines]] *logger.file.color_lines*
** Beschreibung: pass:none[Nutze ANSI-Farbcodes für die in Logdateien geschriebenen Zeilen und zeige die Zeilen aus dem Verlaufspeicher in diesen Farben an]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_logger.file.flush_delay]] *logger.file.flush_delay*
** Beschreibung: pass:none[Zeit, in Sekunden, die verstreicht bis eine Protokolldatei gesichert wird (0 = Protokolldatei wird unmittelbar gesichert, nachdem eine neue Zeile dargestellt wurde)]
** Typ: integer
+8 -4
View File
@@ -7,7 +7,7 @@
----
/relay list|listfull|listrelay
add <name> <port>
add <name> <port>|<path>
del|start|restart|stop <name>
raw
sslcertkey
@@ -22,19 +22,21 @@
stop: schließt den Server Socket (Clients bleiben verbunden)
name: Name des Relays (siehe Format weiter unten)
port: Port der für Relay genutzt werden soll
path: Pfad der für Relay genutzt werden soll (ausschließlich für UNIX Domain Socket); "%h" wird durch das WeeChat Verzeichnis ersetzt, Standardverzeichnis: ("~/.weechat"), Inhalt ist evaluiert (siehe /help eval)
raw: öffnet einen Buffer mit Relay-Rohdaten
sslcertkey: setzt SSL Zertifikat/Schlüssel mittels Pfad in Einstellung relay.network.ssl_cert_key
Aufbau des Relay-Namens: [ipv4.][ipv6.][ssl.]<Protokoll.Name>
Aufbau des Relay-Namens: [ipv4.][ipv6.][ssl.]<Protokoll.Name> oder unix.[ssl.]<Protokoll.Name>
ipv4: erzwingt die Nutzung von IPv4
ipv6: erzwingt die Nutzung von IPv6
ssl: aktiviert SSL
protocol.name: Protokoll und Name relay:
unix: nutzt UNIX Domain Socket
protocol.name: Protokoll und Name des Relay:
- Protokoll "irc": Name des Servers welcher geteilt werden soll (optional. Falls kein Name angegeben wird, muss der Client einen Namen mit dem Befehl "PASS" übermitteln, das Format ist wie folgt: "PASS Server:Passwort")
- Protokoll "weechat" (es wird kein Name verwendet)
Das "irc" Protokoll dient dazu eine Verbindung zu einem anderen IRC Client (oder zu einem zweiten WeeChat) herzustellen.
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung herzustellen. Siehe https://weechat.org/download/
Das "weechat" Protokoll wird von einem Remote-Interface genutzt um eine Verbindung auf dem Port herzustellen. Siehe https://weechat.org/about/interfaces
Ohne Angabe von Argumenten werden alle Relay-Clients in einem neuen Buffer dargestellt.
@@ -55,4 +57,6 @@ Beispiele:
/relay add ipv6.ssl.weechat 9001
WeeChat Protokoll, mit SSL, mit IPv4 + IPv6:
/relay add ipv4.ipv6.ssl.weechat 9001
Weechat Protokoll über UNIX Domain Socket:
/relay add unix.weechat %h/relay_socket
----
+21 -3
View File
@@ -111,7 +111,7 @@
** Standardwert: `+off+`
* [[option_relay.network.allowed_ips]] *relay.network.allowed_ips*
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für IPs die von relay akzeptiert werden (Groß- und Kleinschreibung wird ignoriert. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss die Zeichenkette mit "(?-i)" eingeleitet werden), Beispiele: "^(123.45.67.89|192.160.*)$"]
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für IPs die von relay akzeptiert werden (Groß- und Kleinschreibung wird ignoriert. Um zwischen Groß- und Kleinschreibung zu unterscheiden muss die Zeichenkette mit "(?-i)" eingeleitet werden), Beispiele: "^(123\.45\.67\.89|192\.160\..*)$"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
@@ -164,8 +164,26 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"NORMAL:-VERS-SSL3.0"+`
* [[option_relay.network.websocket_allowed_origins]] *relay.network.websocket_allowed_origins*
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu unterscheiden muss "(?-i)" dem Origin vorangestellt werden), Beispiele: "^http://(www\.)?example\.(com|org)"]
* [[option_relay.network.totp_secret]] *relay.network.totp_secret*
** Beschreibung: pass:none[geheime Zeichenkette für die Erstellung des Time-based One-Time Passwort (TOTP), base32 enkodiert (ausschließlich Buchstaben und Zahlen zwischen 2 und 7); dient im WeeChat-Protokoll zur Zwei-Faktor-Authentifizierung, ergänzend zum eigentlichen Passwort (eine nicht gesetzte Option bedeutet, das TOTP nicht benötigt wird) (Hinweis: Inhalt wird evaluiert, siehe /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_relay.network.totp_window]] *relay.network.totp_window*
** Beschreibung: pass:none[Anzahl der Time-based One-Time Passwörter die vor und nach dem aktuellen Passwort akzeptiert werden: 0 = nur das aktuelle Passwort wird akzeptiert, 1 = akzeptiert ein Passwort vorher, das aktuelle und ein Passwort danach, 2 = akzeptiert zwei Passwörter vorher, das aktuelle und zwei Passwörter danach, ...; umso höher die genutzte Zahl umso unsicherer das Verfahren (0 oder 1 sind empfohlene Werte)]
** Typ: integer
** Werte: 0 .. 256
** Standardwert: `+0+`
* [[option_relay.network.websocket_allowed_origins]] *relay.network.websocket_allowed_origins*
** Beschreibung: pass:none[erweiterter regulärer POSIX Ausdruck für Origins in WebSockets (Groß- und Kleinschreibung wird ignoriert. Um Groß- und Kleinschreibung zu unterscheiden kann "(?-i)" vorangestellt werden), Beispiel: ^https?://(www\.)?example\.(com|org)"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_relay.weechat.commands]] *relay.weechat.commands*
** Beschreibung: pass:none[durch Kommata getrennte Liste von Befehlen die erlaubt bzw. verboten sind, wenn Daten (Text oder Befehl) vom Client empfangen werden; "*" bedeutet alle Befehle sind erlaubt, beginnt ein Befehl hingegen mit "!" wird die Auswahl umgekehrt und der Befehl wird nicht ausgeführt, ein Platzhalter "*" ist bei den Befehlen erlaubt; diese Option sollte verwendet werden, falls man befürchtet, dass der relay client kompromittiert werden kann (darüber können Befehle ausgeführt werden); Beispiel: "*,!exec,!quit" es sind alle Befehle erlaubt, außer /exec und /quit]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
+13 -11
View File
@@ -6,7 +6,7 @@
* `+script+`: WeeChat Skriptmanager
----
/script list [-o|-i]
/script list [-o|-ol|-i|-il]
search <text>
show <script>
load|unload|reload <script> [<script>...]
@@ -16,8 +16,10 @@
update
list: gibt alle geladenen Skripten im Buffer aus (unabhängig der Programmiersprache)
-o: gibt eine Liste der gestarteten Skripten im Buffer aus
-i: eine Liste der gestarteten Skripten wird in die Eingabezeile kopiert (um sie dann manuell in einen Buffer zu senden)
-o: gibt eine Liste der laufenden Skripten im Buffer aus (Ausgabe in englisch)
-ol: gibt eine Liste der laufenden Skripten im Buffer aus (Ausgabe ist übersetzt)
-i: eine Liste der laufenden Skripten wird in die Eingabezeile kopiert (um sie dann manuell in einen Buffer zu senden)(Ausgabe in englisch)
-il: eine Liste der laufenden Skripten wird in die Eingabezeile kopiert (um sie dann manuell in einen Buffer zu senden)(Ausgabe ist übersetzt)
search: sucht Skripten nach Schlagwörtern, Skriptsprache (python, perl, ...), Dateierweiterung (py, pl, ...) oder beliebigem Text. Das Ergebnis wird im Skripten-Buffer dargestellt
show: zeigt detailliert Informationen zu einem Skript an
load: startet Skript(en)
@@ -42,7 +44,7 @@ Im Skript-Buffer, werden folgende Statusangaben für ein Skript angezeigt:
| | | | | obsolete (neue Version verfügbar)
| | | | Skript wird ausgeführt (geladen)
| | | gehalten
| | Skript wird beim Start, von Weechat, automatisch gestartet
| | Skript wird beim Start, von WeeChat, automatisch geladen
| Skript ist installiert (wird aber nicht ausgeführt)
es wird empfohlen dieses Skript zu installieren
@@ -57,13 +59,13 @@ Tastenbefehle die im Skript-Buffer genutzt werden können:
alt+v Skript anzeigen
Befehle die in der Eingabezeile des Skript-Buffers eingegeben werden können:
i/r/l/L/u/h Aktionen die für ein Skript ausgeführt werden können (siehe Tastenbefehle, weiter oben)
q schließt den Buffer
$ Buffer wird aktualisiert
s:x,y Buffer wird nach den Vorgaben x und y sortiert (siehe /help script.look.sort)
s: die Sortierung des Buffers wird zurückgesetzt (Standardwerte werden genutzt)
word(s) Skripten werden gefiltert: sucht nach einem oder mehreren Wörtern in den Skripten (der Beschreibung, in den Schlagwörtern, ...)
* Filter wird zurückgesetzt
i/r/l/L/u/A/h/v Aktionen die für ein Skript ausgeführt werden können (siehe Tastenbefehle, weiter oben)
q schließt den Buffer
$ Buffer wird aktualisiert
s:x,y Buffer wird nach den Vorgaben x und y sortiert (siehe /help script.look.sort)
s: die Sortierung des Buffers wird zurückgesetzt (Standardwerte werden genutzt)
word(s) Skripten werden gefiltert: sucht nach einem oder mehreren Wörtern in den Skripten (der Beschreibung, in den Schlagwörtern, ...)
* Filter wird zurückgesetzt
Mausbefehle innerhalb des Skripten-Buffer:
Mausrad in der Liste scrollen
+32
View File
@@ -0,0 +1,32 @@
//
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
[[command_spell_spell]]
* `+spell+`: Konfiguration für spell-Erweiterung
----
/spell enable|disable|toggle
listdict
setdict <dict>[,<dict>...]
deldict
addword [<dict>] <word>
enable: Rechtschreibprüfung wird aktiviert
disable: Rechtschreibprüfung wird deaktiviert
toggle: Funktionalität der Rechtschreibprüfung umschalten
listdict: die, auf dem System, installierten Wörterbücher werden aufgelistet
setdict: Wörterbuch für den aktuellen Buffer einstellen (mehrere Wörterbücher müssen durch Kommata getrennt werden)
deldict: Wörterbuch für den aktuellen Buffer entfernen
addword: fügt ein Wort in das persönliche Wörterbuch hinzu
Eingaben die mit '/' beginnen werden nicht überprüft, davon ausgenommen sind einige Befehle (siehe /set spell.check.commands).
Um die Rechtschreibprüfung auf allen Buffer anzuwenden sollte die Einstellung "default_dict" genutzt und die Rechtschreibprüfung aktiviert werden:
/set spell.check.default_dict "de_DE-neu"
/spell enable
Um sich eine Liste von Vorschlägen in einer Bar anzeigen zu lassen nutzt man das Item "spell_suggest".
Die Standardtastaturbelegung zum Umschalten der Rechtschreibprüfung lautet alt-s.
----
@@ -2,80 +2,80 @@
// This file is auto-generated by script docgen.py.
// DO NOT EDIT BY HAND!
//
* [[option_aspell.check.commands]] *aspell.check.commands*
* [[option_spell.check.commands]] *spell.check.commands*
** Beschreibung: pass:none[durch Kommata getrennte Liste der Befehle, für die eine Rechtschreibprüfung gelten soll (Rechtschreibprüfung ist für andere Befehle deaktiviert)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"+`
** Standardwert: `+"away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"+`
* [[option_aspell.check.default_dict]] *aspell.check.default_dict*
** Beschreibung: pass:none[Voreingestelltes Wörterbuch (oder durch Kommata getrennte Liste der Wörterbücher) welche(s) genutzt werden soll, sofern kein Wörterbuch für einen Buffer definiert wurde. Wird kein Wörterbuch angegeben dann ist Aspell in allen Buffer deaktiviert, außer es wird für einen Buffer explizit ein Wörterbuch angegeben]
* [[option_spell.check.default_dict]] *spell.check.default_dict*
** Beschreibung: pass:none[Voreingestelltes Wörterbuch (oder durch Kommata getrennte Liste der Wörterbücher) welche(s) genutzt werden soll, sofern kein Wörterbuch für einen Buffer definiert wurde (wird kein Wörterbuch angegeben dann ist die Rechtschreibprüfung in allen Buffer deaktiviert, außer es wird für einen Buffer explizit ein Wörterbuch angegeben)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_aspell.check.during_search]] *aspell.check.during_search*
* [[option_spell.check.during_search]] *spell.check.during_search*
** Beschreibung: pass:none[Überprüfe Wörter während im Buffer nach einem Text gesucht wird]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_aspell.check.enabled]] *aspell.check.enabled*
** Beschreibung: pass:none[Aspell wird für die Eingabezeile aktiviert]
* [[option_spell.check.enabled]] *spell.check.enabled*
** Beschreibung: pass:none[Rechtschreibprüfung wird für die Eingabezeile aktiviert]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_aspell.check.real_time]] *aspell.check.real_time*
* [[option_spell.check.real_time]] *spell.check.real_time*
** Beschreibung: pass:none[Eine Korrektur findet während der Texteingabe statt (da dies langsamer ist, ist diese Funktion standardmäßig deaktiviert. Wörter werden erst überprüft sobald ein Leerzeichen dem vorangegangenen Wort folgt)]
** Typ: boolesch
** Werte: on, off
** Standardwert: `+off+`
* [[option_aspell.check.suggestions]] *aspell.check.suggestions*
** Beschreibung: pass:none[legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die Vorschläge werden mittels der Bar-Item "aspell_suggest", für die jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle ausgewählten Sprachen, an)]
* [[option_spell.check.suggestions]] *spell.check.suggestions*
** Beschreibung: pass:none[legt die Anzahl an Vorschlägen, für ein falsch geschriebenes Wort, fest. Die Vorschläge werden mittels der Bar-Item "spell_suggest", für die jeweilige(n) Sprache(n), die für den Buffer augewählt wurden, angezeigt (-1 = deaktiviert die Funktion, 0 = zeigt alle verfügbaren Vorschläge, für alle ausgewählten Sprachen, an)]
** Typ: integer
** Werte: -1 .. 2147483647
** Standardwert: `+-1+`
* [[option_aspell.check.word_min_length]] *aspell.check.word_min_length*
* [[option_spell.check.word_min_length]] *spell.check.word_min_length*
** Beschreibung: pass:none[Mindestlänge für ein Wort, welches auf Rechtschreibung überprüft werden soll (bei 0 werden alle Wörter überprüft)]
** Typ: integer
** Werte: 0 .. 2147483647
** Standardwert: `+2+`
* [[option_aspell.color.misspelled]] *aspell.color.misspelled*
* [[option_spell.color.misspelled]] *spell.color.misspelled*
** Beschreibung: pass:none[Farbe in der ein Wort mit einem Rechtschreibfehler hervorgehoben werden soll (Eingabezeile)]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+lightred+`
* [[option_aspell.color.suggestion]] *aspell.color.suggestion*
** Beschreibung: pass:none[Textfarbe für die Vorschläge der Rechtsschreibkorrektur in der Bar-Item "aspell_suggest"]
* [[option_spell.color.suggestion]] *spell.color.suggestion*
** Beschreibung: pass:none[Textfarbe für die Vorschläge der Rechtsschreibkorrektur in der Bar-Item "spell_suggest"]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+default+`
* [[option_aspell.color.suggestion_delimiter_dict]] *aspell.color.suggestion_delimiter_dict*
** Beschreibung: pass:none[Textfarbe für das Trennzeichen, im Bar-Item "aspell_suggest", welches zwischen zwei Wörterbücher dargestellt wird]
* [[option_spell.color.suggestion_delimiter_dict]] *spell.color.suggestion_delimiter_dict*
** Beschreibung: pass:none[Textfarbe für das Trennzeichen welches zwischen zwei Wörterbüchern dargestellt wird, im Bar-Item "spell_suggest"]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+cyan+`
* [[option_aspell.color.suggestion_delimiter_word]] *aspell.color.suggestion_delimiter_word*
** Beschreibung: pass:none[Textfarbe für das Trennzeichen zwischen zwei Wörtern in der Bar-Item "aspell_suggest"]
* [[option_spell.color.suggestion_delimiter_word]] *spell.color.suggestion_delimiter_word*
** Beschreibung: pass:none[Textfarbe für das Trennzeichen zwischen zwei Wörtern in der Bar-Item "spell_suggest"]
** Typ: Farbe
** Werte: ein Farbname für WeeChat (default, black, (dark)gray, white, (light)red, (light)green, brown, yellow, (light)blue, (light)magenta, (light)cyan), eine Terminal-Farbnummer oder ein Alias; Attribute können vor eine Farbe gesetzt werden (gilt ausschließlich für die Textfarbe und nicht für den Hintergrund): "*" für fett, "!" für invertiert, "/" für kursiv, "_" für unterstrichen
** Standardwert: `+cyan+`
* [[option_aspell.look.suggestion_delimiter_dict]] *aspell.look.suggestion_delimiter_dict*
** Beschreibung: pass:none[Trennzeichen, im Bar-Item "aspell_suggest", welches zwischen zwei Wörterbücher dargestellt wird]
* [[option_spell.look.suggestion_delimiter_dict]] *spell.look.suggestion_delimiter_dict*
** Beschreibung: pass:none[Trennzeichen, im Bar-Item "spell_suggest", welches zwischen zwei Wörterbücher dargestellt wird]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+" / "+`
* [[option_aspell.look.suggestion_delimiter_word]] *aspell.look.suggestion_delimiter_word*
** Beschreibung: pass:none[Trennzeichen, im Bar-Item "aspell_suggest", welches zwischen zwei Wörtern dargestellt wird]
* [[option_spell.look.suggestion_delimiter_word]] *spell.look.suggestion_delimiter_word*
** Beschreibung: pass:none[Trennzeichen, im Bar-Item "spell_suggest", welches zwischen zwei Wörtern dargestellt wird]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+","+`
+11 -8
View File
@@ -22,22 +22,25 @@
list: zeigt eine Liste aller Trigger (ohne Angabe von Argumente wird diese Liste standardmäßig ausgegeben)
listfull: zeigt eine detaillierte Liste, mit zusätzlichen Informationen, aller Trigger an
listdefault: zeigt die standardmäßig genutzen Trigger an
listdefault: zeigt die standardmäßig genutzten Trigger an
add: fügt einen Trigger hinzu
addoff: fügt einen Trigger hinzu (deaktiviert)
addreplace: fügt oder ersetzt einen schon existierenden Trigger
addreplace: erzeugt neuen Trigger oder ersetzt einen schon existierenden Trigger
name: Name des Trigger
hook: signal, hsignal, modifier, print, command, command_run, timer, config, focus
hook: signal, hsignal, modifier, line, print, command, command_run, timer, config, focus, info, info_hashtable
arguments: Argumente für den Hook, abhängig vom genutzten Hook (getrennt durch Semikolon):
signal: Name(en) des signals (erforderlich)
hsignal: Name(en) des hsignal (erforderlich)
modifier: Name(en) des modifier (erforderlich)
print: buffer, tags, message, strip colors
line: Buffertyp ("formatted", "free" oder "*"), Liste von Buffermasken, Tags
print: Buffer, Tags, Nachricht, Farben entfernen
command: Befehl (erforderlich), Beschreibung, Argumente, Beschreibung der Argumente, Vervollständigung
command_run: Befehl(e) (erforderlich)
timer: Intervall (erforderlich), Anpassung an Sekunden (erforderlich), maximale Anzahl an Aufrufen
config: Name der Einstellung (erforderlich)
focus: Name(n) für sichtbaren Bereich (erforderlich) (z.B. "chat" für Chatbereich)
info: Name(n) der Information (erforderlich)
info_hashtable: Name(n) der Information (erforderlich)
conditions: evaluierte Bedingungen für den Trigger
regex: einer oder mehrere reguläre Ausdrücke um Zeichenketten in Variablen zu ersetzen
command: Befehl welcher ausgeführt werden soll (mehrere Befehle müssen durch ";" voneinander getrennt werden)
@@ -67,14 +70,14 @@ post_action: Aktion welche nach der Abarbeitung des Triggers ausgeführt werden
Wenn ein Trigger-Callback aufgerufen wird, dann wird folgende Befehlskette ausgeführt:
1. Überprüfung von Bedingungen; falls unwahr, beenden
2. ersetze Text mittels erweitertem regulärer POSIX Ausdruck (sofern im Trigger definiert)
2. ersetze Text mittels einem oder mehreren erweiterten regulären POSIX Ausdrücken (sofern im Trigger definiert)
3. ein oder mehrere Befehle werden ausgeführt (sofern im Trigger definiert)
4. Beendigung mit einem Rückgabewert (ausgenommen sind modifiers und focus)
4. Beendigung mit einem Rückgabewert (ausgenommen sind modifiers, line, focus, info und info_hashtable)
5. Aktion welche nach der Abarbeitung des Triggers ausgeführt werden soll
Beispiele (die standardmäßig, eingebauten Trigger kann man sich mit "/trigger listdefault" anzeigen lassen):
Beispiele (die standardmäßig verfügbaren Trigger kann man sich mit "/trigger listdefault" anzeigen lassen):
fügt einer Nachricht die Textattribute *fett*, _unterstrichen_ und /kursiv/ hinzu:
/trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*(\S+)\*==*${color:bold}${re:1}${color:-bold}*== ==_(\S+)_==_${color:underline}${re:1}${color:-underline}_== ==/(\S+)/==/${color:italic}${re:1}${color:-italic}/"
/trigger add effects modifier weechat_print "${tg_tag_nick}" "==\*([^ ]+)\*==*${color:bold}${re:1}${color:-bold}*== ==_([^ ]+)_==_${color:underline}${re:1}${color:-underline}_== ==/([^ ]+)/==/${color:italic}${re:1}${color:-italic}/"
verbirgt die Nicklist auf kleineren Terminals:
/trigger add resize_small signal signal_sigwinch "${info:term_width} < 100" "" "/bar hide nicklist"
/trigger add resize_big signal signal_sigwinch "${info:term_width} >= 100" "" "/bar show nicklist"
+92 -69
View File
@@ -79,9 +79,9 @@ Beispiele:
hide [<number>|<name>|-all [<number>|<name>...]]
unhide [<number>|<name>|-all [<number>|<name>...]]
renumber [<number1> [<number2> [<start>]]]
close [<n1>[-<n2>]|<name>]
close [<n1>[-<n2>]|<name>...]
notify <level>
localvar
localvar [<number>|<name>]
set <property> [<value>]
get <property>
<number>|-|+|<name>
@@ -92,14 +92,14 @@ Beispiele:
move: Buffer in der Liste verschieben (kann auch relativ sein, z.B. -1); "-" = auf erste Position verschieben, "+" = auf letzte Position + 1 verschieben
swap: tauscht zwei Buffer miteinander aus (bei Angabe von nur einem Buffer (Buffernummer/-name), wird der aktuelle Buffer mit dem angegebenen Buffer getauscht)
cycle: springt in einer Schleife von einem Buffer zum nächsten, die in einer Liste angegeben werden
merge: fügt den aktuellen Buffer mit einem anderen Buffer zusammen (bei einem Chat-Buffer entsteht eine Zusammenfügung von zwei Buffer
(Bei der Standardtastenbelegung kann mittels "CTRL-x" zwischen zusammengefügten Buffern umgeschaltet werden)
merge: fügt den aktuellen Buffer mit einem anderen Buffer zusammen (bei einem Chat-Buffer werden zwei Buffer zusammengefügt
(Bei der Standardtastenbelegung wird mittels "CTRL-x" zwischen zusammengefügten Buffern umgeschaltet)
unmerge: trennt Buffer wieder voneinander, falls zwei Buffer die selbe Nummer teilen
hide: versteckt einen Buffer
unhide: macht Buffer wieder sichtbar
renumber: Buffer werden um nummeriert (Einstellung weechat.look.buffer_auto_renumber muss deaktiviert sein)
renumber: Buffer werden umnummeriert (Einstellung weechat.look.buffer_auto_renumber muss deaktiviert sein)
close: Buffer schließen (Nummer oder Bereich ist optional)
notify: setzt den Status der Benachrichtigung für den aktuellen Buffer. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung:
notify: setzt den Status der Benachrichtigung für den aktuellen Buffer. Folgende Möglichkeiten bestimmen den Grad der Benachrichtigung und ob der Buffer in der Hotlist angezeigt wird:
none: keine Benachrichtigung
highlight: Benachrichtigung bei hervorgehobenen Nachrichten (Highlights)
message: Benachrichtigung bei Nachrichten von Usern + Highlights
@@ -137,9 +137,9 @@ Beispiele:
/buffer close
schließt Buffer 5 bis 7:
/buffer close 5-7
wechselt zum Buffer: #weechat:
springt zum Buffer: #weechat:
/buffer #weechat
wechselt zum nächsten Buffer:
springt zum nächsten Buffer:
/buffer +1
springt zum letzten Buffer:
/buffer +
@@ -203,9 +203,9 @@ Ohne Angabe von Argumenten wird der Cursor-Modus umgeschaltet.
Ist die Mausfunktion aktiviert (siehe /help mouse), startet man den Cursor-Modus mit der mittleren Maustaste und positioniert den Cursor auf diesen Punkt.
Standardtastenbefehle im Chatbereich:
m quote Nachricht
q quote Präfix + Nachricht
Q quote Zeit + Präfix + Nachricht
m zitiere Nachricht
q zitiere Präfix + Nachricht
Q zitiere Zeit + Präfix + Nachricht
Standardtastenbefehle in Nickliste:
b banne Nick (/ban)
@@ -214,6 +214,11 @@ Standardtastenbefehle in Nickliste:
q öffne private Unterhaltung mit Nick (/query)
w hole Informationen über Anwender (/whois)
weitere Standardtasten im Cursor-Modus:
Pfeiltasten bewege Cursor
alt+Pfeiltasten bewege Cursor zum nächsten Bereich
enter beendet den Cursor-Modus
Beispiele:
gehe zur Benutzerliste:
/cursor go nicklist
@@ -261,8 +266,8 @@ infolists: zeigt Information über die Infolists an
/eval [-n|-s] <expression>
[-n] -c <expression1> <operator> <expression2>
-n: gibt das Ergebnis aus, ohne das dieses in den Buffer gesendet wird (debug Modus)
-s: teilt Ausdrücke bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
-n: gibt das Ergebnis aus, ohne dass dieses in den Buffer gesendet wird (debug Modus)
-s: teilt Ausdrücke, bevor sie evaluiert werden (mehrere Befehle können durch Semikolon getrennt werden)
-c: Auswertung als Bedingung: nutzt Operatoren und runde Klammern, Rückgabewert als Boolean-Wert ("0" oder "1")
expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${variable} werden ersetzt (siehe unten); mehrere Befehle werden durch ein Semikolon voneinander getrennt
operator: ein logischer oder vergleichender Operand:
@@ -282,7 +287,7 @@ expression: Ausdruck welcher verarbeitet werden soll. Variablen im Format ${vari
!* stimmt mit Maske NICHT überein (Platzhalter "*" ist erlaubt)
Ein Ausdruck gilt als "wahr" sofern das Ergebnis weder NULL, nicht leer und von "0" abweichend ist.
Für einen Vergleich werden Fließkommazahlen genutzt sofern es sich bei beiden Ausdrücken um gültige Nummer handelt, die folgendes Format haben müssen:
Für einen Vergleich werden Fließkommazahlen genutzt, insofern es sich bei beiden Ausdrücken um gültige Zahlen handelt, folgende Formate werden unterstützt:
- Integer (Beispiele: 5, -7)
- Fließkommazahl (Beispiele: 5.2, -7.5, 2.83e-2)
- hexadezimale Zahl (Beispiele: 0xA3, -0xA3)
@@ -290,21 +295,25 @@ Um einen Vergleich zwischen zwei Zeichenketten zu erzwingen, müssen die Ausdrü
50 > 100 ==> 0
"50" > "100" ==> 1
Einige Variablen werden im Ausdruck, mittels der Formatierung ${Variable}, ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
Einige Variablen werden im Ausdruck mittels der Formatierung ${variable} ersetzt. Mögliche Variablen sind, nach Reihenfolge ihrer Priorität:
1. eine evaluierte Teilzeichenkette (Format: "eval:xxx")
2. eine Zeichenkette mit Escapesequenzen (Format: "esc:xxx" oder "\xxx")
3. Zeichen welche in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
3. Zeichen, die in einer Zeichenkette nicht dargestellt werden sollen (Format: "hide:Zeichen,Zeichenkette")
4. eine Zeichenkette mit einer maximalen Anzahl an Zeichen (Format: "cut:+Max,Suffix,Zeichenkette")
oder maximale Anzahl an Zeichen die auf dem Bildschirm angezeigt werden sollen (Format: "cutscr:Max,Suffix,Zeichenkette oder "cutscr:+Max,Suffix,Zeichenkette")
5. Ende einer Zeichenkette nutzen (Format: "rev:xxx")
6. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
7. eine Info (Format: "info:Name,Argumente", Argumente sind optional)
8. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
9. eine Umgebungsvariable (Format: "env:XXX")
10. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
11. eine Option (Format: "file.section.option")
12. der Name einer lokalen Variablen eines Buffer
13. ein hdata Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
5. eine Zeichenkette umkehren (Format: "rev:xxx" oder "revscr:xxx")
6. eine Zeichenkette wiederholen (Format: "repeat:Anzahl,Zeichenkette")
7. Länge einer Zeichenkette (Format: "length:xxx" oder "lengthscr:xxx")
8. eine Farbe (Format: "color:xxx", siehe "Anleitung für API Erweiterung", Funktion "color")
9. ein Modifizierer (Format: "info:Name,Argumente", Argumente sind optional)
10. eine Info (Format: "Info:Name,Argumente", Argumente sind optional)
11. aktuelles Datum/Uhrzeit (Format: "date" oder "date:format")
12. eine Umgebungsvariable (Format: "env:XXX")
13. ein Dreifachoperand (Format: "if:Bedingung?Wert_falls_wahr:Wert_falls_unwahr")
14. Ergebnis eines Ausdrucks mit Klammern und Operatoren + - * / // % ** (Format: "calc:xxx")
15. eine Option (Format: "file.section.option")
16. eine lokale Variable eines Buffers
17. ein(e) hdata - Name/Variable (der Wert wird automatisch in eine Zeichenkette konvertiert), standardmäßig wird für "window" und "buffer" das aktuelle Fenster/Buffer verwendet.
Das Format für hdata kann wie folgt aufgebaut sein:
hdata.var1.var2...: startet mit hdata (der Pointer muss bekannt sein) und fragt eine Variable nach der anderen ab (weitere hdata können folgen)
hdata[list].var1.var2...: startet hdata mittels einer Liste, zum Beispiel:
@@ -329,6 +338,10 @@ Beispiele (einfache Zeichenketten):
/eval -n ${cut:+3,+,test} ==> te+
/eval -n ${date:%H:%M:%S} ==> 07:46:40
/eval -n ${if:${info:term_width}>80?big:small} ==> big
/eval -n ${rev:Hello} ==> olleH
/eval -n ${repeat:5,-} ==> -----
/eval -n ${length:test} ==> 4
/eval -n ${calc:(5+2)*3} ==> 21
Beispiele (Bedingungen):
/eval -n -c ${window.buffer.number} > 2 ==> 0
@@ -343,38 +356,39 @@ Beispiele (Bedingungen):
----
[[command_weechat_filter]]
* `+filter+`: Filterfunktion um Nachrichten in Buffer aus- oder einzublenden, dazu können Schlagwörter oder reguläre Ausdrücke verwendet werden
* `+filter+`: Filterfunktion um Nachrichten in Buffern aus- oder einzublenden, dazu können Schlagwörter oder reguläre Ausdrücke verwendet werden
----
/filter list
enable|disable|toggle [<name>|@]
add <name> <buffer>[,<buffer>...] <tags> <regex>
add|addreplace <name> <buffer>[,<buffer>...] <tags> <regex>
rename <name> <new_name>
del <name>|-all
list: alle Filter auflisten
enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
disable: Filter deaktivieren
toggle: Filter umschalten
name: Name des Filters ("@" = aktiviert/deaktiviert alle Filter im aktuellen Buffer)
add: Filter hinzufügen
rename: benennt einen Filter um
del: Filter entfernen
-all: entfernt alle Filter
buffer: durch Kommata getrennte Liste von Buffer in denen der Filter aktiv sein soll:
- ist der vollständige Name eines Buffer inklusive seiner Erweiterung (Beispiel: "irc.freenode.#weechat" oder "irc.server.freenode")
- "*" bedeutet, alle Buffer
- beginnt ein Name mit '!' wird für diesen Buffer kein Filter genutzt
- Platzhalter "*" kann verwendet werden
tags: durch Kommata getrennte Liste von Schlagwörtern. Zum Beispiel: "irc_join,irc_part,irc_quit"
- logisch "und": mittels "+" zwischen den Tags (zum Beispiel: "nick_toto+irc_action")
- Platzhalter "*" kann verwendet werden
- wird ein Tag mit '!' eingeleitet, dann muss dieser Tag NICHT in der Nachricht enthalten sein
regex: erweiterter regulärer POSIX Ausdruck, um in einer Zeile zu suchen
- das Präfix (z.B. Nick) wird mittels '\t' von der Nachricht getrennt. Sonderzeichen wie '|' müssen mit einer Escapesequenz : '\|' eingebunden werden)
- wird ein regulärer Ausdruck mit '!' eingeleitet dann wird das übereinstimmende Ergebnis umgekehrt (nutze '\!' um mit '!' zu beginnen)
- es werden zwei reguläre Ausdrücke erstellt: Der erste für den Präfix und der zweite für die eigentliche Nachricht
- reguläre Ausdrücke unterscheiden nicht zwischen Groß- und Kleinschreibung. Um zwischen Groß- und Kleinschreibung zu unterscheiden müssen diese mit "(?-i)" eingeleitet werden.
list: alle Filter auflisten
enable: Filter wird aktiviert (Filter werden standardmäßig aktiviert)
disable: Filter deaktivieren
toggle: Filter umschalten
name: Name des Filters ("@" = aktiviert/deaktiviert alle Filter im aktuellen Buffer)
add: Filter hinzufügen
addreplace: erzeugt neuen Filter oder ersetzt einen schon existierenden Filter
rename: benennt einen Filter um
del: Filter entfernen
-all: entfernt alle Filter
buffer: durch Kommata getrennte Liste von Buffer in denen der Filter aktiv sein soll:
- ist der vollständige Name eines Buffer inklusive seiner Erweiterung (Beispiel: "irc.freenode.#weechat" oder "irc.server.freenode")
- "*" bedeutet, alle Buffer
- beginnt ein Name mit '!' wird für diesen Buffer kein Filter genutzt
- Platzhalter "*" kann verwendet werden
tags: durch Kommata getrennte Liste von Schlagwörtern. Zum Beispiel: "irc_join,irc_part,irc_quit"
- logisch "und": mittels "+" zwischen den Tags (zum Beispiel: "nick_toto+irc_action")
- Platzhalter "*" kann verwendet werden
- wird ein Tag mit '!' eingeleitet, dann muss dieser Tag NICHT in der Nachricht enthalten sein
regex: erweiterter regulärer POSIX Ausdruck, um in einer Zeile zu suchen
- das Präfix (z.B. Nick) wird mittels '\t' von der Nachricht getrennt. Sonderzeichen wie '|' müssen mit einer Escapesequenz : '\|' eingebunden werden)
- wird ein regulärer Ausdruck mit '!' eingeleitet dann wird das übereinstimmende Ergebnis umgekehrt (nutze '\!' um mit '!' zu beginnen)
- es werden zwei reguläre Ausdrücke erstellt: Der erste für den Präfix und der zweite für die eigentliche Nachricht
- reguläre Ausdrücke unterscheiden nicht zwischen Groß- und Kleinschreibung. Um zwischen Groß- und Kleinschreibung zu unterscheiden müssen diese mit "(?-i)" eingeleitet werden.
Mit der Tastenvoreinstellung alt+'=' kann die globale Filterfunktion (de-)aktiviert werden und alt+'-' (de-)aktiviert die Filterfunktion für den aktuellen Buffer.
@@ -655,7 +669,7 @@ Ohne Angabe eines Arguments werden alle installierten Erweiterungen angezeigt.
-core: Alternativname für "-buffer core.weechat"
-current: Text wird im aktuell genutzten Buffer ausgegeben
-y: schreibt den Text in die angegebene Zeile (nur bei Buffern mit freiem Inhalt)
line: Zeilennummer bei einem Buffer mit freiem Inhalt (erste Zeile ist 0, bei einer negative Zahl wird der Text nach der letzten Zeile eingefügt: -1 = nach der letzten Zeile, -2 = zwei Zeilen, nach der letzten Zeile, ...)
line: Zeilennummer bei einem Buffer mit freiem Inhalt (erste Zeile ist 0, bei einer negative Zahl wird der Text nach der letzten Zeile eingefügt: -1 = nach der letzten Zeile, -2 = zwei Zeilen, nach der letzten Zeile, usw.)
-escape: Escapesequenzen werden umgewandelt (zum Beispiel \a, \07, \x07)
-date: Datum der Nachricht, mögliche Formatierung:
-n: 'n' vor dem jetzigen Zeipunkt, in Sekunden
@@ -664,7 +678,7 @@ Ohne Angabe eines Arguments werden alle installierten Erweiterungen angezeigt.
date/time (ISO 8601): yyyy-mm-ddThh:mm:ss, Beispiel: 2014-01-19T04:32:55
time: hh:mm:ss (Beispiel: 04:32:55)
-tags: durch Kommata getrennte Liste von Tags (siehe /help filter für eine Liste von Tags die häufig genutzt werden)
text: Text der ausgegeben werden soll (Präfix und Nachricht muss durch \t getrennt werden)
text: Text der ausgegeben werden soll (Präfix und Nachricht muss durch \t getrennt werden, sollte der Text mit "-" beginnen, muss ein "\" vorangestellt werden)
-stdout: Text wird an stdout geschickt (Escapesequenzen werden umgewandelt)
-stderr: Text wird an stderr geschickt (Escapesequenzen werden umgewandelt)
-beep: Alias für "-stderr \a"
@@ -682,7 +696,7 @@ Beispiele:
zeigt eine Nachricht im Core-Buffer mit dem Präfix "abc" an:
/print -core abc\tmeine Nachricht
es wird eine Nachricht im Channel #weechat ausgegeben:
/print -buffer irc.freenode.#weechat Message on #weechat
/print -buffer irc.freenode.#weechat Nachricht an #weechat
gibt einen Schneemann aus (U+2603):
/print -escape \u2603
verschickt Alarm (BEL):
@@ -751,13 +765,18 @@ Ohne Angabe von Argumenten werden alle Konfigurationen (WeeChat und Erweiterunge
* `+repeat+`: führt einen Befehl mehrfach aus
----
/repeat [-interval <delay>] <count> <command>
/repeat [-interval <delay>[<unit>]] <count> <command>
delay: Verzögerung zwischen dem Ausführen der Befehle (in Millisekunden)
count: Anzahl wie oft der Befehl ausgeführt werden soll
command: Befehl welcher ausgeführt werden soll (das Befehlszeichen '/' wird automatisch hinzugefügt, falls es zum Befehlsbeginn nicht gefunden werden sollte)
delay: Verzögerung zwischen dem Ausführen der Befehle
unit: mögliche Werte (optional):
ms: Millisekunden
s: Sekunden (Vorgabewert)
m: Minuten
h: Stunden
count: Anzahl, wie oft der Befehl ausgeführt werden soll
command: Befehl welcher ausgeführt werden soll (oder ein Text der an einen Buffer gesendet werden soll, sofern der Befehl nicht mit '/' beginnt)
Alle Befehle werden in dem Buffer ausgeführt, in welchem dieser Befehl genutzt wird.
Hinweis: Der Befehl wird in dem Buffer ausgeführt, in welchem der /repeat Befehl ausgeführt wurde (sollte der Buffer nicht mehr existieren, wird der Befehl nicht ausgeführt).
Beispiel:
scrolle zwei Seiten hoch:
@@ -796,10 +815,10 @@ passphrase: ändern der Passphrase (ohne Passphrase, werden die Daten in der Dat
Ohne Angabe von Argumenten wird ein neuer Buffer geöffnet und die schutzwürdigen Informationen können dort eingesehen werden.
Tastenbefehle für den secure-Buffer:
alt+v Werte werden ein-ausgeblendet
alt+v Werte werden in Klartext angezeigt bzw. verborgen
Wird eine Passphrase verwendet (Daten liegen verschlüsselt vor), fragt WeeChat beim Start die Passphrase ab.
Es ist möglich eine Umgebungsvariable "WEECHAT_PASSPHRASE" zu setzen um die Eingabeaufforderung beim Programmstart zu vermeiden (diese Variable wird auch von WeeChat beim /upgrade verwendet).
Setzt man die Umgebungsvariable "WEECHAT_PASSPHRASE", kann die Eingabeaufforderung der Passphrase beim Programmstart vermieden werden (diese Variable wird von WeeChat auch beim /upgrade verwendet). Es ist auch möglich in der Option sec.crypt.passphrase_file eine Datei anzugeben die die Passphrase beinhaltet (siehe /help sec.crypt.passphrase_file)
schutzwürdige Daten mit dem Format ${sec.data.xxx} können wie folgt genutzt werden:
- Befehl /eval.
@@ -908,10 +927,10 @@ Es ist möglich die WeeChat-Sitzung auf einem anderen Rechner wiederherzustellen
----
[[command_weechat_uptime]]
* `+uptime+`: Zeigt die Uptime von Weechat an
* `+uptime+`: Zeigt die Uptime von WeeChat an
----
/uptime [-o | -ol]
/uptime [-o|-ol]
-o: die Laufzeit von WeeChat wird in den aktuellen Buffer geschrieben (in englischer Sprache)
-ol: die Laufzeit von WeeChat wird in den aktuellen Buffer geschrieben (in der voreingestellten Landessprache)
@@ -921,7 +940,7 @@ Es ist möglich die WeeChat-Sitzung auf einem anderen Rechner wiederherzustellen
* `+version+`: Zeigt die WeeChat-Version und das Datum der Kompilierung an
----
/version [-o | -ol]
/version [-o|-ol]
-o: die Version von WeeChat wird in den aktuellen Buffer ausgegeben (in englischer Sprache)
-ol: die Version von WeeChat wird in den aktuellen Buffer ausgegeben (in der voreingestellten Landessprache)
@@ -941,9 +960,9 @@ Um diesen Befehl in jedem Buffer ausführen zu können, kann der Standardkurzbef
s: Sekunden (Vorgabewert)
m: Minuten
h: Stunden
command: Befehl der ausgeführt werden soll (ohne das führende '/') oder ein Text der in dem Buffer ausgegeben werden soll
command: Befehl welcher ausgeführt werden soll (oder ein Text der an einen Buffer gesendet werden soll, sofern der Befehl nicht mit '/' beginnt)\n
Hinweis: Der Befehl der zeitverzögert gestartet werden soll wird im selben Buffer ausgeführt in dem auch der /wait Befehl aufgerufen wurde. Falls der Buffer nicht gefunden werden kann, da er in der Zwischenzeit zum Beispiel geschlossen wurde, wird der Befehl im WeeChat Core-Buffer ausgeführt.
Hinweis: Der Befehl wird in dem Buffer ausgeführt, in welchem der /wait Befehl ausgeführt wurde (sollte der Buffer nicht mehr existieren, wird der Befehl nicht ausgeführt).
Beispiele:
Betritt nach 10 Sekunden den Channel #test:
@@ -965,6 +984,7 @@ Beispiele:
resize [-window <number>] [h|v][+|-]<pct>
balance
merge [-window <number>] [all]
close [-window <number>]
page_up|page_down [-window <number>]
refresh
scroll [-window <number>] [+|-]<value>[s|m|h|d|M|y]
@@ -989,6 +1009,7 @@ Beispiele:
wird "h" oder "v" angegeben, findet eine Größenanpassung des Stammfenster statt, sofern es vom selben Typ ist (horizontal/vertikal)
balance: passt die Größe aller Fenster an
merge: vereinigt Fenster miteinander (all = alle Fenster vereinigen)
close: Fenster wird geschlossen
page_up: scrollt eine Seite nach oben
page_down: scrollt eine Seite nach unten
refresh: Seite wird neu aufgebaut
@@ -1001,19 +1022,19 @@ scroll_bottom: scrollt zum Ende des Buffers
scroll_beyond_end: scrollt über das Ende des Buffers hinaus
scroll_previous_highlight: scrollt zum vorherigen Hightlight
scroll_next_highlight: scrollt zum nächsten Highlight
scroll_unread: springt zur ersten ungelesenen Zeile in einem Buffer
scroll_unread: scrollt zur ersten ungelesenen Zeile in einem Buffer
swap: tauscht die Buffer von zwei Fenstern (mit optionaler Angabe für das Zielfenster)
zoom: vergrößert ein Fenster auf 100%
bare: wechselt zum einfachen Anzeigemodus (optional kann eine Wartezeit, in Sekunden, angegeben werden, wann zum Standardmodus zurück gewechselt werden soll)
bare: wechselt zum einfachen Anzeigemodus (optional kann eine Wartezeit in Sekunden angegeben werden, wann wieder zum Standardmodus zurück gewechselt werden soll)
Bei splith und splitv gibt "pct" die neue Größe des Fensters im Verhältnis zur aktuellen Größe an. Zum Beispiel würde ein Wert von 25 bedeuten, dass das neue Fenster nur noch ein Viertel der Größe des alten Fensters besitzt.
Für splith und splitv gibt "pct" die Größe des neuen Fensters im Verhältnis zur aktuellen Größe an. Zum Beispiel würde ein Wert von 25 bedeuten, dass das neue Fenster nur noch ein Viertel der Größe des alten Fensters besitzt.
Beispiele:
springt zum Fenster mit dem Buffer #1:
/window b1
scrollt zwei Zeilen hoch:
/window scroll -2
scrollt zwei Tage hoch: /window scroll -2d
scrollt zwei Tage hoch:
/window scroll -2d
scrollt zum Beginn des aktuellen Tages:
/window scroll -d
@@ -1027,6 +1048,8 @@ Beispiele:
/window resize v+10
eine Teilung wird rückgängig gemacht:
/window merge
das aktuelle Fenster wird geschlossen:
/window close
aktiviert den einfachen Anzeigemodus für zwei Sekunden:
/window bare 2
----
+24 -6
View File
@@ -420,7 +420,7 @@
** Beschreibung: pass:none[fügt eine Zeichenkette hinter die Nick-Vervollständigung ein (sofern ein Nickname das erste Wort in der Kommandozeile ist)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+":"+`
** Standardwert: `+": "+`
* [[option_weechat.completion.nick_first_only]] *weechat.completion.nick_first_only*
** Beschreibung: pass:none[es wird ausschließlich mit dem ersten, passendem Nick-Namen vervollständigt]
@@ -596,6 +596,12 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"%H:%M:%S"+`
* [[option_weechat.look.buffer_time_same]] *weechat.look.buffer_time_same*
** Beschreibung: pass:none[Uhrzeit die bei einer Nachricht dargestellt werden soll, sofern die Uhrzeit der vorherigen Nachricht entspricht: bei einem Leerzeichen " " wird keine Uhrzeit angezeigt, oder man kann eine Zeichenkette anstelle der Uhrzeit anzeigen, keine Zeichenkette deaktiviert diese Funktion (Uhrzeit wird angezeigt) (Hinweis: Inhalt wird evaluiert, es kann z.B. eine Farbe mittels dem Format "${color:xxx}" angegeben werden, siehe /help eval)]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.color_basic_force_bold]] *weechat.look.color_basic_force_bold*
** Beschreibung: pass:none[erzwingt das Textattribut "fett" für helle Farben und "darkgray", um diese Farben stärker hervorzuheben (diese Einstellung ist standardmäßig deaktiviert: "fett" findet ausschließlich dann Verwendung falls das Terminal weniger als 16 Farben zur Verfügung stellt)]
** Typ: boolesch
@@ -909,19 +915,25 @@
** Standardwert: `+100+`
* [[option_weechat.look.nick_color_force]] *weechat.look.nick_color_force*
** Beschreibung: pass:none[erzwingt für einen Nick eine spezielle Farbe. Die standardmäßig, mittels Streuwertfunktion aus dem Nicknamen, generierte Farbe findet für diese Nicks keine Anwendung (Format:"Nick1:Farbe1;Nick2:Farbe2"). Zuerst wird beim Namen des Nick nach Groß- und Kleinschreibung unterschieden. Sollte der Nick nicht gefunden werden findet keine Unterscheidung mehr statt. Somit ist es möglich die Nicks, für diese Einstellung, ausschließlich in Kleinschrift aufzuführen]
** Beschreibung: pass:none[erzwingt für einen Nick eine spezielle Farbe. Die standardmäßig, mittels Streuwertfunktion aus dem Nicknamen, generierte Farbe findet für diese Nicks keine Anwendung (Format:"Nick1:Farbe1;Nick2:Farbe2"). Zuerst wird beim Namen des Nick nach Groß- und Kleinschreibung unterschieden. Sollte der Nick nicht gefunden werden findet keine Unterscheidung mehr statt. Somit ist es möglich die Nicks, für diese Einstellung, ausschließlich in Kleinschrift aufzuführen; die Farbauswahl kann auch eine Hintergrundfarbe beinhalten "Textfarbe,Hintergrundfarbe", zum Beispiel "yellow,red"]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.nick_color_hash]] *weechat.look.nick_color_hash*
** Beschreibung: pass:none[Gibt an welcher Hash-Algorithmus zur Farbauswahl für Nicks genutzt werden soll: djb2 = Variante des djb2 (Position der Buchstaben innerhalb des Nicks werden berücksichtigt: Anagramme eines Nick erhalten eine andere Farbe), sum = hier ist nur die Anzahl der Buchstaben maßgeblich]
** Beschreibung: pass:none[Gibt an welcher Hash-Algorithmus zur Farbauswahl für Nicks genutzt werden soll: djb2 = Variante des djb2 (Position der Buchstaben innerhalb des Nicks werden berücksichtigt: Anagramme eines Nick erhalten eine andere Farbe), djb2_32 = Variante von djb2 wobei 32-Bit anstelle von 64-Bit Integer genutzt wird, sum = hier ist nur die Anzahl der Buchstaben maßgeblich, sum_32 = wie sum, nur das 32-Bit anstelle von 64-Bit Integer genutzt wird]
** Typ: integer
** Werte: djb2, sum
** Werte: djb2, sum, djb2_32, sum_32
** Standardwert: `+djb2+`
* [[option_weechat.look.nick_color_hash_salt]] *weechat.look.nick_color_hash_salt*
** Beschreibung: pass:none[salt für den Hash-Algorithmus, der zum Auffinden von Nickfarben verwendet wird (der Nickname wird an diesen Salt angehängt und der Hash-Algorithmus verarbeitet diesen String); Wenn Sie dies ändern, werden die Nickfarben gemischt]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.nick_color_stop_chars]] *weechat.look.nick_color_stop_chars*
** Beschreibung: pass:none[Zeichen die genutzt werden sollen damit bei der Generierung der Farbe für einen Nicknamen abgebrochen wird. Es muss mindestens ein Zeichen im Nicknamen enthalten sein der nicht in dieser Liste aufgeführt wird, damit eine Farbe für den Nicknamen erstellt werden kann (Beispiel: Der Nickname lautet "|nick|abwesend" wobei das Zeichen "|" ignoriert werden soll. Die Farbe für den Nicknamen wird nun für "|nick" anstelle von "|nick|abwesend" erstellt)]
** Beschreibung: pass:none[Zeichen die genutzt werden sollen damit bei der Generierung der Farbe für einen Nicknamen abgebrochen wird. Es muss mindestens ein Zeichen im Nicknamen enthalten sein der nicht in dieser Liste aufgeführt wird, damit eine Farbe für den Nicknamen erstellt werden kann (Beispiel: Der Nickname lautet "|nick|abwesend" wobei das Zeichen "|" ignoriert werden soll. Die Farbe für den Nicknamen wird nun für "|nick" anstelle von "|nick|abwesend" erstellt); diese Option hat einen Einfluss auf die Option weechat.look.nick_color_force, dort aufgeführte Nicks sollten keine Zeichen haben, die von dieser Option ignoriert werden]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+"_|["+`
@@ -1047,7 +1059,13 @@
** Standardwert: `+"<--"+`
* [[option_weechat.look.prefix_same_nick]] *weechat.look.prefix_same_nick*
** Beschreibung: pass:none[setzt ein Präfix welches anstelle des Nicks der Nachricht vorangestellt wird, sofern die vorherige Nachricht von dem selben Nick geschrieben wurde. Wird ein Leerzeichen (" ") genutzt, dann wird der Nachricht kein Präfix vorangestellt. Um diese Funktion zu deaktivieren und den Nick als Präfix zu nutzen darf keine Zeichenkette angegeben werden]
** Beschreibung: pass:none[setzt ein Präfix welches anstelle des Nicks der Nachricht vorangestellt wird, sofern die vorherige aber nicht die nachfolgende Nachricht von dem selben Nick geschrieben wurde. Wird ein Leerzeichen (" ") genutzt, dann wird der Nachricht kein Präfix vorangestellt. Um diese Funktion zu deaktivieren und den Nick als Präfix zu nutzen, einfach keine Zeichenkette angeben]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
* [[option_weechat.look.prefix_same_nick_middle]] *weechat.look.prefix_same_nick_middle*
** Beschreibung: pass:none[setzt ein Präfix welches anstelle des Nicks der Nachricht vorangestellt wird, sofern die vorherige und die nachfolgende Nachricht von dem selben Nick geschrieben wurde. Wird ein Leerzeichen (" ") genutzt, dann wird der Nachricht kein Präfix vorangestellt. Um diese Funktion zu deaktivieren und den Nick als Präfix zu nutzen, einfach keine Zeichenkette angeben]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+""+`
+13 -1
View File
@@ -104,6 +104,12 @@
** Werte: beliebige Zeichenkette
** Standardwert: `+"%h/xfer"+`
* [[option_xfer.file.download_temporary_suffix]] *xfer.file.download_temporary_suffix*
** Beschreibung: pass:none[Dateiendung der temporären Datei, die während eines eingehenden Datei-Transfers genutzt wird und die gelöscht wird, sobald die Übertragung erfolgreich beendet wurde; wenn -leer-, dann wird keine temporäre Dateiendung während des Transfers genutzt]
** Typ: Zeichenkette
** Werte: beliebige Zeichenkette
** Standardwert: `+".part"+`
* [[option_xfer.file.upload_path]] *xfer.file.upload_path*
** Beschreibung: pass:none[Pfad für ausgehende Dateien (falls kein Pfad durch den Anwender angegeben wurde): "%h" wird durch das WeeChat Verzeichnis ersetzt (Standardpfad: "~/.weechat") (Hinweis: Inhalt wird evaluiert, siehe /help eval)]
** Typ: Zeichenkette
@@ -164,7 +170,13 @@
** Werte: on, off
** Standardwert: `+on+`
* [[option_xfer.network.speed_limit]] *xfer.network.speed_limit*
* [[option_xfer.network.speed_limit_recv]] *xfer.network.speed_limit_recv*
** Beschreibung: pass:none[Begrenzt die Übertragungsgeschwindigkeit beim Empfang, in Kilobytes pro Sekunde (0 = keine Begrenzung)]
** Typ: integer
** Werte: 0 .. 2147483647
** Standardwert: `+0+`
* [[option_xfer.network.speed_limit_send]] *xfer.network.speed_limit_send*
** Beschreibung: pass:none[Begrenzt die Übertragungsgeschwindigkeit beim Versenden, in Kilobytes pro Sekunde (0 = keine Begrenzung)]
** Typ: integer
** Werte: 0 .. 2147483647
+17 -2
View File
@@ -15,6 +15,17 @@
Wird diese Option nicht genutzt, wird die Umgebungsvariable WEECHAT_HOME genutzt
(sofern diese vorhanden ist).
*-t*, *--temp-dir*::
Erstellt ein temporäres WeeChat Heimatverzeichnis welches beim Beenden gelöscht wird
(nicht nutzbar mit Option "-d"). +
Der Name des Verzeichnisses wird automatisch durch WeeChat vergeben, die Vorgabe für
den Namen lautet: "weechat_temp_XXXXXX" ("XXXXXX" ist dabei ein zufälliger Wert).
Dieses Verzeichnis wird dann im ersten möglichen Verzeichnis angelegt und anhand folgender
Reihenfolge bestimmt: Umgebungsvariable "TMPDIR", "/tmp" (kann abweichend sein, abhängig
vom verwendeten Betriebssystem), Umgebungsvariable "HOME", aktuelles Verzeichnis. +
Das temporäre Heimatverzeichnis besitzt die Berichtigung 0700 (nur Besitzer kann lesen,
schreiben und ausführen).
*-h*, *--help*::
zeigt einen Hilfstext an.
@@ -24,9 +35,13 @@
*-p*, *--no-plugin*::
unterbindet das Laden der Erweiterungen beim Programmstart.
*-P*, *--plugins* _<plugins>_::
lädt nur die angegebenen Erweiterungen, beim Start (siehe /help weechat.plugin.autoload).
Wenn diese Option genutzt wird, dann wird die Option weechat.plugin.autoload ignoriert.
*-r*, *--run-command* _<command>_::
führt einen oder mehrere Befehle aus, nachdem WeeChat gestartet wurde
(mehrere Befehle müssen durch Kommata voneinander getrennt werden).
führt einen oder mehrere Befehle nach dem Start aus; mehrere Befehle können durch ein
Semikolon getrennt werden, diese Option kann mehrfach genutzt werden.
*-s*, *--no-script*::
Skripten werden beim Programmstart nicht geladen.
+13
View File
@@ -0,0 +1,13 @@
*--no-dlclose*::
die Funktion dlclose wird nicht ausgeführt, nachdem Erweiterungen beendet wurden
Dies ist sinnvoll für Tools wie Valgrind um den Stack für Erweiterungen anzuzeigen,
welche beendet wurden.
*--no-gnutls*::
Es wird die init und deinit Funktion der GnuTLS Bibliothek nicht verwendet.
Dies ist sinnvoll für Tools wie Valgrind und electric-fence, um GnuTLS
Speicherfehler zu vermeiden.
*--no-gcrypt*::
Es wird die init und deinit Funktion der Gcrypt Bibliothek nicht verwendet.
Dies ist sinnvoll für Tools wie Valgrind um Speicherfehler von Gcrypt zu vermeiden.
+1 -1
View File
@@ -1,7 +1,7 @@
WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine vollständige Auflistung
findet man in der AUTHORS.adoc Datei).
Copyright (C) 2003-2018 {author}
Copyright (C) 2003-2019 {author}
WeeChat is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
+3 -3
View File
@@ -10,9 +10,6 @@ $HOME/.weechat/sec.conf::
$HOME/.weechat/alias.conf::
Konfigurationsdatei für _alias_ Erweiterung
$HOME/.weechat/aspell.conf::
Konfigurationsdatei für _aspell_ Erweiterung
$HOME/.weechat/buflist.conf::
Konfigurationsdatei für _buflist_ Erweiterung
@@ -61,6 +58,9 @@ $HOME/.weechat/ruby.conf::
$HOME/.weechat/script.conf::
Konfigurationsdatei für _script_ Erweiterung
$HOME/.weechat/spell.conf::
Konfigurationsdatei für _spell_ Erweiterung
$HOME/.weechat/tcl.conf::
Konfigurationsdatei für _tcl_ Erweiterung
+9 -3
View File
@@ -13,7 +13,7 @@ weechat-headless - der erweiterbare Chat Client (headless version)
== SYNOPSIS
[verse]
*weechat-headless* [-a|--no-connect] [--daemon] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
*weechat-headless* [-a|--no-connect] [--daemon] [-d|--dir <path>] [-t|--temp-dir] [-p|--no-plugin] [-P|--plugins <plugins>] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [debug-option...] [plugin:option...]
*weechat-headless* [-c|--colors]
*weechat-headless* [-h|--help]
*weechat-headless* [-l|--license]
@@ -33,7 +33,13 @@ zu starten. Dazu nutzt man die Option "--daemon".
include::cmdline_options.de.adoc[]
== OPTIONEN von ERWEITERUNGEN
== DEBUG-OPTIONEN
*WARNUNG:* Diese Optionen sind lediglich für Debug-Zwecke *DIESE FUNKTIONEN SOLLTE NICHT IM PRODUKTIVEM EINSATZ GENUTZT WERDEN!*
include::cmdline_options_debug.de.adoc[]
== OPTIONEN VON ERWEITERUNGEN
include::man_plugin_options.de.adoc[]
@@ -57,4 +63,4 @@ include::man_copyright.de.adoc[]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/dev/support
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+9 -3
View File
@@ -13,7 +13,7 @@ weechat - der erweiterbare Chat Client
== SYNOPSIS
[verse]
*weechat* [-a|--no-connect] [-d|--dir <path>] [-p|--no-plugin] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [plugin:option...]
*weechat* [-a|--no-connect] [-d|--dir <path>] [-t|--temp-dir] [-p|--no-plugin] [-P|--plugins <plugins>] [-r|--run-command <command>] [-s|--no-script] [--upgrade] [debug-option...] [plugin:option...]
*weechat* [-c|--colors]
*weechat* [-h|--help]
*weechat* [-l|--license]
@@ -29,7 +29,13 @@ Durch Skripten ist das Hauptprogramm äußerst flexibel und erweiterbar.
include::cmdline_options.de.adoc[]
== OPTIONEN von ERWEITERUNGEN
== DEBUG-OPTIONEN
*WARNUNG:* Diese Optionen sind lediglich für Debug-Zwecke *DIESE FUNKTIONEN SOLLTE NICHT IM PRODUKTIVEM EINSATZ GENUTZT WERDEN!*
include::cmdline_options_debug.de.adoc[]
== OPTIONEN VON ERWEITERUNGEN
include::man_plugin_options.de.adoc[]
@@ -53,4 +59,4 @@ include::man_copyright.de.adoc[]
== SUPPORT / FEHLER MELDEN
für Hilfe oder um einen Fehler zu melden: https://weechat.org/dev/support
für Hilfe oder um einen Fehler zu melden: https://weechat.org/about/support
+437 -295
View File
File diff suppressed because it is too large Load Diff
+130 -91
View File
@@ -22,14 +22,14 @@ Die bevorzugte Terminal-Emulation für X (aber nicht obligatorisch) ist
rxvt-unicode: rxvt verfügt über eine gute UTF-8 Unterstützung und hat
keine Probleme mit der Standard Tastaturbelegung.
Programmstart aus Deiner shell:
Programmstart aus deiner Shell:
----
$ weechat
----
[[help_options]]
== Online-Hilfe / Optionen
[[help]]
== Online-Hilfe
Für jeden Befehl bietet WeeChat eine Hilfe an:
@@ -44,18 +44,27 @@ zu lassen:
/help Befehl
----
Um Optionen zu setzen benutzt man:
Für Optionen kann man ebenso eine Hilfe anfordern:
----
/set config.section.option Wert
/help config.section.option
----
(dabei ist _config_ der Konfigurationsname (_weechat_ für den Kern von weechat,
oder der Name einer Erweiterung), _section_ ein Abschnitt dieser Konfiguration und _option_
der Name der entsprechenden Option).
[[options]]
== Optionen verändern
Um Optionen zu setzen benutzt man:
----
/set config.section.option Wert
----
WeeChat verwendet umgehend einen neu eingestellten Wert (WeeChat muss also zu *keinem* Zeitpunkt
neu gestartet werden, nach dem die Konfiguration verändert wurde).
neu gestartet werden, nachdem die Konfiguration verändert wurde).
Beim Beenden von WeeChat werden alle Einstellungen gespeichert (mittels des
Befehls `/save` kann das Sichern der Optionen manuell durchgeführt werden).
@@ -69,12 +78,6 @@ bevor man diese ggf. gesichert hat `/save`). +
Aus diesen Gründen sollte immer der `/set` Befehl genutzt werden, da
zusätzlich auch die Eingabe auf Plausibilität geprüft wird und Änderungen sofort wirksam werden.
Hilfe ist für Optionen verfügbar:
----
/help config.section.option
----
Mit der _fset_ Erweiterung kann man sehr einfach Optionen finden und diese
den eigenen Bedürfnissen anpassen.
@@ -99,33 +102,36 @@ Um weitere Informationen zum `/fset` Befehl und seine Tastenbefehle zu behalten,
siehe `/help fset`.
[[core_vs_plugins]]
== Kern (Core) vs Erweiterungen
== Kern (Core) vs. Erweiterungen
Der Kern (core) von WeeChat
dient ausschließlich der Ausgabe von Daten auf dem Bildschirm
und der Interaktion mit dem Benutzer.
WeeChat - also der WeeChat-Kern - ist somit ohne jedwede Erweiterung
eigentlich™ unbrauchbar für die Nutzung als Kommunikationswerkzeug im Internet.
Alle Netzwerkprotokolle (z.B. IRC) werden als separate Erweiterung bereitgestellt.
Der Kern (core) von WeeChat dient ausschließlich dazu um Daten auf dem Bildschirm
auszugeben und um mit dem Benutzer zu interagieren. Dies bedeutet das WeeChat,
-also der WeeChat core-, ohne jedwede Erweiterung, unbrauchbar ist.
(an die treuen User: IRC war Teil des Kerns in den Versionen ≤ 0.2.6)
Alle Netzwerkprotokolle, z.B. IRC, werden als separate Erweiterung bereit gestellt.
Benutze den Befehl `/plugin` um alle Erweiterungen aufzulisten, "irc" sowie andere
Erweiterungen sollten aufgelistet werden.
[[create_irc_server]]
== Einen IRC-Server erstellen
Um eine Verbindung zu einem IRC Server herzustellen wird der
Um eine Verbindung zu einem IRC Server herzustellen, wird der
`/server` Befehl verwendet. Beispiel:
----
/server add freenode chat.freenode.net
----
In dieser Zeile ist `freenode` der interne Servername der von Weechat genutzt wird:
Damit ist es möglich sich mit dem Server zu verbinden `/connect freenode` und um
die Server relevanten Optionen anzupassen _irc.server.freenode.xxx_.
In diesem Beispiel ist `freenode` der interne, von Weechat genutzte Servername.
Mit dem Befehl `/connect freenode` kann jetzt die Verbindung
zu diesem Freenode-IRC-Server aufgebaut werden.
Alle für den Server relevanten Optionen sind unter _irc.server.freenode.xxx_ zu finden.
Falls noch Fragen offen sein sollten, einfach die Hilfe verwenden:
Verwende die Hilfe, falls noch Fragen offen sind:
----
/help server
@@ -136,50 +142,53 @@ Falls noch Fragen offen sein sollten, einfach die Hilfe verwenden:
WeeChat verwendet Vorgabewerte für alle Server (so genannte "fall backs"), sofern
keine individuellen Werte für die entsprechenden Server-Optionen gesetzt worden sind.
Die Vorgabewerte sind in "irc.server_default.*" hinterlegt.
Die Vorgabewerte sind in den Optionen _irc.server_default.xxx_ hinterlegt.
Für jede Server-Option benutzt WeeChat den individuellen Wert - falls einer
definiert ist (nicht "null"). Andernfalls verwendet WeeChat die Vorgabewerte
("irc.server_default.xxx").
(_irc.server_default.xxx_).
Beispielsweise werden Standard Nicks verwendet (basierend auf dem Un*x Login). Um
dies nun für den freenode-Server anzupassen, kann folgender Befehl genutzt werden:
Beispielsweise werden Standard Nicks verwendet (basierend auf dem Un*x Login).
Sollen speziell für den freenode-Server andere Nicks genutzt werden,
können diese mit folgendem Befehl angepasst werden:
----
/set irc.server.freenode.nicks "meinNick,meinNick2,meinNick3,meinNick4,meinNick5"
----
Um den User- und realen Namen anzupassen:
Benutzernamen und wirklichen Namen (realname) anpassen:
----
/set irc.server.freenode.username "Mein User-Name"
/set irc.server.freenode.username "Mein Benutzername"
/set irc.server.freenode.realname "Mein wirklicher Name"
----
Um beim Start von WeeChat automatisch eine Verbindung zu einem Server
herzustellen:
Beim Start von WeeChat automatisch die Verbindung zu einem Server herstellen:
----
/set irc.server.freenode.autoconnect on
----
Um eine SSL Verbindung herzustellen:
Beim Verbindungsaufbau SSL (sichere Verbindung) nutzen:
----
/set irc.server.freenode.addresses "chat.freenode.net/7000"
/set irc.server.freenode.ssl on
----
Sollte der Server SASL unterstützen, kann man sich damit automatisch Authentifizieren
(dadurch identifiziert man sich beim Server, bevor man Channels (Chaträume) betritt):
Wenn der Server SASL unterstützt,
kann die Authentifizierung des Benutzers schon beim Aufbau der IRC-Session stattfinden.
Der Benutzer wird auf diese Weise gegenüber dem IRC-Server identifiziert,
noch bevor Server-Befehle übermittelt oder Cannels (Chaträume) betreten werden können.
----
/set irc.server.freenode.sasl_username "mynick"
/set irc.server.freenode.sasl_password "xxxxxxx"
----
Unterstützt der Server keine SASL Authentifizierung, muss man sich bei "nickserv"
identifizieren:
Wenn der Server keine SASL-Authentifizierung unterstützt,
muss der Benutzer sich nach dem Verbindungsaufbau bei "nickserv" identifizieren.
Der dafür notwendige IRC-Server-Befehl kann auch automatisch übermittelt werden:
----
/set irc.server.freenode.command "/msg nickserv identify xxxxxxx"
@@ -188,31 +197,34 @@ identifizieren:
[NOTE]
Mehrere Befehle in der Option _command_ können durch ein `;` (Semikolon) voneinander getrennt werden.
Möchte man seine Passwörter nicht als Klartext in der Konfiguration sichern, kann man die
Erweiterung /secure nutzen.
Sollen Passwörter nicht als Klartext in der Konfiguration sichtbar sein,
kann die Erweiterung _/secure_ genutzt werden.
Zuerst sollte eine Passphrase gesetzt werden:
Zuerst sollte die Passphrase gesetzt werden:
----
/secure passphrase Dies ist meine geheime Passphrase
----
Dann kann man zum Beispiel für Freenode ein geheimes Passwort setzen:
Jetzt wird das Passwort (`xxxxxx`)
für den Zugang zum Freenode-Server verschlüsselt
und mit dem Bezeichner `freenode_password` verknüpft:
----
/secure set freenode_password xxxxxxx
/secure set freenode_password xxxxxx
----
Um nun das geschützte Freenode-Passwort in einer Option zu nutzen setzt man eine
Variable anstelle des Passworts, `+${sec.data.freenode_password}+`:
Das geschützte Freenode-Passwort kann nun in anderen Optionen genutzt werden.
Dazu wird anstelle des Klartext-Passwortes die Variable
`+${sec.data.freenode_password}+` eingesetzt:
----
/set irc.server.freenode.sasl_password "${sec.data.freenode_password}"
----
Um ein auto-join (automatisches _betreten_) von Channels (Räumen) nach der
Verbindung zum Server durchzuführen, müssen die entsprechenden Channels in
eine Liste eingetragen werden:
Das automatische Betreten (auto-join) von Channels (Chaträume) direkt nach dem
Verbindungsaufbau zum IRC-Server kann durch den Eintrag der gewünschten Channels
in folgender Option erreicht werden:
----
/set irc.server.freenode.autojoin "#channel1,#channel2"
@@ -221,31 +233,37 @@ eine Liste eingetragen werden:
[TIP]
Mittels der kbd:[Tab] Taste kann man sehr einfach Namen und Werte von Optionen
vervollständigen und mittels kbd:[Shift+Tab] kann eine teilweise Vervollständigung
durchgeführt werden (was bei langen Wörtern, wie z.B. der Name einer Option, nützlich
durchgeführt werden (was bei langen Wörtern, wie z.B. dem Namen einer Option, nützlich
sein kann).
Um einen Wert der Server-Optionen zu entfernen und stattdessen wieder den
Vorgabewert zu nutzen, z.B. Nutzen der vorgegebenen Nicknamen
(irc.server_default.nicks):
Mit dem Befehl `/unset` können Server-Optionen zurückgesetzt werden.
Ist eine Server-Option zurückgesetzt, _wirkt_ der entsprechende Vorgabewert
aus dem fall-back-Bereich `irc.server_default.xxx`. So nimmt, beispielsweise
nach dem Rücksetzen der Freenode-Nicks, diese Server-Option _automatisch_ den Wert
der entsprechenden fall-back-Option `irc.server_default.nicks` an:
----
/unset irc.server.freenode.nicks
----
Andere Optionen: Du kannst andere Optionen mit folgendem Befehl festlegen ("xxx"
ist der Optionsname):
*Andere Optionen:*
Werte anderer Server-Optionen (`xxx`) können festgelegt werden mit:
----
/set irc.server.freenode.xxx Wert
----
[[connect_to_irc_server]]
== Verbinden mit dem IRC-Server und auto-join der Channel
== Verbinden mit dem IRC-Server
----
/connect freenode
----
Mittels obigem Befehl stellt WeeChat eine Verbindung zum freenode Server
her und betritt automatisch die Kanäle die in der "autojoin" Server-Option
aufgeführt sind.
[NOTE]
Dieser Befehl kann dazu benutzt werden um einen neuen Server zu erstellen und
sich mit diesem zu verbinden, ohne den Befehl `/server` zu benutzen
@@ -265,7 +283,7 @@ um dadurch separate Server-Buffer zu erhalten:
[[join_part_irc_channels]]
== Betreten/verlassen der IRC-Channel
Einen Channel betreten:
Einen Channel (Chatraum) betreten:
----
/join #channel
@@ -274,22 +292,23 @@ Einen Channel betreten:
Einen Channel verlassen (der Buffer bleibt dabei geöffnet):
----
/part [quit message]
/part [Verlassen-Nachricht]
----
Schließt einen Server, Channel oder privaten Buffer (`/close` ist ein Alias
für `/buffer close`):
Einen Buffer schließen (Server, Channel, privater Buffer);
`/close` ist dabei ein Alias für `/buffer close`:
----
/close
----
[WARNING]
Wird ein Server-Buffer geschlossen, werden automatisch die Channel/privaten
Buffer geschlossen.
Wird ein Server-Buffer geschlossen,
schließt WeeChat ebenfalls alle zum Server
gehörenden Channels und privaten Buffer.
Um sich bei einem Server abzumelden, führt man im entsprechenden Server-Buffer
folgenden Befehl aus:
Die Abmeldung von einem Server erfolgt im entsprechenden Server-Buffer
mit Hilfe des Befehls:
----
/disconnect
@@ -298,13 +317,15 @@ folgenden Befehl aus:
[[irc_private_messages]]
== IRC private Nachrichten
Öffnet einen Buffer und schickt eine Nachricht an einen User (Nick _foo_):
Schicke eine Nachricht an einen bestimmten Benutzer (hier: _foo_)
und öffne einen privaten Buffer (Nachrichten in diesem Buffer
sehen nur der andere Benutzer und ich):
----
/query foo Dies ist eine Nachricht
----
Schließt einen privaten Buffer:
Schließe den privaten Buffer:
----
/close
@@ -313,16 +334,19 @@ Schließt einen privaten Buffer:
[[buffer_window]]
== Buffer/Fenster Verwaltung
Ein Buffer ist einer Erweiterung zugeordnet und besitzt eine Buffer-Nummer,
einen Buffer-Namen und beinhaltet die auf dem Bildschirm dargestellten
Zeilen.
Ein Buffer ist einer Erweiterung zugeordnet
und besitzt sowohl eine Buffer-Nummer als auch einen Buffer-Namen.
Die innerhalb eines Fensters dargestellten Zeilen/Zeichen
werden aus dem Inhalt des Buffers generiert.
Ein Fenster ist die Ansicht eines Buffers. Standardmäßig nutzt WeeChat ein
Fenster, in welchem ein Buffer darstellt wird. Wird der Bildschirm in
mehrere Fenster aufgeteilt, kann man sich entsprechend der Anzahl der
geteilten Fenster einen Buffer pro Fenster anzeigen lassen.
Ein Fenster ist der Ausschnitt der Programmoberfläche,
den WeeChat für einen bestimmten Buffer bereitstellt.
Standardmäßig nutzt WeeChat genau ein Fenster pro darzustellendem Buffer.
Wird der Bildschirm in mehrere Fenster aufgeteilt,
können, entsprechend der Anzahl der Fenster,
die gleiche Anzahl an Buffern angezeigt werden.
Befehle, zum Verwalten von Buffern und Fenstern:
Befehle zum Verwalten von Buffern und Fenstern:
----
/buffer
@@ -345,9 +369,9 @@ Um die Teilung des Bildschirms rückgängig zu machen:
[[key_bindings]]
== Tastaturbelegung
WeeChat verwendet viele Standardtasten. Alle Tastenbelegungen sind in der
Dokumentation beschrieben. Im folgenden werden die wichtigsten Tastenbelegungen
kurz erläutert:
WeeChat verwendet viele Standardtasten.
Alle Tastenbelegungen sind in der Dokumentation beschrieben.
Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:
- kbd:[Alt+←] / kbd:[Alt+→] oder kbd:[F5] / kbd:[F6]: Wechsel zum
vorherigen/nächsten Buffer
@@ -360,11 +384,16 @@ kurz erläutert:
- kbd:[PgUp] / kbd:[PgDn]: scrollt den Text im aktiven Buffer
- kbd:[Alt+a]: springt zum Buffer mit Aktivität (aus der Hotlist)
Gemäß Deiner Tastatur und/oder Deinen Bedürfnissen kann jede Taste mit Hilfe
des `/key` Befehls durch jedweden Befehl neu belegt werden.
Eine nützliche Tastenkombination um Tastencodes zu ermitteln ist kbd:[Alt+k].
Die Tastenbelegung WeeChat's kann sowohl an deine persönlichen Vorlieben
als auch an die Besonderheiten deiner Tastatur angepasst werden.
Mit Hilfe des Befehls `/key` wird einer bestimmten Taste oder Tastenkombination
ein WeeChat-Befehl zugeordnet.
Beispiel: Belegung von kbd:[Alt+!] mit dem Befehl `/buffer close`:
In diesem Zusammenhang ist die Standard-Tastenkombination kbd:[Alt+k] besonders
hervorzuheben. Sie ermittelt (auf magische Weise) beliebige Tastaturcodes.
Beispiel:
Belege die Tastenkombination kbd:[Alt+!] mit dem Befehl `/buffer close`:
----
/key bind (drücke alt-k) (drücke alt-!) /buffer close
@@ -376,7 +405,7 @@ Du wirst folgende Befehlszeile erhalten:
/key bind meta-! /buffer close
----
Entfernen der Tastenbelegung:
Entferne die Tastenbelegung kbd:[Alt+!]:
----
/key unbind meta-!
@@ -385,28 +414,38 @@ Entfernen der Tastenbelegung:
[[plugins_scripts]]
== Erweiterungen/Skripten
Bei einigen Distributionen wie z.B. Debian, sind die Erweiterungen über separate Pakete
erhältlich (z.B. weechat-plugins).
Erweiterungen werden -sofern welche gefunden worden sind- automatisch geladen (Bitte beachte
die Dokumentation zum installieren/entfernen von Erweiterungen und/oder Skripten).
Bei einigen Distributionen (z.B. Debian),
sind die WeeChat-Erweiterungen über separate Pakete erhältlich (z.B. _weechat-plugins_).
Erweiterungen werden, insofern sie beim Start von WeeChat gefunden wurden,
automatisch geladen (Bitte beachte die Dokumentation zum Installieren
und Entfernen von Erweiterungen und/oder Skripten).
Viele externe Skripten (von Drittprogrammierern) sind für WeeChat verfügbar. Diese
Skripten können mittels des `/script` Befehls heruntergeladen und installiert werden:
Viele externe Skripten (von Drittprogrammierern) sind für WeeChat verfügbar.
Diese Skripten können mit Hilfe des `/script`-Befehls heruntergeladen
und installiert werden:
----
/script install go.py
----
siehe `/help script` für weitere Informationen.
Zeige weitere Informationen:
----
/help script
----
Eine Liste aller verfügbaren Skripten kann man sich in WeeChat mittels
`/script` anzeigen lassen oder man besucht folgende Webseite:
https://weechat.org/scripts
Zeige eine liste aller verfügbaren Skripten:
----
/script
----
Auf *weechat.org* von Drittanbietern bereitgestellte Scripten: https://weechat.org/scripts
[[more_doc]]
== Weitere Dokumentation
Nun kannst Du WeeChat nutzen, für weitere Fragen lese die FAQ und/oder Dokumentation:
https://weechat.org/doc
Mit dieser Quickstart-Anleitung wurden dir die wesentlichen
Bedienungswerkzeuge von WeeChat nähergebracht.
Für das eingehende Studium aller verfügbaren Funktionalitäten
sei dir unsere ausführliche FAQ/Dokumentation ans Herz gelegt: https://weechat.org/doc
Viel Spass mit WeeChat!
+164 -35
View File
@@ -3,9 +3,10 @@
:email: flashcode@flashtux.org
:lang: de
:toc: left
:toclevels: 3
:toclevels: 4
:toc-title: Inhaltsverzeichnis
:sectnums:
:sectnumlevels: 3
:docinfo1:
@@ -45,27 +46,121 @@ Allerdings ist die API für alle Skriptsprachen nahezu identisch.
[[scripts_in_weechat]]
== Skripten in WeeChat
[[weechat_architecture]]
=== WeeChat Architektur
WeeChat ist einzelprozeßgestützt (Single-Threaded) und dies gilt ebenso für Skripten.
Der Code eines Skripts wird ausgeführt:
* wenn das Skript geladen wird: typischer Weise durch einen Aufruf von
<<register_function,Register Funktion>>
* wenn ein hook Callback von WeeChat aufgerufen wird (siehe Kapitel <<hooks,Hooks>>).
Sobald der Code eines Skripts ausgeführt wird wartet WeeChat bis zum Ende der
Ausführung, bevor fortgefahren wird. Deshalb dürfen innerhalb des Skripts *KEINE*
blockierende Operationen ausgeführt werden wie zum Beispiel Netzwerkaufrufe,
ohne die dafür vorgesehene API-Funktion zu verwenden, `hook_process`.
[IMPORTANT]
Ein Skript darf *NIEMALS* einen fork nutzen oder einen eigenen Thread erstellen,
dafür gibt es explizit eine API Funktion, andernfalls kann WeeChat abstürzen. +
Wenn etwas in einem Hintergrundprozess ausgeführt werden soll, kann die Funktion
`hook_process` genutzt werden. Siehe Beispiele im Kapitel <<hook_process,Hintergrundprozesse>>
und die Dokumentation für die Funktion `hook_process` in link:weechat_plugin_api.en.html#_hook_process[WeeChat plugin API reference] (Englisch).
[[languages_specificities]]
=== Besonderheiten der einzelnen Skriptsprachen
==== Python
* WeeChat muss als Modul eingebunden werden: `import weechat`
* Um die WeeChat Funktion `+print*+` nutzen zu können muss `+prnt*+` genutzt
werden (_print_ ist ein reservierter Befehl von Python!)
* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt
===== Module
WeeChat definiert ein `weechat` Module welches mittels `import weechat`
importiert werden muss.
===== Funktionen
Funktionen werden aufgerufen mittels `weechat.xxx(arg1, arg2, ...)`.
Die Funktionen `+print*+` werden bei python durch `+prnt*+` ersetzt
(`print` war ein reserviertes Schlüsselwort unter Python 2).
===== In Callbacks empfangene Zeichen
Mit Python 3 und WeeChat ≥ 2.7 sind die Zeichenketten in Callbacks
vom Typ `str`, sofern die Zeichenketten gültige UTF-8 Daten enthalten
(was am häufigsten zutreffen sollte), oder vom Typ `bytes` falls
die Zeichenkette keine gültigen UTF-8 Daten enthält. Deshalb sollte
im Callback darauf geachtet werden das ungültige UTF-8 Daten
empfangen werden können.
In folgenden Fällen können einige ungültige UTF-8-Daten empfangen werden,
sodass im Callback Zeichenketten vom Typ `str` oder `bytes` (diese
Liste ist nicht vollständig):
[width="100%",cols="3m,3m,3m,8",options="header"]
|===
| API Funktion | Argumente | Beispiele| Beschreibung
| hook_modifier |
irc_in_yyy |
pass:[irc_in_privmsg] +
pass:[irc_in_notice] |
Eine Nachricht die von der IRC Erweiterung empfangen wurde und bevor sie nach UTF-8 dekodiert wurde (intern
verwendet). +
+
Es wird empfohlen den Modifier `irc_in2_yyy` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `hook_modifier` in der
link:weechat_plugin_api.en.html#_hook_modifier[WeeChat Anleitung für API Erweiterung].
| hook_signal |
xxx,irc_out_yyy +
xxx,irc_outtags_yyy |
pass:[*,irc_out_privmsg] +
pass:[*,irc_out_notice] +
pass:[*,irc_outtags_privmsg] +
pass:[*,irc_outtags_notice] |
Eine Nachricht welche von der IRC Erweiterung versendet wurde, nachdem diese entsprechend
der Benutzereinstellung `encode` Charset kodiert (falls abweichend von der `UTF-8` Standardeinstellung). +
+
Es wird empfohlen das Signal `xxx,irc_out1_yyy` zu nutzen, da die empfangene Zeichenkette
immer UTF-8 gültig ist. +
siehe Funktion `hook_signal` in der
link:weechat_plugin_api.en.html#_hook_signal[WeeChat Anleitung für API Erweiterung].
| hook_process +
hook_process_hashtable |
- |
- |
Ausgabe des Befehls, dass an den Callback gesendet wurde, kann ungültige UTF-8 Daten enthalten.
|===
Mit Python 2, das mittlerweile veraltet ist und nicht mehr verwendet werden sollte, ist die
Zeichenkette die an die Callbacks gesendet wird immer vom Typ `str` und kann deshalb bei den
oben genannten Fällen, ungültige UTF-8 Daten enthalten.
==== Perl
* Funktionen werden im Format `weechat::xxx(arg1, arg2, ...);` ausgeführt
===== Funktionen
Funktionen werden aufgerufen mittels `weechat::xxx(arg1, arg2, ...);`.
==== Ruby
* Es muss _weechat_init_ definiert und darin die Funktion _register_ ausgeführt werden
* Funktionen werden im Format `Weechat.xxx(arg1, arg2, ...)` ausgeführt
* Aufgrund einer Limitierung, seitens Ruby (maximal 15 Argumente pro Funktion), empfängt
die Funktion `Weechat.config_new_option` den Callback in einem Array von 6 Strings
(3 Callbacks + 3 Data Strings), somit sieht ein Aufruf der Funktion folgendermaßen aus:
===== Initialization
Es muss _weechat_init_ definiert werden und darin dann _register_ ausgeführt werden.
===== Functions
Funktionen werden aufgerufen mittels `Weechat.xxx(arg1, arg2, ...)`.
Aufgrund einer Beschränkung von Ruby (maximal 15 Argumente pro Funktion), empfängt
die Funktion `Weechat.config_new_option` ein Callback mit einem Array von 6 Zeichenketten
(3 Callbacks + 3 Datenzeichenketten), so sieht ein Aufruf dieser Funktion aus:
[source,ruby]
----
@@ -75,29 +170,41 @@ Weechat.config_new_option(config, section, "name", "string", "description of opt
==== Lua
* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...)` ausgeführt
===== Funktionen
Funktionen werden aufgerufen mittels `weechat.xxx(arg1, arg2, ...)`.
==== Tcl
* Funktionen werden im Format `weechat::xxx arg1 arg2 ...` ausgeführt
===== Funktionen
Funktionen werden aufgerufen mittels `weechat::xxx arg1 arg2 ...`.
==== Guile (Scheme)
* Funktionen werden im Format `(weechat:xxx arg1 arg2 ...)` ausgeführt
* folgende Funktionen nutzen eine Liste von Argumente (anstelle von vielen
Argumenten für andere Funktionen), dies liegt daran das Guile die Anzahl
der Argumente eingeschränkt ist:
** config_new_section
** config_new_option
** bar_new
===== Funktionen
Funktionen werden aufgerufen mittels `(weechat:xxx arg1 arg2 ...)`.
Die folgenden Funktionen verwenden eine Liste von Argumenten (anstelle vieler Argumente
für andere Funktionen), da die Anzahl der Argumente die zulässige Anzahl in Guile
überschreiten würde:
* config_new_section
* config_new_option
* bar_new
==== JavaScript
* Funktionen werden im Format `weechat.xxx(arg1, arg2, ...);` ausgeführt
===== Funktionen
Funktionen werden aufgerufen mittels `weechat.xxx(arg1, arg2, ...);`.
==== PHP
* Funktionen werden im Format `weechat_xxx(arg1, arg2, ...);` ausgeführt
===== Functions
Funktionen werden aufgerufen mittels `weechat_xxx(arg1, arg2, ...);`.
[[register_function]]
=== Die "Register" Funktion
@@ -440,6 +547,7 @@ Liste der Skript API Funktionen:
ngettext +
strlen_screen +
string_match +
string_match_list +
string_has_highlight +
string_has_highlight_regex +
string_mask_to_regex +
@@ -530,6 +638,7 @@ Liste der Skript API Funktionen:
hook_process +
hook_process_hashtable +
hook_connect +
hook_line +
hook_print +
hook_signal +
hook_signal_send +
@@ -602,7 +711,8 @@ Liste der Skript API Funktionen:
bar_remove
| Befehle |
command
command +
command_options
| Informationen |
info_get +
@@ -1011,9 +1121,9 @@ Beispiele:
[source,python]
----
skript_optionen = {
"Option1" : "Wert1",
"Option2" : "Wert2",
"Option3" : "Wert3",
"Option1": "Wert1",
"Option2": "Wert2",
"Option3": "Wert3",
}
for option, standardwert in skript_optionen.items():
if not weechat.config_is_set_plugin(option):
@@ -1077,15 +1187,20 @@ weechat.prnt("", "Wert der Option weechat.color.chat_delimiters ist: %s"
[[irc_catch_messages]]
==== Nachrichten abfangen
Die IRC Erweiterung sendet zwei Signale wenn eine Nachricht empfangen wurde.
`xxx` ist der interne IRC Servername, `yyy` ist der IRC Befehl der empfangen
wurde (JOIN, QUIT, PRIVMSG, 301, ..):
Die IRC Erweiterung sendet vier Signale wenn eine Nachricht empfangen wurde
(`xxx` ist dabei der interne Servername, `yyy` ist der IRC Befehl z.B. JOIN, QUIT, PRIVMSG, 301, ..):
xxxx,irc_in_yyy::
Signal wird gesendet bevor die Nachricht verarbeitet wurde.
xxx,irc_in_yyy::
Signal wird gesendet, bevor die Nachricht verarbeitet wird, nur wenn Nachricht *nicht* ignoriert wird
xxx,irc_in2_yyy::
Signal wird gesendet nachdem die Nachricht verarbeitet wurde.
Signal wird gesendet, nachdem die Nachricht verarbeitet wird, nur wenn Nachricht *nicht* ignoriert wird
xxx,irc_raw_in_yyy::
Signal wird gesendet, bevor die Nachricht verarbeitet wird, auch wenn Nachricht ignoriert wird
xxx,irc_raw_in2_yyy::
Signal wird gesendet, nachdem die Nachricht verarbeitet wird, auch wenn Nachricht ignoriert wird
[source,python]
----
@@ -1107,8 +1222,17 @@ weechat.hook_signal("*,irc_in2_join", "join_cb", "")
[[irc_modify_messages]]
==== Nachrichten ändern
Die IRC Erweiterung verschickt einen "modifier" mit Namen "irc_in_xxx" ("xxx" steht für den
Namen des IRC Befehls) falls eine Nachricht empfangen wurde die dann modifiziert werden kann.
Die IRC Erweiterung sendet zwei "Modifier" für eine empfangene Nachricht
("xxx" ist der IRC Befehl), damit die Nachricht verändert werden kann:
irc_in_xxx::
Modifier, der vor der Zeichensatzdekodierung gesendet wurde: diese Zeichenkette
sollte mit Vorsicht verwendet werden, da sie ungültige UTF-8-Daten enthalten kann;
Nur bei Rohoperationen für eine Nachricht verwenden
irc_in2_xxx::
Modifier wird nach der Zeichensatzdekodierung gesendet, sodass die empfangene
Zeichenkette immer eine gültige UTF-8 Kodierung enthält (*empfohlen*)
[source,python]
----
@@ -1117,7 +1241,7 @@ def modifier_cb(data, modifier, modifier_data, string):
# (Okay dies ist nicht wirklich sinnvoll, aber es ist auch nur ein Beispiel!)
return "%s %s" % (string, modifier_data)
weechat.hook_modifier("irc_in_privmsg", "modifier_cb", "")
weechat.hook_modifier("irc_in2_privmsg", "modifier_cb", "")
----
[WARNING]
@@ -1151,6 +1275,10 @@ Das Ergebnis ist eine Hashtabelle mit folgenden Schlüsseln
der ursprüngliche Nick. |
`nick`
| user | ≥ 2.7 |
der ursprüngliche Benutzer. |
`user`
| host | ≥ 0.3.4 |
der ursprüngliche Host (beinhaltet den Nick). |
`nick!user@host`
@@ -1198,6 +1326,7 @@ dict = weechat.info_get_hashtable(
# "tags": "time=2015-06-27T16:40:35.000Z",
# "message_without_tags": ":nick!user@host PRIVMSG #weechat :hello!",
# "nick": "nick",
# "user": "user",
# "host": "nick!user@host",
# "command": "PRIVMSG",
# "channel": "#weechat",
+3 -3
View File
@@ -97,7 +97,7 @@ $ tar xvjf weechat-devel.tar.bz2
$ cd weechat-devel
----
Um die Quellen zu übersetzen, wird cmake empfohlen:
Um die Quellen zu übersetzen, wird CMake empfohlen:
----
$ mkdir build
@@ -107,7 +107,7 @@ $ make
$ make install
----
Falls Du cmake nicht hast, ist es auch möglich die autotools zu nutzen:
Falls Du CMake nicht hast, ist es auch möglich die autotools zu nutzen:
----
$ ./autogen.sh
@@ -123,7 +123,7 @@ Abhängig Deiner Linux Distribution:
* Debian: https://weechat.org/download/debian
* Gentoo: https://weechat.org/download
* ArchLinux: PKGBUILD von http://aur.archlinux.org/
* ArchLinux: PKGBUILD von https://aur.archlinux.org/
* andere: Wissen wir nicht! Eheh.
File diff suppressed because it is too large Load Diff
+72 -66
View File
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
#
# Copyright (C) 2008-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2008-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -13,31 +13,37 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
"""
Documentation generator for WeeChat: build include files with commands,
options, infos, infolists, hdata and completions for WeeChat core and
plugins.
Documentation generator for WeeChat: build include files with:
Instructions to build config files yourself in WeeChat directories (replace
all paths with your path to WeeChat):
1. run WeeChat and load this script, with following command:
/python load ~/src/weechat/doc/docgen.py
2. change path to build in your doc/ directory:
/set plugins.var.python.docgen.path "~/src/weechat/doc"
3. run docgen command:
/docgen
Note: it is recommended to load only this script when building doc.
Files should be in ~/src/weechat/doc/xx/autogen/ (where xx is language).
- commands
- config options
- default aliases
- IRC colors
- infos
- infos hashtable
- infolists
- hdata
- completions
- URL options
- plugins priority.
Instructions to build config files yourself in WeeChat directories
(replace "path" with the path to the docgen.py script in WeeChat repository):
weechat -t -r "/python load /path/docgen.py;/docgen;/quit"
Output files are in /path/xx/autogen/ (where xx is language).
"""
from __future__ import print_function
SCRIPT_NAME = 'docgen'
SCRIPT_AUTHOR = 'Sébastien Helleu <flashcode@flashtux.org>'
SCRIPT_VERSION = '0.1'
SCRIPT_VERSION = '0.2'
SCRIPT_LICENSE = 'GPL3'
SCRIPT_DESC = 'Documentation generator for WeeChat'
@@ -64,19 +70,15 @@ except ImportError:
print('Get WeeChat now at: https://weechat.org/')
IMPORT_OK = False
# default path where doc files will be written (should be doc/ in sources
# package tree)
# path must have subdirectories with languages and autogen directory:
# path
# |-- en
# | |-- autogen
# |-- fr
# | |-- autogen
# ...
DEFAULT_PATH = '~/src/weechat/doc'
# list of locales for which we want to build doc files to include
LOCALE_LIST = ('en_US', 'fr_FR', 'it_IT', 'de_DE', 'ja_JP', 'pl_PL')
LOCALE_LIST = (
'de_DE',
'en_US',
'fr_FR',
'it_IT',
'ja_JP',
'pl_PL',
)
# all commands/options/.. of following plugins will produce a file
# non-listed plugins will be ignored
@@ -89,7 +91,6 @@ PLUGIN_LIST = {
'sec': 'o',
'weechat': 'co',
'alias': '',
'aspell': 'o',
'buflist': 'co',
'charset': 'o',
'exec': 'o',
@@ -107,24 +108,24 @@ PLUGIN_LIST = {
'guile': 'o',
'javascript': 'o',
'php': 'o',
'spell': 'o',
'trigger': 'o',
'xfer': 'co',
}
# options to ignore
IGNORE_OPTIONS = (
r'aspell\.dict\..*',
r'aspell\.option\..*',
r'charset\.decode\..*',
r'charset\.encode\..*',
r'irc\.msgbuffer\..*',
r'irc\.ctcp\..*',
r'irc\.ignore\..*',
r'irc\.server\..*',
r'jabber\.server\..*',
r'logger\.level\..*',
r'logger\.mask\..*',
r'relay\.port\..*',
r'spell\.dict\..*',
r'spell\.option\..*',
r'trigger\.trigger\..*',
r'weechat\.palette\..*',
r'weechat\.proxy\..*',
@@ -136,11 +137,19 @@ IGNORE_OPTIONS = (
# completions to ignore
IGNORE_COMPLETIONS_ITEMS = (
'docgen.*',
'jabber.*',
'weeget.*',
)
def sha256_file(filename, default=None):
"""Return SHA256 checksum of a file."""
try:
with open(filename, 'rb') as _file:
checksum = hashlib.sha256(_file.read()).hexdigest()
except IOError:
checksum = default
return checksum
class AutogenDoc(object):
"""A class to write auto-generated doc files."""
@@ -162,20 +171,10 @@ class AutogenDoc(object):
"""Update doc file if needed (if content has changed)."""
# close temp file
self._file.close()
# compute checksum on old file
try:
with open(self.filename, 'r') as _file:
shaold = hashlib.sha256(_file.read()).hexdigest()
except IOError:
shaold = ''
# compute checksum on new (temp) file
try:
with open(self.filename_tmp, 'r') as _file:
shanew = hashlib.sha256(_file.read()).hexdigest()
except IOError:
shanew = ''
sha_old = sha256_file(self.filename, 'old')
sha_new = sha256_file(self.filename_tmp, 'new')
# compare checksums
if shaold != shanew:
if sha_old != sha_new:
# update doc file
if os.path.exists(self.filename):
os.unlink(self.filename)
@@ -444,6 +443,15 @@ def get_plugins_priority():
return plugins_priority
def print_counters(label, files, updated):
"""Print a line with counters."""
color = weechat.color('*lightred') if updated > 0 else ''
weechat.prnt('',
'docgen: {0}: {1} files, {2}{3}{4} updated'
''.format(label, files, color, updated,
weechat.color('reset')))
# pylint: disable=too-many-locals, too-many-branches, too-many-statements
# pylint: disable=too-many-nested-blocks
def docgen_cmd_cb(data, buf, args):
@@ -451,7 +459,7 @@ def docgen_cmd_cb(data, buf, args):
if args:
locales = args.split(' ')
else:
locales = LOCALE_LIST
locales = sorted(LOCALE_LIST)
commands = get_commands()
options = get_options()
infos = get_infos()
@@ -464,11 +472,6 @@ def docgen_cmd_cb(data, buf, args):
irc_colors = get_irc_colors()
plugins_priority = get_plugins_priority()
# get path and replace ~ by home if needed
path = weechat.config_get_plugin('path')
if path.startswith('~'):
path = os.environ['HOME'] + path[1:]
# write to doc files, by locale
num_files = defaultdict(int)
num_files_updated = defaultdict(int)
@@ -477,6 +480,8 @@ def docgen_cmd_cb(data, buf, args):
translate = lambda s: (s and _(s)) or s
escape = lambda s: s.replace('|', '\\|')
weechat.prnt('', '-' * 40)
for locale in locales:
for key in num_files:
if key != 'total2':
@@ -487,7 +492,9 @@ def docgen_cmd_cb(data, buf, args):
languages=[locale + '.UTF-8'],
fallback=True)
trans.install()
directory = path + '/' + locale[0:2] + '/autogen'
directory = os.path.join(os.path.dirname(data),
locale[0:2],
'autogen')
if not os.path.isdir(directory):
weechat.prnt('',
'{0}docgen error: directory "{1}" does not exist'
@@ -715,7 +722,7 @@ def docgen_cmd_cb(data, buf, args):
doc.write('|===\n')
doc.update('completions', num_files, num_files_updated)
# write url options
# write URL options
doc = AutogenDoc(directory, 'plugin_api', 'url_options')
doc.write('[width="100%",cols="2,^1,7",options="header"]\n')
doc.write('|===\n')
@@ -742,14 +749,15 @@ def docgen_cmd_cb(data, buf, args):
doc.update('plugins_priority', num_files, num_files_updated)
# write counters
weechat.prnt('',
'docgen: {0}: {1} files, {2} updated'
''.format(locale,
num_files['total1'],
num_files_updated['total1']))
weechat.prnt('',
'docgen: total: {0} files, {1} updated'
''.format(num_files['total2'], num_files_updated['total2']))
print_counters(locale, num_files['total1'],
num_files_updated['total1'])
weechat.prnt('', ' -' * 20)
print_counters('total', num_files['total2'], num_files_updated['total2'])
weechat.prnt('', '-' * 40)
return weechat.WEECHAT_RC_OK
@@ -770,8 +778,6 @@ if __name__ == '__main__' and IMPORT_OK:
'locales: list of locales to build (by default '
'build all locales)',
'%(docgen_locales)|%*',
'docgen_cmd_cb', '')
'docgen_cmd_cb', __file__)
weechat.hook_completion('docgen_locales', 'locales for docgen',
'docgen_completion_cb', '')
if not weechat.config_is_set_plugin('path'):
weechat.config_set_plugin('path', DEFAULT_PATH)
+9 -4
View File
@@ -1,6 +1,6 @@
<!--
Custom styles for Asciidoctor
Copyright (C) 2016-2018 Sébastien Helleu <flashcode@flashtux.org>
Copyright (C) 2016-2019 Sébastien Helleu <flashcode@flashtux.org>
-->
<style>
#header,#content,#footnotes,#footer {
@@ -19,11 +19,16 @@ h1,h2,h3,h4,h5 {
line-height: normal;
font-size: .95em;
}
.keyseq kbd {
font-size: .7em;
kbd {
font-size: .9em;
}
.keyseq {
margin-left: .2em;
margin-right: .2em;
}
.tableblock kbd {
font-size: .7438em;
margin-top: .2em;
margin-bottom: .2em;
}
.hex {
padding: 0 .2em;
+5 -2
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
#
# This file is part of WeeChat, the extensible chat client.
#
@@ -14,7 +14,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
if(ENABLE_MAN)
@@ -25,6 +25,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat.1.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.en.adoc
@@ -41,6 +42,7 @@ if(ENABLE_MAN)
DEPENDS
${CMAKE_CURRENT_SOURCE_DIR}/weechat-headless.1.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_plugin_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_files.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/man_copyright.en.adoc
@@ -64,6 +66,7 @@ if(ENABLE_DOC)
${CMAKE_CURRENT_SOURCE_DIR}/../docinfo.html
${CMAKE_CURRENT_SOURCE_DIR}/weechat_user.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options.en.adoc
${CMAKE_CURRENT_SOURCE_DIR}/cmdline_options_debug.en.adoc
${AUTOGEN_USER}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Building weechat_user.en.html"
+12 -8
View File
@@ -1,5 +1,5 @@
#
# Copyright (C) 2003-2018 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2003-2019 Sébastien Helleu <flashcode@flashtux.org>
# Copyright (C) 2006 Julien Louis <ptitlouis@sysif.net>
#
# This file is part of WeeChat, the extensible chat client.
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with WeeChat. If not, see <http://www.gnu.org/licenses/>.
# along with WeeChat. If not, see <https://www.gnu.org/licenses/>.
#
docdir = $(datadir)/doc/$(PACKAGE)
@@ -23,7 +23,9 @@ docdir = $(datadir)/doc/$(PACKAGE)
EXTRA_DIST = CMakeLists.txt \
docinfo.html \
weechat.1.en.adoc \
weechat-headless.1.en.adoc \
cmdline_options.en.adoc \
cmdline_options_debug.en.adoc \
weechat_user.en.adoc \
weechat_plugin_api.en.adoc \
weechat_scripting.en.adoc \
@@ -36,7 +38,8 @@ EXTRA_DIST = CMakeLists.txt \
$(wildcard autogen/plugin_api/*.adoc)
if MAN
man_targets = weechat.1
man_targets = weechat.1 \
weechat-headless.1
man_install = install-man
man_uninstall = uninstall-man
endif
@@ -54,12 +57,14 @@ if DOC
endif
all-local: $(man_targets) $(doc_targets)
# man page
weechat.1: weechat.1.en.adoc cmdline_options.en.adoc
# man pages
weechat.1: weechat.1.en.adoc cmdline_options.en.adoc cmdline_options_debug.en.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat.1 $(abs_top_srcdir)/doc/en/weechat.1.en.adoc
weechat-headless.1: weechat-headless.1.en.adoc cmdline_options.en.adoc cmdline_options_debug.en.adoc
$(ASCIIDOCTOR) -a revision="WeeChat $(VERSION)" -b manpage -o weechat-headless.1 $(abs_top_srcdir)/doc/en/weechat-headless.1.en.adoc
# user's guide
weechat_user.en.html: weechat_user.en.adoc cmdline_options.en.adoc $(wildcard autogen/user/*.adoc) $(abs_top_srcdir)/doc/docinfo.html
weechat_user.en.html: weechat_user.en.adoc cmdline_options.en.adoc cmdline_options_debug.en.adoc $(wildcard autogen/user/*.adoc) $(abs_top_srcdir)/doc/docinfo.html
$(ASCIIDOCTOR) -a revision="$(VERSION)" -a sectanchors -a source-highlighter=prettify -o weechat_user.en.html $(abs_top_srcdir)/doc/en/weechat_user.en.adoc
# plugin API reference
@@ -97,7 +102,6 @@ install-data-hook: $(man_install) $(doc_install)
install-man:
$(mkinstalldirs) $(DESTDIR)$(mandir)/man1/
$(INSTALL_DATA) *.1 $(DESTDIR)$(mandir)/man1/
(cd '$(DESTDIR)$(mandir)/man1/' && $(RM) weechat-headless.1 && $(LN_S) weechat.1 weechat-headless.1)
install-doc:
$(mkinstalldirs) $(DESTDIR)$(docdir)/
@@ -119,4 +123,4 @@ uninstall-doc:
# clean
clean-local:
-$(RM) weechat.1 weechat_*.html
-$(RM) weechat.1 weechat-headless.1 weechat_*.html

Some files were not shown because too many files have changed in this diff Show More