| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Includes some surgery in the Tasklist widget to make the glow effect use
gtk_widget_draw() instead of fake expose events.
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=612490
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
This means we now require gtk+ 2.19.7.
|
|
|
|
| |
http://bugzilla.gnome.org/show_bug.cgi?id=591182
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
2007-06-23 Vincent Untz <vuntz@gnome.org>
* libwnck/tasklist.c: (wnck_task_popup_menu): add a small assertion
svn path=/trunk/; revision=1359
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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-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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|