วิธีการสั่งซื้อไอคอนเดสก์ท็อปตามชื่อใน XFCE


9

ฉันใช้ Xfce 4.8 ติดตั้งบน Ubuntu 12.04.2 LTS และฉันสงสัยว่าอะไรเป็นทางเลือกสำหรับคลิกขวา -> เรียงตามชื่อบน XFCE ตอนนี้เมื่อฉันคลิกขวาที่เดสก์ท็อปของฉันดูเหมือนว่า:

คลิกขวาที่เมนูบนเดสก์ท็อปใน Xfce

อย่างที่คุณเห็นไม่มีตัวเลือกสำหรับการจัดเรียงไอคอนใหม่ หากสมมติฐานของฉันถูกต้องจะไม่สามารถทำได้โดยตรงผ่าน GUI ฉันเห็นหัวข้อนี้แต่ไม่ได้อธิบายถึงวิธีการบรรลุผลลัพธ์เดียวกัน ความคิดใด ๆ


2
ฉันไม่ได้อยู่ใน Xubuntu แต่ฉันมี Xfce เป็นเดสก์ท็อปของฉันและฉันเห็นArrange Desktop Iconsข้างบนDesktop Settingsเมื่อฉันคลิกขวาบนพื้นที่ว่างบนเดสก์ท็อป (แต่ฉันไม่มีFind in this folder)

@ vasa1: ดีฉันอยู่ใน Xubuntu และไม่มีตัวเลือกดังกล่าว
Amal Murali

@Amalmurali คุณติดตั้งxfce4? คุณสามารถระบุรายการที่ vasa1 สามารถเปรียบเทียบกับแพ็คเกจที่ติดตั้งไว้ได้หรือไม่? dpkg --get-selections | grep install > packages.list
Braiam

@ vasa1 ^ คำถามเดียวกัน คุณอาจมีแพ็คเกจที่การติดตั้ง xubuntu เริ่มต้นอาจไม่มี
Braiam

คำตอบ:


4

ฉันใช้อูบุนตู 13.04 กับ Xfce 4.10.0 และ Thunar 1.6.2 และเป็นChipacaกล่าวในคำตอบของเขาฉันมีในเมนูคลิกขวาบนเดสก์ทอปตัวเลือกในการจัดเรียงไอคอนสก์ท็อป

อย่างไรก็ตามหากคุณไม่มีมันก็ไม่มีปัญหาคุณสามารถเพิ่มตัวเลือกที่กำหนดเองได้ ต่อไปฉันจะอธิบายวิธี

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

หลังจากสิ่งเหล่านี้คุณสามารถเพลิดเพลินกับ:

จัดเรียงไอคอนเดสก์ท็อป


นี่จริงตอบคำถามของฉัน ขอบคุณ!
Amal Murali

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 มันไม่ได้มีเช่นกัน แต่ใน Ubuntu 13.04 ด้วย Xfce Desktop Environment ก็มีให้ใช้

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

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

ออกจากระบบ. เข้าสู่ระบบในฐานะผู้ใช้รายนั้นอีกครั้ง ไอคอนถูกจัดเรียงในเวลานี้ มันทำงานให้ฉันโดยอัตโนมัติ ฉันใช้ Xfce4 บน Ubuntu 12.04 อย่างที่ฉันบอกว่ามันใช้งานไม่ได้ตลอดเวลา

หวังว่านี่จะช่วยได้

แหล่งที่มา: รหัสนี้ไม่ใช่ของฉัน: มันมาจาก ubuntuforums ที่เขียนโดยสมาชิกที่บันทึกเป็น PGScooter


นี่เป็นความผิดอย่างสมบูรณ์: เพื่อวางสคริปต์/home/user/.config/xfce4/desktop/icons.screen0.rcนั้น ฉันสามารถเดิมพันกับคุณที่จะไม่ทำงาน!
Radu Rădeanu

@ RaduRădeanuฉันไม่คิดอย่างนั้นเพราะมีไฟล์อยู่แล้วที่เกี่ยวข้องกับไอคอนเดสก์ท็อป แต่ฉันชอบคุณตอบ
มิทช์

อันไหน? icons.screen0.rc? และคำตอบของคุณดีจนกว่าคุณจะพบสคริปต์
Radu Rădeanu

สิ่งที่ฉันหมายความว่าสคริปต์ควรมีลักษณะเช่นนี้และจะถูกบันทึกไว้ภายใต้ชื่อ onther icons.screen0.plให้พูด หลังจากเรียกใช้แล้วคุณต้อง "รีเฟรช" เดสก์ท็อปของคุณโดยกด F5 เพื่อดูผลลัพธ์ และเช่นนี้ทุกอย่างก็โอเค จากมุมมองของฉันสคริปต์ควรทำงานหรือไม่ทำงาน ไม่มีอยู่ "บางครั้งก็ใช้ได้กับฉันเท่านั้น"
Radu Rădeanu
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.