GithubHelp home page GithubHelp logo

edwardbetts / weechat.el Goto Github PK

View Code? Open in Web Editor NEW

This project forked from the-kenny/weechat.el

0.0 2.0 0.0 596 KB

Chat via weechat's relay protocol in Emacs

Makefile 0.81% Nix 0.24% Emacs Lisp 98.95%

weechat.el's Introduction

weechat.el - Chat via Weechat in Emacs

Please note: This README is work in progress. A more detailed documentation will follow.

weechat.el requires Emacs 24 and s.el. For Emacs versions below 24.3 you also need cl-lib. WeeChat version 0.4.0 or newer is recommended!

You can install weechat.el via package.el (melpa-stable (stable releases) or melpa (development snapshot)):

M-x package-install RET weechat RET

See NEWS.org for major changes in releases.

Manual Installation

  • Install dependencies via package.el:
    M-x package-install RET s RET
        
  • If your Emacs is older than 24.3:
    M-x package-install RET cl-lib RET
        
  • Download this directory to your system and add it to the load-path:
    (add-to-list 'load-path (expand-file-name "path/to/weechat.el/"))
        
  • Load weechat.el
    (require 'weechat)
        

    (You can add this to your ~/.emacs.d/init.el or similar)

Usage

First, setup the relay server in weechat. Please refer to the manual.

To load and establish a connection:

(require 'weechat)
M-x weechat-connect RET

To show a channel in Emacs, do:

M-x weechat-monitor-buffer RET

Color settings

Most colors in weechat.el come directly from WeeChat and are only translated into Emacs faces. There are a few notable exceptions such as weechat-highlight-face or weechat-nick-self-face.

If you are unsatisfied with the colors that WeeChat send then either change the corresponding color in WeeChat or customize weechat-color-list. Do not add or remove any values in the list! Simply change the value. Using rainbow-mode (from GNU ELPA) or list-colors-display can help finding good values.

The default configuration tries to match the WeeChat colors as close as possible. Example for colors that go better with the Emacs’ default theme are:

(setq weechat-color-list '(unspecified "black" "dim gray" "dark red" "red"
                                       "dark green" "green" "brown"
                                       "orange" "dark blue" "blue"
                                       "dark magenta" "magenta" "dark cyan"
                                       "royal blue" "dark gray" "gray"))

If you do not want any color then set weechat-debug-strip-formatting to t.

SSL

See documentation in SSL.org.

Modules

Weechat.el comes with module support. Modules can be loaded by simply calling load-library and removed by using unload-feature. The variable weechat-modules can be customized to set default loaded modules.

Available modules are:

Button

This module provides support for buttons in chat windows. E.g., it turns URLs into clickable buttons. The module is default loaded. See weechat-modules.

It supports several types of buttons such as URLs, Channels, Emacs’ symbols, E-Mails, Manpages, Info links, and Nick names. However not all buttons are activated as default. See customization group weechat-button to enable and disable specific buttons.

You can use weechat-button-list to simply add your own button types.

Complete

This module provides support for nickname and command completion. It uses Emacs’ pcomplete framework and is default loaded.

If you want case-insensitive completion, set completion-ignore-case to t.

Spelling

This module provides spelling support by using Emacs’ flyspell. You can customize the dictionary on a per channel/server basis by customizing weechat-spelling-dictionaries.

Notifications

Weechat.el supports notifications for important messages, such as highlights or queries. The support is either based on notifications.el which is shipped with Emacs since version 24 and uses the Freedesktop notification spec. Another solution is based on Sauron.

To activate notifications you have to load the matching module. Either weechat-notifications for notifications.el or weechat-sauron for Sauron support.

To change the message types you want to receive notifications for customize weechat-notification-types.

notifications.el

Loading the weechat-notifications module uses notifications.el to display notifications. This uses the Freedesktop notification spec and should work fine on most Linux systems.

You can customize weechat-notifications-sound to play a sound on notification. Setting weechat-notifications-icon allows to change the notification icon.

Sauron

The weechat-sauron module uses Sauron for notifications.

Tracking

The weechat-tracking module provides tracking information in the mode line, similar to erc-track. It uses the Tracking library (available on marmalade or el-get).

Smiley

This module uses Gnus’ smiley-region support to convert text smileys, such as :-), into a graphical representation. See the documentation of smiley.el on how to customize it.

LaTeX

The weechat-latex module provides a simple preview function for embedded LaTeX. It is based Org’s LaTeX preview functionality and many of Org’s LaTex customizations apply to it as well. Use weechat-latex-preview to generate previews and weechat-latex-remove to remove them.

There is also weechat-latex-auto-mode to automatically turn LaTeX fragments in every new message into a preview.

By using weechat-latex-preview-region or weechat-latex-preview-line the LaTeX previews can be limited to certain parts of the buffer.

Speedbar

The weechat-speedbar module provides Emacs’ Speedbar integration. After loading the module and opening the Speedbar there should be a Display mode called “WeeChat” available.

Image

This modules allows (embedded) previews of image urls. After loading the module a button should appear next to urls to image files. By clicking the button images should be opened inline and by clicking the button again they should be removed.

By changing weechat-image-display-func the images can instead be opened inside the buffer weechat-image-buffer. The detection of image URLs can be influenced with weechat-image-url-regex and weechat-image-url-blacklist-regex.

Be careful when loading images of sources you do not trust. Change weechat-image-size-limit to prevent the display of large images.

Contact

Feel free to contact us via Github, Email, or IRC (#weechat.el on Freenode)

We appreciate every comment, suggestion, or nagging for missing features. Tell us your story!

Contributors

Please add yourself to this list when you contribute code!

weechat.el's People

Contributors

aristidb avatar aspiwack avatar flashcode avatar hpdeifel avatar jasonblewis avatar jmacdonagh avatar krl avatar myrjola avatar ruediger avatar silex avatar the-kenny avatar unhammer avatar vanicat avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.