Multiple chromium icons in launcher of 14.04 LTSRunning a .desktop file in the terminalHow do I permanently...
I can't die. Who am I?
Was it really inappropriate to write a pull request for the company I interviewed with?
Too soon for a plot twist?
What does the Digital Threat scope actually do?
Would those living in a "perfect society" not understand satire
School performs periodic password audits. Is my password compromised?
Use Mercury as quenching liquid for swords?
Count each bit-position separately over many 64-bit bitmasks, with AVX but not AVX2
Are these two graphs isomorphic? Why/Why not?
Having the player face themselves after the mid-game
Can one live in the U.S. and not use a credit card?
Is it a Cyclops number? "Nobody" knows!
Playing a 7-string guitar song on a 6-string guitar
Called into a meeting and told we are being made redundant (laid off) and "not to share outside". Can I tell my partner?
How exactly does an Ethernet collision happen in the cable, since nodes use different circuits for Tx and Rx?
How should I solve this integral with changing parameters?
Can I take the the bonus-action attack from Two-Weapon Fighting without taking the Attack action?
What is this tube in a jet engine's air intake?
If sound is a longitudinal wave, why can we hear it if our ears aren't aligned with the propagation direction?
How do spaceships determine each other's mass in space?
Is there a logarithm base for which the logarithm becomes an identity function?
Do Cubics always have one real root?
How is it possible to drive VGA displays at such high pixel clock frequencies?
Gomel chasadim tovim - are there bad chasadim?
Multiple chromium icons in launcher of 14.04 LTS
Running a .desktop file in the terminalHow do I permanently change window titles?All browsers with one icon in the launcher!Why does custom launcher behavior differ in the Dash and other means of launching?Can I make new tabs open in my default Chrome(ium) profile?Custom VirtualBox Launcher in GNOME 3No background for launcher icons (14.04)Unity launcher: how can I make it show one icon per window?How to change icon for mounted devices in Unity/Nautilus?How can I create profile-specific launchers for Chrome in 16.04?Chromium does not start up on Ubuntu 14.04 LTSHow can I start a separate instance (not profile) of Chromium, with its own icon?
EDIT 2014-04-19:
To add a little extra context to my question, these are the original instructions I followed http://ricardofeliciano.me/how-to-create-a-unity-launcher-icon-for-each-chromechromium-profile-in-ubuntu/. I got it to work with Ubuntu 14.04 LTS a few weeks before the official release date. After updating on April 17th I can no longer get it to work:
ORIGINAL POST:
I installed Ubuntu 14.04 LTS a few weeks before the official release and set up multiple google chromium profiles. Using "StartupWMClass", I managed to get each profile to have a separate version of the chromium icon in the unity launcher (same icon, separate appearance in the launcher). After the official release of 14.04 I updated all packages (including chromium) and ever since my additional chromium profiles no longer get their own icon location on the launcher, but group together with the main chromium icon.
here's what I believe to be the essentials of my setup:
- Under
~/.local/share/applications/
I have my *.desktop files, containing among others the lines
Exec=chromium-browser --user-data-dir=/home/<mydir>/.config/chromium/Profiles/<profile-name> --class=<profile-class-name> %U
StartupWMClass=<profile-class-name>
- Under
/usr/share/applications/
I have the default chromium-browser.desktop file created upon installing chromium, containing among others the lines
Exec=chromium-browser --class=Chromium-browser %U
StartupWMClass=Chromium-browser
Adding --class=Chromium-browser
to the Exec= line of the default installation .desktop file used to do the trick so that each profile including the default profile would be associated with their own icon on the launcher. After the update I am no longer able to get this to work.
I tried:
- closing all chromium windows,
- unlocking from launcher any remaining chromium icons,
- using the unity search to start the default Chromium Web Browser,
- locking the appearing icon to the launcher
- using the unity search to start an additional, custom Chromium profile
- --> the window of the additional chromium profile is associated with the the icon started for the default chromium profile. They use the same launcher icon.
I tried restarting compiz, logging out and even restarting my computer.
Any tips on what I might be missing?
p.s. One thing that confuses me is that the launcher I created for Google Calendar with File -> Create application shortcuts...
works as expected (uses it's own, different icon), and doesn't even make use of the --class=<profile>
argument I thought was necessary...
unity launcher google-chrome icons chromium
|
show 2 more comments
EDIT 2014-04-19:
To add a little extra context to my question, these are the original instructions I followed http://ricardofeliciano.me/how-to-create-a-unity-launcher-icon-for-each-chromechromium-profile-in-ubuntu/. I got it to work with Ubuntu 14.04 LTS a few weeks before the official release date. After updating on April 17th I can no longer get it to work:
ORIGINAL POST:
I installed Ubuntu 14.04 LTS a few weeks before the official release and set up multiple google chromium profiles. Using "StartupWMClass", I managed to get each profile to have a separate version of the chromium icon in the unity launcher (same icon, separate appearance in the launcher). After the official release of 14.04 I updated all packages (including chromium) and ever since my additional chromium profiles no longer get their own icon location on the launcher, but group together with the main chromium icon.
here's what I believe to be the essentials of my setup:
- Under
~/.local/share/applications/
I have my *.desktop files, containing among others the lines
Exec=chromium-browser --user-data-dir=/home/<mydir>/.config/chromium/Profiles/<profile-name> --class=<profile-class-name> %U
StartupWMClass=<profile-class-name>
- Under
/usr/share/applications/
I have the default chromium-browser.desktop file created upon installing chromium, containing among others the lines
Exec=chromium-browser --class=Chromium-browser %U
StartupWMClass=Chromium-browser
Adding --class=Chromium-browser
to the Exec= line of the default installation .desktop file used to do the trick so that each profile including the default profile would be associated with their own icon on the launcher. After the update I am no longer able to get this to work.
I tried:
- closing all chromium windows,
- unlocking from launcher any remaining chromium icons,
- using the unity search to start the default Chromium Web Browser,
- locking the appearing icon to the launcher
- using the unity search to start an additional, custom Chromium profile
- --> the window of the additional chromium profile is associated with the the icon started for the default chromium profile. They use the same launcher icon.
I tried restarting compiz, logging out and even restarting my computer.
Any tips on what I might be missing?
p.s. One thing that confuses me is that the launcher I created for Google Calendar with File -> Create application shortcuts...
works as expected (uses it's own, different icon), and doesn't even make use of the --class=<profile>
argument I thought was necessary...
unity launcher google-chrome icons chromium
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
1
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
1
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
1
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00
|
show 2 more comments
EDIT 2014-04-19:
To add a little extra context to my question, these are the original instructions I followed http://ricardofeliciano.me/how-to-create-a-unity-launcher-icon-for-each-chromechromium-profile-in-ubuntu/. I got it to work with Ubuntu 14.04 LTS a few weeks before the official release date. After updating on April 17th I can no longer get it to work:
ORIGINAL POST:
I installed Ubuntu 14.04 LTS a few weeks before the official release and set up multiple google chromium profiles. Using "StartupWMClass", I managed to get each profile to have a separate version of the chromium icon in the unity launcher (same icon, separate appearance in the launcher). After the official release of 14.04 I updated all packages (including chromium) and ever since my additional chromium profiles no longer get their own icon location on the launcher, but group together with the main chromium icon.
here's what I believe to be the essentials of my setup:
- Under
~/.local/share/applications/
I have my *.desktop files, containing among others the lines
Exec=chromium-browser --user-data-dir=/home/<mydir>/.config/chromium/Profiles/<profile-name> --class=<profile-class-name> %U
StartupWMClass=<profile-class-name>
- Under
/usr/share/applications/
I have the default chromium-browser.desktop file created upon installing chromium, containing among others the lines
Exec=chromium-browser --class=Chromium-browser %U
StartupWMClass=Chromium-browser
Adding --class=Chromium-browser
to the Exec= line of the default installation .desktop file used to do the trick so that each profile including the default profile would be associated with their own icon on the launcher. After the update I am no longer able to get this to work.
I tried:
- closing all chromium windows,
- unlocking from launcher any remaining chromium icons,
- using the unity search to start the default Chromium Web Browser,
- locking the appearing icon to the launcher
- using the unity search to start an additional, custom Chromium profile
- --> the window of the additional chromium profile is associated with the the icon started for the default chromium profile. They use the same launcher icon.
I tried restarting compiz, logging out and even restarting my computer.
Any tips on what I might be missing?
p.s. One thing that confuses me is that the launcher I created for Google Calendar with File -> Create application shortcuts...
works as expected (uses it's own, different icon), and doesn't even make use of the --class=<profile>
argument I thought was necessary...
unity launcher google-chrome icons chromium
EDIT 2014-04-19:
To add a little extra context to my question, these are the original instructions I followed http://ricardofeliciano.me/how-to-create-a-unity-launcher-icon-for-each-chromechromium-profile-in-ubuntu/. I got it to work with Ubuntu 14.04 LTS a few weeks before the official release date. After updating on April 17th I can no longer get it to work:
ORIGINAL POST:
I installed Ubuntu 14.04 LTS a few weeks before the official release and set up multiple google chromium profiles. Using "StartupWMClass", I managed to get each profile to have a separate version of the chromium icon in the unity launcher (same icon, separate appearance in the launcher). After the official release of 14.04 I updated all packages (including chromium) and ever since my additional chromium profiles no longer get their own icon location on the launcher, but group together with the main chromium icon.
here's what I believe to be the essentials of my setup:
- Under
~/.local/share/applications/
I have my *.desktop files, containing among others the lines
Exec=chromium-browser --user-data-dir=/home/<mydir>/.config/chromium/Profiles/<profile-name> --class=<profile-class-name> %U
StartupWMClass=<profile-class-name>
- Under
/usr/share/applications/
I have the default chromium-browser.desktop file created upon installing chromium, containing among others the lines
Exec=chromium-browser --class=Chromium-browser %U
StartupWMClass=Chromium-browser
Adding --class=Chromium-browser
to the Exec= line of the default installation .desktop file used to do the trick so that each profile including the default profile would be associated with their own icon on the launcher. After the update I am no longer able to get this to work.
I tried:
- closing all chromium windows,
- unlocking from launcher any remaining chromium icons,
- using the unity search to start the default Chromium Web Browser,
- locking the appearing icon to the launcher
- using the unity search to start an additional, custom Chromium profile
- --> the window of the additional chromium profile is associated with the the icon started for the default chromium profile. They use the same launcher icon.
I tried restarting compiz, logging out and even restarting my computer.
Any tips on what I might be missing?
p.s. One thing that confuses me is that the launcher I created for Google Calendar with File -> Create application shortcuts...
works as expected (uses it's own, different icon), and doesn't even make use of the --class=<profile>
argument I thought was necessary...
unity launcher google-chrome icons chromium
unity launcher google-chrome icons chromium
edited Apr 19 '14 at 14:11
Student
asked Apr 18 '14 at 21:33
StudentStudent
12113
12113
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
1
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
1
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
1
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00
|
show 2 more comments
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
1
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
1
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
1
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
1
1
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
1
1
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
1
1
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00
|
show 2 more comments
1 Answer
1
active
oldest
votes
I came up with this abomination (personal opinion... I'd just like for it to work with sh :) ) It has a few tricks, but is pretty robust for two Windows.. You could specify further windows too, but they have to be manually added by adding more "specificprofile1"
along with the corresponding function.. Maybe someone could make it have more.. logic!
#!/bin/bash
# chromium-start.sh $1
# e.g. put:
# chrome-start.sh "Profile 1" to .desktop Exec=
# wmctrl -o 1366,0 ; chromium-browser %U --profile-directory=Profile 2 & sleep 3; wmctrl -o 0,0
# $1 = Profile folder name
profilename=$1
#2nd Chromium profile
specificprofile1="Profile 1"
echo "starting Chromium"
echo "args: " $1
echo "Profile name: " $profilename
echo "Specific profile: " $specificprofile1
# Just setting Chromium scaling variable, because of course Google Devs don't care about no fractional scaling on linux
scale_var=0.8
# Check if Chromium window with the specified class already exists
# Also allows using icons as "taskbar" switches (clicking icon takes to corresponding Chromium Window)
if wmctrl -l -x | grep "chromium-$profilename"
then
echo "Chromium Window exists, moving focus to it"
wmctrl -x -R chromium-"$profilename"
echo "true"
# Check if 2nd profile $specifiedprofile1 has been started yet or not. The WMCLASS(es) has to have been set correctly...
elif [[ "$specificprofile1" == "$profilename" ]] && [[ ! "`wmctrl -l -x | grep chromium-"$specificprofile1"`" ]]
then
# TODO: Nesting
if [ "$specificprofile1" == "$profilename" ]
then
echo $specificprofile1 "equals" $profilename
fi
echo "#2 Chromium Window for $specificprofile1 does not exist"
# wmctrl moves to specific position of desktop (1366 means moving to the following workspace since my resolution is 1366x768)
# Be careful if using sleep timing, since the command needs to have enough time to execute to have the window in the correct workspace
wmctrl -o 1366,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# Set's the chromium window which was opened latest to have a custom class, since Chromium doesn't care about the --class= flag...
# It has it's limitations, but should be robust enough for most use... Has not been tested long term.. Something probably could reset the WM_CLASS again
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
# Alternative method for checking if a window with specified class exists
# xprop -id "$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')" | grep -o "WM_CLASS(STRING) = ".*"" | grep -o '".*"' | tr -d '"'
# https://stackoverflow.com/a/19441380/5776626
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
done
# sleep 3
# Move Window directly to workspace (#2 with 1366x768 resolution x = 1366), optionally comment out wmctrl -o 1366,0
# wmctrl -v -i -r $winid -e 0,1366,0,-1,-1
# sleep 5
# Move back to workspace #1
wmctrl -o 0,0
elif ! wmctrl -l -x | grep chromium-"$profilename"
then
echo "#3 Chromium Window $profilename does not exist"
wmctrl -o 0,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# ....
# sleep 3
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
done
wmctrl -o 0,0
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
fi
Issues:
Printing gives errors (deprecation warnings..):
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
For debugging you can use the following to print out the errors when using actual icons:
https://askubuntu.com/a/664272/654028 (# The Manual alternative)
awk '/^Exec=/ {sub("^Exec=", ""); gsub(" ?%[cDdFfikmNnUuv]", ""); exit system($0)}' chrome-ws2.desktop
while loop bugs out, probably because of looping interval
Error: no such file "at while function"
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
Also when clicking a corresponding .desktop icon too fast (before the custom class has been set ?), a new window will be opened..
(quite) Sometimes when starting from both Chromium too fast (~<3s), the class of the previously opened window gets reset to chromium-browser.chromium-browser..
Then you can expect the icons to have swapped around or other unexpected behavior.
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f450113%2fmultiple-chromium-icons-in-launcher-of-14-04-lts%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
I came up with this abomination (personal opinion... I'd just like for it to work with sh :) ) It has a few tricks, but is pretty robust for two Windows.. You could specify further windows too, but they have to be manually added by adding more "specificprofile1"
along with the corresponding function.. Maybe someone could make it have more.. logic!
#!/bin/bash
# chromium-start.sh $1
# e.g. put:
# chrome-start.sh "Profile 1" to .desktop Exec=
# wmctrl -o 1366,0 ; chromium-browser %U --profile-directory=Profile 2 & sleep 3; wmctrl -o 0,0
# $1 = Profile folder name
profilename=$1
#2nd Chromium profile
specificprofile1="Profile 1"
echo "starting Chromium"
echo "args: " $1
echo "Profile name: " $profilename
echo "Specific profile: " $specificprofile1
# Just setting Chromium scaling variable, because of course Google Devs don't care about no fractional scaling on linux
scale_var=0.8
# Check if Chromium window with the specified class already exists
# Also allows using icons as "taskbar" switches (clicking icon takes to corresponding Chromium Window)
if wmctrl -l -x | grep "chromium-$profilename"
then
echo "Chromium Window exists, moving focus to it"
wmctrl -x -R chromium-"$profilename"
echo "true"
# Check if 2nd profile $specifiedprofile1 has been started yet or not. The WMCLASS(es) has to have been set correctly...
elif [[ "$specificprofile1" == "$profilename" ]] && [[ ! "`wmctrl -l -x | grep chromium-"$specificprofile1"`" ]]
then
# TODO: Nesting
if [ "$specificprofile1" == "$profilename" ]
then
echo $specificprofile1 "equals" $profilename
fi
echo "#2 Chromium Window for $specificprofile1 does not exist"
# wmctrl moves to specific position of desktop (1366 means moving to the following workspace since my resolution is 1366x768)
# Be careful if using sleep timing, since the command needs to have enough time to execute to have the window in the correct workspace
wmctrl -o 1366,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# Set's the chromium window which was opened latest to have a custom class, since Chromium doesn't care about the --class= flag...
# It has it's limitations, but should be robust enough for most use... Has not been tested long term.. Something probably could reset the WM_CLASS again
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
# Alternative method for checking if a window with specified class exists
# xprop -id "$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')" | grep -o "WM_CLASS(STRING) = ".*"" | grep -o '".*"' | tr -d '"'
# https://stackoverflow.com/a/19441380/5776626
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
done
# sleep 3
# Move Window directly to workspace (#2 with 1366x768 resolution x = 1366), optionally comment out wmctrl -o 1366,0
# wmctrl -v -i -r $winid -e 0,1366,0,-1,-1
# sleep 5
# Move back to workspace #1
wmctrl -o 0,0
elif ! wmctrl -l -x | grep chromium-"$profilename"
then
echo "#3 Chromium Window $profilename does not exist"
wmctrl -o 0,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# ....
# sleep 3
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
done
wmctrl -o 0,0
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
fi
Issues:
Printing gives errors (deprecation warnings..):
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
For debugging you can use the following to print out the errors when using actual icons:
https://askubuntu.com/a/664272/654028 (# The Manual alternative)
awk '/^Exec=/ {sub("^Exec=", ""); gsub(" ?%[cDdFfikmNnUuv]", ""); exit system($0)}' chrome-ws2.desktop
while loop bugs out, probably because of looping interval
Error: no such file "at while function"
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
Also when clicking a corresponding .desktop icon too fast (before the custom class has been set ?), a new window will be opened..
(quite) Sometimes when starting from both Chromium too fast (~<3s), the class of the previously opened window gets reset to chromium-browser.chromium-browser..
Then you can expect the icons to have swapped around or other unexpected behavior.
add a comment |
I came up with this abomination (personal opinion... I'd just like for it to work with sh :) ) It has a few tricks, but is pretty robust for two Windows.. You could specify further windows too, but they have to be manually added by adding more "specificprofile1"
along with the corresponding function.. Maybe someone could make it have more.. logic!
#!/bin/bash
# chromium-start.sh $1
# e.g. put:
# chrome-start.sh "Profile 1" to .desktop Exec=
# wmctrl -o 1366,0 ; chromium-browser %U --profile-directory=Profile 2 & sleep 3; wmctrl -o 0,0
# $1 = Profile folder name
profilename=$1
#2nd Chromium profile
specificprofile1="Profile 1"
echo "starting Chromium"
echo "args: " $1
echo "Profile name: " $profilename
echo "Specific profile: " $specificprofile1
# Just setting Chromium scaling variable, because of course Google Devs don't care about no fractional scaling on linux
scale_var=0.8
# Check if Chromium window with the specified class already exists
# Also allows using icons as "taskbar" switches (clicking icon takes to corresponding Chromium Window)
if wmctrl -l -x | grep "chromium-$profilename"
then
echo "Chromium Window exists, moving focus to it"
wmctrl -x -R chromium-"$profilename"
echo "true"
# Check if 2nd profile $specifiedprofile1 has been started yet or not. The WMCLASS(es) has to have been set correctly...
elif [[ "$specificprofile1" == "$profilename" ]] && [[ ! "`wmctrl -l -x | grep chromium-"$specificprofile1"`" ]]
then
# TODO: Nesting
if [ "$specificprofile1" == "$profilename" ]
then
echo $specificprofile1 "equals" $profilename
fi
echo "#2 Chromium Window for $specificprofile1 does not exist"
# wmctrl moves to specific position of desktop (1366 means moving to the following workspace since my resolution is 1366x768)
# Be careful if using sleep timing, since the command needs to have enough time to execute to have the window in the correct workspace
wmctrl -o 1366,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# Set's the chromium window which was opened latest to have a custom class, since Chromium doesn't care about the --class= flag...
# It has it's limitations, but should be robust enough for most use... Has not been tested long term.. Something probably could reset the WM_CLASS again
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
# Alternative method for checking if a window with specified class exists
# xprop -id "$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')" | grep -o "WM_CLASS(STRING) = ".*"" | grep -o '".*"' | tr -d '"'
# https://stackoverflow.com/a/19441380/5776626
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
done
# sleep 3
# Move Window directly to workspace (#2 with 1366x768 resolution x = 1366), optionally comment out wmctrl -o 1366,0
# wmctrl -v -i -r $winid -e 0,1366,0,-1,-1
# sleep 5
# Move back to workspace #1
wmctrl -o 0,0
elif ! wmctrl -l -x | grep chromium-"$profilename"
then
echo "#3 Chromium Window $profilename does not exist"
wmctrl -o 0,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# ....
# sleep 3
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
done
wmctrl -o 0,0
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
fi
Issues:
Printing gives errors (deprecation warnings..):
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
For debugging you can use the following to print out the errors when using actual icons:
https://askubuntu.com/a/664272/654028 (# The Manual alternative)
awk '/^Exec=/ {sub("^Exec=", ""); gsub(" ?%[cDdFfikmNnUuv]", ""); exit system($0)}' chrome-ws2.desktop
while loop bugs out, probably because of looping interval
Error: no such file "at while function"
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
Also when clicking a corresponding .desktop icon too fast (before the custom class has been set ?), a new window will be opened..
(quite) Sometimes when starting from both Chromium too fast (~<3s), the class of the previously opened window gets reset to chromium-browser.chromium-browser..
Then you can expect the icons to have swapped around or other unexpected behavior.
add a comment |
I came up with this abomination (personal opinion... I'd just like for it to work with sh :) ) It has a few tricks, but is pretty robust for two Windows.. You could specify further windows too, but they have to be manually added by adding more "specificprofile1"
along with the corresponding function.. Maybe someone could make it have more.. logic!
#!/bin/bash
# chromium-start.sh $1
# e.g. put:
# chrome-start.sh "Profile 1" to .desktop Exec=
# wmctrl -o 1366,0 ; chromium-browser %U --profile-directory=Profile 2 & sleep 3; wmctrl -o 0,0
# $1 = Profile folder name
profilename=$1
#2nd Chromium profile
specificprofile1="Profile 1"
echo "starting Chromium"
echo "args: " $1
echo "Profile name: " $profilename
echo "Specific profile: " $specificprofile1
# Just setting Chromium scaling variable, because of course Google Devs don't care about no fractional scaling on linux
scale_var=0.8
# Check if Chromium window with the specified class already exists
# Also allows using icons as "taskbar" switches (clicking icon takes to corresponding Chromium Window)
if wmctrl -l -x | grep "chromium-$profilename"
then
echo "Chromium Window exists, moving focus to it"
wmctrl -x -R chromium-"$profilename"
echo "true"
# Check if 2nd profile $specifiedprofile1 has been started yet or not. The WMCLASS(es) has to have been set correctly...
elif [[ "$specificprofile1" == "$profilename" ]] && [[ ! "`wmctrl -l -x | grep chromium-"$specificprofile1"`" ]]
then
# TODO: Nesting
if [ "$specificprofile1" == "$profilename" ]
then
echo $specificprofile1 "equals" $profilename
fi
echo "#2 Chromium Window for $specificprofile1 does not exist"
# wmctrl moves to specific position of desktop (1366 means moving to the following workspace since my resolution is 1366x768)
# Be careful if using sleep timing, since the command needs to have enough time to execute to have the window in the correct workspace
wmctrl -o 1366,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# Set's the chromium window which was opened latest to have a custom class, since Chromium doesn't care about the --class= flag...
# It has it's limitations, but should be robust enough for most use... Has not been tested long term.. Something probably could reset the WM_CLASS again
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
# Alternative method for checking if a window with specified class exists
# xprop -id "$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')" | grep -o "WM_CLASS(STRING) = ".*"" | grep -o '".*"' | tr -d '"'
# https://stackoverflow.com/a/19441380/5776626
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
done
# sleep 3
# Move Window directly to workspace (#2 with 1366x768 resolution x = 1366), optionally comment out wmctrl -o 1366,0
# wmctrl -v -i -r $winid -e 0,1366,0,-1,-1
# sleep 5
# Move back to workspace #1
wmctrl -o 0,0
elif ! wmctrl -l -x | grep chromium-"$profilename"
then
echo "#3 Chromium Window $profilename does not exist"
wmctrl -o 0,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# ....
# sleep 3
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
done
wmctrl -o 0,0
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
fi
Issues:
Printing gives errors (deprecation warnings..):
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
For debugging you can use the following to print out the errors when using actual icons:
https://askubuntu.com/a/664272/654028 (# The Manual alternative)
awk '/^Exec=/ {sub("^Exec=", ""); gsub(" ?%[cDdFfikmNnUuv]", ""); exit system($0)}' chrome-ws2.desktop
while loop bugs out, probably because of looping interval
Error: no such file "at while function"
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
Also when clicking a corresponding .desktop icon too fast (before the custom class has been set ?), a new window will be opened..
(quite) Sometimes when starting from both Chromium too fast (~<3s), the class of the previously opened window gets reset to chromium-browser.chromium-browser..
Then you can expect the icons to have swapped around or other unexpected behavior.
I came up with this abomination (personal opinion... I'd just like for it to work with sh :) ) It has a few tricks, but is pretty robust for two Windows.. You could specify further windows too, but they have to be manually added by adding more "specificprofile1"
along with the corresponding function.. Maybe someone could make it have more.. logic!
#!/bin/bash
# chromium-start.sh $1
# e.g. put:
# chrome-start.sh "Profile 1" to .desktop Exec=
# wmctrl -o 1366,0 ; chromium-browser %U --profile-directory=Profile 2 & sleep 3; wmctrl -o 0,0
# $1 = Profile folder name
profilename=$1
#2nd Chromium profile
specificprofile1="Profile 1"
echo "starting Chromium"
echo "args: " $1
echo "Profile name: " $profilename
echo "Specific profile: " $specificprofile1
# Just setting Chromium scaling variable, because of course Google Devs don't care about no fractional scaling on linux
scale_var=0.8
# Check if Chromium window with the specified class already exists
# Also allows using icons as "taskbar" switches (clicking icon takes to corresponding Chromium Window)
if wmctrl -l -x | grep "chromium-$profilename"
then
echo "Chromium Window exists, moving focus to it"
wmctrl -x -R chromium-"$profilename"
echo "true"
# Check if 2nd profile $specifiedprofile1 has been started yet or not. The WMCLASS(es) has to have been set correctly...
elif [[ "$specificprofile1" == "$profilename" ]] && [[ ! "`wmctrl -l -x | grep chromium-"$specificprofile1"`" ]]
then
# TODO: Nesting
if [ "$specificprofile1" == "$profilename" ]
then
echo $specificprofile1 "equals" $profilename
fi
echo "#2 Chromium Window for $specificprofile1 does not exist"
# wmctrl moves to specific position of desktop (1366 means moving to the following workspace since my resolution is 1366x768)
# Be careful if using sleep timing, since the command needs to have enough time to execute to have the window in the correct workspace
wmctrl -o 1366,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# Set's the chromium window which was opened latest to have a custom class, since Chromium doesn't care about the --class= flag...
# It has it's limitations, but should be robust enough for most use... Has not been tested long term.. Something probably could reset the WM_CLASS again
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
# Alternative method for checking if a window with specified class exists
# xprop -id "$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')" | grep -o "WM_CLASS(STRING) = ".*"" | grep -o '".*"' | tr -d '"'
# https://stackoverflow.com/a/19441380/5776626
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$specificprofile1"
done
# sleep 3
# Move Window directly to workspace (#2 with 1366x768 resolution x = 1366), optionally comment out wmctrl -o 1366,0
# wmctrl -v -i -r $winid -e 0,1366,0,-1,-1
# sleep 5
# Move back to workspace #1
wmctrl -o 0,0
elif ! wmctrl -l -x | grep chromium-"$profilename"
then
echo "#3 Chromium Window $profilename does not exist"
wmctrl -o 0,0
chromium-browser --profile-directory="$profilename" --force-device-scale-factor=$scale_var %U &
# https://askubuntu.com/a/626524/654028
# ....
# sleep 3
winrep=""
while [[ ! "`echo $winrep | grep -l "Map State: IsViewable"`" ]]
do
winid="$(wmctrl -l -x| grep "chromium-$profilename" | tail -n 1 |awk '{ print $1 }')"
# print $winid
winrep="$(xwininfo -id $winid | grep -o 'Map State: IsViewable')"
# print $winrep
sleep 0.75
xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
done
wmctrl -o 0,0
# xprop -id "$(wmctrl -l -x| grep "chromium-browser" | tail -n 1 |awk '{ print $1 }')" -f WM_CLASS 8s -set WM_CLASS "chromium-browser.chromium-$profilename"
fi
Issues:
Printing gives errors (deprecation warnings..):
Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/%{ <-- HERE (.*?)}/ at /usr/bin/print line 528.
For debugging you can use the following to print out the errors when using actual icons:
https://askubuntu.com/a/664272/654028 (# The Manual alternative)
awk '/^Exec=/ {sub("^Exec=", ""); gsub(" ?%[cDdFfikmNnUuv]", ""); exit system($0)}' chrome-ws2.desktop
while loop bugs out, probably because of looping interval
Error: no such file "at while function"
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
xwininfo: error: -id requires argument
xprop: error: Invalid window id format: .
Also when clicking a corresponding .desktop icon too fast (before the custom class has been set ?), a new window will be opened..
(quite) Sometimes when starting from both Chromium too fast (~<3s), the class of the previously opened window gets reset to chromium-browser.chromium-browser..
Then you can expect the icons to have swapped around or other unexpected behavior.
answered 14 mins ago
rkantosrkantos
11
11
add a comment |
add a comment |
Thanks for contributing an answer to Ask Ubuntu!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f450113%2fmultiple-chromium-icons-in-launcher-of-14-04-lts%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
To be honest, the whole construction seems rather fuzzy to me. Apart from the fact that I do not follow your description of the setup you made: a)you can give a desktop file multiple entries, without the complicated setup b) taking old desktop files to new versions of Ubuntu is a bad idea in general, because of possible mismatches of commands in old (local) desktop files and global ones of newer application versions that come with the new Ubuntu release. c) If you keep a local .desktop file of an application, the global one plays no role wahtsoever, not in the Unity launcher, not in Dash.
– Jacob Vlijm
Apr 18 '14 at 22:34
please let me know if there is anything I can do to clarify my problem. The original instructions I followed were ricardofeliciano.me/…. That might help put my question into context.
– Student
Apr 19 '14 at 9:57
1
I see, I removed my answer because I think I misunderstood your setup and what you want to achieve ;) I have to run, will look into it tonight (unless someone else solved the problem in the meantime)
– Jacob Vlijm
Apr 19 '14 at 10:14
1
I do not have an answer, but I simply think Unity does not accept anymore that application windows are grouped under another icon than the icon of the "native" desktop file, meaning: the desktop file with the application-command as its native command. That is actually a good thing, and I indeed noticed more consistancy and less errors in how desktop files behave in the launcher lately. However, I think your solution does not work anymore, as I tried myself.
– Jacob Vlijm
Apr 19 '14 at 19:44
1
This is not working anymore in Ubuntu 14.04 due to a chromium bug, caused by the switch to v34 (and aura engine). Unity has not changed anything related to this.
– Treviño
Apr 30 '14 at 5:00