bilelmoussaoui / bilelmoussaoui/Hardcode-Tray

Adding support for bluebubbles

Open
#780 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
890
Forks
59
PR merge metrics
No merged PRs in 30d

Description

I wanted to contribute by adding support to **bluebubbles**, but wasn't quite able to write a database .json that would work. If anyone could provide some direction I can help out in any way I know how to.

Right now, the tray icon shows as a standard placeholder, for some reason:
![Image](https://github.com/user-attachments/assets/acdc6206-21ca-44d8-9aac-3e83055cd374)

The package itself provides an icon that seems suitable for the substitution (`bb-icon.svg`)
![Image](https://github.com/user-attachments/assets/2a3a696e-c005-4403-8e24-49413f185f97)

Here's the tree structure for `/usr/lib/bluebubbles` for reference.
```
/usr/lib/bluebubbles
├── bluebubbles
├── data
│   ├── flutter_assets
│   │   ├── AssetManifest.bin
│   │   ├── AssetManifest.json
│   │   ├── assets
│   │   │   ├── badges
│   │   │   │   ├── badge-10.ico
│   │   │   │   ├── badge-1.ico
│   │   │   │   ├── badge-2.ico
│   │   │   │   ├── badge-3.ico
│   │   │   │   ├── badge-4.ico
│   │   │   │   ├── badge-5.ico
│   │   │   │   ├── badge-6.ico
│   │   │   │   ├── badge-7.ico
│   │   │   │   ├── badge-8.ico
│   │   │   │   └── badge-9.ico
│   │   │   ├── changelog
│   │   │   │   └── changelog.md
│   │   │   ├── icon
│   │   │   │   ├── bb-icon.svg
│   │   │   │   ├── icon.ico
│   │   │   │   ├── icon.png
│   │   │   │   └── moon.svg
│   │   │   ├── images
│   │   │   │   ├── google-sign-in.png
│   │   │   │   ├── no-video-preview.png
│   │   │   │   ├── person64.png
│   │   │   │   ├── person.png
│   │   │   │   ├── transparent.png
│   │   │   │   └── unplayable-video.png
│   │   │   └── reactions
│   │   │   ├── dislike-black.svg
│   │   │   ├── dislike-white.svg
│   │   │   ├── emphasize-black.svg
│   │   │   ├── emphasize-white.svg
│   │   │   ├── laugh-black.svg
│   │   │   ├── like-black.svg
│   │   │   ├── like-white.svg
│   │   │   ├── love-black.svg
│   │   │   ├── love-white.svg
│   │   │   ├── question-black.svg
│   │   │   └── question-white.svg
│   │   ├── FontManifest.json
│   │   ├── fonts
│   │   │   └── MaterialIcons-Regular.otf
│   │   ├── NOTICES.Z
│   │   ├── packages
│   │   │   ├── cupertino_icons
│   │   │   │   └── assets
│   │   │   │   └── CupertinoIcons.ttf
│   │   │   ├── flex_color_picker
│   │   │   │   └── assets
│   │   │   │   └── opacity.png
│   │   │   ├── flutter_image_compress_web
│   │   │   │   └── assets
│   │   │   │   └── pica.min.js
│   │   │   ├── flutter_map
│   │   │   │   └── lib
│   │   │   │   └── assets
│   │   │   │   └── flutter_map_logo.png
│   │   │   ├── giphy_get
│   │   │   │   └── assets
│   │   │   │   └── img
│   │   │   │   ├── GIPHY_dark.png
│   │   │   │   ├── GIPHY_light.png
│   │   │   │   ├── poweredby_dark.png
│   │   │   │   └── poweredby_light.png
│   │   │   ├── languagetool_textfield
│   │   │   │   └── images
│   │   │   │   └── symbol_boxed_white.png
│   │   │   ├── media_kit
│   │   │   │   └── assets
│   │   │   │   └── web
│   │   │   │   └── hls1.4.10.js
│   │   │   ├── record_web
│   │   │   │   └── assets
│   │   │   │   └── js
│   │   │   │   ├── record.fixwebmduration.js
│   │   │   │   └── record.worklet.js
│   │   │   └── wakelock_plus
│   │   │   └── assets
│   │   │   └── no_sleep.js
│   │   ├── shaders
│   │   │   └── ink_sparkle.frag
│   │   └── version.json
│   └── icudtl.dat
└── lib
├── libapp.so
├── libbitsdojo_window_linux_plugin.so
├── libdesktop_webview_auth_plugin.so
├── libdynamic_color_plugin.so
├── libemoji_picker_flutter_plugin.so
├── libfile_selector_linux_plugin.so
├── libflutter_acrylic_plugin.so
├── libflutter_linux_gtk.so
├── libgtk_plugin.so
├── libirondash_engine_context_plugin.so
├── liblocal_notifier_plugin.so
├── libmaps_launcher_plugin.so
├── libmedia_kit_libs_linux_plugin.so
├── libmedia_kit_native_event_loop.so
├── libmedia_kit_video_plugin.so
├── libobjectbox_flutter_libs_plugin.so
├── libobjectbox.so
├── libpasteboard_plugin.so
├── libpdfium.so
├── libprinting_plugin.so
├── librecord_linux_plugin.so
├── libscreen_retriever_plugin.so
├── libsuper_native_extensions_plugin.so
├── libsuper_native_extensions.so
├── libsystem_tray_plugin.so
├── libtray_manager_plugin.so
├── liburl_launcher_linux_plugin.so
└── libwindow_manager_plugin.so

35 directories, 82 files
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by locating the database JSON used by Hardcode-Tray and determine how installed tray applications are represented; the issue names no repository file or test. Use the provided BlueBubbles installation tree to verify the available icon paths. Done means BlueBubbles is recognized and its tray icon no longer appears as the standard placeholder.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.