मैं उपयोग में लॉन्चर के आइकन का स्थान कैसे पा सकता हूं?


22

मेरे डेस्कटॉप पर एक लांचर है और उसी आइकन के साथ मैन्युअल रूप से एक और जोड़ना चाहता हूं।

जब मैं मौजूदा लॉन्चर की वरीयताओं पर जाता हूं और आइकन पर क्लिक करता हूं, तो यह मुझे उस फ़ोल्डर में नहीं ले जाता है जहां आइकन संग्रहीत है, लेकिन सिर्फ मेरे होम फ़ोल्डर में।

मैं यह कैसे पता लगा सकता हूं कि लॉन्चर का उपयोग किया गया आइकन मेरे सिस्टम में कहां स्थित है?

जवाबों:


19

अधिकांश समय, आइकन को आपके मौजूदा आइकन थीम से चुना जाएगा, बजाय एक निरपेक्ष पथ के रूप में संदर्भित किया जाएगा।

  1. Gedit खोलें
  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
हॉर्टिक जूल 9'11

@ सेफ़ानो: हीरो! आपके दोनों उत्तर के लिए बहुत बहुत धन्यवाद। शानदार काम करता है। कम से कम दूसरा तरीका मेरे दिमाग में भी आना चाहिए था।
टिमो श्नीमन्नन

ट्रेसबैक (सबसे हालिया कॉल अंतिम): फ़ाइल "LookUget.py", पंक्ति 2, में <मॉड्यूल> आयात gi ImportError: कोई मॉड्यूल जिसका नाम gi नहीं है
JulianLai

4

थोड़ी और जानकारी।

सामान्य लांचर वास्तव में / usr / शेयर / एप्लीकेशन / में .desktop फाइलें हैं।

उदाहरण के लिए: /usr/share/applications/usb-creator-gtk.desktop

( Https://specifications.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

यह Stefano 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
  • 2 के बजाय पायथन 3 का उपयोग करता है
  • अन्य तरीकों से थोड़ा ट्विक किया गया
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.