উত্তর:
নীচের পাইথন স্ক্রিপ্টটি কোনও ডিরেক্টরিতে (পুনরাবৃত্তভাবে) সমস্ত ফোল্ডারের আইকনটিকে ফোল্ডারের অভ্যন্তরে পাওয়া প্রথম বৈধ চিত্র ফাইলটিতে পরিবর্তন করবে।
#!/usr/bin/env python3
import subprocess
import os
import sys
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif","icns", "ico"]
# ---
dr = sys.argv[1]
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
change_icon.py
এটি একটি আর্গুমেন্ট হিসাবে লক্ষ্যযুক্ত ডিরেক্টরি দিয়ে চালান:
python3 /path/to/change_icon.py <targeted_directory>
এটাই!
... এটি নটিলাসে একটি ডান ক্লিক বিকল্প করতে হয়:
স্ক্রিপ্টটি তখন কিছুটা আলাদা:
#!/usr/bin/env python3
import subprocess
import os
# --- set the list of valid extensions below (lowercase)
# --- use quotes, *don't* include the dot!
ext = ["jpg", "jpeg", "png", "gif", "icns", "ico"]
# ---
# retrieve the path of the targeted folder
current = os.getenv("NAUTILUS_SCRIPT_CURRENT_URI").replace("file://", "").replace("%20", " ")
dr = os.path.realpath(current)
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
try:
first = min(p for p in os.listdir(folder)
if p.split(".")[-1].lower() in ext)
except ValueError:
pass
else:
subprocess.Popen([
"gvfs-set-attribute", "-t", "string",
os.path.abspath(folder), "metadata::custom-icon",
"file://"+os.path.abspath(os.path.join(folder, first))
])
তৈরি করুন, এটি এখনও উপস্থিত না থাকলে ডিরেক্টরি
~/.local/share/nautilus/scripts
স্ক্রিপ্টটি একটি খালি ফাইলে অনুলিপি করুন, এটিকে সংরক্ষণ করুন (কোনও এক্সটেনশন নয়!) ~/.local/share/nautilus/scripts
হিসাবে set_foldericons
এবং এটিকে সম্পাদনযোগ্য করে তুলুন ।
os.path.realpath()
ব্যবহৃত হয়, এটি লক্ষ্যযুক্ত ফোল্ডারটি একটি লিঙ্ক হলে এটিও কাজ করে।যদি কোনও কারণে আপনি কোনও ফোল্ডারের ভিতরে আইকনগুলি তাদের ডিফল্ট আইকনগুলিতে পুনরায় সেট করতে চান তবে নীচের স্ক্রিপ্টটি ব্যবহার করুন। কেবল:
reset_icons.py
কমান্ড দ্বারা এটি চালান:
python3 /path/to/reset_icons.py <target_directory>
#!/usr/bin/env python3
import subprocess
import os
import sys
dr = sys.argv[1]
for root, dirs, files in os.walk(dr):
for directory in dirs:
folder = os.path.join(root, directory)
subprocess.Popen([
"gvfs-set-attribute", os.path.abspath(folder),
"-t", "unset", "metadata::custom-icon"
])
.folder.png
প্রতিটি ফোল্ডারে। এটি একাধিক চিত্র সহ ডিরেক্টরিগুলির জন্য সত্যই সহায়ক। আমি এই স্ক্রিপ্টটি ব্যবহার করছি এবং এটির মধ্যে একটি উন্নতি যা আমি এটি দেখতে পছন্দ করব জিজ্ঞাসা করুন জিজ্ঞাসুবন্তু