আমি ব্যবহারে কোনও লঞ্চের আইকনের অবস্থান কীভাবে খুঁজে পেতে পারি?


22

আমার ডেস্কটপে আমার একটি লঞ্চার রয়েছে এবং একই আইকনটির সাহায্যে ম্যানুয়ালি অন্য একটি যুক্ত করতে চাই।

যখন আমি বিদ্যমান লঞ্চারের পছন্দগুলিতে যাই এবং আইকনটি ক্লিক করি, এটি আমাকে ফোল্ডারে যেখানে নিয়ে যায় না সেখানে আইকনটি কেবল আমার বাড়ির ফোল্ডারে যায়।

আমার সিস্টেমে লঞ্চারের ব্যবহৃত আইকনটি কোথায় রয়েছে তা আমি কীভাবে জানতে পারি?

উত্তর:


19

বেশিরভাগ সময়, আইকনটি আপনার বর্তমান আইকন থিম থেকে বেছে নেওয়া হবে, বরং এটি পরম পথ হিসাবে উল্লেখ করা হবে।

  1. গেডিট খুলুন
  2. গেডিট উইন্ডোতে লঞ্চারটি টেনে আনুন
  3. দেখুন Iconসংজ্ঞা:

    Icon=gnome-panel-launcher

এর পরে আপনি আইকন জানতে পারেন কোথাও মধ্যে /usr/share/iconsআপনার থিম উপর নির্ভর করে।

এখানে একটি অজগর স্ক্রিপ্ট যা আপনার জন্য সঠিক আইকন পথটি খুঁজে পায়:

import gtk

print "enter the icon name (case sensitive):"
icon_name = raw_input(">>> ")
icon_theme = gtk.icon_theme_get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
    print icon.get_filename()
else:
    print "not found"

এটি কোথাও সংরক্ষণ করুন এবং চালান python /path/to/script.py

এটি দেখতে এরকম দেখাবে:

stefano@lenovo:~$ python test.py 
enter the icon name (case sensitive):
>>> gtk-execute
/usr/share/icons/Humanity/actions/48/gtk-execute.svg

বিকল্প হিসাবে, আপনি /usr/share/iconsযে আইকনটি সন্ধান করছেন এটি না পাওয়া পর্যন্ত আপনি কেবল চারদিকে ঘুরে আসতে পারেন ।


অনেক সহজ: আপনি কেবল লঞ্চটি অনুলিপি করে পেস্ট করতে পারেন এবং নাম এবং কমান্ড পরিবর্তন করতে পারেন


EDIT 2018

উপরের স্ক্রিপ্টটির আপডেট সংস্করণ:

#!/usr/bin/env python3
import gi
gi.require_version('Gtk', '3.0')
from gi.repository import Gtk

icon_name = input("Icon name (case sensitive): ")
icon_theme = Gtk.IconTheme.get_default()
icon = icon_theme.lookup_icon(icon_name, 48, 0)
if icon:
    print(icon.get_filename())
else:
    print("not found")

5
চেক করার অন্য একটি সাধারণ পথ /usr/share/pixmaps
htorque

@ স্টেফানো: হিরো! আপনার উত্তর উভয়ের জন্য আপনাকে অনেক ধন্যবাদ। উজ্জ্বল কাজ করে। কমপক্ষে ২ য় উপায়টিও আমার মনে আসা উচিত ছিল।
টিমো স্নিমান

ট্রেসব্যাক (সর্বশেষতম কলটি শেষ): ফাইল "লুকUget.py", লাইন 2, <মডুল> আমদানি জিআই আমদানি এরিয়ার: জিআই নামে কোনও মডিউল নেই
জুলিয়ানলাই

4

আরও কিছু তথ্য।

সাধারণ প্রবর্তকরা সত্যিই / ইউএসআর / শেয়ার / অ্যাপ্লিকেশনগুলিতে / .ডেস্কটপ ফাইল।

উদাহরণস্বরূপ: /usr/share/applications/usb-creator-gtk.desktop

( Http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html দেখুন )

প্রতিটি ডেস্কটপ ফাইলে একটি লাইন থাকে যা আইকনটি নির্দিষ্ট করে:

Icon=usb-creator-gtk

যখন কোনও পাথ (এবং ফাইল এক্সটেনশান) থাকে না (যেমন এই ক্ষেত্রে), এর অর্থ আইকনটি (কোথাও) / usr / শেয়ার / আইকনগুলিতে পাওয়া যায় এবং রান-টাইমে ব্যবহৃত একটিটি বর্তমান থিমের উপর নির্ভর করে এবং কিছুতে ক্ষেত্রে প্রদর্শন প্রসঙ্গ (আকার)।

ডেস্কটপ ফাইল থেকে আইকন নামটি (এক্সটেনশন ছাড়াই) জানার মাধ্যমে, কেউ এটি / সেগুলি নিম্নলিখিত হিসাবে খুঁজে পেতে পারেন:

$ find . -name "usb-creator-gtk*"
./hicolor/scalable/apps/usb-creator-gtk.svg
./Humanity/apps/32/usb-creator-gtk.svg
./Humanity/apps/16/usb-creator-gtk.svg
./Humanity/apps/22/usb-creator-gtk.svg
./Humanity/apps/24/usb-creator-gtk.svg
./Humanity/apps/64/usb-creator-gtk.svg
./Humanity/apps/48/usb-creator-gtk.svg

3

এই থেকে ভিত্তি করে স্টেফানো মধ্যে Palazzo এর উত্তর এখানে

#!/usr/bin/env python3

from gi.repository import Gtk

icon_name = input("Icon name (case sensitive): ")
if icon_name:
    theme = Gtk.IconTheme.get_default()
    found_icons = set()
    for res in range(0, 512, 2):
        icon = theme.lookup_icon(icon_name, res, 0)
        if icon:
            found_icons.add(icon.get_filename())

    if found_icons:
        print("\n".join(found_icons))
    else:
        print(icon_name, "was not found")

উপরের ফাইলটিকে একটি ফাইলে সংরক্ষণ করুন এবং এটি দিয়ে চালান python3 /path/to/file

স্টেফানো প্যালাজোর মূল লিপির মধ্যে পার্থক্য হ'ল :

  • এটি আইকনের সমস্ত রেজোলিউশন সন্ধান করে (কেবল 48 নয়)
  • gi.repositoryপরিবর্তে ব্যবহার করেGtk
  • পাইথন 3 ব্যবহার করে 2 এর পরিবর্তে
  • সামান্যভাবে অন্যভাবে টুইট করা হয়েছে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.