summaryrefslogtreecommitdiff
path: root/libwnck/tasklist.c
Commit message (Collapse)AuthorAgeFilesLines
* tasklist: Clarify difference between reset & stop glow in codeVincent Untz2011-01-191-3/+10
|
* all: Remove deprecated API and change API that had deprecated argumentsVincent Untz2011-01-191-81/+1
| | | | | | | | | | | | | | | | | | The following deprecated API got removed: wnck_screen_get_workspace_index wnck_screen_get_workspace_neighbor wnck_pager_set_screen wnck_tasklist_set_minimum_width wnck_tasklist_get_minimum_width wnck_tasklist_set_minimum_height wnck_tasklist_get_minimum_height wnck_tasklist_set_screen wnck_gtk_window_set_dock_type wnck_create_window_action_menu The following API don't take a WnckScreen argument anymore: wnck_pager_new wnck_tasklist_new
* all: Code spacing fixesVincent Untz2011-01-191-188/+188
|
* Fix build after size-request removalChristian Persch2010-12-031-3/+33
|
* tasklist: Reorganize how the glow button worksBenjamin Otte2010-10-061-155/+61
| | | | | | | | | Instead of screenshotting twice and blending the two screenshots in a timeout handler, we now do the blending in the draw handler and only compute the glow factor in the timeout handler. This way we ensure that drawing only happens in the draw handler. Also, the code looks much nicer now.
* Port to GTK3Benjamin Otte2010-10-061-176/+73
| | | | | Includes some surgery in the Tasklist widget to make the glow effect use gtk_widget_draw() instead of fake expose events.
* [all] More GSeal workVincent Untz2010-06-011-0/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=612490
* Revert part of last commitAndre Klapper2010-04-161-1/+1
|
* Fix a few issues when building with GSEAL_ENABLED. See bug 612490.Andre Klapper2010-04-161-1/+1
|
* [tasklist] Fix a GSeal issueVincent Untz2010-03-111-4/+12
| | | | | | | | | | | We were using the event_window field of GtkButton, which is sealed with no accessor (that makes sense). What we're interested in is the position of the GtkButton on the screen, and it's easy to find it another way. There's just a small trick: the window of a GtkButton is actually the window of its parent; once we know this, we just need to use the allocation information to get the relative position and we can deduce the absolution position of the widget.
* [all] Start fixing the build with GSEAL_ENABLEDVincent Untz2010-03-101-68/+133
| | | | | | | The changes are really straightforward here, it's just some work that takes time. Part of https://bugzilla.gnome.org/show_bug.cgi?id=612490
* [tasklist] Do not lose the pinned status when dragging a windowVincent Untz2010-03-091-1/+2
| | | | | | | | | | | | | When dragging and dropping a window to reorder the tasklist, if the window was pinned, then it will get unpinned, which is wrong. Of course, this is not perfect since placing this pinned window in a specific spot in a workspace will also change its sort order on other workspaces. But there's no way to make this work correctly: if a user wants to have a pinned window at a specific spot in his tasklist, this just cannot work in all different workspaces at the same time. https://bugzilla.gnome.org/show_bug.cgi?id=603516
* [all] Build with latest GSeal'ed gtk+Vincent Untz2010-03-041-3/+3
| | | | This means we now require gtk+ 2.19.7.
* [tasklist] Always show icons in group menuMarcus Carlson2009-09-081-1/+5
| | | | http://bugzilla.gnome.org/show_bug.cgi?id=591182
* undef WNCK_DISABLE_DEPRECATED, since that's internal code.Vincent Untz2009-01-061-0/+2
| | | | | | | | | | | | | 2009-01-06 Vincent Untz <vuntz@gnome.org> * libwnck/pager.c: * libwnck/screen.c: * libwnck/tasklist.c: * libwnck/util.c: * libwnck/window-action-menu.c: undef WNCK_DISABLE_DEPRECATED, since that's internal code. svn path=/trunk/; revision=1695
* single include for gtk+. Patch by Pedro Fragoso <ember@ubuntu.com>, fixVincent Untz2008-12-101-0/+1
| | | | | | | | | | | | 2008-12-10 Vincent Untz <vuntz@gnome.org> * libwnck/pager-accessible.[ch]: * libwnck/workspace-accessible.[ch]: single include for gtk+. Patch by Pedro Fragoso <ember@ubuntu.com>, fix bug #563858. * libwnck/tasklist.c: (wnck_task_drag_data_received): fix compiler warning svn path=/trunk/; revision=1690
* List windows that demands attention in the tasklist when they're in theVincent Untz2008-03-191-1/+3
| | | | | | | | | | | | 2008-03-19 Vincent Untz <vuntz@gnome.org> List windows that demands attention in the tasklist when they're in the current workspace but they're not visible in the viewport. Fix bug #520124 * libwnck/tasklist.c: (wnck_task_state_changed): just do it svn path=/trunk/; revision=1615
* Activate the window when the user drags and drops it quickly on itself.Vincent Untz2007-11-111-0/+45
| | | | | | | | | | | | | | | | | | | | | 2007-11-11 Vincent Untz <vuntz@gnome.org> Activate the window when the user drags and drops it quickly on itself. "Quickly" is defined by gtk-double-click-time. Based on patch by Jan Niklas Hasse <jhasse@gmail.com> Fix bug #460403. * libwnck/tasklist.c: add a new drag_start_time field per tasklist (wnck_tasklist_init): initialize the new field (wnck_task_popup_menu): connect to drag_end (wnck_task_drag_begin): set drag_start_time too (wnck_task_drag_end): (new) reset drag_start_time to 0 (wnck_task_drag_data_received): if the found window is the same as the dragged one, then check if it was dropped quickly. If yes, then activate it and make the drag and drop a success (wnck_task_create_widgets): connect to drag end svn path=/trunk/; revision=1510
* remove useless include use wnck_action_menu_new() instead of deprecatedVincent Untz2007-11-111-2/+2
| | | | | | | | | | | 2007-11-11 Vincent Untz <vuntz@gnome.org> * libwnck/pager.c: remove useless include * libwnck/tasklist.c: (wnck_task_popup_menu), (wnck_task_button_press_event): use wnck_action_menu_new() instead of deprecated wnck_create_window_action_menu() svn path=/trunk/; revision=1508
* Better fix for bug #476299.Vincent Untz2007-10-151-10/+1
| | | | | | | | | | | | 2007-10-16 Vincent Untz <vuntz@gnome.org> Better fix for bug #476299. * libwnck/tasklist.c: (wnck_task_get_text): revert the change here * libwnck/util.c: (_wnck_util_sn_utf8_validator): new (_wnck_init): tell libsn to use the glib utf-8 validator svn path=/trunk/; revision=1485
* validate the strings coming from libsn so we're sure they're UTF-8. FixVincent Untz2007-10-151-1/+10
| | | | | | | | | | 2007-10-16 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_get_text): validate the strings coming from libsn so we're sure they're UTF-8. Fix bug #476299. svn path=/trunk/; revision=1484
* remove weak pointers on fields in task structure before freeing task blockRay Strode2007-07-311-0/+4
| | | | | | | | | | 2007-07-30 Ray Strode <rstrode@redhat.com> * libwnck/tasklist.c (wnck_task_finalize): remove weak pointers on fields in task structure before freeing task block (bug 139080) svn path=/trunk/; revision=1424
* use Deprecated:2.20: instead of just Deprecated:Vincent Untz2007-07-101-5/+5
| | | | | | | | | | | 2007-07-10 Vincent Untz <vuntz@gnome.org> * libwnck/pager.c: * libwcnk/screen.[ch]: * libwnck/tasklist.c: * libwnck/util.c: use Deprecated:2.20: instead of just Deprecated: svn path=/trunk/; revision=1409
* add myself add myself for the copyright of relevant filesVincent Untz2007-07-101-0/+1
| | | | | | | | | 2007-07-10 Vincent Untz <vuntz@gnome.org> * AUTHORS: add myself * libwnck/*: add myself for the copyright of relevant files svn path=/trunk/; revision=1408
* mention that it works as expected with viewport.Vincent Untz2007-07-101-0/+9
| | | | | | | | | 2007-07-10 Vincent Untz <vuntz@gnome.org> * tasklist.c: (wnck_tasklist_set_include_all_workspaces): mention that it works as expected with viewport. svn path=/trunk/; revision=1406
* Keep a list of tasks that don't belong to any class group. Fix bugVincent Untz2007-07-061-0/+41
| | | | | | | | | | | | | | | | | | | | 2007-07-07 Vincent Untz <vuntz@gnome.org> Keep a list of tasks that don't belong to any class group. Fix bug #453777. And complete fix for bug #165075. * libwnck/tasklist.c: (wnck_tasklist_init): initialize new windows_without_class_group field. (wnck_tasklist_finalize): add new assertion (wnck_tasklist_size_allocate): append the tasks from windows_without_class_group to the list of visible tasks (wnck_tasklist_remove): remove the task from windows_without_class_group when it's needed (wnck_tasklist_free_tasks): add assertion (wnck_tasklist_update_lists): if there's no class group for the window, add it to windows_without_class_group svn path=/trunk/; revision=1394
* Fix bug #308552.Vincent Untz2007-06-261-43/+53
| | | | | | | | | | | | | | | 2007-06-26 Vincent Untz <vuntz@gnome.org> Fix bug #308552. * libwnck/tasklist.c: (wnck_tasklist_size_request): some clean up, and add a comment about wnck_task_size_allocated() (wnck_task_size_allocated): new, hide widget the image or label in the task button if the width is really small (wnck_task_create_widgets): connect to the size-allocate signal of the buttons svn path=/trunk/; revision=1379
* updated (wnck_tasklist_set_minimum_width),Vincent Untz2007-06-261-40/+16
| | | | | | | | | | | | | | 2007-06-26 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.[ch]: (wnck_tasklist_init): updated (wnck_tasklist_set_minimum_width), (wnck_tasklist_get_minimum_width), (wnck_tasklist_set_minimum_height), (wnck_tasklist_get_minimum_height): deprecate those functions, since the new size algorithm makes them more or less useless now. So they don't do anything anymore. svn path=/trunk/; revision=1378
* Fix size of buttons in tasklist changing with the text. Fix bug #310809.Vincent Untz2007-06-261-12/+32
| | | | | | | | | | | | | | | | | | 2007-06-26 Vincent Untz <vuntz@gnome.org> Fix size of buttons in tasklist changing with the text. Fix bug #310809. * libwnck/tasklist.c: (wnck_tasklist_get_button_size): new, get the ideal button size based on the icon size and a maximum number of characters for the text (wnck_tasklist_size_request): use wnck_tasklist_get_button_size() for the maximum button width, ignore the minimum width/height since they're useless and making things more complex than they should be, use the maximum size hint for the requested width (wnck_task_create_widgets): don't call gtk_label_set_max_width_chars() svn path=/trunk/; revision=1377
* Cleanups and deprecate some WnckScreen functions that shouldn't have beenVincent Untz2007-06-241-12/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-24 Vincent Untz <vuntz@gnome.org> Cleanups and deprecate some WnckScreen functions that shouldn't have been made public when they were added. * doc/tmpl/tasklist.sgml: * libwnck/tasklist.c: improve a bit documentation (wnck_tasklist_class_init): add doc for the style properties (wnck_tasklist_size_request): remove spurious spaces (wnck_tasklist_free_tasks): move some assertions around, since it's a bit clearer (wnck_tasklist_update_lists): remove empty line (wnck_task_create_widgets): use a define instead of magic values for the padding * libwnck/screen.[ch]: deprecate wnck_screen_get_workspace_index() (we have wnck_workspace_get_number()), wnck_screen_calc_workspace_layout(), wnck_screen_free_workspace_layout() and WnckWorkspaceLayout * libwnck/util.c: remove useless TODO (since the function is already deprecated) * libwnck/workspace.c: update doc to not refer to wnck_screen_calc_workspace_layout() svn path=/trunk/; revision=1363
* do not group together windows without a class. Fix bug #165075.Vincent Untz2007-06-231-13/+26
| | | | | | | | | 2007-06-23 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_tasklist_update_lists): do not group together windows without a class. Fix bug #165075. svn path=/trunk/; revision=1362
* add a small assertionVincent Untz2007-06-231-0/+2
| | | | | | | | 2007-06-23 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_popup_menu): add a small assertion svn path=/trunk/; revision=1359
* add dragging of windows from a grouped task menuVincent Untz2007-06-211-4/+33
| | | | | | | | | 2007-06-21 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_popup_menu): add dragging of windows from a grouped task menu svn path=/trunk/; revision=1357
* Make the glowing effect use cairo. This makes it work with RGBA. Patch byVincent Untz2007-06-201-53/+47
| | | | | | | | | | | | | | | 2007-06-21 Vincent Untz <vuntz@gnome.org> Make the glowing effect use cairo. This makes it work with RGBA. Patch by Ryan Lortie <desrt@desrt.ca>. Fix bug #439417 * libwnck/tasklist.c: (glow_pixbuf): kill (wnck_task_button_glow): cairo love! (take_screenshot): just return the pixmap (copy_pixmap): new, copy the window of a widget in a pixmap (wnck_task_expose): updated svn path=/trunk/; revision=1353
* killed (wnck_task_expose): don't draw small dots that people don't see,Vincent Untz2007-06-201-15/+7
| | | | | | | | | | | 2007-06-20 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (draw_dot): killed (wnck_task_expose): don't draw small dots that people don't see, but use gtk_paint_tab() Fix bug #139523 svn path=/trunk/; revision=1352
* only make the button glow if the task needs attention. It doesn't changeVincent Untz2007-06-201-2/+2
| | | | | | | | | | 2007-06-20 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_expose): only make the button glow if the task needs attention. It doesn't change anything in the end. But still (since there's no timeout involved), it's better :-) svn path=/trunk/; revision=1351
* Stop the glowing effect in the tasklist for urgent windows after a while.Vincent Untz2007-06-201-9/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-20 Vincent Untz <vuntz@gnome.org> Stop the glowing effect in the tasklist for urgent windows after a while. This fixes bug #327870. Also, a new fade-max-loops controls the number of loops before this stops. If set to 0, then the effect is nearly disabled. This is hopefully okay for bug #356452. This also adds a needs_attention_time field to WnckWindow. This could be useful for other stuff, but it's private for now. * libwnck/window.c: (wnck_window_init): init new field (_wnck_window_get_needs_attention_time): new (transient_needs_attention): changed to return a WnckWindow (_wnck_window_or_transient_get_needs_attention_time): new (wnck_window_or_transient_needs_attention): updated (update_state): correctly set needs_attention_time (update_wmhints): ditto * libwnck/private.h: updated * libwnck/tasklist.c: (wnck_task_init): init new field (wnck_task_button_glow): get the fade-max-loops setting, and stop the glowing effect if we're past the number of loops (wnck_task_stop_glow): just do g_source_remove() since there's a destroy handler for the source (wnck_tasklist_class_init): add new fade-max-loops property (wnck_task_get_needs_attention): get the time when the task started needing attention (wnck_task_expose): updated a bit, and add missing wnck_task_button_glow() svn path=/trunk/; revision=1350
* always show window needing attention. This worked with multiple workspace,Vincent Untz2007-06-191-2/+4
| | | | | | | | | | | 2007-06-20 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (tasklist_include_window_impl): always show window needing attention. This worked with multiple workspace, but the code didn't seem to work when the user is using viewports (in compiz, eg). I can't test this change, but it should work. svn path=/trunk/; revision=1344
* Use g_type_class_add_private(), initialize all private fields in _init()Vincent Untz2007-06-191-62/+139
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/application.c: (wnck_application_init), (wnck_application_class_init), (wnck_application_finalize), (_wnck_application_destroy): * libwnck/class-group.c: (wnck_class_group_class_init), (wnck_class_group_init), (wnck_class_group_finalize), (_wnck_class_group_create), (_wnck_class_group_destroy), (get_name_from_applications), (get_name_from_windows), (set_name), (get_icons_from_applications), (get_icons_from_windows), (set_icon), (_wnck_class_group_add_window), (_wnck_class_group_remove_window), (wnck_class_group_get_windows), (wnck_class_group_get_res_class), (wnck_class_group_get_name), (wnck_class_group_get_icon), (wnck_class_group_get_mini_icon): * libwnck/pager.c: (wnck_pager_init), (wnck_pager_class_init), (wnck_pager_finalize), (wnck_pager_unrealize): * libwnck/screen.c: (wnck_screen_init), (wnck_screen_class_init), (wnck_screen_finalize), (wnck_screen_construct): * libwnck/selector.c: (wnck_selector_init), (wnck_selector_class_init): * libwnck/tasklist.c: (wnck_task_init), (wnck_task_finalize), (wnck_tasklist_init), (wnck_tasklist_class_init), (wnck_tasklist_finalize): * libwnck/window.c: (wnck_window_init), (wnck_window_class_init), (wnck_window_finalize): * libwnck/workspace.c: (wnck_workspace_init), (wnck_workspace_class_init), (wnck_workspace_finalize): Use g_type_class_add_private(), initialize all private fields in _init() functions, and make sure to clean up everything in _finalize() functions. Also, some more details: * libwnck/screen.c: (wnck_screen_finalize): fix a FIXME * libwnck/pager.c: (wnck_pager_unrealize): reset some more data * libwnck/class-group.c: code cleanups svn path=/trunk/; revision=1342
* be a bit safer when calling cairo_rectangle() add a FIXMEVincent Untz2007-06-191-0/+8
| | | | | | | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/pager.c: (wnck_pager_draw_workspace): be a bit safer when calling cairo_rectangle() * libwnck/tasklist.c: (wnck_tasklist_size_allocate): add a FIXME (wnck_dimm_icon): add assertion (wnck_task_scale_icon): return if the pixbuf is NULL * libwnck/xutils.c: (get_cmap): fix small leak Those changes are inspired by the XFCE fork. svn path=/trunk/; revision=1341
* add tooltip add link for icon name vs name in tasklistVincent Untz2007-06-191-0/+4
| | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_popup_menu): add tooltip * rationales.txt: add link for icon name vs name in tasklist svn path=/trunk/; revision=1339
* use icon names, to be consistent (to not have the text changed when tasksVincent Untz2007-06-191-10/+9
| | | | | | | | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_popup_menu): use icon names, to be consistent (to not have the text changed when tasks are being grouped) (wnck_task_update_visible_state): always set tooltip (wnck_task_compare_alphabetically): updated * libwnck/util.c: moved _wnck_window_get_name_for_display() to window.c where it makes more sense * libwnck/window.c: (_wnck_window_get_name_for_display): new * libwnck/private.h: move _wnck_window_get_name_for_display() around svn path=/trunk/; revision=1338
* use name, not the icon name of the window updated new, since this isVincent Untz2007-06-191-26/+27
| | | | | | | | | | | | | | | | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/pager.c: (wnck_pager_query_tooltip): use name, not the icon name of the window * libwnck/private.h: updated * libwnck/util.c: (_wnck_window_get_name_for_display): new, since this is something that WnckSelector and WnckTasklist are both doing * libwnck/selector.c: (wnck_selector_get_window_name): kill (wnck_selector_window_name_changed), (wnck_selector_window_state_changed), (wnck_selector_create_window): use _wnck_window_get_name_for_display() * libwnck/tasklist.c: (wnck_tasklist_score_groups): use name if the windows don't have an icon name (wnck_task_popup_menu): updated (wnck_task_get_text): add an argument to get the text without the state indicators, updated to use _wnck_window_get_name_for_display() (wnck_task_update_visible_state), (wnck_task_create_widgets), (wnck_task_compare_alphabetically): updated svn path=/trunk/; revision=1337
* use the last allocation as a basis for the fake allocation used to computeVincent Untz2007-06-191-23/+4
| | | | | | | | | | | 2007-06-19 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_tasklist_size_request): use the last allocation as a basis for the fake allocation used to compute the size hints Based on patch by Joe Shaw <joe@joeshaw.org>. Fix bug #339861 svn path=/trunk/; revision=1335
* Be a bit more friendly to people who want to use our widgets throughVincent Untz2007-06-181-10/+28
| | | | | | | | | | | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> Be a bit more friendly to people who want to use our widgets through bindings. * libwnck/selector.c: (wnck_selector_class_init): add constructor (wnck_selector_constructor): new, move what we did in wnck_selector_new() here (wnck_selector_new): updated * libwnck/tasklist.c: (wnck_tasklist_class_init): add constructor (wnck_tasklist_constructor): new, move what we did in wnck_tasklist_new() here (wnck_tasklist_new): updated svn path=/trunk/; revision=1326
* Fix a crash when dragging a window to somewhere like anotherVincent Untz2007-06-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> Fix a crash when dragging a window to somewhere like another workspace/viewport. The original drag source widget might have been destroyed. We're now more solid against this, and use another drag source widget which lives longer. Fix bug #420713. * libwnck/pager.c: (wnck_update_drag_icon): return if the drag source widget is NULL (wnck_drag_source_destroyed): new, set the drag source widget to NULL, instead of keeping an invalid pointer (_wnck_window_set_as_drag_icon): connect to the finalization for drag_source. This way, we're more solid. * libwnck/selector.c: (wnck_selector_drag_begin): use a more long-lived widget for setting up the drag icon, ie the WnckSelector * libwnck/tasklist.c: (wnck_task_drag_begin): use a more long-lived widget for setting up the drag icon, ie the WnckTasklist svn path=/trunk/; revision=1325
* kill updated to use wnck_screen_get_number()Vincent Untz2007-06-181-1/+1
| | | | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> * libwnck/private.h: * libwnck/screen.c: (_wnck_screen_get_number): kill * libwnck/tasklist.c: (wnck_tasklist_realize): updated to use wnck_screen_get_number() svn path=/trunk/; revision=1322
* add lots of Since: tags.Vincent Untz2007-06-181-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> * doc/libwnck-sections.txt: * doc/tmpl/tasklist.sgml: * doc/tmpl/util.sgml: * libwnck/application.c: * libwnck/class-group.c: * libwnck/pager.c: * libwnck/screen.c: * libwnck/screen.h: * libwnck/selector.c: * libwnck/tasklist.c: * libwnck/tasklist.h: * libwnck/util.c: * libwnck/util.h: * libwnck/window.c: * libwnck/window.h: * libwnck/workspace.c: add lots of Since: tags. svn path=/trunk/; revision=1321
* use gtk_widget_set_tooltip_text()Vincent Untz2007-06-181-10/+2
| | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_task_update_visible_state), (wnck_task_create_widgets): use gtk_widget_set_tooltip_text() svn path=/trunk/; revision=1320
* disconnect signal handlers for all windowsVincent Untz2007-06-181-1/+25
| | | | | | | | | | | 2007-06-18 Vincent Untz <vuntz@gnome.org> * libwnck/tasklist.c: (wnck_tasklist_disconnect_screen): disconnect signal handlers for all windows (wnck_tasklist_disconnect_window): new Fix a crash that can happen when destroying the tasklist. svn path=/trunk/; revision=1318