bilelmoussaoui / Hardcode-Tray

Fixes Hardcoded tray icons in Linux
Other
861 stars 63 forks source link

skypeforlinux: new location for hardcoded icons #713

Closed drakkar1969 closed 2 years ago

drakkar1969 commented 2 years ago

As of version 8.77.0.90-1 (Arch Linux), skypeforlinux no longer stores hardcoded icons in the app.asar compressed file. Tray icons are instead located (uncompressed) in the folder /usr/share/skypeforlinux/resources/app.asar.unpacked/images/tray.

The following json file works for me to fix hardcoded tray icons:

{
    "name": "Skype",
    "app_path": [
        "/usr/share/skypeforlinux/"
    ],
    "icons_path": [
        "/usr/share/skypeforlinux/resources/app.asar.unpacked/images/tray"
    ],
    "icons": {
        "away": {
            "original": "linux/tray-awayTemplate.png",
            "theme": "skype-status-away"
        },
        "away2": {
            "original": "linux/tray-awayTemplate@2x.png",
            "theme": "skype-status-away"
        },
        "away_notification": {
            "original": "linux/tray-awayUnreadTemplate.png",
            "theme": "skype-status-away-notification"
        },
        "away2_notification": {
            "original": "linux/tray-awayUnreadTemplate@2x.png",
            "theme": "skype-status-away-notification"
        },
        "disturb": {
            "original": "linux/tray-donotdisturbTemplate.png",
            "theme": "skype-status-disturb"
        },
        "disturb2": {
            "original": "linux/tray-donotdisturbTemplate@2x.png",
            "theme": "skype-status-disturb"
        },
        "disturb_notification": {
            "original": "linux/tray-donotdisturbUnreadTemplate.png",
            "theme": "skype-status-disturb-notification"
        },
        "disturb2_notification": {
            "original": "linux/tray-donotdisturbUnreadTemplate@2x.png",
            "theme": "skype-status-disturb-notification"
        },
        "hidden": {
            "original": "linux/tray-hiddenTemplate.png",
            "theme": "skype-status-hidden"
        },
        "hidden2": {
            "original": "linux/tray-hiddenTemplate@2x.png",
            "theme": "skype-status-hidden"
        },
        "hidden_notification": {
            "original": "linux/tray-hiddenUnreadTemplate.png",
            "theme": "skype-status-hidden-notification"
        },
        "hidden2_notification": {
            "original": "linux/tray-hiddenUnreadTemplate@2x.png",
            "theme": "skype-status-hidden-notification"
        },
        "offline": {
            "original": "linux/tray-offlineTemplate.png",
            "theme": "skype-status-offline"
        },
        "offline2": {
            "original": "linux/tray-offlineTemplate@2x.png",
            "theme": "skype-status-offline"
        },
        "online": {
            "original": "linux/tray-onlineTemplate.png",
            "theme": "skype-status-connected"
        },
        "online2": {
            "original": "linux/tray-onlineTemplate@2x.png",
            "theme": "skype-status-connected"
        },
        "online_notification": {
            "original": "linux/tray-onlineUnreadTemplate.png",
            "theme": "skype-status-connected-notification"
        },
        "online2_notification": {
            "original": "linux/tray-onlineUnreadTemplate@2x.png",
            "theme": "skype-status-connected-notification"
        },
        "presence_away": {
            "original": "presence/dot-away.png",
            "theme": "skype-status-away"
        },
        "presence_away2": {
            "original": "presence/dot-away@2x.png",
            "theme": "skype-status-away"
        },
        "presence_disturb": {
            "original": "presence/dot-donotdisturb.png",
            "theme": "skype-status-disturb"
        },
        "presence_disturb2": {
            "original": "presence/dot-donotdisturb@2x.png",
            "theme": "skype-status-disturb"
        },
        "presence_hidden": {
            "original": "presence/dot-hidden.png",
            "theme": "skype-status-hidden"
        },
        "presence_hidden2": {
            "original": "presence/dot-hidden@2x.png",
            "theme": "skype-status-hidden"
        },
        "presence_online": {
            "original": "presence/dot-online.png",
            "theme": "skype-status-connected"
        },
        "presence_online2": {
            "original": "presence/dot-online@2x.png",
            "theme": "skype-status-connected"
        }
    }
}

Not sure if the above can/should be merged with the current skypeforlinux.json file.

The last 8 icon entries in the code above fix the status icons in the panel dropdown menu. E.g. on GNOME with the AppIndicator and KStatusNotifierItem Support extension installed:

skype

varlesh commented 2 years ago

thx, updated

drakkar1969 commented 2 years ago

Thanks for the quick response!