All Projects → ChristianGalla → PidginWinToastNotifications

ChristianGalla / PidginWinToastNotifications

Licence: GPL-2.0 license
Windows Toast Notification Plugin for Pidgin

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to PidginWinToastNotifications

toaststrap
A simple, lightweight JavaScript library for showing Bootstrap 5 toast popups.
Stars: ✭ 16 (-30.43%)
Mutual labels:  toast-notifications
console-toast-8
Windows 8 toast notifications from CLi
Stars: ✭ 16 (-30.43%)
Mutual labels:  toast-notifications
simple-notify
Pure javascript toast notifications.
Stars: ✭ 108 (+369.57%)
Mutual labels:  toast-notifications
React Hot Toast
Smoking hot React Notifications 🔥
Stars: ✭ 4,282 (+18517.39%)
Mutual labels:  toast-notifications
React Toast Notifications
🍞 A toast notification system for react
Stars: ✭ 2,103 (+9043.48%)
Mutual labels:  toast-notifications
Notistack
Highly customizable notification snackbars (toasts) that can be stacked on top of each other
Stars: ✭ 2,562 (+11039.13%)
Mutual labels:  toast-notifications
Toastutils
Android 吐司框架,专治 Toast 各种疑难杂症
Stars: ✭ 2,087 (+8973.91%)
Mutual labels:  toast-notifications
JDToaster
🍞 Toasty iOS alerts
Stars: ✭ 25 (+8.7%)
Mutual labels:  toast-notifications
react-toast
Minimal toast notifications for React.
Stars: ✭ 47 (+104.35%)
Mutual labels:  toast-notifications
v-tostini
Toast plugin for Vue.js 2.x
Stars: ✭ 12 (-47.83%)
Mutual labels:  toast-notifications
angular-8-alert-notifications
Angular 8 - Alert (Toaster) Notifications
Stars: ✭ 32 (+39.13%)
Mutual labels:  toast-notifications
neodigm55
An eclectic low-code vanilla JavaScript UX micro-library for those that defiantly think for themselves.
Stars: ✭ 14 (-39.13%)
Mutual labels:  toast-notifications
tall-toasts
A Toast notification library for the Laravel TALL stack. You can push notifications from the backend or frontend to render customizable toasts with almost zero footprint on the published CSS/JS 🔥🚀
Stars: ✭ 296 (+1186.96%)
Mutual labels:  toast-notifications
SteamAchievementNotifier
Steam Achievement Notifier is an Electron application that shows a customisable notification when you unlock any Steam Achievement! It uses the Steam Web API to track achievement stats in real time, and displays an achievement summary within the notification.
Stars: ✭ 77 (+234.78%)
Mutual labels:  toast-notifications
SimpleToast
SimpleToast is a simple, lightweight, flexible and easy to use library to show toasts / popup notifications inside iOS or MacOS applications in SwiftUI. Because of the flexibility to show any content it is also possible to use the library for showing simple modals.
Stars: ✭ 131 (+469.57%)
Mutual labels:  toast-notifications
RTL-Toast
Android Toast For RTL Applications
Stars: ✭ 16 (-30.43%)
Mutual labels:  toast-notifications
vueNotification
Notification plugin for VuesJS
Stars: ✭ 52 (+126.09%)
Mutual labels:  toast-notifications
bs5-utils
A JavaScript utility package for Bootstrap 5 components.
Stars: ✭ 26 (+13.04%)
Mutual labels:  toast-notifications

PidginWinToastNotifications

Windows toast notification plugin for Pidgin.

Shows notifications on message receive or buddy sign on / off in the standard Windows design.

Direct message from someone who has a profile picture:

Direct message with picture

Direct message from someone who has not a profile picture:

Direct message without picture

Chat message from someone who has not a profile picture:

Chat message without picture

A buddy who has not a profile picture signed on:

Buddy signed on

A buddy who has not a profile picture signed off:

Buddy signed off

This plugin uses Pidgin's standard C API so no other tools like Perl are required.

Table of contents

Supported Pidgin versions

The plugin was developed and tested using the newest Pidgin 2 version 2.13.0.

For Pidgin version 2.12.0 there is an alternate download.

Older versions of Pidgin are currently not supported.

Supported operating systems

The plugin was developed and tested using the newest Windows 10 version.

Other Windows 10 versions, Windows 8 and Windows 8.1 should also work, but this has not been tested.

To display the protocol, account and chat name in the toast notifications the Windows 10 Anniversary Update (also known as version 1607 or Redstone 1) or newer is required.

Installation

  1. Ensure to have the Microsoft Visual C++ 2015-2019 Redistributable (x86) installed or download and install it from Microsoft.
  2. Download the dll files from the newest release.
  3. Copy the file PidginWinToastLib.dll to the installation directory of Pidgin. This is usually "C:\Program Files (x86)\Pidgin" on 64-bit versions of Windows or "C:\Program Files\Pidgin" on a 32-bit version.
  4. Copy the file PidginWinToastNotifications.dll to the plugin directory of Pidgin. This is usually "C:\Program Files (x86)\Pidgin\plugins" on 64-bit versions of Windows or "C:\Program Files\Pidgin\plugins" on a 32-bit version.
  5. Start Pidgin. Open the plugin window and enable "Windows Toast Notifications".

Troubleshooting

If the plugin cannot be enabled, there should be an error message in the error search window available in the help menu of Pidgin.

If you experience a problem or have an idea for a new feature, feel free to open an issue.

Known errors

  • The initialization may fail if the current user is not permitted to edit the Pidgin shortcut in the Start menu.

    To be able to create Windows Toast Notifications, it is required to set a property on the Start menu shortcut of Pidgin or automatically create a new one. Please ensure the current user is permitted to do this.

  • A notification for a received message is shown when you send the message from another device.

    The used protocol may incorrectly call Pidgin's message receive event. Please update your protocol plugin and if the error persists, contact the author of the protocol plugin to have a look into this.

  • There is a duplicate task bar icon.

    The Toast notification plugin sets an Application User Model ID that is used to group program windows.

    If you have pinned Pidgin to the task bar before enabling the Toast notification plugin, unpin it and pin the current running Pidgin window.

    If you are using other Windows specific plugins, they may try to set another conflicting app id. Please try to identify incompatible Plugins by selective enabling or disabling. If you have found an incompatible plugin, try to update it to the newest version before creating an issue.

Configuration

It can be configured if notifications should be shown for direct messages, every message in chats, only for messages in chats when mentioned or only if the conversation window is not focused.

It is also possible to configure if a notification should be shown when a buddy signed on or off.

This configuration can be overwritten per status (Available, Away, Do not disturb, Extended away or Invisible).

Global configuration:

Global configuration

It is also possible to overwrite the global settings for each group, chat and buddy.

Configuration for a group:

Group configuration

Configuration for a chat:

Chat configuration

Configuration for a buddy:

Buddy configuration

The global configuration can be accessed via the default plugin configuration page (In Buddy List: Tools / Plugins / Windows Toast Notifications).

The group settings can be opened from the context menu of a group in the Buddy List.

The local settings can be opened from the conversation menu underneath More or from the context menu of a buddy or chat in the Buddy List:

Configuration menu in a conversation

Changelog

All changes between versions are documented in the file CHANGELOG.md.

Architecture

This Plugin consists of the two dll files PidginWinToastNotifications.dll and PidginWinToastLib.dll.

PidginWinToastNotifications.dll is loaded from Pidgin as plugin. It is written in ANSI C and it provides necessary plugin information. It registers callback functions in Pidgin's message API and relays received messages to PidginWinToastLib.dll.

PidginWinToastLib.dll is written in C++ and calls Windows's toast notification API to display the toast notifications. For that it uses WinToast as library.

How to build on Windows

PidginWinToastNotifications.dll

This file is build using the GNU Compiler Collection (GCC).

  1. Follow the official instructions of the Pidgin wiki to set up your build environment. For this I recommend pidgin-windev.
  2. Copy the files Plugin/PidginWinToastNotifications.h and Plugin/PidginWinToastNotifications.c into the subfolder pidgin\plugins inside of your Pidgin development directory.
  3. Inside a Cygwin Terminal navigate to pidgin\plugins inside of your Pidgin development directory.
  4. Run the Command: make -f Makefile.mingw PidginWinToastNotifications.dll

Now the file PidginWinToastNotifications.dll should be in the same folder.

PidginWinToastLib.dll

This file is build using Visual Studio 2017.

Open the Solution lib/PidginWinToastLib.sln in Visual Studio 2017. Right click on the Project and hit Build.

Now the file PidginWinToastLib.dll should be in the Release folder of your Solution.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].