AppIndicator3: Set indicator icon from file name or GdkPixbuf












4















I'm writing a small Python 3 app which uses AppIndicator3 to place an icon in the top bar, and then change that icon in response to user actions. Simple, right? Because the app is small, it needs to run from its source directory without any kind of installation.



The problem is that AppIndicator3.set_icon() requires a str with an icon name, not a path to said icon.



How can I persuade AppIndicator3 to let me give it either a filename or a Pixbuf? Alternatively, how can I add my icon directory to the icon name search path? (I tried AppIndicator3.set_icon_theme_path(), but my icon names are still unrecognized.










share|improve this question

























  • Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

    – Jacob Vlijm
    May 10 '16 at 8:02











  • Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

    – Scott Severance
    May 10 '16 at 13:59











  • Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

    – Scott Severance
    May 10 '16 at 14:12











  • Sure! I will post late tonight or tomorrow, have to run...

    – Jacob Vlijm
    May 10 '16 at 17:54











  • Hi Scott, posted. Please let me know if it is what you are looking for.

    – Jacob Vlijm
    May 10 '16 at 21:13
















4















I'm writing a small Python 3 app which uses AppIndicator3 to place an icon in the top bar, and then change that icon in response to user actions. Simple, right? Because the app is small, it needs to run from its source directory without any kind of installation.



The problem is that AppIndicator3.set_icon() requires a str with an icon name, not a path to said icon.



How can I persuade AppIndicator3 to let me give it either a filename or a Pixbuf? Alternatively, how can I add my icon directory to the icon name search path? (I tried AppIndicator3.set_icon_theme_path(), but my icon names are still unrecognized.










share|improve this question

























  • Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

    – Jacob Vlijm
    May 10 '16 at 8:02











  • Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

    – Scott Severance
    May 10 '16 at 13:59











  • Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

    – Scott Severance
    May 10 '16 at 14:12











  • Sure! I will post late tonight or tomorrow, have to run...

    – Jacob Vlijm
    May 10 '16 at 17:54











  • Hi Scott, posted. Please let me know if it is what you are looking for.

    – Jacob Vlijm
    May 10 '16 at 21:13














4












4








4








I'm writing a small Python 3 app which uses AppIndicator3 to place an icon in the top bar, and then change that icon in response to user actions. Simple, right? Because the app is small, it needs to run from its source directory without any kind of installation.



The problem is that AppIndicator3.set_icon() requires a str with an icon name, not a path to said icon.



How can I persuade AppIndicator3 to let me give it either a filename or a Pixbuf? Alternatively, how can I add my icon directory to the icon name search path? (I tried AppIndicator3.set_icon_theme_path(), but my icon names are still unrecognized.










share|improve this question
















I'm writing a small Python 3 app which uses AppIndicator3 to place an icon in the top bar, and then change that icon in response to user actions. Simple, right? Because the app is small, it needs to run from its source directory without any kind of installation.



The problem is that AppIndicator3.set_icon() requires a str with an icon name, not a path to said icon.



How can I persuade AppIndicator3 to let me give it either a filename or a Pixbuf? Alternatively, how can I add my icon directory to the icon name search path? (I tried AppIndicator3.set_icon_theme_path(), but my icon names are still unrecognized.







python icons indicator






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 10 '16 at 14:14







Scott Severance

















asked May 10 '16 at 0:55









Scott SeveranceScott Severance

10.5k73569




10.5k73569













  • Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

    – Jacob Vlijm
    May 10 '16 at 8:02











  • Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

    – Scott Severance
    May 10 '16 at 13:59











  • Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

    – Scott Severance
    May 10 '16 at 14:12











  • Sure! I will post late tonight or tomorrow, have to run...

    – Jacob Vlijm
    May 10 '16 at 17:54











  • Hi Scott, posted. Please let me know if it is what you are looking for.

    – Jacob Vlijm
    May 10 '16 at 21:13



















  • Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

    – Jacob Vlijm
    May 10 '16 at 8:02











  • Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

    – Scott Severance
    May 10 '16 at 13:59











  • Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

    – Scott Severance
    May 10 '16 at 14:12











  • Sure! I will post late tonight or tomorrow, have to run...

    – Jacob Vlijm
    May 10 '16 at 17:54











  • Hi Scott, posted. Please let me know if it is what you are looking for.

    – Jacob Vlijm
    May 10 '16 at 21:13

















Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

– Jacob Vlijm
May 10 '16 at 8:02





Setting an icon from path can be done very well, but even then you cannot simply update the icon from the same thread as the one running the interface. The question needs to be "How can I update an icon of an indicator while it is running".

– Jacob Vlijm
May 10 '16 at 8:02













Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

– Scott Severance
May 10 '16 at 13:59





Actually, I can update the icon just fine if I use an icon from another package. I'm currently using icons from caffeine-plus. But I want to remove an unnecessary dependency and I don't want to need an installer.

– Scott Severance
May 10 '16 at 13:59













Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

– Scott Severance
May 10 '16 at 14:12





Anyway, if you can help me set an AppIndicator3 icon from a filename, that'd be great. By the way, I'm using a bit of your code for some of my app's core functionality. Thanks!

– Scott Severance
May 10 '16 at 14:12













Sure! I will post late tonight or tomorrow, have to run...

– Jacob Vlijm
May 10 '16 at 17:54





Sure! I will post late tonight or tomorrow, have to run...

– Jacob Vlijm
May 10 '16 at 17:54













Hi Scott, posted. Please let me know if it is what you are looking for.

– Jacob Vlijm
May 10 '16 at 21:13





Hi Scott, posted. Please let me know if it is what you are looking for.

– Jacob Vlijm
May 10 '16 at 21:13










1 Answer
1






active

oldest

votes


















4














To use a path to the icon is best illustrated with an example. In the example below, I keep the icons in the same directory as the script (indicator), which seems a convenient solution in your case.



The bottom line is that once you initiated your indicator:



class Indicator():
def __init__(self):
self.app = "<indicator_name>"
iconpath = "/path/to/initial/icon/"

-------------------------------

self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)

-------------------------------


you can change the icon with:



        self.testindicator.set_icon("/path/to/new/icon/")


enter image description hereenter image description here



Example



In the example below, all icons, nocolor.png, purple.png and green.png are stored together with the script, but the path to the icons, set in



currpath = os.path.dirname(os.path.realpath(__file__))


could be anywhere.



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

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
def __init__(self):
self.app = 'show_proc'
iconpath = currpath+"/nocolor.png"
# after you defined the initial indicator, you can alter the icon!
self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.testindicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.testindicator.set_menu(self.create_menu())

def create_menu(self):
menu = Gtk.Menu()
item_quit = Gtk.MenuItem(label='Quit')
item_quit.connect('activate', self.stop)
item_green = Gtk.MenuItem(label='Green')
item_green.connect('activate', self.green)
item_purple = Gtk.MenuItem(label='Purple')
item_purple.connect('activate', self.purple)
menu.append(item_quit)
menu.append(item_green)
menu.append(item_purple)
menu.show_all()
return menu

def stop(self, source):
Gtk.main_quit()

def green(self, source):
self.testindicator.set_icon(currpath+"/green.png")

def purple(self, source):
self.testindicator.set_icon(currpath+"/purple.png")

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()


Note



...that if you need to update the icon from a second thread, you need to use



GObject.threads_init()


before



Gtk.main()


and you need to update the interface (either icon or indicator text) by using:



GObject.idle_add()


as applied e.g. here and here.






share|improve this answer


























  • Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

    – Scott Severance
    May 10 '16 at 23:23











  • @AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

    – Jacob Vlijm
    Feb 19 at 13:11











Your Answer








StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "89"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f770036%2fappindicator3-set-indicator-icon-from-file-name-or-gdkpixbuf%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









4














To use a path to the icon is best illustrated with an example. In the example below, I keep the icons in the same directory as the script (indicator), which seems a convenient solution in your case.



The bottom line is that once you initiated your indicator:



class Indicator():
def __init__(self):
self.app = "<indicator_name>"
iconpath = "/path/to/initial/icon/"

-------------------------------

self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)

-------------------------------


you can change the icon with:



        self.testindicator.set_icon("/path/to/new/icon/")


enter image description hereenter image description here



Example



In the example below, all icons, nocolor.png, purple.png and green.png are stored together with the script, but the path to the icons, set in



currpath = os.path.dirname(os.path.realpath(__file__))


could be anywhere.



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

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
def __init__(self):
self.app = 'show_proc'
iconpath = currpath+"/nocolor.png"
# after you defined the initial indicator, you can alter the icon!
self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.testindicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.testindicator.set_menu(self.create_menu())

def create_menu(self):
menu = Gtk.Menu()
item_quit = Gtk.MenuItem(label='Quit')
item_quit.connect('activate', self.stop)
item_green = Gtk.MenuItem(label='Green')
item_green.connect('activate', self.green)
item_purple = Gtk.MenuItem(label='Purple')
item_purple.connect('activate', self.purple)
menu.append(item_quit)
menu.append(item_green)
menu.append(item_purple)
menu.show_all()
return menu

def stop(self, source):
Gtk.main_quit()

def green(self, source):
self.testindicator.set_icon(currpath+"/green.png")

def purple(self, source):
self.testindicator.set_icon(currpath+"/purple.png")

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()


Note



...that if you need to update the icon from a second thread, you need to use



GObject.threads_init()


before



Gtk.main()


and you need to update the interface (either icon or indicator text) by using:



GObject.idle_add()


as applied e.g. here and here.






share|improve this answer


























  • Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

    – Scott Severance
    May 10 '16 at 23:23











  • @AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

    – Jacob Vlijm
    Feb 19 at 13:11
















4














To use a path to the icon is best illustrated with an example. In the example below, I keep the icons in the same directory as the script (indicator), which seems a convenient solution in your case.



The bottom line is that once you initiated your indicator:



class Indicator():
def __init__(self):
self.app = "<indicator_name>"
iconpath = "/path/to/initial/icon/"

-------------------------------

self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)

-------------------------------


you can change the icon with:



        self.testindicator.set_icon("/path/to/new/icon/")


enter image description hereenter image description here



Example



In the example below, all icons, nocolor.png, purple.png and green.png are stored together with the script, but the path to the icons, set in



currpath = os.path.dirname(os.path.realpath(__file__))


could be anywhere.



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

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
def __init__(self):
self.app = 'show_proc'
iconpath = currpath+"/nocolor.png"
# after you defined the initial indicator, you can alter the icon!
self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.testindicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.testindicator.set_menu(self.create_menu())

def create_menu(self):
menu = Gtk.Menu()
item_quit = Gtk.MenuItem(label='Quit')
item_quit.connect('activate', self.stop)
item_green = Gtk.MenuItem(label='Green')
item_green.connect('activate', self.green)
item_purple = Gtk.MenuItem(label='Purple')
item_purple.connect('activate', self.purple)
menu.append(item_quit)
menu.append(item_green)
menu.append(item_purple)
menu.show_all()
return menu

def stop(self, source):
Gtk.main_quit()

def green(self, source):
self.testindicator.set_icon(currpath+"/green.png")

def purple(self, source):
self.testindicator.set_icon(currpath+"/purple.png")

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()


Note



...that if you need to update the icon from a second thread, you need to use



GObject.threads_init()


before



Gtk.main()


and you need to update the interface (either icon or indicator text) by using:



GObject.idle_add()


as applied e.g. here and here.






share|improve this answer


























  • Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

    – Scott Severance
    May 10 '16 at 23:23











  • @AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

    – Jacob Vlijm
    Feb 19 at 13:11














4












4








4







To use a path to the icon is best illustrated with an example. In the example below, I keep the icons in the same directory as the script (indicator), which seems a convenient solution in your case.



The bottom line is that once you initiated your indicator:



class Indicator():
def __init__(self):
self.app = "<indicator_name>"
iconpath = "/path/to/initial/icon/"

-------------------------------

self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)

-------------------------------


you can change the icon with:



        self.testindicator.set_icon("/path/to/new/icon/")


enter image description hereenter image description here



Example



In the example below, all icons, nocolor.png, purple.png and green.png are stored together with the script, but the path to the icons, set in



currpath = os.path.dirname(os.path.realpath(__file__))


could be anywhere.



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

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
def __init__(self):
self.app = 'show_proc'
iconpath = currpath+"/nocolor.png"
# after you defined the initial indicator, you can alter the icon!
self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.testindicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.testindicator.set_menu(self.create_menu())

def create_menu(self):
menu = Gtk.Menu()
item_quit = Gtk.MenuItem(label='Quit')
item_quit.connect('activate', self.stop)
item_green = Gtk.MenuItem(label='Green')
item_green.connect('activate', self.green)
item_purple = Gtk.MenuItem(label='Purple')
item_purple.connect('activate', self.purple)
menu.append(item_quit)
menu.append(item_green)
menu.append(item_purple)
menu.show_all()
return menu

def stop(self, source):
Gtk.main_quit()

def green(self, source):
self.testindicator.set_icon(currpath+"/green.png")

def purple(self, source):
self.testindicator.set_icon(currpath+"/purple.png")

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()


Note



...that if you need to update the icon from a second thread, you need to use



GObject.threads_init()


before



Gtk.main()


and you need to update the interface (either icon or indicator text) by using:



GObject.idle_add()


as applied e.g. here and here.






share|improve this answer















To use a path to the icon is best illustrated with an example. In the example below, I keep the icons in the same directory as the script (indicator), which seems a convenient solution in your case.



The bottom line is that once you initiated your indicator:



class Indicator():
def __init__(self):
self.app = "<indicator_name>"
iconpath = "/path/to/initial/icon/"

-------------------------------

self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)

-------------------------------


you can change the icon with:



        self.testindicator.set_icon("/path/to/new/icon/")


enter image description hereenter image description here



Example



In the example below, all icons, nocolor.png, purple.png and green.png are stored together with the script, but the path to the icons, set in



currpath = os.path.dirname(os.path.realpath(__file__))


could be anywhere.



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

currpath = os.path.dirname(os.path.realpath(__file__))

class Indicator():
def __init__(self):
self.app = 'show_proc'
iconpath = currpath+"/nocolor.png"
# after you defined the initial indicator, you can alter the icon!
self.testindicator = AppIndicator3.Indicator.new(
self.app, iconpath,
AppIndicator3.IndicatorCategory.OTHER)
self.testindicator.set_status(AppIndicator3.IndicatorStatus.ACTIVE)
self.testindicator.set_menu(self.create_menu())

def create_menu(self):
menu = Gtk.Menu()
item_quit = Gtk.MenuItem(label='Quit')
item_quit.connect('activate', self.stop)
item_green = Gtk.MenuItem(label='Green')
item_green.connect('activate', self.green)
item_purple = Gtk.MenuItem(label='Purple')
item_purple.connect('activate', self.purple)
menu.append(item_quit)
menu.append(item_green)
menu.append(item_purple)
menu.show_all()
return menu

def stop(self, source):
Gtk.main_quit()

def green(self, source):
self.testindicator.set_icon(currpath+"/green.png")

def purple(self, source):
self.testindicator.set_icon(currpath+"/purple.png")

Indicator()
signal.signal(signal.SIGINT, signal.SIG_DFL)
Gtk.main()


Note



...that if you need to update the icon from a second thread, you need to use



GObject.threads_init()


before



Gtk.main()


and you need to update the interface (either icon or indicator text) by using:



GObject.idle_add()


as applied e.g. here and here.







share|improve this answer














share|improve this answer



share|improve this answer








edited Feb 19 at 13:18

























answered May 10 '16 at 21:11









Jacob VlijmJacob Vlijm

65.6k9130226




65.6k9130226













  • Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

    – Scott Severance
    May 10 '16 at 23:23











  • @AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

    – Jacob Vlijm
    Feb 19 at 13:11



















  • Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

    – Scott Severance
    May 10 '16 at 23:23











  • @AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

    – Jacob Vlijm
    Feb 19 at 13:11

















Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

– Scott Severance
May 10 '16 at 23:23





Thanks. I had tried that before and it didn't work. It turns out that I had changed the names of the icon files and forgotten to update the code. So, I was left trying all sorts of other things. You set me back on the right track.

– Scott Severance
May 10 '16 at 23:23













@AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

– Jacob Vlijm
Feb 19 at 13:11





@AntonYablokov Sorry I rejected your edit a while ago. On 19.04, indeed got the deprecated warning on not using argument label..

– Jacob Vlijm
Feb 19 at 13:11


















draft saved

draft discarded




















































Thanks for contributing an answer to Ask Ubuntu!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f770036%2fappindicator3-set-indicator-icon-from-file-name-or-gdkpixbuf%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

is 'sed' thread safe

How to make a Squid Proxy server?