Agalin / pidgin_macos_integration

Pidgin plugin adding macOS shell integration
BSD 2-Clause "Simplified" License
8 stars 2 forks source link
libpurple libpurple-plugin macos macos-swift pidgin pidgin-plugins

MacOS integration plugin for Pidgin

Pidgin is a multiprotocol communicator based on libPurple with GUI created using GTK+. There is no official support for macOS as there is an alternative written using native frameworks - Adium. Sadly, Adium seems to be nearly abandoned. It means that there is no native libPurple client for macOS. This plugin tries make Pidgin feel as native as it is possible.

Basic Integration

I suggest to create app bundle (or use mine: Pidgin Bundle) for Pidgin as it adds dock icon and hides Terminal window. It's REQUIRED for notifications and possible future translations to work properly.

Homebrew has a formula for gtk-chtheme which makes theme change easier - and macOS themes for GTK are easy to find.

Features

There are currently following features implemented:

Implementation details

Plugin is written in Swift. As Pidgin is written in C, bridging is needed. That's done by Objective-C to Swift bridge. Only things that are really hard or impossible to do via bridging (varargs functions, some type casting like callback registration) is done in Objective-C. It's mostly just an ocasion for the author to learn Swift and Cocoa.

Issues and TODO

Build

Build using XCode.

Homebrew dependencies: