summaryrefslogtreecommitdiff
path: root/libwnck/private.h
Commit message (Collapse)AuthorAgeFilesLines
* application: use res_class as app name when group is not setAlberts Muktupāvels2022-11-281-0/+3
|
* screen: move SnDisplay to WnckTasklistAlberts Muktupāvels2022-09-161-8/+0
| | | | Startup notifications are used only in WnckTasklist.
* handle: make it publicAlberts Muktupāvels2022-08-151-2/+0
|
* util: remove _wnck_get_default_mini_icon_sizeAlberts Muktupāvels2022-02-241-2/+0
|
* util: remove _wnck_get_default_icon_sizeAlberts Muktupāvels2022-02-231-1/+0
|
* util: remove _wnck_get_client_typeAlberts Muktupāvels2022-02-231-2/+0
|
* screen: move screens to WnckHandleAlberts Muktupāvels2022-02-221-4/+6
|
* window: move window_hash to WnckHandleAlberts Muktupāvels2022-02-171-2/+0
|
* application: move app_hash to WnckHandleAlberts Muktupāvels2022-02-171-1/+0
|
* class-group: move class_group_hash to WnckHandleAlberts Muktupāvels2022-02-171-1/+0
|
* screen: store WnckHandle in structAlberts Muktupāvels2022-02-171-0/+2
| | | | | | | | | | Before 5ab809143a7d commit event filter was added in wnck_screen_get when constructing first screen. Store WnckHandle in WnckScreen struct to ensure that event filter is always added otherwise we might end up without event filter if on startup nothing calls _wnck_get_handle. This change introduces new requirement - wnck_set_client_type must be used before using WnckScreen APIs.
* add private WnckHandle objectAlberts Muktupāvels2021-05-101-0/+3
| | | | | | | | | | | WnckHandle in future will be used as main entry point into library. This will allow to have multiple tasklists in same process with different settings. Also this will allow to cleanup resources without worrying that calling wnck_shutdown might affect other applets or plugins that might use libwnck in same process. https://gitlab.gnome.org/GNOME/libwnck/-/issues/136
* class-group: add WnckScreen to private structAlberts Muktupāvels2019-09-101-1/+2
|
* util: avoid deprecated gtk_widget_override_fontAlberts Muktupāvels2017-05-051-0/+2
| | | | | | | This introduces new css class - wnck-needs-attention that theme authors can use to style label for windows that needs attention. By default label will be made bold.
* avoid deprecated GtkImageMenuItemAlberts Muktupāvels2017-04-261-0/+3
|
* remove stock iconsAlberts Muktupāvels2014-10-211-3/+0
|
* Updated FSF's addressDaniel Mustieles2014-01-231-3/+1
|
* TestTasklist, TestWnck: added cmdline options to set the icons sizeMarco Trevisan (Treviño)2013-08-201-6/+5
|
* WnckWindow: Add private function to load an icon and emit signalMarco Trevisan (Treviño)2013-08-201-0/+2
|
* WnckApplication: Add private function to load an icon and emit signalMarco Trevisan (Treviño)2013-08-201-0/+1
|
* Utils: allow to set the default icon sizes and use these valuesMarco Trevisan (Treviño)2013-08-201-3/+3
|
* private: just use DEFAULT_{ICON,MINI_ICON}_SIZEMarco Trevisan (Treviño)2013-08-201-4/+2
|
* Patch to save little powerB.Prathibha2013-02-051-1/+1
| | | | | | Use g_timeout_add_seconds instead of g_timeout_add. https://bugzilla.gnome.org/show_bug.cgi?id=692616
* core: Add _wnck_window_shutdown_all()Vincent Untz2012-01-301-0/+2
| | | | We also need to destroy the hashtable of WnckWindow on shutdown.
* core: Rely on finalize() instead of manual shutdown() functionsVincent Untz2012-01-301-2/+0
| | | | | | | For WnckScreen and WnckWindow, there was a manual shutdown function called for each object. However, when we shut down, we know that the object will have no reference left and will get finalized. So we can simply rely on the finalize() functions.
* core: Add wnck_shutdown()Martin Pitt2012-01-301-0/+6
| | | | | | | | | | Add wnck_shutdown() method that stops listening to events and tear down all resources from libwnck. This should be done if you are not going to need the state change notifications for an extended period of time, to avoid wakeups with every key and focus event. After this all Wnck object references you might still hold are invalid. https://bugzilla.gnome.org/show_bug.cgi?id=642692
* core: Add API to get WM_CLASS group name & instance name of a WnckWindowMarco Trevisan (Treviño)2011-08-121-3/+0
| | | | | | | | | | | | | The old private getters for getting a window WM_CLASS name or WM_CLASS are now public as wnck_window_get_class_group_name() and wnck_window_get_class_instance_name(). It's important to be able to get the instance name as they could differ for special windows or for sub-applications (i.e. chromium web-apps). Also make wnckprop print out the window class instance. https://bugzilla.gnome.org/show_bug.cgi?id=168718
* [core, wnckprop] Stop using gdk_displayVincent Untz2010-09-111-0/+1
| | | | | | The gdk_display variable is deprecated. See https://bugzilla.gnome.org/show_bug.cgi?id=629344
* 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
* move private WnckClassGroup functions to private.hVincent Untz2007-06-241-0/+8
| | | | | | | | | | 2007-06-24 Vincent Untz <vuntz@gnome.org> * libwnck/class-group.h: * libwnck/private.h: move private WnckClassGroup functions to private.h svn path=/trunk/; revision=1367
* Stop the glowing effect in the tasklist for urgent windows after a while.Vincent Untz2007-06-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* use icon names, to be consistent (to not have the text changed when tasksVincent Untz2007-06-191-3/+3
| | | | | | | | | | | | | | | 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-0/+4
| | | | | | | | | | | | | | | | | | | | | | | 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
* kill updated to use wnck_screen_get_number()Vincent Untz2007-06-181-1/+0
| | | | | | | | | | | 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 _wnck_stock_icons_init() moved from xutils.c moved away, since thisVincent Untz2007-06-151-0/+1
| | | | | | | | | | | 2007-06-15 Vincent Untz <vuntz@gnome.org> * libwnck/private.h: add _wnck_stock_icons_init() * libwnck/util.c: (_wnck_stock_icons_init): moved from xutils.c * libwnck/xutils.[ch]: (_wnck_stock_icons_init): moved away, since this has nothing to do in this file svn path=/trunk/; revision=1313
* add /* vim: set sw=2 et: */Vincent Untz2007-06-091-0/+1
| | | | | | | | 2007-06-09 Vincent Untz <vuntz@gnome.org> * libwnck/*.[ch]: add /* vim: set sw=2 et: */ svn path=/trunk/; revision=1289
* Kill warnings and usage of deprecated functionsVincent Untz2007-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | 2007-04-29 Vincent Untz <vuntz@gnome.org> Kill warnings and usage of deprecated functions * configure.in: add flags for compiler warnings and deprecations * libwnck/tasklist.c: (wnck_task_button_glow): no deprecated function (wnck_tasklist_finalize): ditto (wnck_tasklist_new): ditto (wnck_tasklist_window_changed_geometry): ditto (wnck_tasklist_activate_task_window): ditto (wnck_task_drag_begin): make function static (wnck_task_drag_data_get): ditto (wnck_task_drag_data_received): ditto * libwnck/private.h: fix declaration of _wnck_get_client_type() * libwnck/pager.c: (wnck_pager_draw_workspace): no deprecated function * libwnck/window-action-menu.c: (wnck_create_window_action_menu): ditto * libwnck/Makefile.am: use new compiler flags for deprecations and warnings, include wnck-marshal.h in wnck-marshal.c svn path=/trunk/; revision=1215
* Based on patch from Nickolay V. Shmyrev <nshmyrev@yandex.ru> End of fixVincent Untz2006-05-151-0/+6
| | | | | | | | | | | | | | 2006-05-15 Vincent Untz <vuntz@gnome.org> Based on patch from Nickolay V. Shmyrev <nshmyrev@yandex.ru> End of fix for bug #96675 * libwnck/pager.c: * libwnck/private.h: make _wnck_window_set_as_drag_icon() a private function * libwnck/tasklist.c: (wnck_task_drag_begin): new, set the drag icon (wnck_task_drag_data_get): new (wnck_task_create_widgets): new, setup the dnd stuff
* updatedVincent Untz2006-02-111-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-02-11 Vincent Untz <vuntz@gnome.org> * libwnck/.cvsignore: updated * libwnck/application.c: fix doc for wnck_application_get_icon_is_fallback * libwnck/screen.c: fix the doc for wnck_screen_get_workspace * libwnck/screen.h: mark the WnckWorkspaceLayout as private Don't define _ in libwnck and use glib for this. Fix bug #328621. Using gi18n-lib.h also fixes bug #323181. * libwnck/application.c: include <glib/gi18n-lib.h> * libwnck/pager-accessible.c: ditto * libwnck/screen.c: ditto * libwnck/selector.c: ditto * libwnck/tasklist.c: ditto * libwnck/util.c: ditto * libwnck/window.c: ditto * libwnck/workspace.c: ditto * libwnck/private.h: don't define _ * doc/libwnck-sections.txt: * doc/tmpl/private.sgml: remove documentation for _
* Move these functions from tasklist.c to util.c/private.h and use anVincent Noel2006-01-211-0/+3
| | | | | | | | | | | | | | | | 2006-01-21 Vincent Noel <vincent.noel@gmail.com> * libwnck/tasklist.c: * libwnck/util.c: * libwnck/private.h: (make_gtk_label_bold, make_gtk_label_normal): Move these functions from tasklist.c to util.c/private.h and use an underscore prefix to reinforce that they're private * libwnck/selector.c: (wnck_selector_get_window_name), (wnck_selector_window_state_changed), (wnck_selector_item_new): Use pango_font_description_set_weight to bold window names instead of using pango markup. Fix bug #306289.
* Quit wrongly specifying the source indication in EWMH messages where weElijah Newren2006-01-031-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-01-03 Elijah Newren <newren@gmail.com> Quit wrongly specifying the source indication in EWMH messages where we did so, and start specifying the source indication where we didn't even specify it. Requires 'pager' (as defined in the EWMH) apps to register as such to get this right. Fixes #325556. * libwnck/private.h (_wnck_get_client_type): * libwnck/util.h (enum WnckClientType, wnck_set_client_type): * libwnck/util.c (wnck_set_client_type, _wnck_get_client_type): New functions and an accompanying enum * libwnck/util.c (static WnckClientType client_type): static var for tracking what the client type is * libwnck/xutils.c (_wnck_close, _wnck_keyboard_move, _wnck_keyboard_size, _wnck_change_state, _wnck_change_workspace, _wnck_activate): Use _wnck_get_client_type() to determine the source indication field instead of leaving it unspecified or taking a random (and usually wrong) guess. * configure.in: Interface addition, so make some random change to CURRENT/REVISION/AGE that looks right. After googling and looking at a number of other modules, it's nowhere close to clear to me as to how this is supposed to change.
* Handle the changes to _NET_ACTIVE_WINDOW from bug 128380 (made in order toElijah Newren2005-02-201-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-02-20 Elijah Newren <newren@gmail.com> Handle the changes to _NET_ACTIVE_WINDOW from bug 128380 (made in order to match the agreed upon official behavior of that EWMH message), make relevant functions take a timestamp parameter, and add a timestamp to the _NET_CURRENT_DESKTOP message. Fixes all libwnck issues pointed out in #128380 and #161361. * libwnck/xutils.[ch]: (_wnck_activate): take a timestamp parameter to avoid bugs from using gtk_get_current_event_time, (_wnck_activate_workspace): likewise * libwnck/pager_accessible.c: * libwnck/pager.c: * libwnck/private.h: * libwnck/tasklist.c: * libwnck/window-action-menu.c: * libwnck/window.c: * libwnck/window.h: * libwnck/workspace.c: * libwnck/workspace.h: * test/test-wnck.c: Handle the need for passing timestamps to _wnck_activate and _wnck_activate_workspace (i.e. for _NET_ACTIVE_WINDOW and _NET_CURRENT_DESKTOP messages) * libwnck/tasklist.c: Manual moving of windows to a different workspace now occurs under different circumstances with the _NET_ACTIVE_WINDOW behavior change. * libwnck/selector.c: With the new _NET_ACTIVE_WINDOW behavior, only wnck_window_activate() is needed now. * configure.in: Increment LIBWNCK_CURRENT because of the API changes.
* Change how tasks are sorted in the tasklist (make it intuitive andElijah Newren2005-01-221-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2005-01-22 Elijah Newren <newren@gmail.com> Change how tasks are sorted in the tasklist (make it intuitive and rememberable instead of "seemingly random"). Fixes #52225. * libwnck/private.h: (_wnck_window_create): take a sort_order parameter * libwnck/screen.c: (struct _WnckScreenPrivate): keep a window_order parameter that increments as new windows are created, (wnck_screen_construct): initialize window_order too, (update_client_list): add new windows in mapping order instead of stacking order and be sure to pass the sort order when creating a new window * libwnck/tasklist.c: (wnck_tasklist_size_allocate): list tasks going down a column then going to a new row, instead of vice-versa, (wnck_task_compare): use window sort_order instead of the xid of the window's group leader and the xid of the window to compare how to sort windows * libwnck/window.c: (struct _WnckWindowPrivate): add a sort_order flag, (_wnck_window_create): take a sort_order flag and use it to set window->priv->sort_order, (wnck_window_get_sort_order): new function to return the window's sort order * libwnck/window.h: (wnck_window_get_sort_order): new function to return the window's sort order
* Modified patch from Fernando Villacis Postigo <fvillacis@csnat.unt.edu.ar>Carlos Garnacho Parro2005-01-061-0/+2
| | | | | | | | | | | | | 2005-01-06 Carlos Garnacho Parro <carlosg@gnome.org> Modified patch from Fernando Villacis Postigo <fvillacis@csnat.unt.edu.ar> in bug #95614 * libwnck/private.h: defined WNCK_ACTIVATE_TIMEOUT * libwnck/tasklist.c: use it instead of TIMEOUT_ACTIVATE * libwnck/pager.c: Implemented switching workspaces when doing a DnD operation.
* Added a WNCK_TASK_CLASS_GROUP type. (struct _WnckTask): Added aFederico Mena Quintero2003-11-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2003-11-22 Federico Mena Quintero <federico@ximian.com> * libwnck/tasklist.c (WnckTaskType): Added a WNCK_TASK_CLASS_GROUP type. (struct _WnckTask): Added a class_group field, analogous to the application and window fields. (struct _WnckTasklistPrivate): Added class_groups and class_group_hash fields. Replaced the active_app field with an active_class_group field. (wnck_task_new_from_window): Set the class_group of the task from the window. (wnck_tasklist_update_lists): Create a WnckClassGroup if necessary; do not use widgets for applications. (wnck_task_new_from_class_group): New function. (wnck_task_new_from_application): Set the class_group of the task to NULL. (wnck_task_new_from_startup_sequence): Likewise. (wnck_task_compare): Sort groups before everything else. (wnck_task_state_changed): Use the class_group rather than the application. (wnck_task_get_text): Handle class groups. (wnck_task_button_toggled): Likewise. (wnck_task_popup_menu): Handle class groups as well as applications. (wnck_tasklist_free_tasks): s/active_app/active_class_group. (wnck_tasklist_change_active_task): Likewise. (wnck_task_finalize): Unref the class_group. (wnck_tasklist_init): Create the class_group_hash. (wnck_tasklist_finalize): Free the class_group_hash. (wnck_tasklist_size_request): Use the class groups rather than applications. (wnck_tasklist_size_allocate): Likewise. (wnck_tasklist_forall): Likewise. (wnck_tasklist_remove): Likewise. (wnck_task_get_highest_scored): Likewise. (wnck_tasklist_score_groups): Likewise. (wnck_task_new_from_application): Do not create widgets. (wnck_task_button_toggled): We don't need the window state here, so don't fetch it. (wnck_task_get_text): Use a window's name rather than its icon name. They seem to be the same for most windows, and Emacs screws up the icon name, setting it to "emacs" only --- it's useless. (WnckTaskType): Removed WNCK_TASK_APPLICATION. (struct _WnckTask): Removed the application-related fields. (struct _WnckTasklistPrivate): Likewise. (wnck_task_finalize): Likewise. (wnck_tasklist_finalize): Likewise. (wnck_tasklist_free_tasks): Likewise. (wnck_tasklist_update_lists): Likewise. (wnck_task_popup_menu): Likewise. (wnck_task_button_toggled): Likewise. (wnck_task_get_text): Likewise. (wnck_task_get_icon): Likewise. (wnck_task_button_press_event): Likewise. (wnck_task_create_widgets): Likewise. (wnck_task_compare): Likewise. (wnck_task_new_from_window): Likewise. (wnck_task_new_from_startup_sequence): Likewise. (wnck_task_app_name_changed): Removed. (wnck_task_new_from_application): Removed. (wnck_task_class_group_expose): Renamed from wnck_task_app_expose(). * libwnck/screen.h (struct _WnckScreenClass): Added ::class_group_opened() and ::class_group_closed() signals. * libwnck/screen.c (update_client_list): Handle class groups by creating new ones as needed and getting rid of empty ones. (emit_class_group_opened): New function. (emit_application_closed): New function. (wnck_screen_class_init): Create the new signals. * libwnck/window.c (struct _WnckWindowPrivate): Added a class_group field. (wnck_window_get_class_group): New function. (_wnck_window_set_class_group): New function. * libwnck/class-group.[ch]: New files that implement a simple set of windows grouped by their resource class names. * libwnck/Makefile.am: Added class-group.[ch]. * libwnck/test-tasklist.c (main): Set a default size so I don't have to resize the test window every time. * configure.in: Increment LIBWNCK_CURRENT and LIBWNCK_AGE.
* Throughout, add support for viewports in tasklist/pager. #109654 patchHavoc Pennington2003-04-041-0/+3
| | | | | | | | | | | | 2003-04-04 Havoc Pennington <hp@pobox.com> * libwnck/*: Throughout, add support for viewports in tasklist/pager. #109654 patch from Kim Woelders 2003-04-04 Havoc Pennington <hp@pobox.com> * libwnck/xutils.c (get_cmap): fix to use correct system colormap for the screen, #109480 from Arvind Samptur
* time out startup sequences if we don't see them end, and end them if aHavoc Pennington2003-01-231-0/+3
| | | | | | | | | | | 2003-01-22 Havoc Pennington <hp@pobox.com> * libwnck/tasklist.c: time out startup sequences if we don't see them end, and end them if a window is mapped with StartupWMClass. * libwnck/window.c (_wnck_window_get_resource_class) (_wnck_window_get_resource_name): add internal API to get window classes
* require startup notification 0.4Havoc Pennington2002-12-011-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2002-11-30 Havoc Pennington <hp@pobox.com> * configure.in: require startup notification 0.4 * libwnck/application.c (_wnck_application_create): fill in startup_id field (wnck_application_get_startup_id): new function * libwnck/tasklist.c (wnck_task_new_from_window): remove any startup sequence buttons as soon as we add a window for that sequence to the tasklist. (wnck_task_get_text): prefer "description" over name if we have a description. * libwnck/window.c (_wnck_window_get_startup_id): new function * libwnck/xutils.c (_wnck_get_fallback_icons): allow getting only one of the default icons * configure.in: increment to 2.1.5 and bump libtool stuff * libwnck/window.c (update_wintype): type SPLASH not SPLASHSCREEN for the X atom * libwnck/tasklist.c (wnck_task_get_icon): load an icon for the task being started up. (wnck_tasklist_set_icon_loader): new function to set an icon load function
* don't pass WnckWindow when expecting an X windowHavoc Pennington2002-11-031-0/+3
| | | | | | | | | | | | | | | | | | | 2002-11-03 Havoc Pennington <hp@pobox.com> * libwnck/window.c (wnck_window_activate_transient): don't pass WnckWindow when expecting an X window * configure.in: 2.1.3, and bump libtool versioning for new API * libwnck/xutils.c (_wnck_set_utf8_list): new function * libwnck/screen.c (_wnck_screen_change_workspace_name): new function * libwnck/workspace.c (wnck_workspace_change_name): new function * libwnck/screen.c (wnck_screen_change_workspace_count): new function
* when activating windows, use wnck_window_activate_transient()Havoc Pennington2002-10-311-0/+10
| | | | | | | | | | | | | | | | | | | | | | | 2002-10-24 Havoc Pennington <hp@pobox.com> * libwnck/tasklist.c (wnck_tasklist_activate_task_window): when activating windows, use wnck_window_activate_transient() * libwnck/window.c (wnck_window_activate_transient): new function * libwnck/tasklist.c: add support for displaying a "starting up" task. (wnck_tasklist_remove): queue a resize on removing a button. Doesn't seem like it should be needed, but apparently it is. * libwnck/xutils.c (filter_func): process the startup notification events * libwnck/screen.c (_wnck_screen_get_sn_display): new function * configure.in: add libstartup-notification optional check * libwnck-1.0.pc.in: require libstartup-notification if compiled with it