WeeChat dev news - Tag - pluginWeeChat development blog2024-01-22T17:53:19+01:00urn:md5:edd364dae4d94114a2ba146603903683DotclearScripts managerurn:md5:186f5eb10940f5fc7e74dd21e5a95fd72012-08-14T18:37:00+02:002019-11-04T21:55:10+01:00Sébastien Helleupluginspluginscript <p>A new scripts manager has been added, the plugin is called "script" and provides the <code>/script</code> command.</p>
<p>This plugin will replace two scripts: weeget.py (the current scripts manager) and script.pl (providing a <code>/script</code> command to load/unload/reload scripts for any language).</p>
<p>The new <code>/script</code> command is similar to command <code>/weeget</code> with some minor differences (see <code>/help script</code> for more info).</p>
<p>The plugin provides a buffer with list of scripts in repository, which makes installation or removal of scripts very fast: just press <strong>alt+i</strong> on this buffer, and the script is installed! Not satisfied with the script? Key <strong>alt+r</strong> and the script is gone!</p>
<p>The buffer allows you to search string in scripts (description, tags, ...) and to sort scripts with many keys. Columns displayed can be fully customized (order, columns displayed), as well as colors.</p>
<p>For list of options, just do: <code>/set script.*</code></p>
<p>List of scripts (click for full size):</p>
<p><a href="https://blog.weechat.org/public/weechat_script_plugin.png"><img src="https://blog.weechat.org/public/./.weechat_script_plugin_m.jpg" alt="Script plugin: list of scripts" style="display:table; margin:0 auto;" title="Script plugin: list of scripts" /></a></p>
<p>Detail of a script (click for full size):
<a href="https://blog.weechat.org/public/weechat_script_plugin_detail.png"><img src="https://blog.weechat.org/public/./.weechat_script_plugin_detail_m.jpg" alt="Script plugin: detail of a script" style="display:table; margin:0 auto;" title="Script plugin: detail of a script" /></a></p>
<p>Enjoy!</p>New plugin rmodifierurn:md5:e5d965ea4f4d42de03df57a408ee18b22010-10-06T08:00:00+02:002021-03-13T01:36:55+01:00Sébastien Helleupluginspluginrmodifier <p>A new plugin called "rmodifier" (for "Regex modifier") has been added.</p>
<p>It's designed to change some strings using regex, for example to hide passwords in commands (input displayed on screen) or in history.
By default, password in following commands are hidden by this plugin:</p>
<ul>
<li><code>/msg nickserv identify ******</code> (input and history)</li>
<li><code>/msg nickserv ghost ******</code> (input and history)</li>
<li><code>/oper nick ******</code> (input and history)</li>
<li><code>/set file.section.password ******</code> (history only)</li>
</ul>
<p>Of course you can add your own regex, just look at <code>/help rmodifier</code>.</p>
<p><strong>Updated on 2014-08-15</strong>: the plugin rmodifier has been replaced by trigger, introduced in <a href="https://blog.weechat.org/post/2014/08/15/Version-1.0">version 1.0</a>.</p>New hook "process"urn:md5:c1f3e86c0b7b21ca14cb85bf140b60fd2009-03-06T18:38:00+01:002010-07-26T15:18:05+02:00Sébastien Helleupluginsapiexecpluginscript <p>New hook type "process" has been added to WeeChat. You can use it in C plugins, and all scripts languages (perl, python, ruby, lua and tcl).</p>
<p>It runs a command with fork, and send you result (return code, stdout and stderr) via a callback, when command has ended, or if WeeChat output buffer is full (then it will be partial result of command). There is optional timeout (in milliseconds), to kill process if it's still running after given time.</p>
<p>The script <a href="http://www.weechat.org/scripts/source/stable/shell.py">shell.py</a> has been updated to use that new hook.</p>New plugin DCurn:md5:1b82b5b2685a051e11d96bfa53e5d31a2008-11-26T22:33:00+01:002008-11-26T22:33:00+01:00Sébastien Helleupluginsdcp2pplugin <p>A new plugin has been added: DC. It is used to transfer files using <a href="http://en.wikipedia.org/wiki/Direct_Connect_(file_sharing)" hreflang="en">DC file-sharing protocol</a>.</p>
<p>It's available as a separate plugin, and must be compiled and installed with WeeChat development version.
<br />Documentation and screenshots are available on this wiki page: <a href="http://wiki.flashtux.org/wiki/WeeChat/dc" hreflang="en">http://wiki.flashtux.org/wiki/WeeChat/dc</a></p>New logger featuresurn:md5:6e7cec7d5357615a0342e09b1b5b311b2008-10-31T07:32:00+01:002017-05-07T14:32:58+02:00Sébastien Helleupluginsloggerplugin <p>Logger plugin has been improved with many new features:</p>
<ul>
<li>command /logger (to see log status for open buffers, and set/disable log level on a buffer)</li>
<li>custom level by buffer (or group of buffers)</li>
<li>custom log filename mask by buffer (or group of buffers).</li>
</ul>
<h4>Set one directory by IRC server and a file by channel inside:</h4>
<p>Do that: <code>/set logger.mask.irc irc/$server/$channel.weechatlog</code></p>
<p>You'll have a tree like that:</p>
<pre>~/.weechat/
|- logs/
|- irc/
|--- freenode/
| freenode.weechatlog
| #weechat.weechatlog
| #mychan.weechatlog
|--- oftc/
| oftc.weechatlog
| #chan1.weechatlog
| #chan2.weechatlog</pre>
<h4>Log all messages on IRC buffers but not join/part/quit messages:</h4>
<ul>
<li>for all IRC buffers: <code>/set logger.level.irc 3</code></li>
<li>for a server and its channels: <code>/set logger.level.irc.freenode 3</code></li>
<li>for a specific channel: <code>/set logger.level.irc.freenode.#weechat 3</code></li>
</ul>Aspell plugin is born againurn:md5:5d21e0a46eb092592647e2dae02626a22008-10-18T18:08:00+02:002009-01-03T09:56:23+01:00Sébastien Helleupluginsaspellplugin <p>New aspell plugin is available!</p>
<p>Plugin as now its own configuration file, called aspell.conf. Options can be set with /set command. List of options with default value:</p>
<ul>
<li>aspell.look.color = lightred</li>
<li>aspell.check.commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"</li>
<li>aspell.check.default_dict = ""</li>
<li>aspell.check.word_min_length = 2</li>
</ul>
<p>You can enable aspell for all buffers with default dictionary (or list of dictionaries), with command: <code>/set aspell.check.default_dict "en,fr"</code></p>
<p>To enable a specific language on a buffer, use: <code>/aspell enable fr</code>
<br />If you speak both english and german (often english, less german), use: <code>/aspell enable en,de</code></p>New plugin Tclurn:md5:f14076e2bb557c78225aee91870dd77e2008-10-06T20:01:00+02:002009-01-27T14:02:49+01:00Sébastien Helleupluginsplugintcl <p>A new plugin Tcl has been added (thanks to Dmitry Kobylin). Some minor changes will be done about compiling (with autotools and cmake), but plugin should be ok today as-is.</p>
<p>Script samples using new API, including Tcl language, will be published soon.</p>Ignore command, reloaded!urn:md5:6751365c514db5fc171c14a04d6db5362008-09-04T20:23:00+02:002022-10-23T07:21:18+02:00Sébastien Helleuircignoreircplugin <p>The new /ignore command is now available. You can ignore nicks (or hostnames), using regex.</p>
<p>Note: this command will be improved in near future with more options.</p>
<p>Some exemples (you can find them with <code>/help ignore</code>):</p>
<ul>
<li>ignore nick "toto" everywhere: <code>/ignore add toto</code></li>
<li>ignore host "toto@domain.com" on freenode server: <code>/ignore add toto@domain.com freenode</code></li>
<li>ignore host "toto*@*.domain.com" on freenode/#weechat: <code>/ignore add toto*@*.domain.com freenode #weechat</code></li>
</ul>Xfer pluginurn:md5:d06b34316682adc74f036f61630a122a2008-05-06T21:14:00+02:002009-01-27T14:04:28+01:00Sébastien Helleupluginspluginxfer <p>A new "xfer" plugin has been added. It replaces old IRC DCC code.
<br />
This plugin is called by IRC plugin to initiate direct chat and file transfer (still by <code>/dcc</code> command). In future, it may be used by other plugins. Moreover, new protocols can be easily added to xfer plugin, if other plugins need that.</p>