Add a custom text to GNOME panel

5,659

Simple Gnome extension may be worth to try. (I'm not sure about naming, in Ubuntu 14.04: Gnome classic uses same Gnome shell extensions, Where old classic renamed to Gnome Fallback)


Gnome Classic & Mate

  1. Download panel-applet-generator
  2. Generate a new applet:

    python panel-applet-generator.py -n mylabel -d "my custom label"
    
  3. Modify mylabelApplet.py

    try:
        from gi.repository import Gtk
    except: # Can't use ImportError, as gi.repository isn't quite that nice...
        import gtk as Gtk
    
    def applet_factory(applet, iid, data = None):
        button = Gtk.Button("It works!")
        label = Gtk.Label("It works!")
        applet.add(label)
        applet.show_all()
        return True
    

    I added label = Gtk.Label("It works!") and modified applet.add(label) (It was applet.add(button))

  4. Compress mylabel folder as tar.gz then rename it to mylabel_1.0.orig.tar.gz

  5. Build Debian package

    cd mylabel/
    debuild -us -uc
    
  6. Install package

    sudo dpkg -i ../*.deb
    
  7. Alt+Right Click or Super+Alt+Right Click on panel, then add to panel

  8. Look for mylabel applet, then add

enter image description here

References:

Note:

  • If for any reason unable to install, It is possible to do it manually:

    sudo cp org.gnome.applets.mylabel.panel-applet /usr/share/gnome-panel/4.0/applets/
    sudo cp org.gnome.panel.applet.mylabel.service /usr/share/dbus-1/services/
    sudo cp *.py /usr/lib/gnome-applets/
    

    32bit system:

    sudo cp mylabel.server /usr/lib/bonobo/servers/ 
    

    64bit system:

    sudo cp mylabel.server /usr/lib/x86_64-linux-gnu/bonobo/servers/
    

Gnome Shell

I have tested it with Gnome 3.10:

  1. Install Gnome tweak tool

    sudo apt-get install gnome-tweak-tool
    
  2. Create new extension:

    gnome-shell-extension-tool --create-extension
    
  3. Enter requested info: name My Label, description Extension shows my custom text, uuid mylabel@yourname or leave as default mylabel@hostname

    Extension created in /home/username/.local/share/gnome-shell/extensions/mylabel@hostname

  4. extension.js is auto opened. Replace Icon with your custom label. As below:

    function init() {
        button = new St.Bin({ style_class: 'panel-button',
                              reactive: true,
                              can_focus: true,
                              x_fill: true,
                              y_fill: false,
                              track_hover: true });
        let icon = new St.Icon({ icon_name: 'system-run-symbolic',
                                 style_class: 'system-status-icon' });
    
        let label = new St.Label({ text: "Hello, world!" });
        button.set_child(label);
        button.connect('button-press-event', _showHello);
    }
    

    I added let label = new St.Label({ text: "Hello, world!" }); and modified 'button.set_child(label); (It was button.set_child(icon);)

  5. Save, Restart Gnome-Shell using Alt+F2, enter r then Enter

  6. Launch Gnome Tweak Tool → Extensions → Enable My Label extension.

  7. Restart Gnome-Shell again.

    enter image description here

References:

Share:
5,659
Shambo
Author by

Shambo

Updated on September 18, 2022

Comments

  • Shambo
    Shambo almost 2 years

    I want to add some text to the GNOME panel in GNOME Classic.

    I got a suggestion from this blog but it dates back to 2008 and doesn't seem applicable now.

    In Ubuntu 12.10 and GNOME classic, the option of /apps/panel/applets/clock_screen0/prefs/custom_format in gconf-editor is missing.

    So is there any way I can add custom text to the clock in GNOME classic?

    Also is there any other applet/extension available which allows us to add a text to the GNOME panel?

    • Admin
      Admin over 11 years
      Those instructions no longer work in 12.10 as it uses Gnome 3.5/3.6. You can change how the clock displays the time from the Gnome Control Center>Clock.
    • Admin
      Admin over 11 years
      But the clock stetting under Gnome Control center does not allows me to add some custom text.
    • Admin
      Admin over 11 years
      No that only changes the format of the clock as per your question: So is there any way I can change the format of the clock in gnome classic?. You can try with Gnome Shell, use extensions to make it look like the Classic session and find one extension that changes the Clock though that seems too much for just the text in the clock.
    • Admin
      Admin over 11 years
      That blog linked to a Ubuntu Forums thread which in turn linked to an external image that doesn't seem available anymore. So what exactly do you want? I have a digital clock set up like this: Thu 21 Feb 03 : 41. Is it correct that you want to add some text before Thu or after 41 (in this example)?
    • Admin
      Admin over 11 years
      @vasa1 There is custom text next to the clock it says tango, that's what the OP wants though I'm most certain that it can't be done.
    • Admin
      Admin over 11 years
      I can do that in Lubuntu with the default digital clock applet. The problem is that I don't know anything about that applet, whether it's specific to Lubuntu, and if it isn't where someone using GNOME can pick it up from. I just added "anything here" ahead of Thu without a problem.
  • Shambo
    Shambo over 10 years
    Great Solution!! I have been looking for something like this. But unfortunately I could not install it in my Gnome Classic. So I was wondering if you have any solution for creating such "Hello World" applet in Gnome Classic.
  • user.dz
    user.dz over 10 years
    I would like ask you to add your Gnome Classic version to the question, just to confirm. I may give it a try later. I couldn't give you any promise.
  • Shambo
    Shambo over 10 years
    Great work, and effort. Thanks. Really a life saver when I am compulsively using the internet.
  • WinEunuuchs2Unix
    WinEunuuchs2Unix over 4 years
    There is interest in this for version 18.04 but reportedly doesn't work here: Is there a way to show external IP in top bar using GNOME 3.28.2 in Ubuntu 18.04
  • user.dz
    user.dz over 4 years
    @WinEunuuchs2Unix, Gnome Shell was changing faster without weak backward compatibility that I couldn't keep up. It seems that question already got an answer that solution has clear source here github.com/rostegg/public-ip-gnome-extension. Whenever I have time I may update it, I put the link here if anyone may need for time being.
  • WinEunuuchs2Unix
    WinEunuuchs2Unix over 4 years
    @user.dz If I had a dollar for every Gnome Shell & Wayland complaint I'd be a millionaire. I've used Unity / Xorg throughout 14.04, 16.04, 18.04 and 19.04 so all my time consuming written works still work. I'll probably do the same in 20.04 because I'm not a big fan of reinventing the wheel. I do hope Canonical does take new developments in Gnome world and port them to Unity though...