Chinaunix首页 | 论坛 | 博客
  • 博客访问: 775023
  • 博文数量: 265
  • 博客积分: 6010
  • 博客等级: 准将
  • 技术积分: 1985
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-13 12:33
文章分类

全部博文(265)

文章存档

2011年(1)

2010年(66)

2009年(198)

我的朋友

分类: LINUX

2009-12-17 20:10:49

xfce4桌面没有自动排列的功能,如果文件多了,超出了桌面的范围,就不好找了,在网上发现个perl脚本,比较好用,拿过来用用。


#!/usr/bin/perl

use strict;
use warnings;
my $conffile='/home/jesse/.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:\n";
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;

print "conffile: $conffile"
open(OUTPUT,">$conffile");
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);


运行脚本

perl arrage_desktop.pl


运行完脚本后,按一下F5,桌面就整理好了

参考:



阅读(1218) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~