Coder Social home page Coder Social logo

muffinmad / pidgin-im-gnome-shell-extension Goto Github PK

View Code? Open in Web Editor NEW
27.0 8.0 14.0 436 KB

Make Pidgin IM conversations appear in the Gnome Shell message tray

License: GNU General Public License v2.0

JavaScript 99.79% Makefile 0.21%
pidgin gnome-shell

pidgin-im-gnome-shell-extension's Introduction

Stand With Ukraine

pidgin-im-gnome-shell-extension

Make Pidgin IM conversations appear in the Gnome Shell message tray

Features

  • Supports Chats and IMs for now (i.e. no file transfers or attentions)
  • User icons
  • User status as secondary icon
  • Sends typing state
  • Shows unread messages count
  • Tries to restore unread messages count after screen lock/unlock
  • Search provider for buddys from connected accounts (can be disabled from extension preferences)

Issues

  • Messages appear unseen in Pidgin after expanding notification in message tray. Don't know how to set unseen state in Pidgin
  • No notifications on locked screen even if notification settings allow it. Because Gnome Shell disables all extensions on screen lock

Supported Gnome Shell Versions

Recent master version supports latest Gnome Shell version. Versions with for older Gnome Shell support can be found on extensions.gnome.org.

Installation

GNOME Shell Extensions

https://extensions.gnome.org/extension/782/pidgin-im-integration/

Manual

mkdir -p $HOME/.local/share/gnome-shell/extensions
cd $HOME/.local/share/gnome-shell/extensions
git clone git://github.com/muffinmad/pidgin-im-gnome-shell-extension.git pidgin@muffinmad

Restart GNOME Shell and enable "Pidgin IM integration" extension

pidgin-im-gnome-shell-extension's People

Contributors

aruhier avatar brenard avatar gcla avatar jkomoroski avatar jonnius avatar muffinmad avatar petrpulc avatar potherca avatar teymour avatar xiehuc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pidgin-im-gnome-shell-extension's Issues

Integrating the system status

Gnome provides an API for setting an user wide availability status (available, busy, offline) for providing an central way of controlling the user status in all connected applications. This is used by some other extensions. This extension could integrate this status into Pidgin.

Some information about the API:

Compatibility with gnome-shell 3.36 ?

The plugin seems to fail to relay the notifications of pidgin with gnome-shell in version 3.36. Some interactions provoke a notification "Pidgin ready" but the usual notification box allowing the chat has disappear :(

To solve my problem i've downgraded gnome-shell to the version 3.30 (from the Debian testing package to the stable one).

Not working on gnome 3.32

Upgraded to Ubuntu 19.04 last night with GNOME 3.32. The extension loads but no longer puts any notifications in the system tray. Logs are getting these messages:


Apr 22 09:26:55 ossy gnome-shell[32527]: JS WARNING: [/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js 146]: reference to undefined property "_init"
Apr 22 09:26:55 ossy gnome-shell[32527]: JS ERROR: Exception in callback for signal: DisplayedImMsg: TypeError: MessageTray.Source.prototype._init is undefined
                                         _init@/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:146:3
                                         _init@/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:364:3
                                         ImSource@/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:336:2
                                         _handleMessage@/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:926:14
                                         _messageDisplayed@/home/mike/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:951:3
                                         bind/<@resource:///org/gnome/gjs/modules/lang.js:97:16
                                         _emit@resource:///org/gnome/gjs/modules/signals.js:128:27
                                         _convertToNativeSignal@resource:///org/gnome/gjs/modules/overrides/Gio.js:117:5

They didn't get rid of this, did they?

Add an option to have no notifications when away or busy

I've seen option like that in other software and it's very veeery useful.

When I change my status to be away or busy, I don't want to see notifications pop up on my screen, because… hey… I'm busy. :)

Maybe it could continue to list in the notification panel, but not pop up in a banner… dunno. But at least no banner.

search provider is not providing all matches

When I click on Activities and then start searching for a name of a buddy in pidgin, it is not showing all matches. It in fact shows pretty bad matches. Perhaps matching buddies based on them being a buddy of an account of mine, when I search for my own name, which happens to be the name of my son who is also a buddy.

So to be clear, searching for mine and my son's name (which are the same) brings up all kinds of buddies that don't match that name (but of course are buddys of that name) but doesn't bring up my son's name.

UTF-8 or what problem

Hi,
I've seen than if I let a notification without touch it, sometimes it print in first « d'ac » and 1 or 2 minutes later it's transformed in « d'ac ».
( edit : I mean, from « d'ac » to « d & apos ; ac » without spaces )

Strange !
liUms

Notification Alert

First of all: Great extension, thank you!

I would like to use your extension together with Notification Alert, a extension that lets the user menu blink, when unread notifications are present. Unfortunately it seems, that your extension doesn't mark chat notifications as unseen/unread, thus Notification Alert doesn't work.

I'm using GNOME 3.14.2 on Debian Jessie.

Borrow code from existing project

Indeed I have a fix version of an existing project, which provide similar function. https://github.com/xiehuc/gnome-shell-extensions-pidgin. As well as the most near active upstream https://github.com/Psykar/gnome-shell-extensions-pidgin.

I have already provide chat support.

I think these two projects can be merged into one. But I didn't know fork which one and push commits.

Do you want to make a long term support for this project? If so I could move code into yours.

If not , I suggest you rebase with a upstream and makes the main stream stronger.

notification bar : too many clicks needed to switch discussion

Inside notification bar, when clicking on an discussion icon and then another one, the new discussion doesn't appear. Two other clicks are needed the switch discussion : the second one makes old discussion disapear, and the last one finaly shows the wanted discussion.

"Notify buddies that you are typing to them" setting not respected

There is a Pidgin setting to Notify buddies that you are typing to them.
I tested with a friend and, when typing from this extension's chat box, he could always tell that I was typing, even though I have that setting unticked.

Would it be possible for this extension to access the value of that setting and respect it?
Thank you for the excellent work so far!

broken in gnome 3.26?

is it possible it is broken in 3.26? extension still loads and search still works but i get no notifications any more from pidgin?

System Tray buddy icon dissappears after closing pidgin chat window

I know this is not a bug, it is more like a pull request (I can't seem to make a pull request anymore). If I use this extension I would not to to mess too much with pidgin windows. So there 2 things I ask from you:

  1. closing pidgin buddy conversation window doesn't close the buddy conversion icon in the tray.
  2. opening buddy conversation window will automatically create tray conversation icon and 1 aplies

Total freeze :-(

An incoming pidgin message totally freezes gnome, when the extension is on. Platform: Arch Linux.

  • gnome-shell 3.16.2-2

Installed extensions, work perfectly fine for months without any single freeze, if pidgin extension is not enabled:

  • Bitcoin Markets
  • Dynamic Top Bar
  • TopIcons

Search provider doesn't open banner

IMHO the search provider should respect "Reopen notification banner on notification click" setting. Mind it should work even without any prior conversation with this contact. It should at least open a conversation window (currently it displays notification about opening the conversation window as described in #34 which I don't think is desired, especially when conversation window is already opened but on a different desktop).

JS ERROR: Exception in callback for signal: BuddySignedOn: Error: Unrecognized parameter "customContent"

Environment

  • extension version: 23
  • Debian testing
  • gnome-shell 3.22

Upon gnome-shell initialization (Alt+F2, r) journalctl /usr/bin/gnome-shell -f
throws the following:

JS ERROR: Exception in callback for signal: BuddySignedOn: Error: Unrecognized parameter customContent
parse@resource:///org/gnome/shell/misc/params.js:25
Notification<.update@resource:///org/gnome/shell/ui/messageTray.js:372
wrapper@resource:///org/gnome/gjs/modules/lang.js:178
ImSource.prototype._updateStatus@/home/elbenfreund/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:411
ImSource.prototype._onBuddySignedOn@/home/elbenfreund/.local/share/gnome-shell/extensions/pidgin@muffinmad/extension.js:404
_emit@resource:///org/gnome/gjs/modules/signals.js:124
_convertToNativeSignal@resource:///org/gnome/gjs/modules/overrides/Gio.js:129

GNOME 46 Support

Yet more breaking API changes! NotificationBanner is gone now, for some dumb reason, from this commit
https://gitlab.gnome.org/GNOME/gnome-shell/-/commit/940b658071047fab8d1db18f301c59095b384f79
GSConnect is doing work to reimplement it
GSConnect/gnome-shell-extension-gsconnect#1767
but I am not knowledgeable enough to follow along, though I'll try.

Long term, they know their notifications suck, and other platforms have nice features, and so one day when they implement this
https://blogs.gnome.org/shell-dev/2024/04/23/notifications-46-and-beyond/
perhaps something like Franz or Ferdium can implement it, and then we'll be able to in-line reply to whatever accounts are available there. But that's so far in the future we'll all be driving flying cars and eating our dinner in pill form.

In any case, not sure if you are still able to maintain this extension, but it is certainly helpful. Thanks!

Tag current version?

Hi,

to facilitate packaging for distributions, could you please tag the current commit with git? Something like v0.1.0 if you want.

Thanks

Less notifications when using IRC

It seems there are too much notifications when using IRC.
It seems a notification is raised each time someone sends a message.
It should be enough to raise a notification when someone writes to me or highlights me in a channel.

Doesn't load on Fedora 34 (GS 40)

I'm trying to use a packaged version, gnome-shell-extension-pidgin-1.0.3-8.fc34.noarch
The gnome-extensions application shows a stop sign and following information

Pidgin IM integration ⛔
Description Integrate Pidgin IMs in the Gnome Shell message tray
Version 31
Error The extension is incompatible with the current GNOME version

Clicking on the gear icon shows a dialog with the following backtrace:

TypeError: ExtensionUtils.versionCheck is not a function

Stack trace:
  _init@/usr/share/gnome-shell/extensions/pidgin@muffinmad/prefs.js:80:23
  wrapper@resource:///org/gnome/gjs/modules/script/_legacy.js:83:27
  buildPrefsWidget@/usr/share/gnome-shell/extensions/pidgin@muffinmad/prefs.js:102:15
  _init@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:209:40
  OpenExtensionPrefsAsync/<@resource:///org/gnome/Shell/Extensions/js/extensionsService.js:122:28
  asyncCallback@resource:///org/gnome/gjs/modules/core/overrides/Gio.js:115:22
  run@resource:///org/gnome/Shell/Extensions/js/dbusService.js:177:20
  main@resource:///org/gnome/Shell/Extensions/js/main.js:19:13
  run@resource:///org/gnome/gjs/modules/script/package.js:206:19
  start@resource:///org/gnome/gjs/modules/script/package.js:190:8
  @/usr/share/gnome-shell/org.gnome.Shell.Extensions:1:17

I see that versionCheck is still used as a function in the current code:

if (!ExtensionUtils.versionCheck(['3.10', '3.11', '3.12', '3.14'], Config.PACKAGE_VERSION)) {

Long delay when unlocking screensaver with plugin enabled.

I am seeing an issue with this plugin when it is enabled with GNOME Shell 3.14.4 screensaver running under Debian Jessie. After a number of days, and only after my laptop has been suspended/resumed a few times, a long delay of between 40 secs to 3/4 minutes ensues between entering the password and the screen unlocking.

I disabled all of the gnome shell extensions and the delay disappeared. After that, I re-enabled them one at a time until I got the delay issue to occur again. The only plugin that I experienced the issue with was this one.

Please let me know of any additional information that would help you reproduce and resolve this issue.

Cannot write special characters / _fixText does not work?

If I write " don't " into the notification, it changes it to " don't ".
I have no idea what this is causing. I looked at the extension (not that I understand any of it), but afaik "_fixText()" in extension.js should prevent this, no?

System:
Antergos with kernel 4.7.4-1
Pidgin 2.11.0 (libpurple 2.11.0)
Using Telegram Account thanks to telegram-purple 1.3.0-1

If any other information is needed I will be happy to provide that.

Gnome 43 support

This extension seem working pretty well with Gnome 43 and it seem not missing a lot to be compatible. I'm currently testing it on my Debian 12 (Bookworm) installation (after patching the metadata.json file) :

  • I have notifications on incoming messages
  • I can answer it from notification and a click on it well display the conversation
  • The reopen-banner option works as expected
  • The connector with contact search seem not working : some change have been made in the Gnome API on Search provider.

GNOME 45 Support

It looks like GNOME 45 is going to require a fair amount of extra work to port extensions to. I'm not sure how this will affect this beloved extension, but I wanted to create an issue to bring it up. I would totally kick in some dough (I mean, up to a point!) to make it worth your time. Hopefully it won't be too bad for a relatively smallish extension like this (dash-to-dock has got a lot of work to do!)
https://gjs.guide/extensions/upgrading/gnome-shell-45.html

Gnome 41 Support

Will we see a formal bump to your package to gnome 41?
It shows as Gnome 40 on extension.gnome.org.

Search provider freezes gnome-shell on search request.

Looks like the search provider applies some global lock when used. Gnome shell freezes for about 5 seconds.
Steps to reproduce:

  • Get a lot of contracts (~1000)
  • Enable search provider in extension preferences
  • Try to search something in overview mode
gnome-shell --version
GNOME Shell 3.14.2

search provider blocks the main search thread

If I enable the Buddies Search Provider and then open the overview and then start typing, my typing, and indeed the whole overview gets blocked for too long -- quite a few seconds.

My understanding of how search is supposed to work in GNOME is that the search results are supposed to be incremental and as such added to the displayed results as they become available from the providers. To make this fluid and not produce the kind of lag that the Buddies search here is producing, providers are supposed to go do their work in their own thread and not block the main thread until they are ready to present the results back to the main thread.

Set message as read when replied to

First of all, thank you for this extension.

I think it would be perfect if you could set the received message as read after we have replied to it, otherwise pidgin keeps the notification on the systray and on the main window.
I don't even know if this is feasible, but it would be a nice thing to have.

Thanks again.

typing in the notification box does not work in Wayland

I figured I'd do a little testing when running GNOME Shell on Wayland (launched from gdm3 not lightdm). The notification pops up, and seems to act normal (you can even re-open it and it stays up to date with new messages) but you can't type into it at all. It seems it never gains the focus as my keystrokes go to the window underneath. I can click in it to get a cursor but can't type.

This is probably not your problem, and it will be a while before you have to worry about it anyway, I figured I would let you know.

IRC notificaition spam my desktop

It will be fun that we receive notify only when my name is quoted, like in other desktop...
For exemple, I'm automaticly login in some channel irc, or close irc in persistant mode, and we don't want receive absolutly all message who is posted on the chan...

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.