Exemple #1
0
JS_EXPORT_API
gchar* lock_get_user_icon (const gchar* name)
{
    // WHY NOT use name here???
    NOUSED(name);
    return get_user_icon (username);
}
Exemple #2
0
static void
set_icon_maybe (icons_priv *ics, task *tk)
{
    wmpix_t *pix;

    ENTER;
    g_assert ((ics != NULL) && (tk != NULL));
    g_return_if_fail(tk != NULL);


    pix = get_user_icon(ics, tk);
    if (!pix)
    {
        if (task_has_icon(tk))
            RET();
        pix = ics->dicon;
    } 
    if (!pix)
        RET();

    DBG("%s size=%d\n", pix->ch.res_name, pix->size);
    XChangeProperty (GDK_DISPLAY(), tk->win,
          a_NET_WM_ICON, XA_CARDINAL, 32, PropModeReplace, (guchar*) pix->data, pix->size);

    RET();
}
Exemple #3
0
void
userlist_move (Userlist *userlist, session *sess, struct User *user, int new_row)
{
	Store *store = g_hash_table_lookup (userlist->stores, sess);
	GtkTreeIter *iter1, iter2;

	g_assert (store != NULL);

	iter1 = find_user (store, user);
	gtk_list_store_remove (store->liststore, iter1);

	gchar *icon = get_user_icon (sess->server, user);

	gtk_list_store_insert (store->liststore, &iter2, new_row);
	gtk_list_store_set (store->liststore, &iter2, 0, icon, 1, user->nick, 2, user, 3, user->away ? &colors[40] : NULL, -1);
}
Exemple #4
0
void
fe_userlist_insert (session *sess, struct User *newuser, int row, bool sel)
{
	GtkTreeModel *model = static_cast<GtkTreeModel*>(sess->res->user_model);
	GdkPixbuf *pix = get_user_icon (sess->server, newuser);
	GtkTreeIter iter;
	int nick_color = 0;

	if (prefs.hex_away_track && newuser->away)
		nick_color = COL_AWAY;
	else if (prefs.hex_gui_ulist_color)
		nick_color = text_color_of(newuser->nick);

	std::string nick(newuser->nick);
	if (!prefs.hex_gui_ulist_icons)
	{		
		if (newuser->prefix[0] || newuser->prefix[0] != ' ')
			nick.insert(nick.begin(), newuser->prefix[0]);
		pix = NULL;
	}

	gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &iter, row,
									COL_PIX, pix,
									COL_NICK, nick.c_str(),
									COL_HOST, newuser->hostname ? newuser->hostname->c_str() : nullptr,
									COL_USER, newuser,
									COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL,
								  -1);

	/* is it me? */
	if (newuser->me && sess->gui->nick_box)
	{
		if (!sess->gui->is_tab || sess == current_tab)
			mg_set_access_icon (sess->gui, pix, sess->server->is_away);
	}

	/* is it the front-most tab? */
	if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree))
		 == model)
	{
		if (sel)
			gtk_tree_selection_select_iter (gtk_tree_view_get_selection
										(GTK_TREE_VIEW (sess->gui->user_tree)), &iter);
	}
}
Exemple #5
0
void
userlist_insert (Userlist *userlist, session *sess, struct User *newuser, int row, gboolean selected)
{
	Store *store = (Store*) g_hash_table_lookup (userlist->stores, sess);
	GtkTreeIter iter;
	GList *item;

	if (!store) {
		store = create_userlist (userlist, sess);
	}

	gchar *icon = get_user_icon (sess->server, newuser);

	gtk_list_store_insert (store->liststore, &iter, row);
	gtk_list_store_set (store->liststore, &iter, 0, icon, 1, newuser->nick, 2, newuser, 3, newuser->away ? &colors[40] : NULL, -1);

	item = g_list_append (NULL, newuser->nick);
	store->completion_items = g_list_concat (store->completion_items, item);

	userlist_set_user_button (userlist, sess);
}
Exemple #6
0
void
fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
{
	GtkTreeModel *model = sess->res->user_model;
	GdkPixbuf *pix = get_user_icon (sess->server, newuser);
	GtkTreeIter iter;
	gboolean do_away = TRUE;

	if (prefs.away_timeout < 1 || !prefs.away_track)
		do_away = FALSE;

	gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &iter, row,
									0, pix,
									1, newuser->nick,
									2, newuser->hostname,
									3, newuser,
									4, (do_away)
										?	(newuser->away ? &colors[COL_AWAY] : NULL)
										:	(NULL),
								  -1);

#if 0
	if (prefs.hilitenotify && notify_isnotify (sess, newuser->nick))
	{
		gtk_clist_set_foreground ((GtkCList *) sess->gui->user_clist, row,
										  &colors[prefs.nu_color]);
	}
#endif

	/* is it the front-most tab? */
	if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree))
		 == model)
	{
		if (sel)
			gtk_tree_selection_select_iter (gtk_tree_view_get_selection
										(GTK_TREE_VIEW (sess->gui->user_tree)), &iter);
	}
}
Exemple #7
0
void
fe_userlist_insert (session *sess, struct User *newuser, int row, int sel)
{
	GtkTreeModel *model = sess->res->user_model;
	GdkPixbuf *pix = get_user_icon (sess->server, newuser);
	GtkTreeIter iter;
	char *nick;
	int nick_color = 0;

	if (prefs.hex_away_track && newuser->away)
		nick_color = COL_AWAY;
	else if (prefs.hex_gui_ulist_color)
		nick_color = text_color_of(newuser->nick);

	nick = newuser->nick;
	if (!prefs.hex_gui_ulist_icons)
	{
		nick = malloc (strlen (newuser->nick) + 2);
		nick[0] = newuser->prefix[0];
		if (!nick[0] || nick[0] == ' ')
			strcpy (nick, newuser->nick);
		else
			strcpy (nick + 1, newuser->nick);
		pix = NULL;
	}

	gtk_list_store_insert_with_values (GTK_LIST_STORE (model), &iter, row,
									COL_PIX, pix,
									COL_NICK, nick,
									COL_HOST, newuser->hostname,
									COL_USER, newuser,
									COL_GDKCOLOR, nick_color ? &colors[nick_color] : NULL,
								  -1);

	if (!prefs.hex_gui_ulist_icons)
	{
		free (nick);
	}

	/* is it me? */
	if (newuser->me && sess->gui->nick_box)
	{
		if (!sess->gui->is_tab || sess == current_tab)
			mg_set_access_icon (sess->gui, pix, sess->server->is_away);
	}

#if 0
	if (prefs.hilitenotify && notify_isnotify (sess, newuser->nick))
	{
		gtk_clist_set_foreground ((GtkCList *) sess->gui->user_clist, row,
										  &colors[prefs.nu_color]);
	}
#endif

	/* is it the front-most tab? */
	if (gtk_tree_view_get_model (GTK_TREE_VIEW (sess->gui->user_tree))
		 == model)
	{
		if (sel)
			gtk_tree_selection_select_iter (gtk_tree_view_get_selection
										(GTK_TREE_VIEW (sess->gui->user_tree)), &iter);
	}
}
Exemple #8
0
JS_EXPORT_API
gchar* greeter_get_user_icon (const gchar* name)
{
    return get_user_icon (name);
}