আমি কীভাবে ডেস্কটপ আইকনগুলিকে সর্বদা সংগঠিত এবং নাম অনুসারে বাছাই করতে পারি?


8

আমি আমার ডেস্কটপটি সর্বদা নাম অনুসারে সংগঠিত রাখতে চাই। আমি কীভাবে এটি অর্জন করতে পারি?

ডেস্কটপ নাম অনুসারে সংগঠিত নয়:

এখানে চিত্র বর্ণনা লিখুন

নাম অনুসারে সংগঠিত করার পরে ডেস্কটপ:

এখানে চিত্র বর্ণনা লিখুন


যদি আপনি নামগুলি বিবর্ণ করেন তবে আমরা ঠিক দেখতে পারছি না সংস্থার নিয়মটি কি :)
জ্যাকব ভিলিজ

@ জ্যাকবভিলিজম দেখে মনে হচ্ছে তার প্রতিষ্ঠানের নিয়মটি প্রথমে ডায়ারগুলি, তারপরে ফাইলগুলি বাছাই করা। আমরা সম্ভবত এটির বর্ণানুক্রমিক
অনুমানও

হাই ওরশিরো এই দু'জনের মধ্যে যা: chat.stackexchange.com/transcript/message/30927193#30927193
জ্যাকব ভ্লিজম

অনুপস্থিত তথ্য যে অনুপস্থিত! ডেস্কটপটি বর্ণানুক্রমিকভাবে সংগঠিত হয় এ থেকে জেড পর্যন্ত ফোল্ডারগুলি দিয়ে শুরু করে তারপরে ফাইলগুলি অনুসরণ করে। সেই তথ্য কি যথেষ্ট?
orschiro

উত্তর:


9

কমান্ড দ্বারা ডেস্কটপ আইকনগুলি বর্ণানুক্রমিকভাবে সাজান

নীচের স্ক্রিপ্টটি ডেস্কটপটিকে পুনরায় সাজিয়ে তুলবে:

এখানে চিত্র বর্ণনা লিখুন

... বর্ণমালা অনুসারে ডেস্কটপে যেমন:

এখানে চিত্র বর্ণনা লিখুন

অর্ডার দেওয়া:

  • ডিরেক্টরি আগে, তারপর ফাইল
  • উপর থেকে নীচে, বাম থেকে ডানে

উল্লম্বভাবে আইটেমের সংখ্যা সেট করুন

তদতিরিক্ত, আপনি উল্লম্বভাবে (সারি) আইটেমগুলির একটি স্বেচ্ছাসেবী সংখ্যা সেট করতে পারেন; অনুভূমিক ব্যবধানটি সেই অনুযায়ী স্বয়ংক্রিয়ভাবে সেট হয়ে যাবে।

এই পান্ডুলিপি

#!/usr/bin/env python3
import subprocess
import os
import math
import time

# set the size of the squares (indirectly, by setting n- rows)
rows = 10
# set x/y offset of the matrix if you want
x_offs = -15
y_offs = -30

def get(cmd):
    return subprocess.check_output(cmd).decode("utf-8")

dt = get(["xdg-user-dir",  "DESKTOP"]).strip()         
# find size of the left screen
left = [int(n) for n in sum(
    [s.split("+")[0].split("x") for s in \
     get("xrandr").split() if "+0+" in s], [])]

# size of the squares (icon area)
sqr = int((left[1]/rows))

# number of cols, squares
cols = math.floor(left[0]/sqr)
n_sqrs = cols*rows

# define positions (matrix)
pos = list([[
    str(int((math.floor(n/rows)*sqr)+(sqr/2)+x_offs)),
    str(int(((n%rows)*sqr)+(sqr/2)+y_offs)),
    ] for n in range(n_sqrs)])

# list iconfiles, split into dirs and files, sort & combine
iconlist = [os.path.join(dt, item) for item in \
            sorted([item for item in os.listdir(dt) if not "~" in item])]
dirs = []; files = []
for it in iconlist:
    if os.path.isfile(it):
        files.append(it)
    else:
        dirs.append(it)
iconlist = dirs+files
# place icons in position(s)
for i, item in enumerate(iconlist):
    location = (",").join(pos[i])
    subprocess.call(["gvfs-set-attribute", "-t", "string", item,
                       'metadata::nautilus-icon-position', location])
# simulate F5 to refresh desktop, retry for max 20 secs if not in front
t = 0
while t < 40:
    w_id = [l.split()[-1] for l in get(["xprop", "-root"]).splitlines() \
        if "_NET_ACTIVE_WINDOW(WINDOW):" in l][0]
    if "desktop" in get(["xprop", "-id", w_id, "WM_CLASS"]):
        subprocess.Popen(["xdotool", "key", "F5"])
        break
    else:
        time.sleep(0.5)
        t += 1

ব্যবহারবিধি

  1. স্ক্রিপ্টটির প্রয়োজন xdotool:

      sudo apt-get install xdotool
  2. একটি ফাঁকা ফাইলে স্ক্রিপ্টটি অনুলিপি করুন, এটি সংরক্ষণ করুন arrange_dt.py

  3. কমান্ড দ্বারা এটি পরীক্ষা করুন:

    python3 /path/to/arrange_dt.py

    20 সেকেন্ডের মধ্যে ডেস্কটপে ক্লিক করুন, আপনার নতুন ব্যবস্থা প্রয়োগ করা হবে। আপনি যদি একটি শর্টকাট থেকে স্ক্রিপ্টটি চালনা করেন, ডেস্কটপ সামনে থাকাকালীন ব্যবস্থাটি কার্যকর করা হবে। যদি ডেস্কটপ সামনের দিকে না থাকে তবে স্ক্রিপ্টটি সর্বোচ্চ 20 সেকেন্ডের জন্য অপেক্ষা করে। যদি সময় অতিক্রম করে তবে কেবলF5প্রয়োগ করতেটিপুন।

  4. যদি সব ঠিকঠাক কাজ করে তবে এটিকে একটি শর্টকাট কীতে যুক্ত করুন: চয়ন করুন: সিস্টেম সেটিংস> "কীবোর্ড"> "শর্টকাট"> "কাস্টম শর্টকাট"। "+" ক্লিক করুন এবং কমান্ডটি যুক্ত করুন:

    python3 /path/to/arrange_dt.py

বিকল্প

আপনি তিনটি উপায়ে আইকনগুলির বিন্যাসকে প্রভাবিত করতে পারেন:

  1. "টাইলস" এর আকার নির্ধারণ করুন

    # set the size of the squares (indirectly, by setting n- rows)
    rows = 10

    এটি উলম্বভাবে আইকনগুলির (সর্বাধিক) সংখ্যা সেট করবে। "টাইলস" এর আকার হবে সমান (x, y)

  2. অনুভূমিক অফসেট সেট করুন

    x_offs = -15 

    এটি সামগ্রিকভাবে আইকন-ম্যাট্রিক্সের ডিফল্ট অবস্থান থেকে x- বিচ্যুতি সেট করবে

  3. উল্লম্ব অফসেট সেট করুন

    y_offs = -30

    এটি আইকন-ম্যাট্রিক্সের ডিফল্ট অবস্থান থেকে y- বিচ্যুতি সেট করবে

    একটি উদাহরণ, ব্যবহার করে:

    # set the size of the squares (indirectly, by setting n- rows)
    rows = 6
    # set x/y offset of the matrix if you want
    x_offs = 50
    y_offs = 10

    এখানে চিত্র বর্ণনা লিখুন

ব্যাখ্যা

নীচের ব্যাখ্যাটি বেশিরভাগ কোডিংয়ের চেয়ে ধারণার উপর একটি ব্যাখ্যা

  • বর্ণানুক্রমে আইকন অবস্থানে, তাই আমরা প্রথমেই তালিকা ডেস্কটপে আইটেম, ব্যবহার python'রos.listdir(Desktop)
  • তারপরে আমরা ফাইলগুলিকে দুটি সাবলিস্টে বিভক্ত করি; ফাইল / ফোল্ডার এবং উভয় তালিকাগুলি বাছাই করুন, আবার তাদের সাথে যোগ দিন, প্রথমে ফোল্ডারগুলি।
  • তারপরে আমরা ম্যাট্রিক্স তৈরি করব:

    • যেহেতু সারিগুলির সংখ্যা স্ক্রিপ্টের শিরোনামে সেট করা আছে, তাই আমরা পর্দার উচ্চতাটিকে সারি সংখ্যা দ্বারা বিভক্ত করি। সুতরাং আমাদের "স্কোয়ার" আকারের আইকনগুলি (কেন্দ্রিক) স্থাপন করা হবে।
    • যেহেতু আইকনগুলি অনুরূপভাবে অনুভূমিকভাবে ব্যবধানযুক্ত , সুতরাং আমরা পর্দার প্রস্থকে "স্কোয়ার" এর প্রস্থ দ্বারা বিভক্ত করে কলামগুলির (সর্বাধিক) সংখ্যা গণনা করতে পারি যেখানে আইকনগুলি প্রতি আইকন স্থাপন করা হবে (প্রতি আইকন), নীচে গোল করে নীচে প্রথম পূর্ণসংখ্যার।
    • নীচের চিত্রটিতে, এই "ভার্চুয়াল" স্কোয়ারগুলি দৃশ্যমান, লাল বিন্দুটি যেখানে আইকনটি রাখা হয়েছে।

      এখানে চিত্র বর্ণনা লিখুন

    • তারপরে আমাদের যা করতে হবে তা হল প্রথম আইকনটি একটি বর্গক্ষেত্রের মাপের অর্ধেকের উপরে, অনুভূমিকভাবে এবং উলম্বভাবে।

    • জন্য এক্স-অবস্থান সব অন্যান্য আইকন, কেবলমাত্র আমরা তাদের বিভক্ত করতে প্রয়োজন সূচক সারির সংখ্যা দ্বারা (শূন্য দিয়ে শুরু), নিচে বৃত্তাকার। ফলাফলটি প্রথম আইকনের (উপরে বাম) এক্স পজিশনে যুক্ত করা হবে, উদাহরণস্বরূপ:

      item 10 (index 9): 9/4 = 2,25, rounded down: 2
      x position = position of icon 0 + 2 x the width of a square
      
      item 17 (index 16): 16/4 = 4, rounded down: 4
      x position = position of icon 0 + 4 x the width of a square
    • জন্য Y অবস্থানে রয়েছে এমন সব অন্যান্য আইকন, কেবলমাত্র আমরা প্রয়োজন বাকি সূচক এবং সারি সংখ্যা। ফলাফলের x বর্গের প্রস্থটি প্রথম আইকনের y অবস্থানে (উপরে বাম) যুক্ত করা হবে, উদাহরণস্বরূপ:

      item 10 (index 9): 9%4 = 1
      y position = position of icon 0 + 1 x the height of a square
      
      item 17 (index 16): 16%4 = 0
      y position = position of icon 0 + 0 x the height of a square
  • পরবর্তীকালে, কমান্ডটি ব্যবহার করে আমরা ডেস্কটপে আইকনগুলি রাখি:

    gvfs-set-attribute <path_to_dir_or_file> metadata::nautilus-icon-position x,y
  • পরিশেষে, পরিবর্তিত বিন্যাস প্রয়োগ করতে (ডেস্কটপ রিফ্রেশ করুন) F5 সামনে আমাদের ডেস্কটপটি দিয়ে চাপতে হবে । যদি এটি হয় তবে তা অবিলম্বে সম্পন্ন হবে। যদি তা না হয় তবে ডেস্কটপটি সামনে উপস্থিত থাকলে ভার্চুয়াল টিপুন F5এবং বিরতিতে 20 সেকেন্ডের মধ্যে স্ক্রিপ্টটি আবার চেষ্টা করে । যদি 20 সেকেন্ড পরেও ডেস্কটপটি সামনে না থাকে তবে আপনাকে ম্যানুয়ালি টিপতে হবে F5


কি দুর্দান্ত এবং বহুমুখী স্ক্রিপ্ট। অনেক ধন্যবাদ, জ্যাকব! :-)
orschiro

@ বাচ্চা বরাবরের মতো, আপনার প্রশ্নগুলি কোনওরকম অনুপ্রেরণামূলক এবং এতে কাজ করার জন্য দুর্দান্ত great :)
জ্যাকব ভিলিজ

আমি কেবল উবুন্টুতে ডিফল্ট আচরণ হওয়া উচিত বলে আমি হোঁচট খেয়েছি। এই বাস্তবতা তৈরি করার জন্য বিশাল দক্ষ লোক রয়েছে তা দেখে খুশি!
orschiro

আরে জ্যাকব, আমি মানগুলি ব্যবহার করেছি 6 -50 -50তবে তিনটি ফোল্ডার সামান্য অফসেট রয়েছে। কোন ধারণা কেন? স্ক্রিনশট: i.imgur.com/XuGIiBT.png
orschiro

হাই @orschiro এটি ফোল্ডারের নামগুলির প্রস্থের পার্থক্যের কারণে। কমান্ড যদি তার কারণে কার্যকর করা যায় না, তবে এটি প্রথম সম্ভাব্য বিকল্পটি গ্রহণ করে। অফসেটটি খুব নেতিবাচক সেট করা ভাল নয় :)
জ্যাকব ভিলিজ

0

উপরের প্রশ্নের দ্বারা অনুপ্রাণিত হয়ে, আমি iconicআপনাকে আইকনগুলি চারটি আলাদাভাবে বাছাই করে এই সমস্যার সমাধান করতে লিখেছিলাম । অতিরিক্তভাবে এটি করবে:

  • কাছাকাছি বা আরও দূরে স্পেস আইকনগুলিতে একটি গ্রিড সংজ্ঞায়িত করুন
  • আইকন ডেস্কটপ সেটআপ সংরক্ষণ করুন এবং বাড়িতে এবং কাজের জন্য বিভিন্ন সেটআপের জন্য এটি পুনরুদ্ধার করুন
  • আপনাকে তিনটি মনিটরের যেকোনটিতে আইকন স্থানান্তর করতে মঞ্জুরি দিন
  • "হারানো আইকন সিন্ড্রোম" ভোগ করবেন না যা একাধিক রেজোলিউশনের মনিটর ব্যবহার করা হয়
  • বর্ণমালা অনুসারে আইকনগুলি বর্ণমালা অনুসারে বাছাই করুন, "লিঙ্ক টু" উপসর্গ উপেক্ষা করে পরিবর্তিত তারিখ অনুসারে বাছাই বা তারিখের উত্থানের তারিখ
  • মনিটরের উপর নির্ভর করে বিভিন্ন গ্রিড আকারের (কলাম x সারি) মঞ্জুর করুন, 2K মনিটরের চেয়ে 4K মনিটরে আরও বেশি EG করুন
  • বাম, উপরের, ডান বা নীচের অংশের মনিটরের জন্য কলাম এক্স সারির পরিবর্তনগুলি বা সংরক্ষিত স্থান পরিবর্তনগুলিতে দ্রুত পরীক্ষার জন্য তাত্ক্ষণিক টেস্ট বোতাম
  • পরীক্ষার বোতামটি আপনার দ্বারা নির্ধারিত এক্স সেকেন্ডের জন্য স্থায়ী থাকবে, পরীক্ষার আগে সমস্ত উইন্ডো সাফ করুন এবং পরীক্ষার পরে সেগুলি পুনরুদ্ধার করুন
  • সহজ পরিবর্তনগুলির জন্য বাশ স্ক্রিপ্ট

আপনি গিথুবে স্ক্রিপ্টটি পেতে পারেন ।

এখানে মূল পর্দা:

আইকনিক মূল মেনু। png

পরিদর্শন GitHub জন্য পৃষ্ঠা প্রতিমাসংক্রান্ত সব অন্যান্য পর্দা, ব্যাখ্যা এবং স্ক্রিপ্ট একটি কপি দেখতে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.