support skip_taskbar by Andreas.Fink85
git-svn-id: http://tint2.googlecode.com/svn/trunk@169 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
@@ -1,3 +1,7 @@
|
|||||||
|
2009-09-07
|
||||||
|
- fixed issue 117 : support skip_taskbar by Andreas.Fink85
|
||||||
|
- cleanup : switch space to tab
|
||||||
|
|
||||||
2009-09-01
|
2009-09-01
|
||||||
- fixed segfault
|
- fixed segfault
|
||||||
|
|
||||||
|
|||||||
@@ -319,7 +319,7 @@ gboolean add_icon(Window id)
|
|||||||
traywin = g_new0(TrayWindow, 1);
|
traywin = g_new0(TrayWindow, 1);
|
||||||
traywin->id = id;
|
traywin->id = id;
|
||||||
|
|
||||||
// systray.list_icons = g_slist_prepend(systray.list_icons, traywin);
|
// systray.list_icons = g_slist_prepend(systray.list_icons, traywin);
|
||||||
systray.list_icons = g_slist_insert_sorted(systray.list_icons, traywin, compare_traywindows);
|
systray.list_icons = g_slist_insert_sorted(systray.list_icons, traywin, compare_traywindows);
|
||||||
systray.area.resize = 1;
|
systray.area.resize = 1;
|
||||||
systray.area.redraw = 1;
|
systray.area.redraw = 1;
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ void resize_taskbar(void *obj)
|
|||||||
GSList *l;
|
GSList *l;
|
||||||
int task_count;
|
int task_count;
|
||||||
|
|
||||||
//printf("resize_taskbar : posx et width des taches\n");
|
//printf("resize_taskbar : posx et width des taches\n");
|
||||||
|
|
||||||
taskbar->area.redraw = 1;
|
taskbar->area.redraw = 1;
|
||||||
|
|
||||||
|
|||||||
10
src/tint.c
10
src/tint.c
@@ -478,7 +478,12 @@ void event_property_notify (XEvent *e)
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
tsk = task_get_task (win);
|
tsk = task_get_task (win);
|
||||||
if (!tsk) return;
|
if (!tsk) {
|
||||||
|
if ( at != server.atom._NET_WM_STATE)
|
||||||
|
return;
|
||||||
|
else if ( !(tsk = add_task(win)) )
|
||||||
|
return;
|
||||||
|
}
|
||||||
//printf("atom root_win = %s, %s\n", XGetAtomName(server.dsp, at), tsk->title);
|
//printf("atom root_win = %s, %s\n", XGetAtomName(server.dsp, at), tsk->title);
|
||||||
|
|
||||||
// Window title changed
|
// Window title changed
|
||||||
@@ -507,6 +512,9 @@ void event_property_notify (XEvent *e)
|
|||||||
tick_urgent = 0;
|
tick_urgent = 0;
|
||||||
time_precision = 1;
|
time_precision = 1;
|
||||||
}
|
}
|
||||||
|
if (window_is_skip_taskbar(win)) {
|
||||||
|
remove_task( tsk );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (at == server.atom.WM_STATE) {
|
else if (at == server.atom.WM_STATE) {
|
||||||
// Iconic state
|
// Iconic state
|
||||||
|
|||||||
@@ -165,6 +165,23 @@ int window_is_urgent (Window win)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int window_is_skip_taskbar (Window win)
|
||||||
|
{
|
||||||
|
Atom *at;
|
||||||
|
int count, i;
|
||||||
|
|
||||||
|
at = server_get_property(win, server.atom._NET_WM_STATE, XA_ATOM, &count);
|
||||||
|
for (i=0; i<count; i++) {
|
||||||
|
if (at[i] == server.atom._NET_WM_STATE_SKIP_TASKBAR) {
|
||||||
|
XFree(at);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
XFree(at);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int server_get_number_of_desktop ()
|
int server_get_number_of_desktop ()
|
||||||
{
|
{
|
||||||
return get_property32(server.root_win, server.atom._NET_NUMBER_OF_DESKTOPS, XA_CARDINAL);
|
return get_property32(server.root_win, server.atom._NET_NUMBER_OF_DESKTOPS, XA_CARDINAL);
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ int window_is_iconified (Window win);
|
|||||||
int window_is_urgent (Window win);
|
int window_is_urgent (Window win);
|
||||||
int window_is_hidden (Window win);
|
int window_is_hidden (Window win);
|
||||||
int window_is_active (Window win);
|
int window_is_active (Window win);
|
||||||
|
int window_is_skip_taskbar (Window win);
|
||||||
int get_icon_count (long *data, int num);
|
int get_icon_count (long *data, int num);
|
||||||
long *get_best_icon (long *data, int icon_count, int num, int *iw, int *ih, int best_icon_size);
|
long *get_best_icon (long *data, int icon_count, int num, int *iw, int *ih, int best_icon_size);
|
||||||
void window_maximize_restore (Window win);
|
void window_maximize_restore (Window win);
|
||||||
|
|||||||
Reference in New Issue
Block a user