TKABBER-PLUGINS(7)

✨ NAME ✨

okay bestie, gather round πŸ’– this is the manual for tkabber-plugins β€” aka the whole entire set of standard plugins for Tkabber, which is an XMPP (Jabber) client. yes, the manual is literally called TKABBER-PLUGINS(7) and it lives in the Miscellaneous Information Manual, slay. πŸ‘‘


🌸 SYNOPSIS 🌸

mkdir -p ~/.tkabber/plugins

ln -s /usr/share/tkabber-plugins/PLUGIN_NAME ~/.tkabber/plugins

rm ~/.tkabber/plugins/PLUGIN_NAME

three commands, three vibes: make the folder, link the plugin, yeet the plugin. πŸ’…


πŸ¦‹ DESCRIPTION πŸ¦‹

tkabber-plugins is the full set of standard plugins for Tkabber, an XMPP (Jabber) client. they're maintained as part of Tkabber itself, and they do all kinds of useful-but-not-actually-essential stuff. the fun extra stuff. the garnish. 🌿

this manual page is gonna teach you two things: how to install and uninstall Tkabber plugins, and also it gives you the quick rundown on every plugin this package ships. no cap. 🫢


πŸŽ€ MANAGING PLUGINS πŸŽ€

so here's the tea: every single plugin is just a directory with the files it needs inside it. and the directories for all of them live under /usr/share/tkabber-plugins. πŸ“

when Tkabber starts up, it goes looking for one specific directory: ~/.tkabber/plugins β€” that's the directory named .tkabber/plugins sitting under your home directory, iykyk. if it exists, Tkabber treats every subdirectory inside it as an installed plugin and "loads" them all. so installing and removing plugins is literally just a matter of keeping the right symbolic links under ~/.tkabber/plugins pointing at the real plugin directories. that's it, that's the whole system. πŸ”—

heads up bestie: neither ~/.tkabber/plugins nor even ~/.tkabber might exist yet when you go to install plugins. that is completely normal, don't panic 😭 just go ahead and make the directory structure yourself if you need it.

a word of caution though, and I mean this fr fr: please don't install a plugin if you don't understand what kind of functionality it's supposed to give you. why? because some plugins can mess with your user experience in ways you did not ask for. for example, the ctcomp plugin "hijacks" several keyboard shortcuts from the chat input windows for its own usage. etc etc. so to stay on the safe side, always read at least the introductory section of a plugin's README file if one is provided. that's the vibe check. βœ…

πŸ’– INSTALLING PLUGINS πŸ’–

to install a plugin, you simply copy β€” or, much better, symlink β€” the directory of the plugin you chose under ~/.tkabber/plugins, which is the directory Tkabber searches for plugins when it starts up. πŸ”

if ~/.tkabber/plugins doesn't exist yet, just create it:

mkdir -p ~/.tkabber/plugins

and bestie, please make a symbolic link instead of copying, because it makes upgrading SO much easier: when a new version of tkabber-plugins gets installed, the symbolic links under ~/.tkabber/plugins will automatically start pointing at the new versions of your installed plugins. no work. iconic. ✨ meanwhile, if you copy the plugin directories instead of symlinking them, you'll have to reinstall every plugin you're using by hand. not the move. πŸ™ˆ

after a plugin is installed, you have to restart Tkabber so it can find and load it. periodt. πŸ”„

🌈 UNINSTALLING PLUGINS 🌈

to uninstall a plugin, simply delete its directory from under the ~/.tkabber/plugins directory. gone. bye. πŸ’€

⭐ UPGRADING PLUGINS ⭐

assuming you made symbolic links to the actual plugin directories when you installed them (you did, right? πŸ‘€), upgrading to the next version of tkabber-plugins will be fully automatic. literally nothing for you to do. πŸ’…

otherwise β€” i.e. if you copied instead of symlinked β€” you'll have to remove the obsolete versions of the plugins from under ~/.tkabber/plugins and then install their new versions back in. 😭 the manual labor route. we hate to see it but here we are.

✨ AVAILABLE PLUGINS ✨

okay bestie, here's the whole menu of plugins this package ships πŸ’– and here's the tea: the proper name of each plugin is also the name of its directory living under /usr/share/tkabber-plugins β€” so that name is literally the thing you type when you're installing or uninstalling that particular plugin. no cap, that's the whole naming system πŸŽ€


aniemoticons

A plugin that adds support for animated emoticons. they wiggle. they move. iconic ✨

attline

Draws the so-called attention line β€” that's a line drawn before the first message in a chat window when that window has lost keyboard focus. Every message sitting after the line counts as unread. it's giving "here's where you stopped paying attention" πŸ’…

battleship

Implements the "Battleship" game (also known as "Battleships" and "Sea Battle"): a guessing game for two players where each player positions several "battle ships" on a square field of a fixed size, and then both players take turns trying to guess cells of their opponent's field where a ship is positioned. When every cell occupied by a player's ship has been guessed by their opponent, that ship is declared "sunk". The player who first manages to "sink" all of their opponent's ships wins, and the game ends. πŸš’πŸ’€

bc

A word game. Includes a russian file. (yes it's short. it's mysterious. main character energy fr) πŸ“

browser

Implements the Jabber Browser (XEP-0011). Heads up though: this protocol is deprecated in favor of Service Discovery (XEP-0030) β€” but it may still be useful for pre-XMPP servers/transports, so it's staying πŸ’œ

checkers

Checkers game for two players (including Straight, Russian, Spanish, Brazilian, Pool and Italian checkers, so like... a whole checkers buffet 🌈). When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player also has Tkabber and the plugin installed, he will receive the invitation. If he accepts, a window will open on both of you. πŸŽ€

chess

Chess game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player also has Tkabber and the plugin installed, he will receive the invitation. If he accepts, a window will open on both. β™ŸοΈπŸ‘‘

ctcomp

Adds support for "text completion" in Tkabber's chat input windows, working just like the similar features in the Vim and Emacs text editors. The matching words are picked from the corresponding chat log and the input windows. ✨

custom-urls

Provides a regexp-based mechanism to convert strings with numbers into URLs inside chat windows. πŸ”—

cyrillize

A utility to translate misprinted characters to cyrillic by pressing Ctrl+'. πŸ¦‹

debug

Lets you see debug messages in a separate tab/window. peak detective hours πŸ”

ejabberd

A utility to check your Ejabberd Jabber server remotely. 🌸

floatingcontact

Lets certain roster items float in separate small windows. they're just vibing, detached, free 🫢

floatinglog

Reports incoming messages, presence changes and status changes in a separate floating window. πŸ’¬

georoster

A world map πŸ—ΊοΈ. It tries to position your contacts using the data on their vcard. You can also drag and drop your contacts from the roster onto their positions. literally geography class but make it XMPP.

gmail

Lets Gmail/Googlemail users receive mail notifications. πŸ“¬

iconsets

Several iconsets, borrowed from other Jabber clients, now represented in this plugin. βœ¨πŸŽ€

Implements the Jidlink file transfer protocol. It's undocumented and obsolete, but it may be useful for transferring files to old Tkabber versions. 🧚

latex

Displays formulas in LaTeX notation as embedded images, generated by LaTeX and ImageMagick. math but make it glamorous πŸ’…

mute

An experimental implementation of XEP-0058: Multi-User Text Editing, now deferred. πŸ™ˆ

openurl

Adds several items to a URL popup menu. Each item lets you open the URL in a certain browser. 🌈

osd

Displays certain events (presence and chat messages) notifications using the osd_cat utility. ⭐

otr

Implements Off-The-Record (OTR) messaging. OTR provides: encryption, authentication, deniability and perfect forward secrecy. that's a whole security glow-up πŸ”₯πŸ”’

poker

Implements a variant of the game of Poker known as "Texas Hold'em" for two players. πŸƒ

presencecmd

Adds several commands in a chat window. They change the user's presence information (global or directed). πŸ‘‘

quotelastmsg

Lets you "quote" the last message in any active chat session, right in its input window. The message gets prepended with a fixed string (configurable, so you do you). Super useful for putting your replies in context when the chat is juggling several parallel issues at once. πŸ’¬βœ¨

quiz

An adaptation of He3hauka (a russian quiz game for IRC). πŸŽ€

quotelastmsg

Provides a way to "quote" the message located at the very bottom of the conversation log of a chat window β€” that is, to copy such a message into the input box of the same chat window with some decorations added (by default the string ">> " is prepended to the message). By default, quoting is done using the <Alt-q> keyboard shortcut. πŸ’–

bestie yes, quotelastmsg shows up twice in the list. that's just how the page is. we don't gatekeep, we report. 🫢

receipts

Implements XEP-0184 "Message receipts": in one-to-one chat sessions it is able to request confirmations of reception of outgoing messages, and to reply to such requests coming from the remote party. βœ…βœ…

renju

Gomoku and Renju (in fact, renju is not implemented yet) game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player also has Tkabber and the plugin installed, he will receive the invitation. If he accepts, a window will open on both. ⚫βšͺ

reversi

Reversi (othello) game for two players. When installed, you can send an invitation to your contact (contextual menu on the roster). If the other player also has Tkabber and the plugin installed, he will receive the invitation. If he accepts, a window will open on both. πŸŽ€

singularity

Keeps the conversation with a person in just one window when that person sends messages from different resources of his/her JID: when a new window for a one-on-one chat is about to be opened, the plugin checks whether there are any active chat sessions with the same bare JID (that is, without the "/resource" part) as that of the new chat. If there are, they are closed with their conversation log and input history preserved, the new chat window is opened, and then the saved data is inserted into the new window. So effectively, this plugin makes Tkabber keep just one chat window per bare JID open. one person, one window. periodt. 🌌

socials

Adds many 'social' commands like /dance. Includes english and russian files. πŸ’ƒπŸ•Ί

spy

Logs your contacts' presence changes to a window or to a file. Also allows you to set up an alert window for certain contacts. πŸ‘€

stripes

Lets you colorize the backgrounds of whole messages placed in the conversation logs of Tkabber chat windows. The backgrounds of even and odd messages can be configured separately from each other (or not configured at all, no pressure). 🌈✨

tclchat

A plugin which makes chatting in the Tclers' chat (tcl@tach.tclers.tk) easier. It recognises a bot which connects the Jabber room with the IRC channel, and maps IRC users to Jabber conference participants. πŸ¦‹

tkabber-khim

Adds KHIM (an alternative input method by Kevin Kenny) support to Tkabber. It can be used to input characters that aren't directly available from your installed keymaps. ⌨️✨

traffic

Approximately accounts for incoming and outgoing XMPP traffic by addressees. Heads up: the traffic estimation is only good if no stream compression or encryption is used. But even if the absolute values come out incorrect, it still lets you find which remote JID is consuming the highest traffic amount. 🚦

unixkeys

Adds support for "Unix-style" (in fact, GNU Readline and GNU bash-style) keyboard shortcuts for text editing to all text entry widgets in Tkabber. your fingers will feel at home πŸ’œ

whiteboard

A shared whiteboard β€” lets two contacts, or a whole chatroom, draw collaboratively. 🎨🫢


πŸŽ€ EXAMPLES πŸŽ€

To install a plugin:

  1. Create the directory which Tkabber searches for plugins installed for the user:
mkdir -p ~/.tkabber/plugins

You have to do this only once. pinky promise, just the one time πŸ’…

  1. Pick the plugin you'd like to install. Suppose this is the georoster plugin, providing the World map which depicts the geographical coordinates of the contacts on your roster. πŸ—ΊοΈ
  2. Install it by creating a symbolic link from the plugin's directory to the directory of the user's plugins. Continuing with our georoster example, you'll have to issue this command:
ln -s /usr/share/tkabber-plugins/georoster ~/.tkabber/plugins
  1. Repeat for any other plugins you want to install. collect them all ✨
  2. Restart Tkabber. πŸ”„

To uninstall a plugin just remove its directory from the directory of the user's plugins. For example, to remove the installed georoster plugin, issue this command:

rm ~/.tkabber/plugins/georoster

and it's gone, no drama, we don't do messy breakups here 🫢


🌸 SEE ALSO 🌸


πŸ‘‘ AUTHORS πŸ‘‘

The plugins comprising the tkabber-plugins package were written by various people πŸ’–. Please consult the /usr/share/doc/copyright file for further details.

This manual page was written by Konstantin Khomoutov <flatworm@users.sourceforge.net>, for the Debian project (but may be used by others). πŸŽ€


and that's a wrap bestie!! this whole page is from the tkabber-plugins package, and the last time anyone touched it was October 27, 2009 β€” the TKABBER-PLUGINS(7) manual page, dated and done. slay, go install something cute πŸ¦‹βœ¨πŸ’