如何在XFCE中按名称排序桌面图标?


9

我正在使用在Ubuntu 12.04.2 LTS上安装的Xfce 4.8,我想知道在XFCE上右键单击->按名称排序的替代方法是什么。现在,当我右键单击桌面时,它看起来像这样:

Xfce桌面上的右键菜单

如您所见,没有重新排列图标的选项。如果我的假设是正确的,则不能直接通过GUI完成。我看到了这个线程,但是并没有真正解释如何获得相同的结果。有任何想法吗?


2
我不在Xubuntu上,但是我确实将Xfce作为桌面,当我右键单击桌面上的空白区域时,可以看到Arrange Desktop Icons上面Desktop Settings的内容。(但是我没有Find in this folder。)

@ vasa1:好吧,我在Xubuntu上,没有这样的选择。
阿马尔·穆拉利

@AmalMurali您已安装xfce4?您能否提供一个清单,供vasa1与您已安装的软件包进行比较?dpkg --get-selections | grep install > packages.list
Braiam 2013年

@ vasa1 ^同样的问题。您可能具有默认xubuntu安装可能没有的某些软件包。
Braiam 2013年

Answers:


4

我正在将Ubuntu 13.04与Xfce 4.10.0和Thunar 1.6.2一起使用,并且正如Chipaca他的回答中所说,我在桌面的右键菜单中具有选项Arrange Desktop Icons

无论如何,如果没有它,就没有问题,您可以添加自己的自定义选项。接下来,我将解释如何。

1.创建一个自动排列桌面图标的perl脚本

您不必了解有关Perl脚本的知识。只需按照以下步骤操作:

  • 终端运行中:

    mkdir -p bin
    

    如果您没有该命令,它将bin在您的home文件夹中创建一个目录。

  • 运行后:

    gedit ~/bin/arrange_icons.pl
    

    这将arrange_icons.pl在gedit中创建新文件。

  • 将以下脚本复制并粘贴到新创建的文件中:

#!/usr/bin/perl

######################################################
## Script to automatically arrange desktop icons
## Modified from the original script found at
##    http://ubuntuforums.org/showthread.php?p=7755880
######################################################

use strict;

## find out the location of the config file
my $icons_file = `locate icons.screen0 | grep \$USER | grep .config | grep desktop | head -n 1`;

## open the config file to read from it
open(CONFIG, "<$icons_file") or die("Can't open $icons_file for reading!!");

my @icon_config = <CONFIG>;

close(CONFIG);

## grab all the icon names from the desktop
my @icons;
foreach my $line (@icon_config) {
    if ($line =~ /^(\[.*?\])$/) { push(@icons, $1) }
}

## sort all the icon names in alphabetical order
@icons = sort @icons;

## open the config file to write to it
open(NEWCONFIG, ">$icons_file") or die("Can't open $icons_file for writing!!");

my $row_count = 0;
my $col_count = 0;

foreach my $icon (@icons) {
## on my particular desktop (1440x900 monitor) there are 8 rows... Not sure how this plays out for other resolutions... so I incremement the row count on each loop until it reaches 8
    if ($row_count > 8) { $row_count = 0; $col_count++ }
    print NEWCONFIG "$icon\nrow=$row_count\ncol=$col_count\n\n";
    $row_count++;
}

close(NEWCONFIG);

system("xfdesktop --reload");
  • 保存文件并关闭它。
  • 返回终端并运行:

    chmod +x ~/bin/arrange_icons.pl
    

    授予脚本执行权限。

2.将脚本添加到桌面上的右键菜单

打开Thunar(Xfce的默认文件管理器),转到“ 编辑”,然后选择“ 配置自定义操作...”。当它打开时,单击窗口右侧的+号以添加新的自定义操作。在“ 基本”选项卡中,完成所有字段,如下所示:

添加新的自定义操作-基本

最重要的是在“ 命令”字段中放置脚本的正确路径。您也可以根据需要添加图标。

外观条件选项卡中,您只需勾选桌面字段。

添加新的自定义操作-外观条件

确定,然后按关闭

3.从右键菜单中按名称排列桌面图标

要在桌面的右键菜单中查看新选项“ 按名称排列桌面图标”,您无需重新启动系统或重新登录。只需在终端中运行以下命令:

xfdesktop --reload

完成所有这些之后,您可以享受:

安排桌面图标


实际上回答了我的问题。谢谢!
阿马尔·穆拉利

7

在13.04中,它位于菜单中,

带有突出显示“排列桌面图标”的菜单

12.04没有它;尚未测试12.10。


1
好像就是这样。我的Lubuntu是13.04,而xfce桌面和thunar 1.6.2是软件中心中的最新版本。OP的系统似乎是更新和过时的软件的组合。

0

我已经找到了2个脚本1这里,和2这里,那声称,安排桌面图标。

仍在寻找如何为其制作菜单元素的方法,也许暂时可以对您有所帮助。

谢谢。


1
这些链接很旧,即使Xfce和Thunar的发展不如GNOME或Unity快,但自发布这些线程以来,情况可能已经发生了变化。

是的,您是对的,但是我张贴了它们,以便也许会有所帮助:)
abchk1234

0

注意:Xubuntu 13.04还不存在,但在具有Xfce Desktop Environment的Ubuntu 13.04中可用。

在此处输入图片说明 在此处输入图片说明

XFCE4没有(据我所知)可单击的“对齐图标”功能。相反,它在桌面上使用不可见框的网格,您可以单击图标并将其“拖入”或“拖出”。通过单击并拖动来重新放置桌面图标时,您应该会立即看到网格框的轮廓,该图标将自动居中。

如果要连续显示一个或多个图标,则必须手动将其移动到所需位置。图标“大小”确定您的桌面上可以放置多少行和几列图标位置。较小的图标尺寸允许更多的行和列,更大或更小。

系统>设置>桌面设置>行为以进入图标大小调整功能。桌面图标位置在〜/ .config / xfce4 / desktop / icons.screen0.rc中进行配置(存储)。

现在,我找到了一种在登录时自动排列图标的方法,但有时它仅对我有用,而其他方法则无效。我会列出它,以防它对您有用。

#make sure you change 'user' on line 4 to the username of the desktop you want to organize
use strict;
use warnings;
my $conffile='/home/user/.config/xfce4/desktop/icons.screen0.rc';
open(CONF,"$conffile") or die "can't find the config file";
my $all;
while (<CONF>) {
        $all=$all.$_;
}
my @oldnames=($all=~/\[(.*)\]/g);
my @allnames=sort { lc($a) cmp lc($b) } @oldnames;
print "testing sort:";
print join("\n",@allnames);
my @rows=($all=~/row=(\d*)/g);
print join("\n",@allnames);
print "ok now I will print the amount of rolls\n\n\n";
@rows=sort(@rows);
my $maxrow=$rows[-1];
print "the max rows is $maxrow";
my $numicons=scalar(@allnames);
print "number of icons is $numicons";
my @cols=($all=~/col=(\d*)/g);
@cols=sort(@cols);
my $maxcol=$cols[-1];
print "the max cols is $maxcol";
my $i=0;
open(OUTPUT,'>icons.screen0.rc');
for (my $j=0;$j<=$maxcol;$j++) {        
        if ($i<=19) {
                for (my $k=0;$k<=$maxrow;$k++) {
                        print OUTPUT "\[$allnames[$i]\]\nrow=$k\ncol=$j\n\n";
                        $i++;
                }
        }
}
close(OUTPUT);

将代码粘贴到编辑器中,并将其另存为/home/user/.config/xfce4/desktop/icons.screen0.rc。

登出。再次以该用户身份登录。这次将排列图标。它自动为我工作。我在Ubuntu 12.04上运行Xfce4。正如我说的那样,它并非一直有效。

希望这可以帮助。

来源:此代码不是我的:它来自登录为PGScooter的成员创作的ubuntuforums


这是完全错误的:将脚本粘贴到中/home/user/.config/xfce4/desktop/icons.screen0.rc。我可以打赌,那将永远行不通!
RaduRădeanu13年

@RaduRădeanu我不这么认为,因为那里已经存在一个与桌面图标有关的文件。但是我喜欢你的回答。
米奇

哪一个?icons.screen0.rc?在找到脚本之前,您的答案是好的。
RaduRădeanu13年

我的意思是说脚本应该看起来像这样,应该以另一个名称保存,比如说icons.screen0.pl。运行它之后,您必须按F5键“刷新”桌面以查看结果。这样,一切都很好。从我的角度来看,脚本应该起作用或不应该起作用。不存在“有时仅对我有用”。
RaduRădeanu13年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.