当前位置: 首页>>技术问答>>正文


如何编辑Nautilus Places侧栏和Unity QuickList?

, ,

问题描述

我正在使用Nautilus 3.6运行Ubuntu 13.04,我想编辑Nautilus Places侧边栏菜单(Not Bookmarks)。

默认情况下,具有以下项目:近期,家庭,桌面,文档,下载,音乐,图片,视频&垃圾。

我希望:

  • Add folder to Places (Not Bookmarks).
  • Added Folder must be present in Unity QuickList (Right Click Nautilus icon in Launcher).
  • Remove Recent files (Default in Nautilus 3.6).
  • Rename Trash to another name.

我怎样才能实现这些目标?

注意:我尝试编辑~/.config/user-dirs.dirs文件,但没有运气。还有其他方法可以自定义Nautilus Places菜单吗?

最佳解决方案

为了实现这一目标,您应该编辑Nautilus源代码和nautilus.desktop文件,或者使用另一个允许此文件管理器的文件管理器,例如nemo。


注意:在这个例子中,我使用nautilus(文件)3.6.3运行ubuntu 13.04。您可以在虚拟机中对此进行测试,以查看是否一切正常。


1)确保已启用Source code repository

  • 打开Ubuntu软件中心

  • 在菜单栏中选择编辑 – >软件来源。单击以启用“源代码存储库”。以防我使用”Main Server”下载。

nautilus,quicklists,ubuntu

打开终端窗口以更新存储库。

  • sudo apt-get update

2)在Terminal中键入以下内容以安装必要的包。

  • sudo apt-get install build-essential quilt

3)安装构建依赖项。

  • sudo apt-get build-dep nautilus

4)创建一个文件夹来下载源代码。

  • mkdir ~/Downloads/src

  • cd ~/Downloads/src

5)下载源代码&导出变量。

  • apt-get source nautilus

  • export QUILT_PATCHES=debian/patches

  • export EDITOR=gedit

6)创建补丁并编辑源代码。

  • cd nautilus-3.6.3/

  • quilt new my_custom_places.patch

  • quilt edit src/nautilus-places-sidebar.c


自定义废纸篓:更改废纸篓的名称。您可以更改第567和569行中的字符串。

例如:”Trash”到”Custom Trash”& “打开垃圾箱”以“打开自定义垃圾箱”

nautilus,quicklists,ubuntu


添加文件夹:在本例中,我将在我的主目录/home /virtual /Test中添加”Test”文件夹。 (根据您的需要更改文件夹)

在第562行后添加以下内容:

/* 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);

nautilus,quicklists,ubuntu


删除最近的文件:从地方删除最近的文件…删除从525到534的行。

nautilus,quicklists,ubuntu

保存更改。


7)构建deb包。

  • quilt refresh

  • fakeroot dpkg-buildpackage

8)安装deb软件包。

  • cd ..

  • sudo dpkg -i *deb

9)对于system-wide ..编辑nautilus.desktop文件,在快速列表中添加文件夹,例如:(/home /virtual /Test)。

  • sudo nano /usr/share/applications/nautilus.desktop

更改:

Actions=Window;

至:

Actions=Test;Window;

加:

[Desktop Action Test]
Name=Test             
Exec=nautilus --new-window /home/virtual/Test
OnlyShowIn=Unity;

之前:

nautilus,quicklists,ubuntu

后:

nautilus,quicklists,ubuntu

10)最后,您可以注销并登录以查看更改。

结果:

nautilus,quicklists,ubuntu

希望这可以帮助。

次佳解决方案

我在SO上找到了一个简单的方法。

请按照this link中的说明进行操作 – 这解决了我遇到的同样问题。

摘录:

gedit ~/.config/user-dirs.dirs

删除您不想要的列表。但是,一旦您再次登录,它将重置,所以

echo "enabled=false" > ~/.config/user-dirs.conf

第三种解决方案

对于ubuntu 14.04的nautilus,您必须以与上述相同的方式编辑gtk3.10,因为SideBar功能现在被移植到gtk中(因此file-open对话侧边栏和nautilus-sidebar不再是分离的实现)

编辑/gtk/gtkplacessidebar.c

我也在nautilus-window.c中尝试了这个http://pastebin.com/K4GcHrz7,因为有https://developer.gnome.org/gtk3/stable/GtkPlacesSidebar.html#gtk-places-sidebar-add-shortcut但是得到一个段错误,但不是一个好的(gtk)程序员。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/2126.html,未经允许,请勿转载。