| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Startup notifications are used only in WnckTasklist.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Use g_timeout_add_seconds instead of g_timeout_add.
https://bugzilla.gnome.org/show_bug.cgi?id=692616
|
|
|
|
| |
We also need to destroy the hashtable of WnckWindow on shutdown.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
The gdk_display variable is deprecated.
See https://bugzilla.gnome.org/show_bug.cgi?id=629344
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
2007-06-09 Vincent Untz <vuntz@gnome.org>
* libwnck/*.[ch]: add /* vim: set sw=2 et: */
svn path=/trunk/; revision=1289
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 _
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|