bilelmoussaoui / bilelmoussaoui/Hardcode-Tray
Adding support for bluebubbles
- 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:

The package itself provides an icon that seems suitable for the substitution (`bb-icon.svg`)

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