peppermintos / ice

Tool to create Chromium/Chrome/Firefox/Vivaldi SSBs in Peppermint OS.
201 stars 45 forks source link

Ice hijacks icons from browsers on Plasma #16

Closed michaldybczak closed 5 years ago

michaldybczak commented 6 years ago

Basically, when I set any app, like Evernote and launch REGULAR browser windows, it shows on a panel/dock as ice icon or whatever icon is assigned to given app. So when I set Evernote with Chromium, launching Chromium shows Evernote icon on a panel. I tested it with regular Plasma panel as well with latte-dock, effect is the same. I changed browser for Firefox and again, normal Firefox is shown as Evernote. When I didn't set Evernote's icon and left default ice icon, that icon is shown for browser.

In result, ice-ssb is confusing and unusable on Plasma.

OS: Manjaro, Plasma 5.11.5

eversins commented 6 years ago

Same error here.

I run an ice app with Firefox and that changes my chromium icon.

Mark-Peppermint commented 6 years ago

Can you test something for us.

Navigate to ~/.local/share/applications open one of your ice SSB launchers in a text editor.

Find the line that reads StartupWMClass=Chromium and comment it out, so it now reads

StartupWMClass=Chromium

save the file .. then test just that single SSB.

Does it still change the icons on the dock ?

eversins commented 6 years ago

Nice, this fixed it. Now it shows the actual firefox icon though, not the one set.

Mark-Peppermint commented 6 years ago

What happens if you make that line read StartupWMClass=Ice or StartupWMClass=ice

[EDIT]

Do Chromium SSB's use the website favicon when the StartupWMClass line is commented out ?

eversins commented 6 years ago

Did not work, but I found a fix to run each app in its own WM_CLASS. https://github.com/peppermintos/ice/compare/master...eversins:patch-1

Mark-Peppermint commented 6 years ago

Nice, I'll test it out .. TVM.

eversins commented 6 years ago

What does TVM mean?

The *.desktop file needs to be "StartupWMClass=profileid" aswell.

Mark-Peppermint commented 6 years ago

TVM == Thanks Very Much

Why does the .desktop file need to read the same ? .. your patch effectively changes the windows WM_CLASS as shown by xprop WM_CLASS

Are you saying it doesn't work unless BOTH are changed ? .. the exec command and the .desktop StartupWMClass entry ?

If so I'm gonna need to modify /usr/bin/ice too .. but that's going to change Chromium WM_CLASS too.

I was hoping to get away with not having to set up a VM with plasma.....

eversins commented 6 years ago

Yes both need to be changed, fortunately "IceFirefox=" already has the same value that we need. With my previous patch and the one now for the *.desktop file it works for Firefox. I can not test chromium at the moment.

Sorry if I am mixing things up here, I hope I am not doing anything wrong as I am not sure how to contribute on github yet. Should I just commit to master or fork and add patches?

https://github.com/eversins/ice/compare/master...eversins-patch-1?quick_pull=1

What do you think of this solution? I hope someone else can test with chromium.

Mark-Peppermint commented 6 years ago

No worries I'll test both patches out first .. TVM, much appreciated :)

eversins commented 6 years ago

No problem, with the upcoming influx of Chrome users switching to FF this is going to be needed. Thank you for your work :+1:

Unfortunately I have found a problem with this..

Everything works perfect as long as you use System icons. But as soon as you use web icon or define your own path to a *.png, the "pinned" icon changes to Firefox as soon as you close said window.

A short video might make it clearer than me trying to explain: https://giant.gfycat.com/PinkGivingHuia.webm

Do you have any idea what the problem could be? I have to get some food before I can think straight..

eversins commented 6 years ago

Just to give you an update, it works as expected if you actually pull the *.desktop file into the panel.

(correct) The difference is that when pulling onto dock/panel or using as system icon, it gets saved in the panel/dock config as: applications:hangouts.desktop

(broken) When pinning the application with icon set as a path to file: applications:hangouts.desktop?iconData=iconData=iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAO.... ..... .. (this goes on, looks like a base64 image but isn't??)

Anyway, I see two solutions atm.

  1. I have posted a bug report @ kde bugtracker, lets see what they say as it might just be a bug in plasma.

  2. We save the icon file in the icon app folder instead of the ice folder. Something like this should do it (not actual code..)..

    //get size
    $PNGwidth = icotool -w favicon.ico
    //convert favicon.ico to .png
    icotool -x favicon.ico -o $site.png
    //install as icon
    xdg-icon-resource install --size $PNGwidth --context apps $site.png

    to uninstall: xdg-icon-resource uninstall --context apps $site.png

In the desktop file we would save it like this: Icon=$site

What do you think of this solution?

michaldybczak commented 6 years ago

Thanks @eversins for taking care of it. I posted the original issue but I lack of expertise to help like you are doing right now.

Mark-Peppermint commented 6 years ago

Sorry @eversins I'm not ignoring this, just a bit busy with the upcoming Peppermint 9 at the moment. I'll get around to checking this all out in a KDE VM as soon as I can. At first glance I suppose your second solution would be doable but it adds icoutils as a dependency. Let me see what I can come up with when I can get around to testing .. meanwhile, the input is MUCH appreciated.

eversins commented 6 years ago

No worries, glad I can contribute.

but it adds icoutils as a dependency.

I have checked out different methods of converting the ico to an png, of all the methods icoutils seemed to be the most fitting as it is already a default package on many/most distribution, as I am not a fan of adding dependencys either. Alternatively we could look at using a online converter, which could potentially add other problems all the way to security risks..

Either way, lets wait and see what the kde devs say and you are ready for testing. Everybody to whom it is a big annoyance can use the provided patches for the moment.

Mark-Peppermint commented 6 years ago

Cheers eversins, I'll try to get back to this soon. I'd rather add the local dependency than rely on a web service which may change in the future, or be down for some reason ;)

michaldybczak commented 6 years ago

I checked it today and the issue still persists. Ice-ssb isn't usable because of that :(

eversins commented 6 years ago

Unfortunatly I have not heard back from the kde bug tracker yet. But if you follow the instructions I posted here, it works as expected. Otherewise I stumbled upon a different project recently, but can not say anthing about it as I have not used it yet. https://github.com/precz/wpaana

michaldybczak commented 6 years ago

Please, post the link to the bug, maybe someone will handle it when more people will add to that thread.

I'm not a developer so I only understood to comment out #StartupWMClass=Chromium in created desktop file. The result is: Ice is not hijacking icons, in contrary, a set app shows with browser icon and is grouped with it which is a big failure as well. The only reason of using ice is that the set app has own icon and can be set on panel/dock separately. If it can't, it's just useless and breaks the workflow.

So either way, ice-ssb is unusable in Plasma at the moment.

Thanks @eversins, I'll check wpaana, although it seems to be not mature enough with its manual installation and setup of new apps.

EDIT: Tried this wpaana and it's ridiculous. I did as instructed and it opened a window with desired app but the app didn't recognize the browser and all I could see is was the info that I don't use supported app (although wpaana uses firefox), so wpaana is even a bigger failure right now. Probably it's because of this issue:

https://github.com/precz/wpaana/issues/2

eversins commented 6 years ago

Do it like in this video: https://giant.gfycat.com/PinkGivingHuia.webm, set a system icon manually.

The link to the bugtracker: https://bugs.kde.org/show_bug.cgi?id=391539 No need to add a comment though as he is already looking into it after he forgot about it, as I just reminded him yesterday.

Mark-Peppermint commented 6 years ago

I still haven't forgotten this and I'm monitoring the discussion with interest, but it's likely to be a couple of months before i can get around to spending any serious time on it because of Peppermint 9 development and testing commitments :(

That said I've had a quick look at wpaana and there's a lot to be said for it's simple XULRunner approach, it affords the possibility of setting a webapp/titlebar specific icon in the chrome/icons/default directory (recent FF versions supporting both xpm and png) which ice's approach doesn't, or at least I haven't found one yet. The problem however lies in the previously mentioned simplicity of wpaana's XULRunner 'app' approach .. some websites/webapps really don't like it and behave oddly .. for example:- https://vectr.com/new works in FF and ice, but takes you directly to a login screen when run as a wpaana XULRunner 'app'. And other negatives like no right-click functionality, and no option to add FF add-ons on a per-SSB basis..

Reference concerning 'app' icons in FF: https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL/Window_icons

Weirdly, I could have sworn I'd read XUL was no longer supported in FF, but it does seem to be (FF60) :)

As soon as I get time I'm going to look into whether the best of each method can be combined and built into ice, where the window titlebar (and hence taskbar) icon is automatically set as per the user chosen launcher icon, and look into what you guys are suggesting about StartupWMClass and the KDE panel.

Until then, please keep digging, it's all helpful .. cheers :)

[EDIT]

Oh, and I'll keep an eye on that KDE bug tracker, cheers eversins.

michaldybczak commented 6 years ago

@eversins, it doesn't work for me. Even when I do the same, window opens as browser's new window and it's grouped with it. I set .desktop file just like you did. So far I can't make it work reasonably.

@Mark-Peppermint, thanks for the info. Sure, peppermint has higher priority. I'm sure I will come across favorite reviews (or as podcast presence, like in Destination Linux :D) once it is done so we'll be back to the topic. As to wpaana, it feels like a dead end or even pre-alpha. Ice-ssb is much more matured so there is no competition here. Besides, I don't like using Firefox. It was for years my main browser, but at some point I realized how slow it is and switched to Chromium. Even now, when Firefox was upgraded and quickened significantly, it's still 6 times slower (to launch) then Chrome/Chromium (before quantum it was over 20x slower). I tested it and Chromium opens with few tabs within 2 seconds. Firefox with single duckduckgo tab needs 12s for that. Also, with bitwarden, windows build on chromium credentials are filed in automatically, not on firefox.

By the way, maybe in future ice would allow for switch to have access to extensions of given browser? Without password manager using ice-ssb may be a bit less convenient. Chromium with bitwarden can bypass that serious limitation so that's awesome, but not all want to use bitwarden or chrome/chromium browser. But maybe that's off topic and there will be time for it later and in another thread.

eversins commented 6 years ago

@michaldybczak Just to make things clear, you need to select an Icon which is in integrated into your system. If you wan't you can post your *.desktop file here so we can have a look.

If you want to use extensions you can load the profile in normal FF and install it. Usually located under "/home/user/.local/share/ice/firefox/" I personally only use custom userContent.css to change the theme of my "application", for example gmail has a dark theme.

@Mark-Peppermint Glad to help, I think we are going to have an answer from KDE bug tracker soon.

michaldybczak commented 6 years ago

Here is my desktop file:

[Desktop Entry]
Version=1.0
Name=Asana
Comment=Asana (Ice SSB)
Exec=chromium-browser --app=https://app.asana.com
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/michaldybczak/.local/share/ice/asana.png
Categories=GTK;Office;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupWMClass=app.asana.com_
StartupNotify=true

It shows as Chromium. Even when I find it through Plasma's menu editor and give it some other icon, it works only in program's menu, but on latte dock, it's showed as chromium and grouped together.

eversins commented 6 years ago

For a test try this file

[Desktop Entry]
Version=1.0
Name=Asana
Comment=Asana (Ice SSB)
Exec=chromium-browser --app=https://app.asana.com
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=gmail-offline
Categories=GTK;Office;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupWMClass=app.asana.com_
StartupNotify=true

If that does not work I suspect it is because it launches chromium-browser directly and not over ice-firefox for example.

But then Again, why don't you use the chromium app feature while it is still there? Go to your desired page -> press on the 3 setting dots -> More tools -> Add to desktop -> tick "open in windows". If you wan't a separate profile for it you can add it manually.

Your Link will look like this then:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Terminal=false
Type=Application
Name=name of page
Exec=/usr/bin/chromium --profile-directory=Default --app-id=xxxxxxxxxxxxxxxxx
Icon=chrome-xxxxxxxxxxxxxxxxx-Default
StartupWMClass=crx_xxxxxxxxxxxxxxxxx

You can remove apps or view them under chrome://apps/ .

michaldybczak commented 6 years ago

Thanks! Didn't know that feature and it works perfectly! I created desktop app from Chromium just as you described and it opens as separate window with site specific icon.

I checked the file you send and the result is the same - chromium icon, grouped with chromium.

As to icefirefox, I tried the same file as you showed on video so facebook through icefirefox and the result was again the same.

Mark-Peppermint commented 6 years ago

If it's about direct startup by Chromium, have you tried creating say:-

/usr/bin/ice-chromium

with contents like:-

#!/bin/sh
/usr/bin/chromium-browser "$@"

making it executable:

sudo chmod +x /usr/bin/ice-chromium

then making your launcher read something like:-

[Desktop Entry]
Version=1.0
Name=Asana
Comment=Asana (Ice SSB)
Exec=ice-chromium --app=https://app.asana.com
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=gmail-offline
Categories=GTK;Office;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupWMClass=app.asana.com_
StartupNotify=true

That might also tell us if the latte-dock is grouping by executable name.

If this works, it'd be easy enough to tweak ICE

michaldybczak commented 6 years ago

Did as you said. Still the same. Desktop file has gmail icon, but after launch it has chromium icon and is once again grouped with chromium. I also checked it with panel (not now but with previous desktop file version) and it reacts in the same way as latte.

It looks like the issue is not so simple

eversins commented 6 years ago

@michaldybczak Could you post at the KDE bugtracker and also test what was suggested there? Since it is working for me here with FF it is kind of an annoyance to test. https://bugs.kde.org/show_bug.cgi?id=391539

Mark-Peppermint commented 6 years ago

Firefox seems to completely ignore StartupWMClass as set in the .desktop file...

So what happens if you edit /usr/bin/ice-firefox, and change: execute = 'firefox -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1] to: execute = 'firefox --class ice -profile ' + path + ' -no-remote -new-instance' + ' ' + sys.argv[1] that should tell FF SSB's to start with "ice" as the wmclass.

Now running xprop WM_CLASS and clicking in the open SSB window should return: "Navigator", "ice" instead of the default: "Navigator", "Firefox"

The above won;t change the window icon, but it might stop SSB's from grouping with the Firefox items on your panel (?)

michaldybczak commented 5 years ago

I checked today and the issue is still there. It's so fundamentally broken on Plasma that it's not usable.

When I create any webapp, opening any browser switches its icon to icessb. So when I have an app made to open with Firefox, my Chromium regular window switches icon to ice-ssb. So it seems even worse then I remebered. I'm using Plasma 5.14.1 at the moment. Currently, ice-ssb cannot even download app icon from the site and always shows error (as if a site was not answering).

It's a pity because Chrome/Chromium broke their tool to create webapps completely so now there is no way to have this simple and elegant solution :(.

rhein commented 5 years ago

This one was bugging me for a long time, but I believe I got a working solution now.

Background What we have to relalize: StartupWMClass is the class our WindowManager / DE will use to match running windows with. This class is not assigned to the window (as one could asume from the name), it rather is a hint to the WM saying "the window will start with a class of yxz". The WM basically parses all .desktop files it knows, and builds a table of WMClass:Icon pairs to know what icon to display for what window. So, in order to have a unique icon for our SSB browser, this needs to be something unique.

For each window, one can figure out what WMClass it has by running xprop WM_CLASS in a terminal, and clicking the window of interest. For a newly created ICE SSB example of https://www.github.com, this will give something like: WM_CLASS(STRING) = "www.github.com", "Chromium"

Solution Now, in order to have the WM use a uniqe Icon for this (and only this) SSB Browser, we need to adjust the .desktop file created by ice-ssb, usually located in ~/.local/share/applications/

By default, this will have StartupWMClass=Chromium for a Chromium-based SSB. This needs to be changed into the first entry from xprop WM_CLASS, so in this case StartupWMClass=www.github.com

Restart the SSB App any running Chromium instances, and it should have a uniqe icon that does not group or hijack the Chromium (or Chrome, or Firefox) app/icon in the taskbar any longer.

Alternative Another way to get the same result is to set StartupWMClass= to some random string (or meaningful name, such as ice-ssb-github) and pass this via --class= flag to the Exec entry in the .desktop file.

In my example, it originally reads: Exec=chromium-browser --app=https://www.github.com I can change this into Exec=chromium-browser --app=https://www.github.com --class=ice-ssb-github and also set StartupWMClass=ice-ssb-github to have the same effect.

Take-Away We just need to make sure 2 things: 1) the ice-ssb-window has a unique class name 2) we set this unique class name as StartupWMClass in the .desktop file to associate the icon

michaldybczak commented 5 years ago

Thanks! I tested those two solutions on my system.

First worked great and the app didn't hijack chromium. My settings:

Exec=chromium-browser --app=https://app.asana.com/
StartupWMClass=app.asana.com

The second one was simply defaulting to chromium additional window. My settings:

Exec=chromium-browser --app=https://app.asana.com/ --class=ice-ssb-asana
StartupWMClass=ice-ssb-asana

So, in the end, I had multiple chromium windows which is bad for window/app management.

Because Chrome/Chromium now uses CSD (client side decorations) for SSB apps and we can't change it, I would gladly use ice-ssb instead (then Plasma can use SSD - server-side decorations).

Actually, now that I tested and had success with the first solution, I can always tweak desktop files manually, so ice-ssb is useful again. However, in the long run, it should be automated, because how people would know how to tweak it manually? On the surface, it would look buggy.

EDIT: After changing.desktop file I noticed that the asana app disappeared from the app lists in ice-ssb.

rhein commented 5 years ago

@michaldybczak Glad it at least party worked for you. 2 questions:

I can not reproduce the disappearance from the ice-ssb list, did you do any other changes in the file?

EDIT: Automating this within ice-ssb should actually be easy, but only for variant 2 I believe (as otherwise we would have to guess the class that is assigned by the browser)

EDIT 2: I found the problem causing the disappearance, its line 84 of the script (this is where the ice-ssb app tries to figure out what apps it actually manages). Would be easy to fix with variant 2 as well, so we need to figure out why this does not work for you.

michaldybczak commented 5 years ago

I'm on Manjaro KDE. On one laptop it's stable, on another, it's testing, so I'm on the same version of Plasma as you.

Both first and second solution shows the same: WM_CLASS(STRING) = "app.asana.com", "Chromium"

I checked on another computer and it behaves the same.

I checked with Firefox and... the first solution isn't working. The app is shown as another FF window, just like in the second solution. Looks like not every browser behaves in the same way with ice-ssb. Here are my settings for FF:


Exec=ice-firefox https://app.asana.com --app=https://app.asana.com
StartupWMClass=app.asana.com

First and second soliution show: WM_CLASS(STRING) = "Navigator", "Firefox"

So basically on two different computers and different installs (the same OS, different branches), it behaves the same.

EDIT: Chromium app does this:

Exec=/usr/bin/chromium --profile-directory=Default --app-id=chalgpjagdicohcineknogdafdafejbg
StartupWMClass=crx_chalgpjagdicohcineknogdafdafejbg
Mark-Peppermint commented 5 years ago

I'm not ignoring this guys, and thanks for the input .. I'm just super busy with the Peppermint 9 Respin at the moment. This thread always seems to liven up just prior to a Peppermint release.

rhein commented 5 years ago

@Mark-Peppermint: no worries, let us try to figure a solution and submit a patch once it is working.

rhein commented 5 years ago

@michaldybczak: I have played around a bit more, focusing on Chromium based browsers for now.

Version 2 actually only works when using a separate profile-directory for the SSB-App (which I prefer anyway, as it decouples cookies etc. from the "normal" browsing). My posted solution skipped this, but now I see it is indeed needed.

Could you try this out? My working live example Github config now reads (all other lines stay as written by ice-ssb):

Exec=chromium-browser --app=https://github.com --class=Chromium-Ice-SSB-Github --user-data-dir=/home/xxx/.local/share/ice/profiles/github
StartupWMClass=Chromium-Ice-SSB-Github

Keeping StartupWMClass=Chromium as a string is the workaround for the disappearance of the app in the "Remove" list. But I already have a better fix for this, can be worked out quite easily.

Also works for Chrome in my tests.

michaldybczak commented 5 years ago

I tried this:

[Desktop Entry]
Version=1.0
Name=Asana-Ice
Comment=Asana-Ice (Ice SSB)
Exec=chromium-browser --app=https://app.asana.com/ --class=Chromium-Ice-SSB-Asana --user-data-dir=/home/michaldybczak/.local/share/ice/profiles/asana
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/michaldybczak/.local/share/ice/asanaice.png
Categories=GTK;Network;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupWMClass=Chromium-Ice-SSB-Asana
StartupNotify=true

No dice, unless I'm doing something wrong. Ice-SSB hijacks chromium fully, even if asana app is not open, chromium launches with asana app (in this case ice icon, since ice-ssb can't get the icon correctly).

I don't pretend to understand it fully. I'm more of a testing monkey. What you show, I try to copy and report the result, sorry I can't be more helpful.

Now we go on the ground of other issues. Different session/profile is something some want because it allows for launching multiple windows of the same applications and each can use different session/user. This can be helpful for some professionals. However, for me - an average user - this is more than an annoyance. I want to have in the same session/profile because all plugins work, including password manager. For me, the most important aspect of SSBs is to have independently marked window that I can easily manage while using the same session. I don't need to separate it. There are apps that I use every day at work and I don't want them to be in tabs of my browser where they are harder to get, not easily switched to. The separate session only causes more issues then helps with anything for me.

So before we go on that route, make sure it won't throw a baby with the water. It is already a problem with Firefox where you don't have access to plugins in SSB, so I have to use FF built-n password storage feature. Sometimes, with some apps, I may want to have additional features that come from my extensions and this is problematic or even impossible because even when I access the menu and click on extensions, nothing happens, as the SSB won't allow for opening a new tab. For the example: YouTube SSB can be greatly enhanced by some great extensions like Iridium. Using FF in ice-ssb just makes it useless. On Chromium, it works as I want. Basically, what I'm saying, we should provide with two options (separate profile/session or joined one) if that's possible, but that would require some improvements in the ice-ssb app.

There are other SSB solutions, like Chromium (gtk CSD, would like to avoid it if possible), Wavebox and some additional app that I forgot how it's named. Ice-SSB potentially can be the greatest, because it can do what Chromium is already doing but without gtk CSD annoyance. Wavebox is for professionals but sucks for average use that I need.

SSBs are highly underrated and unknown but they are awesome for creating more efficient workflows plus they just use resources as if it was just an additional tab in a browser (assuming that browser is already launched), while electron wrappers are just heavy and limiting (no extensions).

I find it surprising that most SSBs miss the most basic functionality: separate icon for an app, easily accessible in a menu, desktop or icon launcher, a separate window with own icon. "Professional" apps force us to do multiple steps to access the app which is a deal breaker for me.

Mark-Peppermint commented 5 years ago

no worries, let us try to figure a solution and submit a patch once it is working.

That would be terrific :)

rhein commented 5 years ago

No dice, unless I'm doing something wrong.

If I just copy your code and save directly as asanaice.desktop it works fine for me (after replacing the user-name in the path of course).

Can you please check if directory /home/michaldybczak/.local/share/ice/profiles/asana does actually exist? It might be you need to manually create /home/michaldybczak/.local/share/ice/profiles directory first.

And thanks for the explanation of your use case; it is a bit different than mine, however I completely agree that this is a common usecase and there should be a way to set things up like this. Maybe we can PM about this in more detail as to not overload this thread.

michaldybczak commented 5 years ago

The location wasn't there till I started the app and it showed up with all its files and structure, so the lack of the directory wasn't the problem here, unless I had to put there something specific?

Sure, you can PM me at any time.

rhein commented 4 years ago

As this issue still shows in search results: take a look at #33 which shows a solution for this issue. I can get all my SSB to show with the correct icon at all relevant places that way (start-menu, k-runner, taskbar, titlebar, task-switcher).

michaldybczak commented 4 years ago

Haven'tried Chrome/Chromium for ssb's for a long time, but FF works great and I don't see this issue anymore.

childeofentropy commented 3 years ago

I tried @rhein solution, but won't budge. i am running on xfce debian. any other clues? this is my .desktop file:

[Desktop Entry] Version=1.0 Name=github Comment=github (Ice SSB) Exec=firefox --class ICE-SSB-github --profile /home/user1/.local/share/ice/firefox/github --no-remote https://github.com --class=ice-ssb-github IceFirefox=github Terminal=false X-MultipleArgs=false Type=Application #Icon=/home/user1/.local/share/ice/github.png Icon=/home/user1/.local/share/applications/github.png Categories=GTK;Network; MimeType=text/html;text/xml;application/xhtml_xml; #StartupWMClass=ICE-SSB-github StartupWMClass=https://github.com StartupNotify=true

thanks!

rhein commented 3 years ago

@childeofentropy I believe your config is slightly broken, I can get it to work with no problem using this config:

[Desktop Entry]
Version=1.0
Name=github
Comment=github (Ice SSB)
Exec=firefox --class=ICE-SSB-github --profile /home/user1/.local/share/ice/firefox/github --no-remote https://github.com
IceFirefox=github
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=/home/user1/.local/share/applications/github.png
Categories=GTK;Network;
MimeType=text/html;text/xml;application/xhtml_xml;
StartupWMClass=ICE-SSB-github
StartupNotify=true

Specifically, you have the --class parameter twice in the exec command.

childeofentropy commented 3 years ago

@rhein it won't work. this is how the file was prior to testing the solution mentioned above. so it was like this already and in my attempt to fix it i put the extra --class and the new lines while commenting # the old ones.

is there an incompatibility with xfce maybe? is there something else i am missing? this is the case for all the applications, regardless of image size, location, etc

if you can suggest any solution to this i would much appreciate it. Thanx

rhein commented 3 years ago

@childeofentropy sorry, I am pretty much unable to help out here as I don't have access to a fxce system.

However, you say

this is the case for all the applications, regardless of image size, location, etc

what do you mean with that? Maybe I also did not quite get the original problem, you make a new .desktop file for github and then what happens if you open it?

childeofentropy commented 3 years ago

Hi @rhein ,

the app file opens normally, however the issue is that when i launch the app it doesn't have the proper icon on the taskbar/panel, and every app has the firefox icon. This is not the case with the launcher where the image is the correct one, just on the panel, making the use of this amazing application very frustrating since there is no way to distinguish between one app and the other, everything looks like firefox while minimized on the panel.

what i meant was that this issue is persistent regardless of what type of icon i set as the image (png jpeg image size), and regardless of applications made (.desktop of many different websites, from youtube to github to forums, with preferred website image or not)

i was wondering it's due to an xfce incompatibility or if it's on my system only. bc i tried all the tips here and on other topics, with no solution yes.

thanks again for your time

rhein commented 3 years ago

Hi @childeofentropy - I see, so it applies to all "web-apps" that are firefox based. 2 things come to mind: