web-dev-qa-db-ja.com

XFCEで名前でデスクトップアイコンを注文する方法は?

私はUbuntu 12.04.2 LTSにインストールされたXfce 4.8を使用していますが、XFCEで右クリック->名前で並べ替えの代替案は何ですか? 。今、デスクトップを右クリックすると、次のようになります。

right click menu on desktop in Xfce

ご覧のとおり、アイコンを並べ替えるオプションはありません。私の仮定が正しい場合、GUIから直接行うことはできません。 this threadを見ましたが、実際には同じ結果を達成する方法を説明していません。何か案は?

9
Amal Murali

Xfce 4.10.0およびThunar 1.6.2でUbuntu 13.04を使用しており、 Chipacahis answer で述べたように、デスクトップの右クリックメニューにオプションデスクトップアイコンの配置

とにかく、お持ちでない場合は問題ありません。独自のカスタムオプションを追加できます。次に、その方法を説明します。

1.デスクトップアイコンを自動的に配置するPerlスクリプトを作成します

Perlスクリプトについて何かを知る必要はありません。以下の手順に従ってください。

  • 端末 で実行:

    mkdir -p bin
    

    このコマンドは、binフォルダーがまだない場合、homeフォルダーを作成します。

  • 実行後:

    gedit ~/bin/arrange_icons.pl
    

    これにより、geditに新しいファイルarrange_icons.plが作成されます。

  • 次のスクリプトをコピーして、新しく作成したファイルに貼り付けます。

#!/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.デスクトップの右クリックメニューにスクリプトを追加します

XfceのデフォルトのファイルマネージャーであるThunarを開き、Editに移動し、 selectカスタムアクションを設定...。開いたら、ウィンドウの右側から+記号をクリックして、新しいカスタムアクションを追加します。 Basicタブで、次のようにすべてのフィールドに入力します。

add a new custom action - basic

最も重要なことは、Commandフィールドにスクリプトへの正しいパスを入力することです。また、必要に応じてアイコンを追加できます。

外観条件タブでは、Desktopフィールドをチェックするだけです。

add a new custom action - appearance conditions

Ok、次にCloseを押します。

3.右クリックメニューから名前でデスクトップアイコンを配置します

新しいオプションを表示するには、デスクトップの右クリックメニューでデスクトップアイコンを名前で並べ替えます。システムを再起動したり、再ログインしたりする必要はありません。 。ターミナルで次のコマンドを実行するだけです:

xfdesktop --reload

これらすべての後、あなたは楽しむことができます:

Arrange desktop icons

4
Radu Rădeanu

13.04では、メニューにあります。

menu with "Arrange Desktop Icons" highlighted

12.04にはありません。 12.10。をテストしていません.

7
Chipaca

:Xubuntu 13.04も存在しませんが、Ubuntu 13.04では、Xfceデスクトップ環境が利用可能です。

enter image description hereenter image description here

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からのものです

0
Mitch

私は2つのスクリプトを見つけました 1 from here 、および 2 from here 、デスクトップを配置すると主張されているアイコン。

まだメニュー要素を作成する方法を探していますが、おそらくこれは当面の助けになるでしょう。

ありがとう。

0
aaditya1234