Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
Google Chrome 在文件夹中显示选中文件解决方案
Apps Section
1120
views ·
0
replies ·
To
floor
Go
w_w
deepin
2017-06-08 03:16
Author
参考
https://bugs.chromium.org/p/chromium/issues/detail?id=352988
中用户
abhishek...@gmail.com
的解决方案,使得对chrome下载的文件选择在文件夹中显示时打开dde文件管理器并且下载的文件处于选中状态。
在/home/username/.config/google-chrome目录下建立两个文件并chmod +x
xdg-mime:
#!/bin/bash
if [ "$#" -eq 3 ] && [ "$1" = "query" ] && [ "$2" = "default" ] \
&& [ "$3" = "inode/directory" ]; then
echo "nautilus.desktop";
else
/usr/bin/xdg-mime "$@";
fi
Copy the Code
nautilus:
#!/bin/bash
if [ "$1" = "--version" ]; then
echo "GNOME nautilus 3.14.3"; else
dde-file-manager --show-item "$1"
fi
Copy the Code
然后修改/usr/share/applications/google-chrome,修改三条Exec后面的命令为:
sh -c "export PATH=/home/username/.config/google-chrome/fake-environment:$PATH;/usr/bin/google-chrome-stable %U"
sh -c "export PATH=/home/username/.config/google-chrome/fake-environment:$PATH;/usr/bin/google-chrome-stable"
sh -c "export PATH=/home/username/.config/google-chrome/fake-environment:$PATH;/usr/bin/google-chrome-stable --incognito"
Copy the Code
原理:
xdg-open没有选中的功能,但是Chrome对Nautilus打了补丁:
const char kNautilusKey[] = "nautilus.desktop";
const char kNautilusKeyExtended[] = "nautilus-folder-handler.desktop";
const char kNautilusCmd[] = "nautilus";
const char kSupportedNautilusVersion[] = "3.0.2";
Copy the Code
void ShowItemInFolder(Profile* profile, const base::FilePath& full_path) {
DCHECK_CURRENTLY_ON(BrowserThread::UI);
base::PostTaskWithTraitsAndReplyWithResult(
FROM_HERE,
{base::WithBaseSyncPrimitives(), base::MayBlock(),
base::TaskPriority::USER_BLOCKING},
base::BindOnce(&CheckNautilusIsDefault),
base::BindOnce(&ShowItem, profile, full_path));
}
Copy the Code
我们通过修改xdg-mime欺骗chrome,让它以为我们使用了Nautilus作为默认文件管理器。
不得不说Nautilus的面子还是大,在deepin上安装的Nautilus建立的desktop文件为org.gnome.nautilus.desktop,不是chrome代码中检查的“nautilus.desktop”,所以即使我们在deepin上安装了Nautilus,show in folder也不能选中相应的文件。
另外,deepin的dde-file-manager选中文件使用的是--show-item参数,而dolphin和nautilus都是用的--select,我不懂dde-file-manager为何要特立独行?
在修改chrome的desktop文件后,launcher里面的chrome就消失了,我没找到原因。另外双击修改后的/usr/share/applications/google-chrome.desktop文件可以启动chrome,但是将其固定到任务栏上之后,任务栏上的chrome图标点击是没用的,不知道是不是对于Exec的处理在任务栏上和之间双击的处理方法不同。我现在只能复制一份google-chrome.desktop在桌面上双击使用,右击也没有新建隐身窗口选项,难受。
Reply
Like 0
Favorite
View the author
All Replies
No replies yet
Please
sign
in first
New Thread
Popular Events
More
中用户 abhishek...@gmail.com的解决方案,使得对chrome下载的文件选择在文件夹中显示时打开dde文件管理器并且下载的文件处于选中状态。
在/home/username/.config/google-chrome目录下建立两个文件并chmod +x
xdg-mime:
原理:
xdg-open没有选中的功能,但是Chrome对Nautilus打了补丁:
我们通过修改xdg-mime欺骗chrome,让它以为我们使用了Nautilus作为默认文件管理器。
不得不说Nautilus的面子还是大,在deepin上安装的Nautilus建立的desktop文件为org.gnome.nautilus.desktop,不是chrome代码中检查的“nautilus.desktop”,所以即使我们在deepin上安装了Nautilus,show in folder也不能选中相应的文件。
另外,deepin的dde-file-manager选中文件使用的是--show-item参数,而dolphin和nautilus都是用的--select,我不懂dde-file-manager为何要特立独行?
在修改chrome的desktop文件后,launcher里面的chrome就消失了,我没找到原因。另外双击修改后的/usr/share/applications/google-chrome.desktop文件可以启动chrome,但是将其固定到任务栏上之后,任务栏上的chrome图标点击是没用的,不知道是不是对于Exec的处理在任务栏上和之间双击的处理方法不同。我现在只能复制一份google-chrome.desktop在桌面上双击使用,右击也没有新建隐身窗口选项,难受。