How can I edit Nautilus Places sidebar and Unity QuickList?
In order to achieve that.. you should edit the Nautilus source code and the nautilus.desktop
file or using another file manager that allows this, such as nemo.
NOTE: In this example I'm running ubuntu 13.04 with nautilus (files) 3.6.3.
You can test this in a virtual machine to see if everything is OK.
1) Make sure you have enable the Source code repository
- Open the Ubuntu Software Center
- In the Menu Bar choose Edit -> Software Sources. Click to enable "Source code repository". Just in case I use the "Main Server" to Download.
Open a Terminal Window to update the repositories.
sudo apt-get update
2) In the Terminal type the following to install the necessary packages.
sudo apt-get install build-essential quilt
3) Install build dependencies.
sudo apt-get build-dep nautilus
4) Create a folder to download the source code.
mkdir ~/Downloads/src
cd ~/Downloads/src
5) Download the source code & Export variables.
apt-get source nautilus
export QUILT_PATCHES=debian/patches
export EDITOR=gedit
6) Create the patch and edit the source code.
cd nautilus-3.6.3/
quilt new my_custom_places.patch
quilt edit src/nautilus-places-sidebar.c
Custom Trash: To change the name of the Trash.You can change the strings in the lines 567 and 569.
eg: "Trash" to "Custom Trash" & "Open the trash" to "Open the Custom Trash"
Add Folder: In this example I will add the "Test" folder in my home directory /home/virtual/Test. (change the folder according to your needs)
After the line number 562 add the following:
/* add Test directory */
mount_uri = "file:///home/virtual/Test";
icon = g_themed_icon_new (NAUTILUS_ICON_FOLDER);
add_place (sidebar, PLACES_BUILT_IN,
SECTION_COMPUTER,
_("Test"), icon, mount_uri,
NULL, NULL, NULL, 0,
_("Open Test folder"));
g_object_unref (icon);
Remove Recent Files: To remove the Recent Files from the places... delete the lines from 525 to 534.
Save the changes.
7) Build the deb packages.
quilt refresh
fakeroot dpkg-buildpackage
8) Install the deb packages.
cd ..
sudo dpkg -i *deb
9) For system-wide..edit the nautilus.desktop file to add the folder eg:(/home/virtual/Test) in the quick list.
sudo nano /usr/share/applications/nautilus.desktop
Change:
Actions=Window;
To:
Actions=Test;Window;
Add:
[Desktop Action Test]
Name=Test
Exec=nautilus --new-window /home/virtual/Test
OnlyShowIn=Unity;
Before:
After:
10) Finally you can logout and Login to see the changes.
RESULT:
Hope this helps.
I found an easy way outlined on SO.
Please follow the instructions outlined in this link - this solved the same problem I had.
Excerpts:
gedit ~/.config/user-dirs.dirs
Remove the list you do not want. However, once you login again, it will reset, so
echo "enabled=false" > ~/.config/user-dirs.conf
For nautilus of ubuntu 14.04, you will have to edit gtk3.10, the same way as stated above, as the SideBar functionality was now ported into gtk (so that the file-open dialogue sidebar and the nautilus-sidebar are not separated implementations any more)
edit /gtk/gtkplacessidebar.c
I also tried this http://pastebin.com/K4GcHrz7 in nautilus-window.c
, as there is https://developer.gnome.org/gtk3/stable/GtkPlacesSidebar.html#gtk-places-sidebar-add-shortcut but get a segfault, not a good (gtk) programmer though.