सेंट आइकन के लिए जीनोम शैल एक्सटेंशन में पीएनजी फ़ाइल कैसे सेट करें

मेरे जीनोम शैल एक्सटेंशन में एक फ़ोल्डर 'आइकन' है और इसमें 'MyIcon.png' नामक एक आइकन फ़ाइल है। मैं इसे एक सेंट आइकन ऑब्जेक्ट के पैरामीटर के रूप में ले जाना चाहता हूं।

let icon = new St.Icon({ /* I need what to code here*/ });

किसी भी मदद के लिए धन्यवाद।

Selcuk।

8

4 उत्तर

GnomeShell v3.8.4 के लिए यहां एक समाधान है:

const St = imports.gi.St;
const Me = imports.misc.extensionUtils.getCurrentExtension();
const Gio = imports.gi.Gio;
let gicon=Gio.icon_new_for_string(Me.path + "/icons/my_icon.png");
icon = new St.Icon({ gicon: gicon});
8
जोड़ा
धन्यवाद, यह वही है जो मैं बात कर रहा था।
जोड़ा लेखक The_Cute_Hedgehog, स्रोत
@SelcukBozdag तो, क्या यह आपका समाधान है? यदि ऐसा है, तो कृपया इस उत्तर को स्वीकार के रूप में चिह्नित करें।
जोड़ा लेखक nemo, स्रोत

कल एक ही समस्या पर ठोकर खाई।

आपको दो चीजें करना है:

Step 1: add this code to you "stylesheet.css"

.your-icon-name {
    background-image: url("icons/MyIcon.png");
    background-size: 20px;
    height: 20px;
    width: 20px;
}

'पृष्ठभूमि-आकार', 'ऊंचाई' और 'चौड़ाई' छवि को प्रीस्केल करने के लिए बस वहां हैं, उन्हें मूल आकार रखने के लिए छोड़ा जा सकता है।

Step 2: Write this in your .js file:

let icon = new St.Icon({style_class: 'your-icon-name'});
2
जोड़ा
हां, यही वह है जो मैं अभी कर रहा हूं। हालांकि, समस्या के लिए एक उचित समाधान या समाधान है। मैंने एक उदाहरण देखा है जहां डेवलपर ने अपनी पथ 'खोज' निर्देशिका को खोज पथ में शामिल किया था। जब भी मेरे पास Google के लिए समय होता है, तो मैं आपको बता दूंगा कि मैंने इसे कहाँ देखा है। धन्यवाद।
जोड़ा लेखक The_Cute_Hedgehog, स्रोत

यहां एक उदाहरण दिया गया है कि इसे कैसे करें:

_getIconImage: function() {
     let icon_file = this._path + "/icons/icon.png";
     let file = Gio.file_new_for_path(icon_file);
     let icon_uri = file.get_uri();

     return St.TextureCache.get_default().load_uri_async(icon_uri, 64, 64);
},

myIcon = _getIconImage();
1
जोड़ा

यहां किसी भी व्यक्ति के लिए सीएसएस शैलियों का उपयोग करने के लिए खोज पथ पर अपने एक्सटेंशन के आइकन/(या छवियों/आदि) उप निर्देशिका को जोड़ना चाहते हैं, यह मेरे लिए काम कर रहा है:

function init(metadata) {
   //...

    let theme = imports.gi.Gtk.IconTheme.get_default();
    theme.append_search_path(metadata.path + "/icons");

   //...
}
0
जोड़ा