Linux 如何在基本操作系统Luna中将状态图标添加到翼面板?

Linux 如何在基本操作系统Luna中将状态图标添加到翼面板?,linux,ubuntu,gtk,glade,vala,Linux,Ubuntu,Gtk,Glade,Vala,在初级操作系统Luna(或Ubuntu)中,如何将应用程序图标添加到WingPanel(桌面上的顶部栏,显示Wi-Fi连接状态、声音属性以及日期和时间等状态图标) 我使用的是Vala编程语言。页面上曾经有一个例子处理添加托盘图标,这可能会解决这个问题。我无法找到指向该图标的链接,因此我将在此处提供源代码和编译命令 using Gtk; public class Main { class AppStatusIcon : Window { private StatusIcon tr

在初级操作系统Luna(或Ubuntu)中,如何将应用程序图标添加到WingPanel(桌面上的顶部栏,显示Wi-Fi连接状态、声音属性以及日期和时间等状态图标)


我使用的是Vala编程语言。

页面上曾经有一个例子处理添加托盘图标,这可能会解决这个问题。我无法找到指向该图标的链接,因此我将在此处提供源代码和编译命令

using Gtk;

public class Main {

  class AppStatusIcon : Window {
    private StatusIcon trayicon;
    private Gtk.Menu menuSystem;

    public AppStatusIcon() {
      /* Create tray icon */
      trayicon = new StatusIcon.from_stock(Stock.HOME);
      trayicon.set_tooltip_text ("Tray");
      trayicon.set_visible(true);

      trayicon.activate.connect(about_clicked);

      create_menuSystem();
      trayicon.popup_menu.connect(menuSystem_popup);
    }

    /* Create menu for right button */
    public void create_menuSystem() {
      menuSystem = new Gtk.Menu();
      var menuAbout = new ImageMenuItem.from_stock(Stock.ABOUT, null);
      menuAbout.activate.connect(about_clicked);
      menuSystem.append(menuAbout);
      var menuQuit = new ImageMenuItem.from_stock(Stock.QUIT, null);
      menuQuit.activate.connect(Gtk.main_quit);
      menuSystem.append(menuQuit);
      menuSystem.show_all();
    }

    /* Show popup menu on right button */
    private void menuSystem_popup(uint button, uint time) {
      menuSystem.popup(null, null, null, button, time);
    }

    private void about_clicked() {
      var about = new AboutDialog();
      about.set_version("0.0.0");
      about.set_program_name("Tray");
      about.set_comments("Tray utility");
      about.set_copyright("vala");
      about.run();
      about.hide();
    }
  }

  public static int main (string[] args) {
    Gtk.init(ref args);
    var App = new AppStatusIcon();
    App.hide();
    Gtk.main();
    return 0;
  }
}
运行此命令的编译命令是:
valac icon_test.vala-o build_test--pkg gtk+-3.0


我不确定这是否会以您想要的方式将其添加到面板中,但它确实会创建传统的托盘图标。祝您好运。希望这会有所帮助。

好的,源代码在launchpad上:您应该阅读源代码,当然也可以查看现有wingpanel小程序的源代码。因此没有相关文档因为基本操作系统还很年轻,开发人员(一般来说)也很年轻我不太喜欢写文档,你应该期望你经常需要钻研源代码。顺便说一句:你知道valadoc吗?它从Vala源代码生成API文档:没问题。当你知道怎么做的时候,你应该在这里回答你自己的问题,这样这个问题的未来访问者可以从中学习。你甚至可以在stackoverflow上接受你自己的答案。谢谢@Andrew,我正在看你的答案。