mirror of
https://github.com/weechat/weechat.git
synced 2026-06-12 22:24:47 +02:00
Compare commits
193 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa2067b240 | |||
| cf5c24c2f7 | |||
| 9b389b5736 | |||
| 8c422a199e | |||
| 4dd36270a8 | |||
| a639271e93 | |||
| b452be6417 | |||
| 0fbb99763d | |||
| 65ef552251 | |||
| 05f9129e65 | |||
| 113f72f70e | |||
| 0987e12e83 | |||
| 097862e0f0 | |||
| 6b3398fcb5 | |||
| 52c53d6985 | |||
| 608038374e | |||
| 7f3ad1c054 | |||
| 5d4546eb85 | |||
| 00b7a656a7 | |||
| 3520c9af0f | |||
| a76bfb1f26 | |||
| 2534976281 | |||
| c3f2252385 | |||
| 83e3e6973c | |||
| c56389d12e | |||
| 12717ff689 | |||
| d8569ffe27 | |||
| 62c99f8938 | |||
| a3f733d29a | |||
| c9c402d202 | |||
| 7ce1e8c05f | |||
| 0be2d45f6a | |||
| 4e0cc14b79 | |||
| c18d8ecc1d | |||
| dd454dfc50 | |||
| 1f0d8d3849 | |||
| c248aa42ce | |||
| 2832ef333e | |||
| 5543bc236b | |||
| 953ede1200 | |||
| c2ff484995 | |||
| b8048b1666 | |||
| e33ed57b47 | |||
| 790ce13843 | |||
| 4ecf2cb6b8 | |||
| d23a7a6105 | |||
| da12df6b73 | |||
| 3176e2a6b7 | |||
| 4555f9a58a | |||
| e261cadce3 | |||
| 3e49b73117 | |||
| 898213b4f2 | |||
| e6646d1ef1 | |||
| 69d47b68f5 | |||
| 48d2c5fd01 | |||
| 1c53d3d466 | |||
| 4ab11b7705 | |||
| 8032ca1433 | |||
| ac69288ed7 | |||
| 0930976456 | |||
| d5bfe35245 | |||
| 90a42ee213 | |||
| 6981f9f204 | |||
| b9f1145d03 | |||
| f3a8068109 | |||
| 1ffc96955e | |||
| 8316745061 | |||
| b18190b4c0 | |||
| 753475f530 | |||
| 237b07575b | |||
| dacd29b1d7 | |||
| cfcadd155d | |||
| e5285c5545 | |||
| 538b95d405 | |||
| 1bfd744249 | |||
| cd20c0e843 | |||
| 16245f44ae | |||
| 2f8393d504 | |||
| d0298b4738 | |||
| c34d26dd70 | |||
| 96e225ac39 | |||
| e570d76c53 | |||
| 5f0eebc0df | |||
| 3a3dec985d | |||
| 7051dd4351 | |||
| c0116febe5 | |||
| 1094e70de2 | |||
| 08545facb6 | |||
| 2c4ede614e | |||
| 8c6e6bb383 | |||
| c9d4dd48a0 | |||
| af41184889 | |||
| a89d5302fd | |||
| b61dca7d2d | |||
| 4232123ca3 | |||
| 6d7dd46015 | |||
| 93c0ee57c8 | |||
| 5433d25889 | |||
| 3ed6726625 | |||
| 8143d44e44 | |||
| 0dab9b9257 | |||
| 07ef353b1b | |||
| 234244f8d5 | |||
| 063aa86978 | |||
| 93d73d234f | |||
| df3232fc80 | |||
| d05b83d03f | |||
| 0009732f78 | |||
| e637e0de1c | |||
| 58c873809b | |||
| 8eed89c43c | |||
| 1b669cd13c | |||
| f854db17ff | |||
| 72b2242135 | |||
| b066f713d7 | |||
| 63313468c9 | |||
| d9ba00223b | |||
| ae5b74549c | |||
| 222cb4876e | |||
| dc22d70dd4 | |||
| 949f860267 | |||
| e2ae308e3b | |||
| 767ea84909 | |||
| 665773b119 | |||
| 21a958423e | |||
| 1c09118fe1 | |||
| 47c1128fb9 | |||
| 1038f0de24 | |||
| 5acbfe9b7d | |||
| 7980a6d100 | |||
| f630c36af0 | |||
| 8e4ce78c97 | |||
| b2d9ad9e22 | |||
| c48485bc46 | |||
| f48e6ee81d | |||
| 87eb6cc7e1 | |||
| 8c372c0c01 | |||
| def60c1e1c | |||
| 08651ba820 | |||
| bff910cae3 | |||
| 0861716ae1 | |||
| 627862218a | |||
| 285a6b8ce4 | |||
| be8e94f3cd | |||
| db7ecc1af1 | |||
| 74a4b3e249 | |||
| be78d185ea | |||
| 58067431de | |||
| 87e84d9053 | |||
| 902332c3e6 | |||
| 0b82429b39 | |||
| 8b2165d441 | |||
| fca2412424 | |||
| d279a80733 | |||
| 4444addf4d | |||
| 4ce74403dc | |||
| 1db29cb1ed | |||
| d8baabd250 | |||
| 4348036e2e | |||
| 93ec10b563 | |||
| cd0486d5bb | |||
| b4f28ed2d4 | |||
| 323f80e914 | |||
| 56903738b5 | |||
| 6d45a69f39 | |||
| 34f2e6cdd0 | |||
| a6e859b7ff | |||
| 103bddcc50 | |||
| 76a64e1280 | |||
| 75c01e8c8d | |||
| e8ce75f20c | |||
| 47f7518c1f | |||
| 9a9a262ea1 | |||
| 7fb3ca6686 | |||
| e98a32373e | |||
| 69d3787b5e | |||
| aa6cbf911e | |||
| cf1c4a689d | |||
| 48568edfe0 | |||
| d7b26e88b8 | |||
| 0407a08888 | |||
| ff3fd38086 | |||
| 847208f196 | |||
| f6ef908740 | |||
| f2bd5d773b | |||
| 6cbb35c644 | |||
| 372e7306bc | |||
| 927a50e366 | |||
| d0c00f7db2 | |||
| 9783256649 | |||
| 8106db400d | |||
| 4d617d0e01 | |||
| acbf1ddfcf |
+1
-1
@@ -1,5 +1,5 @@
|
||||
# SPDX-FileCopyrightText: 2024 Emil Velikov <emil.l.velikov@gmail.com>
|
||||
# SPDX-FileCopyrightText: 2024-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2024-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2013-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2013-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2019-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2019-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2023-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2023-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2020-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2020-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -116,6 +116,10 @@ jobs:
|
||||
cc: "gcc"
|
||||
cxx: "g++"
|
||||
buildargs: "-G Ninja -DENABLE_MAN=ON -DENABLE_DOC=ON -DENABLE_TESTS=ON"
|
||||
- name: "gcc_release_hardened"
|
||||
cc: "gcc"
|
||||
cxx: "g++"
|
||||
buildargs: "-DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_C_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\" -DCMAKE_CXX_FLAGS=\"-Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3\""
|
||||
- name: "gcc_no_nls"
|
||||
cc: "gcc"
|
||||
cxx: "g++"
|
||||
@@ -194,11 +198,13 @@ jobs:
|
||||
weechat-headless \
|
||||
--dir /tmp/weechat-test-api \
|
||||
--run-command '/set relay.network.password "${{ env.RELAY_PASSWORD }}"' \
|
||||
--run-command '/set relay.network.password_hash_iterations 100' \
|
||||
--run-command '/set relay.network.max_clients 0' \
|
||||
--run-command '/relay add api 9000' \
|
||||
--daemon \
|
||||
;
|
||||
sleep 5
|
||||
./tools/test_relay_api.sh http://localhost:9000
|
||||
schemathesis run --url http://localhost:9000/api ./src/plugins/relay/api/weechat-relay-api.yaml
|
||||
echo '*/quit' >/tmp/weechat-test-api/weechat_fifo_*
|
||||
|
||||
- name: Code coverage
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
@@ -29,6 +29,7 @@ Alphabetically:
|
||||
- Asakura
|
||||
- Bazerka
|
||||
- Benoit Papillault (benoit)
|
||||
- Caleb Josue Ruiz Torres
|
||||
- Chris Hills
|
||||
- Christian Duerr
|
||||
- Christian Heinz
|
||||
|
||||
+97
-2
@@ -1,21 +1,108 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
# WeeChat ChangeLog
|
||||
|
||||
## Version 4.7.0 (under dev)
|
||||
## Version 4.8.3 (under dev)
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix crash with `/eval` when the current buffer is closed in a command
|
||||
|
||||
## Version 4.8.2 (2026-03-06)
|
||||
|
||||
### Fixed
|
||||
|
||||
- irc: ignore self join if the channel is already joined ([#2291](https://github.com/weechat/weechat/issues/2291))
|
||||
- relay/api: fix memory leaks in resources "ping" and "sync"
|
||||
- relay/api: fix memory leak in receive of message from remote WeeChat
|
||||
|
||||
## Version 4.8.1 (2025-12-01)
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix buffer size in function util_parse_time, causing buffer overflow error in unit tests
|
||||
- irc: fix creation of irc.msgbuffer option without a server name
|
||||
|
||||
## Version 4.8.0 (2025-11-30)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Removed
|
||||
|
||||
- irc: remove temporary servers and option irc.look.temporary_servers
|
||||
|
||||
### Changed
|
||||
|
||||
- api: add support of date like ISO 8601 but with spaces and lower `t` and `z` in function util_parse_time ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- irc: request and perform SASL authentication when the server advertises SASL support with message "CAP NEW" ([#2277](https://github.com/weechat/weechat/issues/2277))
|
||||
- irc: send SASL username with mechanism EXTERNAL ([#2270](https://github.com/weechat/weechat/issues/2270))
|
||||
- logger: change default time format to `%@%F %T.%fZ` (UTC) ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- logger: use function util_parse_time to parse date/time in log files ([#886](https://github.com/weechat/weechat/issues/886))
|
||||
- relay/api: return an error 400 (Bad Request) when URL parameters "colors", "nicks", "lines" and "lines_free" have an invalid value
|
||||
- relay/api: return an error 401 (Unauthorized) when header "x-weechat-totp" has an invalid value
|
||||
- xfer: add buffer local variable "server" in DCC CHAT buffers
|
||||
- core, irc, relay: add tag "tls" in gnutls messages
|
||||
- irc: add tags "irc_cap" and "log3" in client capability request and SASL not supported messages
|
||||
- build: require Curl ≥ 7.68.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require GnuTLS ≥ 3.6.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require libgcrypt ≥ 1.8.0 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require Enchant v2 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
- build: require Lua ≥ 5.3 ([#2268](https://github.com/weechat/weechat/issues/2268))
|
||||
|
||||
### Added
|
||||
|
||||
- core: add option weechat.completion.cycle
|
||||
- core: add hdata for hooks
|
||||
- api: add functions util_parse_int, util_parse_long and util_parse_longlong
|
||||
- buflist: add variable `${index_displayed}`
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: display an error message in case of invalid parameters in commands `/bar`, `/buffer`, `/cursor`, `/print` and `/window`
|
||||
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
|
||||
- api: fix parsing of date/times with timezone offset in function util_parse_time
|
||||
- irc: fix warning on creation of irc.msgbuffer option when the server name contains upper case letters ([#2281](https://github.com/weechat/weechat/issues/2281))
|
||||
- irc: display a warning for each unknown or invalid server option in commands `/connect` and `/server`
|
||||
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
|
||||
- irc: fix reset of color when multiple modes are set with command `/mode`
|
||||
- relay/api: fix crash when an invalid HTTP request is received from a client
|
||||
- relay/api: return HTTP error 404 instead of 400 when the buffer is not found in resources completion and input
|
||||
- relay/api: return HTTP error 400 in case of invalid body in resource ping
|
||||
|
||||
## Version 4.7.2 (2025-11-23)
|
||||
|
||||
### Fixed
|
||||
|
||||
- api: fix file descriptor leak in hook_url when a timeout occurs or if the hook is removed during the transfer ([#2284](https://github.com/weechat/weechat/issues/2284))
|
||||
- irc: fix colors in messages 367 (ban mask), 728 (quiet mask) and MODE ([#2286](https://github.com/weechat/weechat/issues/2286))
|
||||
- irc: fix reset of color when multiple modes are set with command `/mode`
|
||||
|
||||
## Version 4.7.1 (2025-08-16)
|
||||
|
||||
### Fixed
|
||||
|
||||
- relay/api: fix crash when an invalid HTTP request is received from a client
|
||||
|
||||
## Version 4.7.0 (2025-07-19)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Changed
|
||||
|
||||
- **breaking:** core: fix buffer overflow in function utf8_next_char and return NULL for empty string
|
||||
- **breaking:** core: fix integer overflow and return "unsigned long" in function util_version_number
|
||||
- core: write configuration files on disk only if there are changes ([#2250](https://github.com/weechat/weechat/issues/2250))
|
||||
- core: always enable partial completion for templates in option weechat.completion.partial_completion_templates, add option weechat.completion.partial_completion_auto_expand to expand word on new completion ([#2253](https://github.com/weechat/weechat/issues/2253))
|
||||
- core: add script name in output of `/debug hooks <plugin>`
|
||||
- relay/api: return HTTP error 405 (Method Not Allowed) when the method received is not allowed
|
||||
|
||||
### Added
|
||||
|
||||
- core: add support of specifier `%@` for UTC time in function util_strftimeval
|
||||
- api: add function file_compare
|
||||
- irc: add support of strikethrough text in IRC messages ([#2248](https://github.com/weechat/weechat/issues/2248))
|
||||
- buflist: add variables `${number_zero}` and `${number_zero2}` (zero-padded buffer number)
|
||||
@@ -34,9 +121,15 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
- core: fix memory leak in function util_parse_delay
|
||||
- irc: display nick changes and quit messages when option irc.look.ignore_tag_messages is enabled ([#2241](https://github.com/weechat/weechat/issues/2241))
|
||||
- perl: fix build when multiplicity is not available ([#2243](https://github.com/weechat/weechat/issues/2243))
|
||||
- relay/api: reject any invalid or unknown password hash algorithm in handshake resource
|
||||
- relay/api: process HTTP request received as soon as a NULL char is received
|
||||
- relay/weechat: fix empty buffers in client when WeeChat is running on Solaris/illumos
|
||||
- build: fix build on Solaris/illumos ([#2251](https://github.com/weechat/weechat/issues/2251))
|
||||
|
||||
## Version 4.6.3 (2025-05-11)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Fixed
|
||||
|
||||
- core: fix integer overflow with decimal numbers in calculation of expression
|
||||
@@ -3524,6 +3617,8 @@ _If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
## Version 0.3.1.1 (2010-01-31)
|
||||
|
||||
_If you are upgrading: please see [UPGRADING.md](UPGRADING.md)._
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- irc: fix crash with SSL connection if option ssl_cert is set ([bug #28752](https://savannah.nongnu.org/bugs/?28752))
|
||||
|
||||
+25
-4
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2007-2008 Julien Louis <ptitlouis@sysif.net>
|
||||
# SPDX-FileCopyrightText: 2008-2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
@@ -208,6 +208,7 @@ include(FindPkgConfig)
|
||||
include(CheckIncludeFiles)
|
||||
include(CheckFunctionExists)
|
||||
include(CheckSymbolExists)
|
||||
include(CheckLibraryExists)
|
||||
|
||||
check_include_files("langinfo.h" HAVE_LANGINFO_CODESET)
|
||||
check_include_files("sys/resource.h" HAVE_SYS_RESOURCE_H)
|
||||
@@ -218,20 +219,40 @@ check_symbol_exists("malloc_trim" "malloc.h" HAVE_MALLOC_TRIM)
|
||||
check_function_exists(mallinfo HAVE_MALLINFO)
|
||||
check_function_exists(mallinfo2 HAVE_MALLINFO2)
|
||||
|
||||
check_symbol_exists("htonll" "sys/types.h;netinet/in.h;inttypes.h" HAVE_HTONLL)
|
||||
|
||||
check_symbol_exists("eat_newline_glitch" "term.h" HAVE_EAT_NEWLINE_GLITCH)
|
||||
|
||||
# Check if res_init requires libresolv
|
||||
check_function_exists(res_init, LIBC_HAS_RES_INIT)
|
||||
if(NOT LIBC_HAS_RES_INIT)
|
||||
find_library(RESOLV_LIBRARY resolv)
|
||||
if(RESOLV_LIBRARY)
|
||||
check_library_exists("${RESOLV_LIBRARY}" res_init "" LIBRESOLV_HAS_RES_INIT)
|
||||
if(LIBRESOLV_HAS_RES_INIT)
|
||||
list(APPEND EXTRA_LIBS ${RESOLV_LIBRARY})
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Check for Large File Support
|
||||
if(ENABLE_LARGEFILE)
|
||||
add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D_LARGE_FILES)
|
||||
endif()
|
||||
|
||||
# _XPG4_2 is needed for macros like CMSG_SPACE
|
||||
# __EXTENSIONS__ is needed for constants like NI_MAXHOST and for struct timeval
|
||||
if(CMAKE_HOST_SOLARIS)
|
||||
add_definitions(-D_XPG4_2 -D__EXTENSIONS__)
|
||||
endif()
|
||||
|
||||
# Check for libgcrypt
|
||||
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt)
|
||||
pkg_check_modules(LIBGCRYPT REQUIRED libgcrypt>=1.8.0)
|
||||
include_directories(${LIBGCRYPT_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${LIBGCRYPT_LDFLAGS})
|
||||
|
||||
# Check for GnuTLS
|
||||
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.3.0)
|
||||
pkg_check_modules(GNUTLS REQUIRED gnutls>=3.6.3)
|
||||
include_directories(${GNUTLS_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${GNUTLS_LDFLAGS})
|
||||
|
||||
@@ -258,7 +279,7 @@ endif()
|
||||
|
||||
# Check for CURL
|
||||
# NOTE: keep version in sync with tools/check_curl_symbols.py
|
||||
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.47.0)
|
||||
pkg_check_modules(LIBCURL REQUIRED libcurl>=7.68.0)
|
||||
include_directories(${LIBCURL_INCLUDE_DIRS})
|
||||
list(APPEND EXTRA_LIBS ${LIBCURL_LDFLAGS})
|
||||
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
Copyright (c) <year> <owner>.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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 COPYRIGHT HOLDER OR CONTRIBUTORS 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.
|
||||
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
@@ -56,7 +56,7 @@ WeeChat is following a "practical" semantic versioning, see file [CONTRIBUTING.m
|
||||
## Copyright
|
||||
|
||||
<!-- REUSE-IgnoreStart -->
|
||||
Copyright © 2003-2025 [Sébastien Helleu](https://github.com/flashcode)
|
||||
Copyright © 2003-2026 [Sébastien Helleu](https://github.com/flashcode)
|
||||
|
||||
This file is part of WeeChat, the extensible chat client.
|
||||
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
# SPDX-FileCopyrightText: 2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2025-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -17,5 +17,5 @@ path = [
|
||||
"weechat.pc.in",
|
||||
]
|
||||
precedence = "override"
|
||||
SPDX-FileCopyrightText = "2003-2025 Sébastien Helleu <flashcode@flashtux.org>"
|
||||
SPDX-FileCopyrightText = "2003-2026 Sébastien Helleu <flashcode@flashtux.org>"
|
||||
SPDX-License-Identifier = "GPL-3.0-or-later"
|
||||
|
||||
+40
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
@@ -13,6 +13,45 @@ When upgrading from version X to Y, please read and apply all instructions from
|
||||
|
||||
For a list of all changes in each version, please see [CHANGELOG.md](CHANGELOG.md).
|
||||
|
||||
## Version 4.8.0
|
||||
|
||||
### IRC temporary servers
|
||||
|
||||
The IRC temporary server feature has been removed.
|
||||
|
||||
When upgrading from an old version with `/upgrade`, any temporary server is
|
||||
converted to a standard server, and thus is saved in configuration file `irc.conf`.
|
||||
|
||||
Servers can easily be removed with `/server del <name>`.
|
||||
|
||||
### IRC SASL EXTERNAL
|
||||
|
||||
When server option `sasl_mechanism` is set to `external`, WeeChat now sends the
|
||||
username defined in option `sasl_username` to the IRC server
|
||||
(see issue [#2270](https://github.com/weechat/weechat/issues/2270)).
|
||||
|
||||
If you use the EXTERNAL mechanism and the username is set, you could either:
|
||||
|
||||
- reset `sasl_username` to an empty string, if the username is **not** needed on this server:
|
||||
`/reset irc.server.xxx.sasl_username`
|
||||
- set `sasl_username` to your actual username, if the username **is** required on this server:
|
||||
`/set irc.server.xxx.sasl_username "user"`
|
||||
|
||||
### New time format in log files
|
||||
|
||||
The time format used in log files now uses UTC and precision of microsecond
|
||||
by default: option `logger.file.time_format` has new default value: `%@%F %T.%fZ`.
|
||||
|
||||
Only the default value for the option has changed, so when upgrading from
|
||||
an old version, you keep your old format, even if it was the default one used
|
||||
in previous versions.
|
||||
|
||||
To use the new default value, you can reset the option:
|
||||
|
||||
```text
|
||||
/reset logger.file.time_format
|
||||
```
|
||||
|
||||
## Version 4.7.0
|
||||
|
||||
### API functions utf8_next_char and utf8_char_size
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2014-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2014-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
# SPDX-FileCopyrightText: 2006 Zack Rusin <zack@kde.org>
|
||||
#
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
#
|
||||
# Redistribution and use is allowed according to the terms of the BSD license.
|
||||
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
||||
|
||||
# - Try to find the Enchant spell checker
|
||||
# Once done this will define
|
||||
#
|
||||
# ENCHANT_FOUND - system has ENCHANT
|
||||
# ENCHANT_INCLUDE_DIR - the ENCHANT include directory
|
||||
# ENCHANT_LIBRARIES - Link these to use ENCHANT
|
||||
# ENCHANT_DEFINITIONS - Compiler switches required for using ENCHANT
|
||||
|
||||
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
|
||||
# in the FIND_PATH() and FIND_LIBRARY() calls
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_ENCHANT enchant)
|
||||
set(ENCHANT_DEFINITIONS ${PC_ENCHANT_CFLAGS_OTHER})
|
||||
endif()
|
||||
|
||||
find_path(ENCHANT_INCLUDE_DIR
|
||||
NAMES enchant++.h
|
||||
HINTS ${PC_ENCHANT_INCLUDEDIR} ${PC_ENCHANT_INCLUDE_DIRS}
|
||||
PATH_SUFFIXES enchant-2 enchant
|
||||
)
|
||||
|
||||
find_library(ENCHANT_LIBRARIES
|
||||
NAMES enchant-2 enchant
|
||||
HINTS ${PC_ENCHANT_LIBDIR}
|
||||
${PC_ENCHANT_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(ENCHANT DEFAULT_MSG ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
mark_as_advanced(ENCHANT_INCLUDE_DIR ENCHANT_LIBRARIES)
|
||||
|
||||
# check if function enchant_get_version() exists
|
||||
set(CMAKE_REQUIRED_INCLUDES ${ENCHANT_INCLUDE_DIR})
|
||||
set(CMAKE_REQUIRED_LIBRARIES ${ENCHANT_LIBRARIES})
|
||||
check_symbol_exists(enchant_get_version "enchant.h" HAVE_ENCHANT_GET_VERSION)
|
||||
set(CMAKE_REQUIRED_INCLUDES)
|
||||
set(CMAKE_REQUIRED_LIBRARIES)
|
||||
endif()
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2007 Julien Louis <ptitlouis@sysif.net>
|
||||
# SPDX-FileCopyrightText: 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2011-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2011-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
@@ -37,5 +37,5 @@ endif()
|
||||
|
||||
find_package(PkgConfig)
|
||||
if(PKG_CONFIG_FOUND)
|
||||
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53 lua5.2 lua-5.2 lua52 lua5.1 lua-5.1 lua51 lua-5.0 lua5.0 lua50)
|
||||
pkg_search_module(LUA lua lua5.4 lua-5.4 lua54 lua5.3 lua-5.3 lua53)
|
||||
endif()
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2017 Adam Saponara <as@php.net>
|
||||
# SPDX-FileCopyrightText: 2017-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2017-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2009 Julien Louis <ptitlouis@sysif.net>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
|
||||
# - Find Python
|
||||
# This module finds if Python 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:
|
||||
#
|
||||
# PYTHON_EXECUTABLE = full path to the python binary
|
||||
# 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
|
||||
|
||||
pkg_check_modules(PYTHON python3-embed IMPORTED_TARGET GLOBAL)
|
||||
if(NOT PYTHON_FOUND)
|
||||
pkg_check_modules(PYTHON python3 IMPORTED_TARGET GLOBAL)
|
||||
endif()
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2015-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2015-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#
|
||||
|
||||
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
SPDX-FileCopyrightText: 2007-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2007-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*/
|
||||
@@ -49,9 +49,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
|
||||
#cmakedefine HAVE_MALLINFO2
|
||||
#cmakedefine HAVE_MALLOC_H
|
||||
#cmakedefine HAVE_MALLOC_TRIM
|
||||
#cmakedefine HAVE_HTONLL
|
||||
#cmakedefine HAVE_EAT_NEWLINE_GLITCH
|
||||
#cmakedefine HAVE_ASPELL_VERSION_STRING
|
||||
#cmakedefine HAVE_ENCHANT_GET_VERSION
|
||||
#cmakedefine HAVE_GUILE_GMP_MEMORY_FUNCTIONS
|
||||
|
||||
#define CMAKE_BUILD_TYPE "@CMAKE_BUILD_TYPE@"
|
||||
|
||||
@@ -1,3 +1,18 @@
|
||||
weechat (4.7.2-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release (Closes: #1119787)
|
||||
* Update debian/watch to version 5
|
||||
* Remove useless 'Rules-Requires-Root: no' from debian/control
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 29 Nov 2025 08:53:10 +0000
|
||||
|
||||
weechat (4.6.3-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release
|
||||
- fixes multiple security vulnerabilities (Closes: #1104554)
|
||||
|
||||
-- Emmanuel Bouthenot <kolter@debian.org> Sat, 17 May 2025 05:49:46 +0000
|
||||
|
||||
weechat (4.6.1-1) unstable; urgency=medium
|
||||
|
||||
* New upstream release (Closes: #1102450, #1098090)
|
||||
|
||||
@@ -4,7 +4,7 @@ Upstream-Contact: Sébastien Helleu <flashcode@flashtux.org>
|
||||
Source: https://weechat.org/
|
||||
|
||||
Files: *
|
||||
Copyright: 2003-2025, Sébastien Helleu <flashcode@flashtux.org>
|
||||
Copyright: 2003-2026, Sébastien Helleu <flashcode@flashtux.org>
|
||||
License: GPL-3+
|
||||
|
||||
Files: src/core/core-command.c
|
||||
|
||||
+4
-2
@@ -1,2 +1,4 @@
|
||||
version=4
|
||||
opts=pgpsigurlmangle=s/$/.asc/ https://weechat.org/download/ /files/src/weechat-(\d.*)\.tar\.xz
|
||||
Version: 5
|
||||
Source: https://weechat.org/download/
|
||||
Matching-Pattern: /files/src/@PACKAGE@@ANY_VERSION@@ARCHIVE_EXT@
|
||||
Pgp-Mode: auto
|
||||
|
||||
+2
-1
@@ -1,5 +1,5 @@
|
||||
#
|
||||
# SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
# SPDX-FileCopyrightText: 2009 Emmanuel Bouthenot <kolter@openics.org>
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -38,6 +38,7 @@ if(ENABLE_MAN OR ENABLE_DOC)
|
||||
if(ASCIIDOCTOR_FOUND)
|
||||
# common asciidoctor arguments
|
||||
set(ASCIIDOCTOR_ARGS
|
||||
-v
|
||||
-a experimental
|
||||
-a reproducible
|
||||
-a "prewrap!"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
@@ -8,7 +8,8 @@
|
||||
Pro kompletní dokumentaci nastavení pluginů a jejich volby podívejte se na
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
S irc pluginem se můžete doččasně připojit na server s URL jako:
|
||||
// TRANSLATION MISSING
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +107,7 @@ WeeChat je napsán Sébastienem Helleu a přispěvovateli (kompletní seznam je
|
||||
souboru AUTHORS.md).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2005-2011 Jiri Golembiovsky <golemj@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2015-2017 Ondřej Súkup <mimi.vx@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -351,8 +351,10 @@ 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
|
||||
najdete v dokumentaci, ale je dobré znát alespoň pár těchto důležitých:
|
||||
// TRANSLATION MISSING
|
||||
WeeChat používá ve výchozím nastavení mnoho klávesových zkratek, Všechny najdete v dokumentaci
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
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
|
||||
// TRANSLATION MISSING
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -7,8 +7,7 @@
|
||||
Um eine vollständige Dokumentation der Optionen zu erhalten, siehe
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
Mittels der IRC Erweiterung kann man sich zu einen temporären Server verbinden lassen,
|
||||
indem man eine URL verwendet:
|
||||
Mit der IRC-Erweiterung können Sie sich mit einer URL wie der folgenden mit einem Server verbinden:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +105,7 @@ WeeChat wird programmiert von Sébastien Helleu und weiteren Beteiligten (eine v
|
||||
findet man in der AUTHORS.md Datei).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2006 Frank Zacharias <frank_zacharias@web.de>
|
||||
// SPDX-FileCopyrightText: 2009 Juergen Descher <jhdl@gmx.net>
|
||||
// SPDX-FileCopyrightText: 2009-2025 Nils Görs <weechatter@arcor.de>
|
||||
@@ -370,7 +370,8 @@ Um die Teilung des Bildschirms rückgängig zu machen:
|
||||
== Tastaturbelegung
|
||||
|
||||
WeeChat verwendet viele Standardtasten.
|
||||
Alle Tastenbelegungen sind in der Dokumentation beschrieben.
|
||||
Alle Tastenbelegungen sind in der Dokumentation beschrieben
|
||||
(link:weechat_user.de.html#key_bindings[Benutzerhandbuch / Tastenbelegungen ^↗^^]).
|
||||
Im Folgenden werden die wichtigsten Tastenbelegungen kurz erläutert:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] oder kbd:[F5] / kbd:[F6]: Wechsel zum
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2025 Nils Görs <weechatter@arcor.de>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -625,7 +625,7 @@ Einige Umgebungsvariablen werden von WeeChat genutzt, sofern sie definiert wurde
|
||||
[width="100%",cols="1m,6",options="header"]
|
||||
|===
|
||||
| Name | Beschreibung
|
||||
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_HOME | Das WeeChat Verzeichnis (beinhaltet Konfigurationsdateien, Protokolldateien, Skripten, ...). Gleiches Verhalten wie <<build,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_PASSPHRASE | Die Passphrase zum Entschlüsseln von schutzwürdigen Daten.
|
||||
| WEECHAT_EXTRA_LIBDIR | Ein zusätzliches Verzeichnis um Erweiterungen zu installieren (vom "plugins" Verzeichnis in dieses Verzeichnis).
|
||||
|===
|
||||
@@ -3822,7 +3822,7 @@ WeeChat unterstützt folgende https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
|
||||
* <<irc_ircv3_batch,batch>>
|
||||
* <<irc_ircv3_cap_notify,cap-notify>>
|
||||
* <<irc_ircv3_chghost,chghost>>
|
||||
* <<irc_ircv3_draft/multiline,draft/multiline>>
|
||||
* <<irc_ircv3_draft_multiline,draft/multiline>>
|
||||
* <<irc_ircv3_echo_message,echo-message>>
|
||||
* <<irc_ircv3_extended_join,extended-join>>
|
||||
* <<irc_ircv3_invite_notify,invite-notify>>
|
||||
@@ -3869,7 +3869,7 @@ Spezifikation: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
|
||||
Diese Fähigkeit ermöglicht es dem Server, einen Account als Nachrichten-Tag an Befehle zu hängen,
|
||||
die an den Client gesendet werden. +
|
||||
WeeChat analysiert dieses Tag und speichert es in der Nachricht, aber es wird nicht verwendet oder
|
||||
angezeigt. Mit dem <<command_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
|
||||
angezeigt. Mit dem <<command_weechat_filter,/filter>> Befehl kann man diese Nachrichten explizit filtern,
|
||||
in dem die Accounts nutzt.
|
||||
|
||||
Beispiel einer empfangenen IRC-Rohnachricht:
|
||||
|
||||
+1
-1
@@ -1,5 +1,5 @@
|
||||
<!--
|
||||
SPDX-FileCopyrightText: 2016-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
SPDX-FileCopyrightText: 2016-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
|
||||
SPDX-License-Identifier: GPL-3.0-or-later
|
||||
-->
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
For complete doc on plugin options, please look at plugins documentation in
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
With irc plugin, you can connect to temporary server with an URL like:
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -105,7 +105,7 @@ WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||
the AUTHORS.md file).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -615,7 +615,7 @@ Example in C:
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -2165,7 +2165,7 @@ Arguments:
|
||||
Return value:
|
||||
|
||||
* array of strings, NULL if problem (must be freed by calling
|
||||
<<_free_split_command,free_split_command>> after use)
|
||||
<<_string_free_split_command,string_free_split_command>> after use)
|
||||
|
||||
C example:
|
||||
|
||||
@@ -4666,6 +4666,159 @@ This function is not available in scripting API.
|
||||
|
||||
Some useful functions.
|
||||
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
Prototype:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Arguments:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Return value:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
This function is not available in scripting API.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Compare two "timeval" structures.
|
||||
@@ -4803,7 +4956,7 @@ This function is not available in scripting API.
|
||||
|
||||
==== util_strftimeval
|
||||
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
|
||||
|
||||
Format date and time like function `strftime` in C library, using `struct timeval`
|
||||
as input, and supporting extra specifiers.
|
||||
@@ -4820,6 +4973,8 @@ Arguments:
|
||||
* _string_: buffer where the formatted string is stored
|
||||
* _max_: string size
|
||||
* _format_: format, the same as _strftime_ function, with these extra specifiers:
|
||||
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
|
||||
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
|
||||
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
|
||||
(for example `%.3` for milliseconds)
|
||||
** `%f`: alias of `%.6`
|
||||
@@ -4836,8 +4991,8 @@ C example:
|
||||
char time[256];
|
||||
struct timeval tv;
|
||||
gettimeofday (&tv, NULL);
|
||||
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509 */
|
||||
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509Z */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -4845,7 +5000,7 @@ This function is not available in scripting API.
|
||||
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -4858,20 +5013,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11062,6 +11303,16 @@ Arguments:
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -329,7 +329,8 @@ To remove the split:
|
||||
[[key_bindings]]
|
||||
== Key bindings
|
||||
|
||||
WeeChat uses many keys by default. All these keys are in the documentation,
|
||||
WeeChat uses many keys by default. All these keys are in the documentation
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
but you should know at least some vital keys:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] or kbd:[F5] / kbd:[F6]: switch to previous/next
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -621,7 +621,7 @@ Some environment variables are used by WeeChat if they are defined:
|
||||
[width="100%",cols="1m,6",options="header"]
|
||||
|===
|
||||
| Name | Description
|
||||
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, etc.). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
|
||||
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|
||||
|===
|
||||
@@ -3760,7 +3760,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
|
||||
* <<irc_ircv3_batch,batch>>
|
||||
* <<irc_ircv3_cap_notify,cap-notify>>
|
||||
* <<irc_ircv3_chghost,chghost>>
|
||||
* <<irc_ircv3_draft/multiline,draft/multiline>>
|
||||
* <<irc_ircv3_draft_multiline,draft/multiline>>
|
||||
* <<irc_ircv3_echo_message,echo-message>>
|
||||
* <<irc_ircv3_extended_join,extended-join>>
|
||||
* <<irc_ircv3_invite_notify,invite-notify>>
|
||||
@@ -3808,7 +3808,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
|
||||
This capability allows the server to send account as message tag to commands
|
||||
sent to the client. +
|
||||
WeeChat parses this tag and saves it in the message, but it is not used or
|
||||
displayed. It can be used in <<command_filter,/filter>> command to filter
|
||||
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
|
||||
messages matching specific accounts.
|
||||
|
||||
Example of raw IRC message received:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2021 Victorhck <victorhck.mailbox.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012 Lázaro A. <uranio-235@myopera.com>
|
||||
// SPDX-FileCopyrightText: 2021 Victorhck <victorhck@mailbox.org>
|
||||
//
|
||||
@@ -342,9 +342,10 @@ Para eliminar esa división:
|
||||
[[key_bindings]]
|
||||
== Atajos de teclado
|
||||
|
||||
WeeChat usa muchas teclas por defecto. Éstas, están bien
|
||||
explicadas en la documentación pero debe conocer al menos la mas
|
||||
importantes.
|
||||
// TRANSLATION MISSING
|
||||
WeeChat usa muchas teclas por defecto. Éstas, están bien explicadas en la documentación
|
||||
(link:weechat_user.en.html#key_bindings[User's guide / Key bindings ^↗^^]),
|
||||
pero debe conocer al menos la mas importantes.
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] o kbd:[F5] / kbd:[F6]: Cambiará al buffer
|
||||
siguiente/anterior
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -7,8 +7,7 @@ Pour une documentation complète sur les options des extensions, merci de
|
||||
consulter la documentation des extensions dans le
|
||||
https://weechat.org/doc/[guide utilisateur de WeeChat].
|
||||
|
||||
Avec l'extension irc, vous pouvez vous connecter à un serveur de manière
|
||||
temporaire avec une URL, comme ceci :
|
||||
Avec l'extension irc, vous pouvez vous connecter à un serveur avec une URL, comme ceci :
|
||||
|
||||
irc[6][s]://[[pseudo][:motdepasse]@]serveur[:port][/#canal1[,#canal2...]]
|
||||
|
||||
@@ -107,7 +106,7 @@ WeeChat est écrit par Sébastien Helleu et des contributeurs (la liste complèt
|
||||
est dans le fichier AUTHORS.md).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat est un logiciel libre ; vous pouvez le redistribuer et/ou le modifier
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -616,7 +616,7 @@ Exemple en C :
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -2205,7 +2205,7 @@ Paramètres :
|
||||
Valeur de retour :
|
||||
|
||||
* tableau de chaînes, NULL en cas de problème (doit être supprimé par un appel à
|
||||
<<_free_split_command,free_split_command>> après utilisation)
|
||||
<<_string_free_split_command,string_free_split_command>> après utilisation)
|
||||
|
||||
Exemple en C :
|
||||
|
||||
@@ -4745,6 +4745,159 @@ This function is not available in scripting API.
|
||||
|
||||
Quelques fonctions utiles.
|
||||
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "int" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < INT_MIN (valeur minimale pour une variable de type "int")
|
||||
* nombre > INT_MAX (valeur maximale pour une variable de type "int")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int nombre;
|
||||
if (weechat_util_parse_int ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "long" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < LONG_MIN (valeur minimale pour une variable de type "long")
|
||||
* nombre > LONG_MAX (valeur maximale pour une variable de type "long")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long nombre;
|
||||
if (weechat_util_parse_long ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Analyser un nombre entier de type "long long" dans une chaîne.
|
||||
|
||||
Prototype :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _string_ : chaîne à analyser
|
||||
* _base_ : peut être 0 (automatique) ou un entier entre 2 et 36 (inclus)
|
||||
* _result_ : pointeur vers une variable mise à jour si la chaîne est correctement analysée
|
||||
(si le pointeur est NULL, le nombre trouvé n'est pas retourné)
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 : OK
|
||||
* 0 : erreur
|
||||
|
||||
Les chaînes suivantes sont invalides et la fonction retourne 0 :
|
||||
|
||||
* chaîne vide
|
||||
* nombre avec des caractères non numériques après
|
||||
* nombre < LLONG_MIN (valeur minimale pour une variable de type "long long")
|
||||
* nombre > LLONG_MAX (valeur maximale pour une variable de type "long long")
|
||||
* entier invalide pour la _base_ donnée
|
||||
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long nombre;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &nombre))
|
||||
{
|
||||
/* nombre == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &nombre))
|
||||
{
|
||||
/* erreur d'analyse, nombre est inchangé */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Comparer deux structures "timeval".
|
||||
@@ -4882,7 +5035,7 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_strftimeval
|
||||
|
||||
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0._
|
||||
_WeeChat ≥ 4.2.0, mis à jour dans la 4.3.0, 4.7.0._
|
||||
|
||||
Formatter la date et l'heure comme la fonction `strftime` de la bibliothèque C,
|
||||
en utilisant un `struct timeval` en entrée et en supportant des caractères de
|
||||
@@ -4901,6 +5054,8 @@ Paramètres :
|
||||
* _max_ : taille de la chaîne
|
||||
* _format_ : format, le même que celui de la fonction _strftime_, avec des
|
||||
caractères de conversion supplémentaires :
|
||||
** `%@` : retourner la date exprimée en Temps Universel Coordonné (UTC)
|
||||
au lieu de la date relative au fuseau horaire de l'utilisateur _(WeeChat ≥ 4.7.0)_
|
||||
** `%.N` où `N` est entre 1 and 6: microsecondes remplies avec des zéros sur
|
||||
N chiffres (par exemple `%.3` pour les millisecondes)
|
||||
** `%f` : alias de `%.6`
|
||||
@@ -4917,8 +5072,8 @@ Exemple en C :
|
||||
char time[256];
|
||||
struct timeval tv;
|
||||
gettimeofday (&tv, NULL);
|
||||
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
|
||||
/* résultat : 2023-12-26T18:10:04.460509 */
|
||||
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
|
||||
/* résultat : 2023-12-26T18:10:04.460509Z */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -4926,7 +5081,7 @@ Cette fonction n'est pas disponible dans l'API script.
|
||||
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, mis à jour dans la 4.8.0._
|
||||
|
||||
Analyser la date/heure avec le support des microsecondes.
|
||||
|
||||
@@ -4939,20 +5094,108 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Paramètres :
|
||||
|
||||
* _date_ : date/heure
|
||||
* _date_ : date/heure (voir les formats supportés ci-dessous)
|
||||
* _tv_: date/heure analysée (structure "timeval")
|
||||
|
||||
Les formats supportés pour la date/heure (en supposant que l'heure courante est
|
||||
`2025-08-30 21:04:55` (Europe/Paris), donc avec le décalage horaire `+02:00`,
|
||||
l'heure UTC étant `19:04:55`) :
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Exemples
|
||||
|
||||
| Date (minuit)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + heure locale
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + heure locale + décalage horaire
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + heure UTC
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + heure locale
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + heure locale + décalage horaire
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + heure UTC
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Heure locale
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Heure locale + décalage horaire
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| Heure UTC
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Date d'horodatage
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes :
|
||||
|
||||
* Pour ISO 8601, le séparateur entre la date et l'heure est `T` (majuscule) ou
|
||||
`t` (minuscule).
|
||||
* Pour l'heure UTC, le caractère final est `Z` (majuscule) ou `z` (minuscule).
|
||||
* Le format du décalage horaire est l'un des suivants :
|
||||
** `++[+/-]hh:mm++` (heures et minutes)
|
||||
** `++[+/-]hhmm++` (heures et minutes)
|
||||
** `++[+/-]hh++` (heures).
|
||||
* La précision après les secondes peut aller d'un dixième de seconde (1 chiffre,
|
||||
par exemple `21:04:55.1`) à une microseconde (6 chiffres, par exemple `21:04:55.123456`). +
|
||||
Un point (`.`) ou une virgule (`,`) peut séparer les secondes des autres chiffres.
|
||||
|
||||
Valeur de retour :
|
||||
|
||||
* 1 si OK, 0 si erreur
|
||||
|
||||
Exemple en C :
|
||||
Exemples en C :
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* résultat : tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* même résultat */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* même résultat */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11268,6 +11511,16 @@ Paramètres :
|
||||
*** _output_ : sortie standard (défini seulement si _file_out_ n'était pas défini
|
||||
dans les options)
|
||||
*** _error_ : message d'erreur (défini seulement en cas d'erreur)
|
||||
*** _error_code_ : code d'erreur (entier, défini seulement en cas d'erreur) :
|
||||
**** `1` : URL invalide
|
||||
**** `2` : erreur de transfert (erreur Curl)
|
||||
**** `3` : mémoire insuffisante
|
||||
**** `4` : erreur de fichier
|
||||
**** `5` : transfert stoppé (hook supprimé durant le transfert)
|
||||
**** `6` : délai d'attente dépassé pour le transfert ("timeout")
|
||||
**** `100` : erreur de création du thread
|
||||
*** _error_code_pthread_ : code retour de la fonction _pthread_create_
|
||||
(entier, défini seulement si _error_code_ vaut `100`)
|
||||
** valeur de retour :
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -338,8 +338,9 @@ Pour supprimer le découpage :
|
||||
== Raccourcis clavier
|
||||
|
||||
WeeChat utilise un certain nombre de touches par défaut. Toutes ces
|
||||
touches sont dans la documentation, mais vous devriez connaître au moins
|
||||
les touches vitales :
|
||||
touches sont dans la documentation
|
||||
(link:weechat_user.fr.html#key_bindings[Guide utilisateur / Raccourcis clavier ^↗^^]),
|
||||
mais vous devriez connaître au moins les touches vitales :
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] ou kbd:[F5] / kbd:[F6] : aller au tampon précédent/suivant
|
||||
- kbd:[F1] / kbd:[F2] : faire défiler la barre avec la liste des tampons ("buflist")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -624,7 +624,7 @@ Des variables d'environnement sont utilisées par WeeChat si elles sont définie
|
||||
[width="100%",cols="1m,6",options="header"]
|
||||
|===
|
||||
| Nom | Description
|
||||
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<compile_with_cmake,l'option CMake>> `WEECHAT_HOME`.
|
||||
| WEECHAT_HOME | Le répertoire "maison" de WeeChat (avec les fichiers de configuration, logs, scripts, etc.). Même comportement que <<build,l'option CMake>> `WEECHAT_HOME`.
|
||||
| WEECHAT_PASSPHRASE | La phrase secrète utilisée pour déchiffrer les données sécurisées.
|
||||
| WEECHAT_EXTRA_LIBDIR | Un répertoire supplémentaire pour charger les extensions (depuis le répertoire "plugins" sous ce chemin).
|
||||
|===
|
||||
@@ -3869,7 +3869,7 @@ WeeChat supporte les https://ircv3.net/irc/[extensions IRCv3 ^↗^^] suivantes
|
||||
* <<irc_ircv3_batch,batch>>
|
||||
* <<irc_ircv3_cap_notify,cap-notify>>
|
||||
* <<irc_ircv3_chghost,chghost>>
|
||||
* <<irc_ircv3_draft/multiline,draft/multiline>>
|
||||
* <<irc_ircv3_draft_multiline,draft/multiline>>
|
||||
* <<irc_ircv3_echo_message,echo-message>>
|
||||
* <<irc_ircv3_extended_join,extended-join>>
|
||||
* <<irc_ircv3_invite_notify,invite-notify>>
|
||||
@@ -3917,7 +3917,7 @@ Spécification : https://ircv3.net/specs/extensions/account-tag[account-tag ^
|
||||
Cette capacité autorise le serveur à envoyer le compte comme étiquette de message
|
||||
dans les commandes envoyées au client. +
|
||||
WeeChat extrait cette étiquette et la sauve dans le message, mais elle n'est pas
|
||||
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_filter,/filter>>
|
||||
utilisée ni affichée. Elle peut être utilisée dans la commande <<command_weechat_filter,/filter>>
|
||||
pour filtrer les messages correspondants à des comptes spécifiques.
|
||||
|
||||
Exemple de message IRC brut reçu :
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
For complete doc on plugin options, please look at plugins documentation in
|
||||
https://weechat.org/doc/[WeeChat user's guide].
|
||||
|
||||
With irc plugin, you can connect to temporary server with an URL like:
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -108,7 +108,7 @@ WeeChat is written by Sébastien Helleu and contributors (complete list is in
|
||||
the AUTHORS.md file).
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
Copyright (C) 2003-2025 {author}
|
||||
Copyright (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat is free software; you can redistribute it and/or modify
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -2297,7 +2297,7 @@ Argomenti:
|
||||
Valore restituito:
|
||||
|
||||
* array di stringhe, NULL in caso di problemi (deve essere liberata chiamando
|
||||
<<_free_split_command,free_split_command>> dopo l'uso)
|
||||
<<_string_free_split_command,string_free_split_command>> dopo l'uso)
|
||||
|
||||
Esempio in C:
|
||||
|
||||
@@ -4874,6 +4874,162 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
Alcune funzioni utili.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
Prototipo:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
Argomenti:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
Valore restituito:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
Esempi in C:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
Questa funzione non è disponibile nelle API per lo scripting.
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
Confronta due strutture "timeval".
|
||||
@@ -5023,7 +5179,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
// TRANSLATION MISSING
|
||||
==== util_strftimeval
|
||||
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
|
||||
|
||||
Format date and time like function `strftime` in C library, using `struct timeval`
|
||||
as input, and supporting extra specifiers.
|
||||
@@ -5040,6 +5196,8 @@ Arguments:
|
||||
* _string_: buffer where the formatted string is stored
|
||||
* _max_: string size
|
||||
* _format_: format, the same as _strftime_ function, with these extra specifiers:
|
||||
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
|
||||
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
|
||||
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
|
||||
(for example `%.3` for milliseconds)
|
||||
** `%f`: alias of `%.6`
|
||||
@@ -5056,8 +5214,8 @@ C example:
|
||||
char time[256];
|
||||
struct timeval tv;
|
||||
gettimeofday (&tv, NULL);
|
||||
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509 */
|
||||
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509Z */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -5066,7 +5224,7 @@ Questa funzione non è disponibile nelle API per lo scripting.
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -5079,20 +5237,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11473,6 +11717,16 @@ Argomenti:
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
// SPDX-FileCopyrightText: 2023 Mattia Ronchi <ronchimattia03@gmail.com>
|
||||
//
|
||||
@@ -338,7 +338,9 @@ Per rimuovere la divisione:
|
||||
[[key_bindings]]
|
||||
== Associazione tasti
|
||||
|
||||
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione,
|
||||
// TRANSLATION MISSING
|
||||
WeeChat usa molti tasti. Essi sono tutti presenti nella documentazione
|
||||
(link:weechat_user.it.html#key_bindings[Guida per l'Utente / Key bindings ^↗^^]),
|
||||
ma si dovrebbero conoscere almeno quelli vitali:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] oppure kbd:[F5] / kbd:[F6]: passa al buffer
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2010-2013 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2012 Marco Paolone <marcopaolone@gmail.com>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -686,7 +686,7 @@ Some environment variables are used by WeeChat if they are defined:
|
||||
[width="100%",cols="1m,6",options="header"]
|
||||
|===
|
||||
| Name | Description
|
||||
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<compile_with_cmake,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_HOME | The WeeChat home (with configuration files, logs, scripts, ...). Same behavior as <<build,CMake option>> `WEECHAT_HOME`.
|
||||
| WEECHAT_PASSPHRASE | The passphrase used to decrypt secured data.
|
||||
| WEECHAT_EXTRA_LIBDIR | An extra directory to load plugins (from the "plugins" directory in this path).
|
||||
|===
|
||||
@@ -4110,7 +4110,7 @@ WeeChat supports the following https://ircv3.net/irc/[IRCv3 extensions ^↗^^]:
|
||||
* <<irc_ircv3_batch,batch>>
|
||||
* <<irc_ircv3_cap_notify,cap-notify>>
|
||||
* <<irc_ircv3_chghost,chghost>>
|
||||
* <<irc_ircv3_draft/multiline,draft/multiline>>
|
||||
* <<irc_ircv3_draft_multiline,draft/multiline>>
|
||||
* <<irc_ircv3_echo_message,echo-message>>
|
||||
* <<irc_ircv3_extended_join,extended-join>>
|
||||
* <<irc_ircv3_invite_notify,invite-notify>>
|
||||
@@ -4158,7 +4158,7 @@ Specification: https://ircv3.net/specs/extensions/account-tag[account-tag ^↗^
|
||||
This capability allows the server to send account as message tag to commands
|
||||
sent to the client. +
|
||||
WeeChat parses this tag and saves it in the message, but it is not used or
|
||||
displayed. It can be used in <<command_filter,/filter>> command to filter
|
||||
displayed. It can be used in <<command_weechat_filter,/filter>> command to filter
|
||||
messages matching specific accounts.
|
||||
|
||||
Example of raw IRC message received:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -7,7 +7,8 @@
|
||||
プラグインオプションに関する完全な文書は
|
||||
https://weechat.org/doc[WeeChat ユーザーズガイド] のプラグインの章を参照してください。
|
||||
|
||||
irc プラグインでは以下の様な URL で一時的なサーバに接続することができます:
|
||||
// TRANSLATION MISSING
|
||||
With irc plugin, you can connect to a server with an URL like:
|
||||
|
||||
irc[6][s]://[[nickname][:password]@]server[:port][/#channel1[,#channel2...]]
|
||||
|
||||
@@ -106,7 +107,7 @@ WeeChat は Sébastien Helleu さんと貢献者によって作成されてい
|
||||
(完全なリストは AUTHORS.md ファイルを参照してください)。
|
||||
|
||||
// REUSE-IgnoreStart
|
||||
著作権 (C) 2003-2025 {author}
|
||||
著作権 (C) 2003-2026 {author}
|
||||
// REUSE-IgnoreEnd
|
||||
|
||||
WeeChat はフリーソフトウェアです。あなたはこれを、フリーソフトウェア財団によって発行された
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -766,7 +766,7 @@ Example in C:
|
||||
[source,c]
|
||||
----
|
||||
/*
|
||||
* SPDX-FileCopyrightText: 2025 Your Name <your@email.com>
|
||||
* SPDX-FileCopyrightText: 2026 Your Name <your@email.com>
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-3.0-or-later
|
||||
*
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -2232,7 +2232,7 @@ char **weechat_string_split_command (const char *command, char separator);
|
||||
戻り値:
|
||||
|
||||
* 文字列の配列、分割に失敗した場合は NULL (使用後には必ず
|
||||
<<_free_split_command,free_split_command>> を呼び出して領域を開放してください)
|
||||
<<_string_free_split_command,string_free_split_command>> を呼び出して領域を開放してください)
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
@@ -4799,6 +4799,162 @@ if (weechat_file_compare ("/tmp/test.txt", "/tmp/test2.txt") == 0)
|
||||
|
||||
便利な関数。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_int
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "int" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_int (const char *string, int base, int *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < INT_MIN (min value for a variable of type "int")
|
||||
* number > INT_MAX (max value for a variable of type "int")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int number;
|
||||
if (weechat_util_parse_int ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_int ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_long
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_long (const char *string, int base, long *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LONG_MIN (min value for a variable of type "long")
|
||||
* number > LONG_MAX (max value for a variable of type "long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long number;
|
||||
if (weechat_util_parse_long ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_long ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_longlong
|
||||
|
||||
_WeeChat ≥ 4.8.0._
|
||||
|
||||
Parse an integer number of type "long long" in a string.
|
||||
|
||||
プロトタイプ:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
int weechat_util_parse_longlong (const char *string, int base, long long *result);
|
||||
----
|
||||
|
||||
引数:
|
||||
|
||||
* _string_: string to parse
|
||||
* _base_: can be 0 (automatic) or an integer between 2 and 36 (inclusive)
|
||||
* _result_: pointer to a variable updated if the string is correctly parsed
|
||||
(if pointer is NULL, the number found is not returned)
|
||||
|
||||
戻り値:
|
||||
|
||||
* 1: OK
|
||||
* 0: error
|
||||
|
||||
The following strings are invalid and the function returns 0:
|
||||
|
||||
* empty string
|
||||
* number with extra non-digits after
|
||||
* number < LLONG_MIN (min value for a variable of type "long long")
|
||||
* number > LLONG_MAX (max value for a variable of type "long long")
|
||||
* invalid integer for the given _base_
|
||||
|
||||
C 言語での使用例:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
long long number;
|
||||
if (weechat_util_parse_longlong ("1234", 10, &number))
|
||||
{
|
||||
/* number == 1234 */
|
||||
}
|
||||
if (!weechat_util_parse_longlong ("abc", 10, &number))
|
||||
{
|
||||
/* parsing error, number is unchanged */
|
||||
}
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
スクリプト API ではこの関数を利用できません。
|
||||
|
||||
==== util_timeval_cmp
|
||||
|
||||
2 つの "timeval" 構造体を比較。
|
||||
@@ -4937,7 +5093,7 @@ weechat_printf (NULL, "date: %s",
|
||||
// TRANSLATION MISSING
|
||||
==== util_strftimeval
|
||||
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.3.0, 4.7.0._
|
||||
|
||||
Format date and time like function `strftime` in C library, using `struct timeval`
|
||||
as input, and supporting extra specifiers.
|
||||
@@ -4954,6 +5110,8 @@ Arguments:
|
||||
* _string_: buffer where the formatted string is stored
|
||||
* _max_: string size
|
||||
* _format_: format, the same as _strftime_ function, with these extra specifiers:
|
||||
** `%@`: return the date expressed in Coordinated Universal Time (UTC)
|
||||
instead of date relative to the user's specified timezone _(WeeChat ≥ 4.7.0)_
|
||||
** `%.N` where `N` is between 1 and 6: zero-padded microseconds on N digits
|
||||
(for example `%.3` for milliseconds)
|
||||
** `%f`: alias of `%.6`
|
||||
@@ -4970,8 +5128,8 @@ C example:
|
||||
char time[256];
|
||||
struct timeval tv;
|
||||
gettimeofday (&tv, NULL);
|
||||
weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509 */
|
||||
weechat_util_strftimeval (time, sizeof (time), "%@%FT%T.%fZ", &tv);
|
||||
/* result: 2023-12-26T18:10:04.460509Z */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -4980,7 +5138,7 @@ weechat_util_strftimeval (time, sizeof (time), "%FT%T.%f", &tv);
|
||||
// TRANSLATION MISSING
|
||||
==== util_parse_time
|
||||
|
||||
_WeeChat ≥ 4.2.0._
|
||||
_WeeChat ≥ 4.2.0, updated in 4.8.0._
|
||||
|
||||
Parse date/time with support of microseconds.
|
||||
|
||||
@@ -4993,20 +5151,106 @@ int util_parse_time (const char *datetime, struct timeval *tv);
|
||||
|
||||
Arguments:
|
||||
|
||||
* _date_: date/time
|
||||
* _date_: date/time (see supported formats below)
|
||||
* _tv_: parsed date/time ("timeval" structure)
|
||||
|
||||
Supported date/time format (supposing the current time is `2025-08-30 21:04:55`
|
||||
(Europe/Paris), so with timezone offset `+02:00`, UTC time being `19:04:55`):
|
||||
|
||||
[width="70%",cols="5,6m",options="header"]
|
||||
|===
|
||||
| Format | Examples
|
||||
|
||||
| Date (midnight)
|
||||
| 2025-08-30
|
||||
|
||||
| ISO 8601, date + local time
|
||||
| 2025-08-30T21:04:55 +
|
||||
2025-08-30T21:04:55.123456
|
||||
|
||||
| ISO 8601, date + local time + offset
|
||||
| 2025-08-30T16:04:55-03 +
|
||||
2025-08-30T16:04:55-0300 +
|
||||
2025-08-30T21:04:55+0200 +
|
||||
2025-08-30T21:04:55+02:00 +
|
||||
2025-08-30T21:04:55.123456+0200
|
||||
|
||||
| ISO 8601, date + UTC time
|
||||
| 2025-08-30T19:04:55Z +
|
||||
2025-08-30T19:04:55.123456Z
|
||||
|
||||
| RFC 3339, date + local time
|
||||
| 2025-08-30 21:04:55 +
|
||||
2025-08-30 21:04:55.123456
|
||||
|
||||
| RFC 3339, date + local time + offset
|
||||
| 2025-08-30 16:04:55-03 +
|
||||
2025-08-30 16:04:55-0300 +
|
||||
2025-08-30 21:04:55+0200 +
|
||||
2025-08-30 21:04:55 +0200 +
|
||||
2025-08-30 21:04:55+02:00 +
|
||||
2025-08-30 21:04:55 +02:00 +
|
||||
2025-08-30 21:04:55.123456+0200 +
|
||||
2025-08-30 21:04:55.123456 +02:00
|
||||
|
||||
| RFC 3339, date + UTC time
|
||||
| 2025-08-30 19:04:55Z +
|
||||
2025-08-30 19:04:55.123456Z
|
||||
|
||||
| Local time
|
||||
| 21:04:55 +
|
||||
21:04:55.123456
|
||||
|
||||
| Local time + offset
|
||||
| 16:04:55-03 +
|
||||
16:04:55-0300 +
|
||||
21:04:55+0200 +
|
||||
21:04:55 +0200 +
|
||||
21:04:55+02:00 +
|
||||
21:04:55 +02:00 +
|
||||
21:04:55.123456+0200 +
|
||||
21:04:55.123456 +02:00
|
||||
|
||||
| UTC time
|
||||
| 19:04:55Z +
|
||||
19:04:55.123456Z
|
||||
|
||||
| Timestamp date
|
||||
| 1756580695 +
|
||||
1756580695.123456 +
|
||||
1756580695,123456
|
||||
|===
|
||||
|
||||
Notes:
|
||||
|
||||
* For ISO 8601, the separator between date and time is `T` (upper case) or `t` (lower case).
|
||||
* For UTC time, the final char is `Z` (upper case) or `z` (lower case).
|
||||
* The timezone offset format is one of:
|
||||
** `++[+/-]hh:mm++` (hours and minutes)
|
||||
** `++[+/-]hhmm++` (hours and minutes)
|
||||
** `++[+/-]hh++` (hours).
|
||||
* Precision after seconds can be from one-tenth of second (1 digit, for example
|
||||
`21:04:55.1`) to one microsecond (6 digits, for example `21:04:55.123456`). +
|
||||
A dot (`.`) or comma (`,`) can separate seconds from the other digits.
|
||||
|
||||
Return value:
|
||||
|
||||
* 1 if OK, 0 if error
|
||||
|
||||
C example:
|
||||
C examples:
|
||||
|
||||
[source,c]
|
||||
----
|
||||
struct timeval tv;
|
||||
weechat_util_parse_time ("2023-12-25T10:29:09.456789Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1703500149, tv.tv_usec = 456789 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30T19:04:55.123456Z", &tv); /* == 1 */
|
||||
/* result: tv.tv_sec == 1756580695, tv.tv_usec = 123456 */
|
||||
|
||||
weechat_util_parse_time ("2025-08-30 21:04:55.123456 +02:00", &tv); /* == 1 */
|
||||
/* same result */
|
||||
|
||||
weechat_util_parse_time ("21:04:55.123456", &tv); /* == 1 */
|
||||
/* same result */
|
||||
----
|
||||
|
||||
[NOTE]
|
||||
@@ -11207,6 +11451,16 @@ struct t_hook *weechat_hook_url (const char *url,
|
||||
*** _headers_: HTTP headers in response
|
||||
*** _output_: standard output (set only if _file_out_ was not set in options)
|
||||
*** _error_: error message (set only in case of error)
|
||||
*** _error_code_: error code (integer, set only in case of error):
|
||||
**** `1`: invalid URL
|
||||
**** `2`: transfer error (Curl error)
|
||||
**** `3`: not enough memory
|
||||
**** `4`: file error
|
||||
**** `5`: transfer stopped (hook removed during the transfer)
|
||||
**** `6`: transfer timeout
|
||||
**** `100`: thread creation error
|
||||
*** _error_code_pthread_: return code of function _pthread_create_
|
||||
(integer, set only if _error_code_ is `100`)
|
||||
** return value:
|
||||
*** _WEECHAT_RC_OK_
|
||||
*** _WEECHAT_RC_ERROR_
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2009-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
@@ -333,8 +333,10 @@ channels configured in the "autojoin" server option.
|
||||
[[key_bindings]]
|
||||
== キー割り当て設定
|
||||
|
||||
WeeChat
|
||||
はデフォルトでたくさんのショートカットキーが設定されています。これらはドキュメントに記載されていますが、いくつか重要なキーがあります:
|
||||
// TRANSLATION MISSING
|
||||
WeeChat uses many keys by default. All these keys are in the documentation
|
||||
(link:weechat_user.ja.html#key_bindings[ユーザーズガイド / Key bindings ^↗^^]),
|
||||
but you should know at least some vital keys:
|
||||
|
||||
- kbd:[Alt+←] / kbd:[Alt+→] または kbd:[F5] / kbd:[F6]: 前後のバッファに切り替える
|
||||
- kbd:[F1] / kbd:[F2]: バッファリストを含むバー ("buflist") をスクロール表示
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2014-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// SPDX-FileCopyrightText: 2003-2025 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2003-2026 Sébastien Helleu <flashcode@flashtux.org>
|
||||
// SPDX-FileCopyrightText: 2012-2019 Ryuunosuke Ayanokouzi <i38w7i3@yahoo.co.jp>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user