Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

There are plenty of answered questions regarding this subject but how on earth can icons be moved permanently so that after the next boot they are where they were left? Some icons to programs I use a lot were installed the most recently, so consequently their Unity launcher icons are at the bottom of the bar, neatly "folded away." The machine is an old Sempron-powered HP/Compaq NX6325 so its grossly under spec'd for 12.04LTS with Unity - which I like - but this makes it frustrating.

I have found that newly installed programs' icons are placed at the bottom, so yes, I can remove lesser used programs which are near the top of the launcher and then reinstall them but this seems a ridiculous way to have to organise it.

I can't be the only one with more than 16 launchers in Unity!


To Rinzwind:

...the normal action after that is to drag it to another place. Is that not working!?

Yes it works fine. But after a reboot the menu goes back to how it was before I dragged them to new locations. Sorry if that's not clear from my original post but I don't know how to elaborate on it. See my response below to chaskes, maybe that will help.

This is a permanent action.

Not on my machine it isn't. I used to be able to move the icons permanently but now I can only change their positions until I reboot. I couldn't say for sure when the problem first presented.

To chaskes:

I know how to do all this stuff but, from my original post:

...how on earth can icons be moved permanently so that after the next boot they are where they were left?

I'm trying to say that I have the following icons, in this order: Dash Home, Chromium, Firefox, Thunderbird, Blue Fish, Filezilla, Picasa etc. I can move them wherever I want. But if I reboot they are back in the order shown above, as though this is a default order. It's not alphabetical, as you can see.

To blvdeer: Yes, you understand what I want and you are getting near, I think. If I run the command you gave:

gsettings get com.canonical.Unity.Launcher favorites

I get this:

['chromium-browser.desktop', 'firefox.desktop',
'/home/Scooby2/.launcher/Thunderbird.desktop', 'bluefish.desktop',
'filezilla.desktop', '/home/Scooby2/.launcher/Picasa 3.desktop',
'gimp.desktop', ....]

(The four dots represent the rest of the file, omitted for simplicity.) It is slightly different in its content, I don't know why. However I can then drag the icons to where I want them. If I run the same command again, the list shows the new order - which I can save to a file or script. However if I run

gsettings set com.canonical.Unity.Launcher favorites
"['/usr/share/app-install/desktop/dvdstyler-data:dvdstyler.desktop',
'kde4-kdenlive.desktop', 'gimp.desktop', 'vlc.desktop',
'ssvnc.desktop', ....]"

(The four dots represent the rest of the file, omitted for simplicity) I get this:

Usage: gsettings [--schemadir SCHEMADIR] set SCHEMA[:PATH] KEY VALUE

Set the value of KEY to VALUE

Arguments: SCHEMADIR A directory to search for additional schemas
SCHEMA The name of the schema PATH The path, for relocatable schemas KEY The key within the schema VALUE The value to set

If this command would run I could put it in a script to run at start-up to rewrite the Unity Launcher order - problem not solved but a work around effected. Looking at the man page for gsettings and Googling for help makes me realise how complex this is and how little I know. Does anybody have any ideas?

share|improve this question
    
"I have found that newly installed programs' icons are placed at the bottom" correct but the normal action after that is to drag it to another place. Is that not working!? Can't be... you can just drag icons from the bar and drop them on another location.This is a permanent action. edit: user117123 posted it as an answer. That IS the normal method. –  Rinzwind Jan 12 '13 at 19:41

3 Answers 3

To change the order of icons in the Launcher, you can drag them to a new position. Just left click the icon and hold, drag it to where you want it to be, then release。

A note on the click and hold: You can immediately drag the icon to the right; that is, off the launcher before dragging it back to a new position. Before you can move the icon vertically without dragging it off the launcher, you need to wait a second or two before moving it. Otherwise, you will scroll the launcher icons. (Thanks to Catskul for this point.)

To remove icons from the Launcher, right click the icon and choose Unlock From Launcher

To prevent newly installed programs from automatically being added to the Launcher, change the the setting in the Software Center. Click View in the menu, then uncheck 'New Applications in Launcher'

In response to a comment from the OP:

If these changes do not persist after a reboot, try reinstalling libdconf0, a suggestion from Unity reset after restrarting.

sudo apt-get install --reinstall libdconf0
share|improve this answer
    
Operative point is that you have to hold the click for a moment before you attempt to drag. Otherwise the whole group of buttons gets dragged at once. –  Catskul Jul 18 '13 at 19:53
    
@catskul Good point. I edited the answer. –  chaskes Jul 19 '13 at 2:21

My understanding is that you want to reorder where things are placed on your launcher.

Get the list of launcher
In the terminal type the following and press enter

gsettings get com.canonical.Unity.Launcher favorites  

Some thing like this will be returned.

['application://google-chrome.desktop', 'application://gnome-terminal.desktop', 
'application://nautilus.desktop', 'application://media1.desktop', 
'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Re-order the launchers
Copy this, paste in the text editor and re-organize things. Suppose I want to keep the nautilus at the top, I would do the following:

['application://nautilus.desktop', 'application://gnome-terminal.desktop', 
'application://google-chrome.desktop', 'application://media1.desktop', 
'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Set the order
In the terminal type:

gsettings set com.canonical.Unity.Launcher favorites     
['application://nautilus.desktop', 'application://gnome-terminal.desktop', 
'application://google-chrome.desktop', 'application://media1.desktop', 
'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Refresh Unity
Press Alt + F2, type unity and press enter, this will refresh unity and the launcher.

This should set the order and should survive through reboots but I don't have 16 launchers and haven't tested them.

If this doesn't work, use the following shell script and run it after you log in:

#!/bin/bash
gsettings set com.canonical.Unity.Launcher favorites     
['application://nautilus.desktop', 'application://gnome-terminal.desktop', 
'application://google-chrome.desktop', 'application://media1.desktop', 
'unity://running-apps', 'unity://expo-icon', 'unity://devices']

Save it in your home folder, say a.sh and make it executable by

chmod +x a.sh

Then, when you login:
Press Alt + F2, type a.sh and press enter.

I hope someone posts a cleaner solution

share|improve this answer
up vote 1 down vote accepted

This problem was resolved by running sudo apt-get install --reinstall libdconf0 It appears libdconf0 was corrupt. Thanks to chaskes for providing the resolution.

share|improve this answer
    
I'm glad it worked for you. I added this to my answer. Rather than using my comment to create your own answer, you might select my answer instead. Just a thought. :) –  chaskes Jul 19 '13 at 2:29

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.