示例#1
0
文件: eve.c 项目: Tetralet/hime
void disp_tray_icon()
{
  if (!hime_status_tray)
    return destroy_tray();
// dbg("disp_tray_icon\n");

  if (hime_tray_display == HIME_TRAY_DISPLAY_SINGLE)
    load_tray_icon();
  if (hime_tray_display == HIME_TRAY_DISPLAY_DOUBLE)
    load_tray_icon_double();
#if TRAY_UNITY
  if (hime_tray_display == HIME_TRAY_DISPLAY_APPINDICATOR)
  load_tray_appindicator();
#endif
}
示例#2
0
文件: eve.c 项目: Tetralet/hime
void destroy_other_tray()
{
  if (!hime_status_tray) {
    destroy_tray();
    return;
  }
  if (is_exist_tray() && hime_tray_display != HIME_TRAY_DISPLAY_SINGLE)
    destroy_tray_icon();
  if (is_exist_tray_double() && hime_tray_display != HIME_TRAY_DISPLAY_DOUBLE)
    destroy_tray_double();
#if TRAY_UNITY
  if (is_exist_tray_appindicator() && hime_tray_display != HIME_TRAY_DISPLAY_APPINDICATOR)
    destroy_tray_appindicator();
#endif
}
示例#3
0
static void
_shutdown(void)
{
    if (prefs_get_boolean(PREF_TITLEBAR_SHOW)) {
        if (prefs_get_boolean(PREF_TITLEBAR_GOODBYE)) {
            ui_goodbye_title();
        } else {
            ui_clear_win_title();
        }
    }

    jabber_conn_status_t conn_status = jabber_get_connection_status();
    if (conn_status == JABBER_CONNECTED) {
        cl_ev_disconnect();
    }
#ifdef PROF_HAVE_GTK
    if (gtk_ready) {
        destroy_tray();
    }
#endif
    jabber_shutdown();
    plugins_on_shutdown();
    muc_close();
    caps_close();
    ui_close();
#ifdef PROF_HAVE_LIBOTR
    otr_shutdown();
#endif
#ifdef PROF_HAVE_LIBGPGME
    p_gpg_close();
#endif
    chat_log_close();
    theme_close();
    accounts_close();
    tlscerts_close();
    cmd_uninit();
    log_stderr_close();
    log_close();
    plugins_shutdown();
    prefs_close();
    if (saved_status) {
        free(saved_status);
    }
}
示例#4
0
文件: eve.c 项目: CarterTsai/hime
void disp_tray_icon()
{
//  dbg("disp_tray_icon\n");
//dbg("disp_tray_icon %d %d\n", current_hime_win32_icon, hime_win32_icon);
#if UNIX
  if (current_hime_win32_icon >= 0 && current_hime_win32_icon != hime_win32_icon) {
    destroy_tray();
  }

  current_hime_win32_icon = hime_win32_icon;

  if (hime_win32_icon)
#endif

    load_tray_icon_win32();
#if UNIX
  else
    load_tray_icon();
#endif
}
示例#5
0
文件: hime.c 项目: Tetralet/hime
void do_exit()
{
  dbg("----------------- do_ exit ----------------\n");

  free_pho_mem();
  free_tsin();
#if USE_XIM
  free_all_IC();
#endif
  free_gtab();
  free_phrase();

#if 1
  destroy_win0();
  destroy_win1();
  destroy_win_gtab();
#endif

#if TRAY_ENABLED
  destroy_tray();
#endif

  gtk_main_quit();
}