Home
Categories
WIKI
Topic
User
LANGUAGE:
中文
English
Google Chrome 在文件夹中显示选中文件解决方案
Apps Section
1161
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 Ranking
Change
Closing lid, but display still active.
keyring deepin password.. WTF... Not user friendly
Unable to log in to deepin ID
Wrong taskbar icon
Bluetooth not working after laptop suspend mode
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在桌面上双击使用,右击也没有新建隐身窗口选项,难受。