保存 Nautilus 标签

保存 Nautilus 标签

有什么方法可以保存 Nautilus 状态?我通常会打开更多窗口和更多选项卡,并按参数进行划分,但每次关闭系统时都会丢失它们,这很令人沮丧。

答案1

没有(简单的)方法可以做到这一点,但是这个问题有一个脚本可以提供帮助:

在现有窗口中将 Nautilus 作为新选项卡打开

请注意,需要安装xdotoolwmctrl才能使其正常工作。

使用该脚本作为基础,您可以编写一个脚本来自动打开一组定义的窗口和选项卡。这只是提供一个大概的想法,尚未经过测试。例如,我不知道如何wmctrl与多个 Nautilus 窗口配合使用。我确信循环/变量/引号也可以更好(我还没有尝试模拟二维数组)。

windows=2
tabs1=(/home/user/Documents /home/user/Downloads)
tabs2=(/usr/share /etc)

#Save old clipboard value
oldclip="$(xclip -o -sel clip)"

#The following would be the cleanest way to code this:

#while i < $windows; do
    #open nautilus
    #for tab in tabs; do
        #open tab in this window
    #done
#done

nautilus ${tabs1[0]}

for tab in ${tabs1[@]}; do
    i=0
    for tab in ${tabs[@]}; do
        if [ $i -gt 0]; then
            echo -n tab | xclip -i -sel clip
            wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
        fi
        i=$[$i + 1]
    done
done

#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip

最好的方法是循环遍历所有窗口和所有选项卡。它会打开 Nautilus 的选项卡 1,然后打开选项卡 2,等等。它使用剪贴板存储选项卡位置,并将其粘贴到位置字段中。

每次关机前,您都需要手动设置窗口数量和每个窗口内的选项卡。但我意识到您可以反向使用脚本来保存打开的选项卡:

#Save old clipboard value
oldclip="$(xclip -o -sel clip)"

wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
tab=$(xclip -o -sel clip)
tabs[0]=""

i=1

while [ "$tab" != "$tabs[0]"]; do
    tabs[i]="$tab"
    wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+l ctrl+c
    tab=$(xclip -o -sel clip)
    i=$[$i + 1]
done

#i=1

#while i < $windows; do
    #open window, open tabs?
#done

#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip

这就是我目前能做的一切。我可能会稍后尝试测试,欢迎提出任何建议/修复。

答案2

对于 Windows 来说,可以制作一个自定义启动器来打开所有指定的 URI。

您可以查看文件/usr/share/applications/nautilus-home.desktop。其中有一行以以下内容开头Exec

Exec=nautilus --new-window %U

你可以通过以下方式改变它:

Exec=nautilus -n URI1 URI2 …

将其保存到某个地方(例如桌面)并检查可执行权限后,它将在单独的窗口中打开每个指定的 URI。

相关内容