Exemplo n.º 1
0
void wApplicationDeactivate(WApplication *wapp)
{
	if (wapp->app_icon) {
		wIconSetHighlited(wapp->app_icon->icon, False);
		wAppIconPaint(wapp->app_icon);
	}
}
Exemplo n.º 2
0
void removeAppIconFor(WApplication *wapp)
{
	if (!wapp->app_icon)
		return;

	if (wPreferences.highlight_active_app)
		wIconSetHighlited(wapp->app_icon->icon, False);

	if (wapp->app_icon->docked && !wapp->app_icon->attracted) {
		wapp->app_icon->running = 0;
		/* since we keep it, we don't care if it was attracted or not */
		wapp->app_icon->attracted = 0;
		wapp->app_icon->icon->shadowed = 0;
		wapp->app_icon->main_window = None;
		wapp->app_icon->pid = 0;
		wapp->app_icon->icon->owner = NULL;
		wapp->app_icon->icon->icon_win = None;

		/* Set the icon image */
		set_icon_image_from_database(wapp->app_icon->icon, wapp->app_icon->wm_instance,
					     wapp->app_icon->wm_class, wapp->app_icon->command);
		map_icon_image(wapp->app_icon->icon);

		/* Paint it */
		wAppIconPaint(wapp->app_icon);
	} else if (wapp->app_icon->docked) {
		wapp->app_icon->running = 0;
		if (wapp->app_icon->dock->type == WM_DRAWER)
			wDrawerFillTheGap(wapp->app_icon->dock, wapp->app_icon, True);

		wDockDetach(wapp->app_icon->dock, wapp->app_icon);
	} else {
		wAppIconDestroy(wapp->app_icon);
	}

	wapp->app_icon = NULL;

	if (wPreferences.auto_arrange_icons)
		wArrangeIcons(wapp->main_window_desc->vscr, True);
}