Commit Graph

1326 Commits

Author SHA1 Message Date
Florian Müllner
700c06023e st: Clean up scroll event code
Currently the scroll event code only handles scroll events if the
adjustment's value is within the "lower" and "upper" limits. The
likely intent was to pass events to a parent scroll view when
reaching the bounds (uh, nested scroll views!), but apparently
we never made use of this, as the upper bound is actually wrong
(an adjustment's maximum value is upper - page_size, not upper).
Just handle all scroll events unconditionally and rely on the
bound checks in StAdjustment.

https://bugzilla.gnome.org/show_bug.cgi?id=672413
2012-04-24 20:45:01 +02:00
Rico Tzschichholz
7680819108 gnome-shell-calendar-server: add missing gtk.h include
6099a5dbc3 introduced this dependency
but didn't add it which lead to build failure with
-Werror=implicit-function-declaration
2012-04-17 08:15:06 +02:00
Owen W. Taylor
5046938913 gnome-shell-calendar-server: deal with Evolution's move to GSettings
Evolution now stores its selected calendars and tasks in GSettings, not
in GConf. If we don't look at the new location, then we'll not pick up
newly added and enabled calendars, making the calendar effectively not
work for new installs.

https://bugzilla.gnome.org/show_bug.cgi?id=673610
2012-04-16 12:41:48 -04:00
Owen W. Taylor
0e8fd45559 gnome-shell-calender-server: fix debug prints
Several debug prints not normally compiled were referencing enumeration
values that have since been renamed.

https://bugzilla.gnome.org/show_bug.cgi?id=673610
2012-04-16 12:41:48 -04:00
Owen W. Taylor
6099a5dbc3 gnome-shell-calendar-server: Initialize GTK+
If evolution-data-server needs to prompt for a password, it will try
to pop up a GTK+ dialog. When GTK+ is not initialized, the result is
a crash. So, initialize GTK+ and run a main loop.

See https://bugzilla.redhat.com/show_bug.cgi?id=809681

The result is ugly since we have a Gnome-shell-calendar-server fallback
application, but I don't think it's worth installing a desktop file
and having a string break, since this is pretty uncommon (only for
manually added calendars without the password stored in gnome-keyring),
and apparently this is being rewritten for 3.5 to have the dialogs come
the e-d-s daemon rather than from the individual application.

https://bugzilla.gnome.org/show_bug.cgi?id=673608
2012-04-16 12:41:48 -04:00
Cosimo Cecchi
49d8e6da40 format: move shell_format_int_alternative_output() to ShellJS
gnome-shell-extension-prefs uses format(), but can't pull in Shell
(which is a dependency for the module), since that in turn would pull in
Meta. Fix this by moving the introspected int format function to ShellJS
instead.

https://bugzilla.gnome.org/show_bug.cgi?id=673106
2012-04-10 12:52:33 -04:00
Giovanni Campagna
55a4517cd1 Fix documentation warnings
gobject-introspection now emits many more warnings for malformed
comments, and they fail the build.

https://bugzilla.gnome.org/show_bug.cgi?id=673656
2012-04-09 19:57:51 +02:00
Jasper St. Pierre
0a7968a2e5 st-theme-context: Punt icon theme changes to an idle
Icon theme change signals aren't noticed immediately, they're usually
noticed when trying to load an icon. Since icon theme changes cause a
style change, and most icon widgets try to re-load their texture during
a style change, this means that we get a stack like this:

  st_texture_cache_load_icon
  gtk_icon_theme_lookup_icon
  gtk_icon_theme_changed
  st_widget_style_changed
  st_texture_cache_load_icon

Rather than making every place that uses StTextureCache re-entrant,
punt the notifying of icon theme changes to an idle handler instead.

https://bugzilla.gnome.org/show_bug.cgi?id=673512
2012-04-04 16:26:00 -04:00
Jasper St. Pierre
00091a2acb st-theme-context: Make icon theme changes a bit more efficient
There's no need to destroy and recreate the root node for an icon theme
change. Just emit the CHANGED signal.

https://bugzilla.gnome.org/show_bug.cgi?id=673512
2012-04-04 16:26:00 -04:00
Cosimo Cecchi
6d82aefad4 format: support %Id conversion characters in format.js
This is needed for languages which translate numbers with an
alternative representation, such as Persian.

https://bugzilla.gnome.org/show_bug.cgi?id=673106
2012-03-29 17:30:02 -04:00
Jasper St. Pierre
2b87bb015c screenshot: Ensure that ShellScreenshot stays alive until the callback
We've been dangling on the edge of unsafety, unnoticed, for a little while
about the reference count safety of ShellScreenshot. GJS owns the entire
reference count, so as soon as it goes out of scope it could die, causing
GJS to try and fetch the corresponding wrapper object for a stale pointer.
We haven't seen any crashes because of luck -- SpiderMonkey tries to group
together deallocations to limit GC pauses, and there isn't really a lot
of GC pressure in the duration that a screenshot happens, so we tend to
be mostly stable. But in the case that you create a lot of objects while
a screenshot is going on, by hammering the "Print Screen" button, for
example, you can destroy the GObject before the callback finishes.

https://bugzilla.gnome.org/show_bug.cgi?id=672775
2012-03-26 12:54:07 -03:00
Jasper St. Pierre
07e10fa03e screenshot: Remove harmful empty finalizer
We really should be chaining up in the finalizer, but instead of leaving
an empty finalize, remove it entirely.

https://bugzilla.gnome.org/show_bug.cgi?id=672775
2012-03-26 12:54:07 -03:00
Cosimo Cecchi
5b8abe6809 st-button: treat keypad Enter keypresses like normal Enter events
Not doing this makes some widgets inconsistent, such as the user list in
the GDM login dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=672471
2012-03-20 10:13:56 -04:00
Florian Müllner
a7d4c7d8de st: Add rudimentary support for CLUTTER_SCROLL_SMOOTH events
Currently compilation fails with -Werror, as we don't handle the
(newly introduced) smooth scroll events in switch statements; add
some basic support, which should make the compiler happy.

https://bugzilla.gnome.org/show_bug.cgi?id=672413
2012-03-20 00:40:09 +01:00
Rui Matos
3813a03117 st-texture-cache: Ensure we return a ClutterTexture, not a plain Actor
Calling code expects to get a ClutterTexture instance, not a
ClutterActor.
2012-03-19 15:35:01 +01:00
Alejandro Piñeiro
67ef448471 a11y: add a property accessible-name on StWidget
https://bugzilla.gnome.org/show_bug.cgi?id=671378
2012-03-19 15:07:26 +01:00
Jasper St. Pierre
3dbf06420d st-theme-node-drawing: Fix implementation of cover and contain
The math was incorrect for non-square containers

https://bugzilla.gnome.org/show_bug.cgi?id=672321
2012-03-18 09:33:30 -04:00
Jasper St. Pierre
ceb17dc713 gnome-shell-extension-tool: Fix example extension for 3.3.90 API
insert_actor was replaced with the standard Clutter insert_child_at_index

https://bugzilla.gnome.org/show_bug.cgi?id=672326
2012-03-18 06:42:04 -04:00
Jasper St. Pierre
46c0360b03 st-texture-cache: Deduplicate async URI requests
More than one outstanding request to the same URI should now be
deduplicated, and the framework is there if we want to cache async loaded
URIs as well

https://bugzilla.gnome.org/show_bug.cgi?id=672273
2012-03-18 06:42:04 -04:00
Jasper St. Pierre
0ebddfcf50 st-texture-cache: Remove now unused methods
load_uri_sync and load_file_simple are now unused.

https://bugzilla.gnome.org/show_bug.cgi?id=672273
2012-03-18 06:42:04 -04:00
Jasper St. Pierre
36d20eb1b8 st-entry: Remove unused set_icon_from_file methods
This lets us ditch some methods in the texture cache.

https://bugzilla.gnome.org/show_bug.cgi?id=672273
2012-03-18 06:42:03 -04:00
Jasper St. Pierre
db4b266874 st-texture-cache: Remove unused fields from AsyncTextureLoadData
https://bugzilla.gnome.org/show_bug.cgi?id=672273
2012-03-18 06:42:03 -04:00
Jasper St. Pierre
63cf470e07 st-texture-cache: Remove an unused argument from create_default_texture
https://bugzilla.gnome.org/show_bug.cgi?id=672273
2012-03-18 06:42:03 -04:00
Jasper St. Pierre
581d1c5db1 shell-app: Evict faded app icons on icon theme change
When a user changes icon themes, we don't want to waste precious memory
with modified textures from the old icon theme.

https://bugzilla.gnome.org/show_bug.cgi?id=672275
2012-03-17 20:39:43 -04:00
Jasper St. Pierre
0aad74a670 st-texture-cache: Don't implicitly return a fallback icon
In the case that we don't have an icon corresponding to the gicon, it's
more than likely that the code calling load_gicon will know more about
what it wants as a fallback than the texture-cache itself. In fact -
we had a whole lot of dead code that would try to fall back, but never
did because we always returned a valid actor.

This was causing certain applications with invalid icons to not get the
fallback icon because an icon couldn't be found. Fix up the one place
where we don't have an explicit fallback icon codepath, and then stop
doing what we were doing.

https://bugzilla.gnome.org/show_bug.cgi?id=671656
2012-03-17 01:47:38 -04:00
Jasper St. Pierre
21e8097b9c st-texture-cache: Remove unused St.IconType.APPLICATION/DOCUMENT
No reason to have special handling for fallbacks that we can do (and do do)
in the JS.

https://bugzilla.gnome.org/show_bug.cgi?id=671656
2012-03-16 18:32:57 -04:00
Jasper St. Pierre
14d267c246 st-widget: Remove some potentially dangerous but dead code
We really shouldn't be dereferencing these pointers before checking
that they're the thing they really are.
2012-03-16 17:31:20 -04:00
Jasper St. Pierre
9420174477 st-scroll-view: Remove some dead code
This assignment was shadowed by the giant switch above. Since the
switch has a comment or two explaining the logic inside of it,
keep that instead of the assignment.
2012-03-16 17:31:20 -04:00
Jasper St. Pierre
fb4878bb7c st-widget: Correct annotations for navigate_focus vfunc
Since the invoker for navigate_focus has an extra parameter, annotations
from the invoker aren't applied on the vfunc itself. Fix that by annotating
the vfunc separately.
2012-03-16 17:31:20 -04:00
Stefano Facchini
3c6737f738 autoWorkspaces: fix creation of new workspaces with application launchers
In the workspace-collecting code we add a check to avoid collecting a
workspace if any startup sequence is running there. Since the sequence
can take some time to load, an helper function is also added which keeps
the (empty) workspace around for a very short time, while waiting for the
sequence to start.

https://bugzilla.gnome.org/show_bug.cgi?id=664202
2012-03-16 16:41:30 +01:00
Marina Zhurakhinskaya
30ca25e978 messageTray: show the summary with new notifications when the user becomes active
If the user was inactive while a notification was shown, we show the summary
when the user becomes active again. This ensures that we inform the user of
the existance of new notifications that the user might have missed.

When the user comes back from away, the summary is now only shown if it has
new notifications.

https://bugzilla.gnome.org/show_bug.cgi?id=643014
2012-03-16 01:01:57 -04:00
Alejandro Piñeiro
bdb7dbdd00 a11y: exposing StButton:label as StButton accessible name 2012-03-14 12:36:29 +01:00
Florian Müllner
9dcdaf05b5 main: Add override for dynamic-workspaces key
https://bugzilla.gnome.org/show_bug.cgi?id=671568
2012-03-11 23:03:43 +01:00
Giovanni Campagna
0ea690a2f2 calendar-server: use g_warning instead of g_printerr
This way error messages include the process name and PID, so they're
picked up by bug reporting tools that grep ~/.xsession-errors.

https://bugzilla.gnome.org/show_bug.cgi?id=671177
2012-03-10 17:33:05 +01:00
Giovanni Campagna
d68ff69c7a calendar-server: update to ECalClient
ECal is deprecated and replaced by ECalClient. This has the
advantage of using e_utils to handle authentication, and should
fix NotOpened errors (that affect in particular webcal calendars
prior to evolution running)

https://bugzilla.gnome.org/show_bug.cgi?id=671177
2012-03-10 17:33:05 +01:00
Rui Matos
02aae631d8 st-widget: Allow diagonal moves for directional keynav
This allows us to do directional keyboard navigation when there's no
actor inside the horizontal or vertical strip extending from the
origin actor but there are other actors to the sides of that strip
that could still be used as targets even if that means the focus would
move diagonally.

https://bugzilla.gnome.org/show_bug.cgi?id=663901
2012-03-10 15:00:18 +01:00
Rui Matos
d542f63d3f st-widget: Use absolute coordinates for arrow keys focus navigation
For arrow keys navigation, when moving from a widget which isn't a
descendant of the widget we are going to, it's unexpected that focus
moves to the target's first descendant instead of the closest to the
source widget.

This requires us to use absolute coordinates to compare widgets since
we no longer have the guarantee that the widgets we are comparing are
siblings.

https://bugzilla.gnome.org/show_bug.cgi?id=663901
2012-03-10 15:00:18 +01:00
Alejandro Piñeiro
e23e04953c a11y: Added a accessible object for StEntry
Exposes internal ClutterText as a child

https://bugzilla.gnome.org/show_bug.cgi?id=670308
2012-03-10 02:24:39 +01:00
Alejandro Piñeiro
797e201946 a11y: Add a way to add accessible states to StWidget
https://bugzilla.gnome.org/show_bug.cgi?id=668366
2012-03-10 01:41:17 +01:00
Alejandro Piñeiro
156a642d28 a11y: Add a wrapper method to set the accessible role
https://bugzilla.gnome.org/show_bug.cgi?id=667432
2012-03-10 01:27:23 +01:00
Jasper St. Pierre
895745ac14 Don't depend on removed MetaPlugin APIs
Several MetaPlugin APIs that were just wrappers around other functions
were removed - switch to using the other functions directly.

https://bugzilla.gnome.org/show_bug.cgi?id=671103
2012-03-08 16:59:31 -05:00
Florian Müllner
ca612872a6 screen-grabber: Fix area screenshots
Our DBus API (and mostly every other API in existence) define an
area as the top-left corner and width/height; glReadPixels on the
other hand uses the bottom-left corner, so we have to transform the
coordinates before passing them to GL.

https://bugzilla.gnome.org/show_bug.cgi?id=670979
2012-03-02 11:49:31 +01:00
Jasper St. Pierre
98aa61e2a4 main: Remove muted_log_handler
Since glib turns off g_debug spew by default, we don't need to mute
it ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=671086
2012-03-01 08:08:09 -05:00
Jasper St. Pierre
556a3e08db st-table: Fix copy/paste error in st_table_remove
When porting from st_container_get_children_list to this code, I accidentally
broke StTable by a copy/paste error. This broke notifications that updated,
leaving them with what they think were 0 columns and 0 rows.

https://bugzilla.gnome.org/show_bug.cgi?id=670640
2012-02-29 15:10:49 -05:00
Stef Walter
e3fb77c051 Use non-pageable memory for gnome-keyring passwords
* Use a ClutterTextBuffer that allocates non-pageable
   memory to hold passwords for gnome-keyring, ssh, gpg
 * Requires gcr 3.3.5

https://bugzilla.gnome.org/show_bug.cgi?id=652460
2012-02-29 20:24:02 +01:00
Stef Walter
3ee07d0e82 Add gnome-keyring prompter
* Add a keyring prompter based on GcrSystemPrompter
 * Adds dependency on gcr version 3.3.5 or higher
 * Not yet using unmerged support for non-pageable memory

https://bugzilla.gnome.org/show_bug.cgi?id=652459
2012-02-29 20:16:14 +01:00
Alejandro Piñeiro
72c486cb3e a11y: using pseudo_class to set a CHECKED state
https://bugzilla.gnome.org/show_bug.cgi?id=668361
2012-02-29 16:40:04 +01:00
Florian Müllner
eb84227f78 shell-wm: Fix argument number for UNMAXIMIZE signal 2012-02-28 21:09:44 +01:00
Adel Gadllah
550d595034 recorder: Fix memory leak
Don't leak path in recorder_open_outfile when the loop loops.
2012-02-28 21:08:15 +01:00
Adel Gadllah
24cc4b49d6 recorder: Fix compiler warnings
Fix some compiler warnings introduced in e322d988
2012-02-28 20:59:56 +01:00
Rui Matos
aa5d352a06 Remove the shell_get_event_state() wrapper
The bug that this wrapper was working around has been fixed for quite some
time: https://bugzilla.gnome.org/show_bug.cgi?id=650329.
2012-02-28 18:11:36 +01:00
Adel Gadllah
fd4d645687 st-scroll-view-fade: Add horizontal fade support
St-scroll-view-fade only allowed adding a fade effect in the vertical
direction; extend it so it can work horizontally too.

https://bugzilla.gnome.org/show_bug.cgi?id=613194
2012-02-28 14:57:58 +01:00
Jasper St. Pierre
24ad59ea37 st: Remove _st_allocate_fill
The very similar clutter_actor_allocate_align_fill is close enough
that this is just needless duplication. Additionally, allocate_fill
already inverts the align if the text direction is RTL, so we don't
need to do that here.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-28 08:14:06 -05:00
Jasper St. Pierre
15f881f967 st: Remove custom text direction stuff
Clutter has its own built-in system for managing text directions, like GTK+.
Convert over to use this.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-28 08:14:06 -05:00
Jasper St. Pierre
d5285674ae st: Remove st-container
At this point, StContainer is a dummy class that does nothing, so it's
safe to remove.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-28 08:14:06 -05:00
Jasper St. Pierre
bb862e20c0 st: Remove st-group
Now that ClutterActor/StWidget is concrete, we don't need it.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-28 08:14:06 -05:00
Jasper St. Pierre
be3eb308b9 st: Account for children in StWidget's get_paint_volume
Now that StWidget is a group of sorts, it needs to account for its children
in its paint volume. Unfortunately, this causes havoc for StBoxLayout, so it
needs fixing - it's unknown why it worked when chaining up to near-identical
code in StContainer.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-28 08:14:05 -05:00
Jasper St. Pierre
fad0b96f24 calendar-server: Shut up about HUP on stdin 2012-02-27 15:37:37 -05:00
Jasper St. Pierre
d2aab9d6a6 st-container: Remove st_container_get_children_list
Replace it with the new actor iteration APIs. This fixes a few
unintentional memory leaks - st_container_get_children_list
returns an internal list, and clutter_actor_get_children_list
allocates a new list.

https://bugzilla.gnome.org/show_bug.cgi?id=670034

https://bugzilla.gnome.org/show_bug.cgi?id=670910
2012-02-27 15:15:31 -05:00
Florian Müllner
4005863e3d st-widget: Fix get_focus_chain()
The get_focus_chain() implementation in StWidget just returns all
children, it should filter for visible children instead. This
breaks keyboard navigation in various places since commit 72dad591
removed the correct implementation in StContainer.

https://bugzilla.gnome.org/show_bug.cgi?id=670904
2012-02-27 20:13:13 +01:00
Jasper St. Pierre
87e46f3ff1 st-texture-cache: Remove unused functions
With the recent textures code removed, some code is now
unused and can be scrapped. Others have been unused for
a little while now.

https://bugzilla.gnome.org/show_bug.cgi?id=670771
2012-02-24 19:11:19 -05:00
Florian Müllner
7cc1bdb35d recorder: Change default output filename
Use "Screencast at 2009-03-11 00:08:15.webm" instead of
"shell-20090311b-2.webm".

https://bugzilla.gnome.org/show_bug.cgi?id=670753
2012-02-25 00:18:03 +01:00
Florian Müllner
60557f4e0f recorder: Add support for %t in filename pattern
Similar to the %d format for the current date, the new %t format
can be used to use the current time in screencast filenames.

https://bugzilla.gnome.org/show_bug.cgi?id=670753
2012-02-25 00:18:03 +01:00
Florian Müllner
914441218a recorder: Use locale-dependent format for %d in filename
Currently %d hardcodes a date format of YYYYMMDD, use the preferred
format for the current locale instead.

https://bugzilla.gnome.org/show_bug.cgi?id=670753
2012-02-25 00:18:03 +01:00
Adel Gadllah
e322d98886 recorder: Use XDG video directory rather then home
Save the recorded videos in the XDG user directory rather then in the home directory.

https://bugzilla.gnome.org/show_bug.cgi?id=670749
2012-02-24 23:40:43 +01:00
Jasper St. Pierre
a8b081661c st-box-layout: Remove insert_actor/insert_before
Now that 'insert_child_at_index' and 'insert_child_below' exist
on ClutterActor, these aren't necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
c892610f27 st-container: Remove st_container_destroy_children
It was a simple wrapper around clutter_actor_destroy_all_children.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
72dad591fa st-container: Remove ClutterContainer implementation
Now that ClutterActor has a ClutterContainer implementation, we
can start removing StContainer. To help make this a bit more
understandable, instead of converting everything at once, make
StContainer a compatible API wrapper around the ClutterActor
implementation, and then we'll remove those wrappers in later
commits.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
ea19790828 st-widget: Implement a proper allocate
Since an StWidget now has children, it needs to allocate those children
properly. Defer to the currently installed layout manager, like Clutter
does.

Now that we have something that allocates children in St, to prevent
double allocations, we use clutter_actor_set_allocation rather than
chaining up to StWidget::allocate.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
cc2f5d19c8 st-widget: Implement a proper get_preferred_width/height
Now that StWidget is concrete and instantiable, we need to do something
other than return an adjusted 0 for width and height. Just chain up
to ClutterActor's default implementation, which uses the layout manager.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
64b2c5d1b4 st-widget: Add a proper paint, add st_widget_paint_background
Since we want to paint children by default in StWidget, we need to
provide a way for custom subclasses to paint their CSS backgrounds
without painting children... introducing st_widget_paint_background.

Additionally, remove any custom paint/pick handlers added by subclasses
of StWidget that just painted their children. This will cause double
painting if left alone.

This also removes the hacky things that some subclasses of StBin did
to prevent their one child to be painted by StBin.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
a9f728d2a7 st-widget: Keep track of first/last children
Clutter now provides two new properties on ClutterActor - first-child
and last-child, so we have notifiers on when they change. Unfortunately,
it still doesn't help us too much - we need to keep track of the previous
values of the properties so we can remove their pseudoclasses.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
3736d81d8f st-widget: Copy get_focus_chain and navigate_focus from StContainer
We can't get rid of the implementations in StContainer just yet,
as StContainer still keeps its own child list. But this should
lower the amount of code that has to be moved around when we
remove StContainer.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
fbcea03ab3 st-widget: Don't explicitly check for ClutterContainer inheritance
Since all ClutterActors implement the ClutterContainer interface, there
isn't a case where this check could fail.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
f19ee78fb2 st-widget: Don't use deprecated API
clutter_container_foreach is deprecated, so let's replace that
with some ClutterActorIter usage. Additionally, remove the checks
for ClutterContainer, as all ClutterActors are now ClutterContainers.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Jasper St. Pierre
b47fd6df31 st-widget: Make into a concrete class
ClutterActor is concrete, so StWidget should be too.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-22 17:00:44 -05:00
Florian Müllner
80eac7370e st: Remove thumbnail functions from TextureCache
They were only used by the recent item search, which has been removed.

https://bugzilla.gnome.org/show_bug.cgi?id=670150
2012-02-21 23:00:53 +01:00
Florian Müllner
ac78a1e1c0 docDisplay: Remove "Recent Items" search provider
Although not all "Finding and reminding" applications are ready
yet, the integration with gnome-documents' search results overlaps
enough with the "Recent Items" provider to justify its removal.

https://bugzilla.gnome.org/show_bug.cgi?id=670150
2012-02-21 23:00:53 +01:00
Xavier Claessens
f248aa69dc Support only Call1 channels
Empathy uses to support 2 D-Bus API for calls:
- StreamedMedia: legacy API
- Call.DRAFT: experimental version of the new API

Since 3.3.90, Empathy only supports Call1, the first stable version of the new
API, so the Shell should do the same.

https://bugzilla.gnome.org/show_bug.cgi?id=667694
2012-02-21 17:43:05 +01:00
Florian Müllner
b990ed2c23 app-system: Don't assume that gmenu_tree_load_sync() sets error
The function may return FALSE without setting the GError, so don't
assume it is set to prevent a crash in that case. While at it, free
the GError we were leaking before.

https://bugzilla.gnome.org/show_bug.cgi?id=670418
2012-02-20 11:41:57 +01:00
Marc-Antoine Perennou
b67138b5ae pokit-agent: fix segfault when we we fail to get the current session
When using systemd, polkit doesn't set the error even when returning false in g_initable_init

Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>

https://bugzilla.gnome.org/show_bug.cgi?id=670319
2012-02-18 20:27:39 +01:00
Jasper St. Pierre
d81958a074 st: Remove st-tooltip
StTooltip has been plagued by lots of issues, and we recently ditched
it in the dash. Remove it for good.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-15 20:12:49 -05:00
Jasper St. Pierre
92ee17493c st: Don't use deprecated API
clutter_actor_set_parent and clutter_actor_unparent are both
deprecated, and come from a time before a well-thought API
was introduced.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-15 20:12:16 -05:00
Jasper St. Pierre
f9e456bb47 st-scroll-view: Remove unnecessary VISIBLE checks
clutter_actor_paint already checks for VISIBLE before painting

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-15 20:12:16 -05:00
Jasper St. Pierre
740388c778 st-texture-cache: Use ClutterActor, not ClutterGroup
ClutterGroup is deprecated, and since ClutterActor is concrete, we
can use that now instead.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-15 20:12:16 -05:00
Jasper St. Pierre
6528f8366f st-scroll-bar: Clean up get_preferred_width/height
With the steppers gone, we can remove this macro madness

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 16:48:47 -05:00
Jasper St. Pierre
88eb246b60 st-scroll-bar: Remove stepper buttons
This was a feature that was never used by the Shell.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 16:48:47 -05:00
Jasper St. Pierre
bed50688d2 st-scroll-bar: Set the handle as a child of the bar, not the trough
The handle was a child of the trough, but it was allocated and painted
like it was a child of the bar. This will wreak havoc when we port over
to the new Clutter API, so let's just make it a child of the bar.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 16:48:47 -05:00
Jasper St. Pierre
44686bac3e st-scroll-bar: Use clutter_actor_destroy in dispose
https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 16:48:47 -05:00
Jasper St. Pierre
ca575ef0ae st: Remove st-overflow-box
It's unused, and has been for some time now.

https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 16:48:47 -05:00
Cosimo Cecchi
c20503028a screenshot: add missing shell_screenshot_new()
And fix its declaration.
2012-02-14 15:57:34 -05:00
Adel Gadllah
4516e4cc3b screenshot: Split into separate file / class
Split the screenshot functionality from ShellGlobal into its own class.

https://bugzilla.gnome.org/show_bug.cgi?id=670086
2012-02-14 21:10:08 +01:00
Adel Gadllah
b2ec340f9e screenshot: Add include_cursor parameter
Add a boolean parameter to Screenshot and ScreenshotWindow which draws the cursor on the screenshot when set
to true.

https://bugzilla.gnome.org/show_bug.cgi?id=670086
2012-02-14 21:10:08 +01:00
Jasper St. Pierre
570a029f27 test-recorder: Don't use deprecated API
https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 14:04:11 -05:00
Jasper St. Pierre
ebe72e197d test-theme: Don't use deprecated API
https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 14:04:11 -05:00
Jasper St. Pierre
ce629b09b2 st: Fix formatting
https://bugzilla.gnome.org/show_bug.cgi?id=670034
2012-02-14 14:04:10 -05:00
Giovanni Campagna
c5804c1929 ShellNetworkAgent: don't access request fields if the operation is cancelled
When the operation is cancelled by NetworkManager, the request is
cancelled immediately. Later when gnome-keyring invokes the callback
notifying the error we must therefore not access its memory.
Previously the callback would mistakenly treat "cancelled" (which
indicates a programmatic cancel) as "denied" (which means the user
clicked "Cancel" on the keyring prompt)

https://bugzilla.gnome.org/show_bug.cgi?id=658484
2012-02-14 19:16:50 +01:00
Giovanni Campagna
92276c5e70 NetworkAgent: add support for VPN connections
VPN secrets are stored by the plugins, that provide separate
helpers for authentication. This commit adds the support for invoking
the binaries and pass them connection details.
For plugins that support it (as exposed by their keyfile), we invoke
them in "external-ui-mode" and expect a set of metadata about the
secrets which is used to build a shell styled dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=658484
2012-02-14 19:16:28 +01:00
Lennart Poettering
e8498adaf1 automount: port from CK to systemd-logind
ConsoleKit is being obsoleted by systemd. Accordingly port the CK logic
in the gnome-shell automount manager to systemd-logind APIs.

This makes use of systemd-logind's native C APIs which are much easier
to use than the D-Bus APIs in this case, and much faster too (since they
are synchronous and directly query the kernel for the information we
need). The dependency is compile time optional, and in order to be nice
to the Debian folks g-s compiled with this enabled fill automatically
fall back to CK support on systems lacking systemd.
2012-02-13 23:17:09 +01:00
Florian Müllner
e2aa954cb5 st: Fix typo in doc comment 2012-02-08 00:01:12 +01:00
Florian Müllner
05c285a945 st: Shut up a compiler warning
Remove an unused variable to make GCC happy.
2012-02-08 00:01:12 +01:00
Jasper St. Pierre
b8a54faf94 Add a new tool, 'gnome-shell-extension-prefs', which can configure extensions
A new tool, 'gnome-shell-extension-prefs' can load a new entry point from
extensions, 'prefs.js', which has an entry point to return a GTK+ widget.
This allows extensions to have their own preferences dialog, without each
extension needing to ship its own Python script and .desktop file.

https://bugzilla.gnome.org/show_bug.cgi?id=668429
2012-02-07 16:00:37 -05:00
Jasper St. Pierre
b2f33e2895 Split off the extension importing stuff into a new library, 'ShellJS'
This allows us to create a separate utility to import things from
shell extensions that does not have the entire Shell stack built up

https://bugzilla.gnome.org/show_bug.cgi?id=668429
2012-02-07 16:00:37 -05:00
Jasper St. Pierre
d1d4142052 Makefile.am: Use global substitutions
This allows us to make more than one of the same replacement in a .in file

https://bugzilla.gnome.org/show_bug.cgi?id=668429
2012-02-07 16:00:36 -05:00
Owen W. Taylor
46caf6d673 ShellApp: Fix warning with call to g_strv_length()
There is no implicit cast from const char * const * to char **.
2012-02-07 13:06:24 -05:00
Emmanuele Bassi
5bc042ba6f Remove override of map/unmap
Clutter, since version 1.8, does The Right Thing™ inside the default
implementation of ClutterActor::map and ClutterActor::unmap, even for
non-container actors: it will iterate over the list of children and
map, or unmap, each one of them, respectively.

This means that the requirement to override map and unmap for composite
actors to map and unmap the internal children has been dropped.

https://bugzilla.gnome.org/show_bug.cgi?id=669239
2012-02-06 23:36:43 +00:00
Jasper St. Pierre
5c730dc53d st-theme-node-drawing: Remove possible subtexturing
Since our implementation of background-size is now CSS-compliant, we
do not need this subtexture hack that clips a "leak". The comment here
is also incorrect.

https://bugzilla.gnome.org/show_bug.cgi?id=633462
2012-02-06 08:01:33 -05:00
Jasper St. Pierre
5a3de8d663 st-theme-node-drawing: Fix implementation of background-size
It seems that accidentally, two variables were swapped in one code path
of the background-size implementation, causing interesting but wrong
images for some elements.

https://bugzilla.gnome.org/show_bug.cgi?id=633462
2012-02-06 08:01:33 -05:00
Adel Gadllah
87559414a3 screenGrabber: Pass correct coordinates to glReadPixels
Pass x and y to glReadPixels rather then always 0, 0.

https://bugzilla.gnome.org/show_bug.cgi?id=669366
2012-02-04 17:08:28 +01:00
Jasper St. Pierre
d254e2e1f2 shell-global: Correct screenshot_window() after mutter changes
Recent mutter changes made MetaShapedTexture not a ClutterTexture,
but instead a special ClutterActor subclass that implemented the texture-y
bits itself. Use recently introduced API in MetaShapedTexture so that we can
get the raw texture data and spit it out as a PNG.

Use the new meta_shaped_texture_get_image() to get a window's texture data.
meta_shaped_texture_get_image() flattens the image against any mask it may
have, so a screenshot of it should look exactly as it does on the display.

https://bugzilla.gnome.org/show_bug.cgi?id=662486
2012-02-03 19:58:39 -05:00
Jasper St. Pierre
458b0b22fc shell-util: Remove shell_breakpoint
A near identical function appears in gjs, in the "system" module:

    const System = imports.system;
    System.breakpoint();
2012-02-03 14:21:57 -05:00
Owen W. Taylor
60d8683ae7 ShellRecorder: drop frames to approximate the target framerate
Instead of adding every rendered frame into the recording, drop frames
and only buffer and record enough frames to match the target framerate.

Increase the default frame rate from 15 to 30, since now that we're
actually enforcing framerate, it's noticeable that 15fps is not smooth.

https://bugzilla.gnome.org/show_bug.cgi?id=669066
2012-01-31 10:47:19 -05:00
Owen W. Taylor
f2cc5cf152 ShellRecorder: drop frames to keep from running the user out of memory.
Once we're buffering more than 3/4's of the "half of memory" target
for total buffer usage, start dropping frames.

https://bugzilla.gnome.org/show_bug.cgi?id=669066
2012-01-31 10:47:19 -05:00
Owen W. Taylor
d4a26fbf4b ShellRecorder: improve the default pipeline
The default pipeline was fairly aggressive about quality, and could
be too expensive for some computers. Decrease the quality setting for
the vp8 codec from 10 to 8, and increase the speed setting from 2 to 6.

(Basically, quality affects the visual fidelity of the end result, while
speed affects how much CPU the encoder uses to get a high compression
ratio at that quality level.)

Remove videorate from the pipeline, since the GStreamer VP8 encoder can
handle variable-framerate streams. This means that we won't spend CPU
encoding duplicate frames added by videorate.

https://bugzilla.gnome.org/show_bug.cgi?id=669066
2012-01-31 10:47:19 -05:00
Owen W. Taylor
025784fd83 ShellRecorderSrc: Set as GST_FORMAT_TIME
We need to indicate that our GStreamer source produces timestamped
frames, instead of the default, which is to produce a stream of bytes.
This is needed for correctness, and to avoid warnings for some
pipelines.

https://bugzilla.gnome.org/show_bug.cgi?id=669066
2012-01-31 10:47:19 -05:00
Owen W. Taylor
4e89a5edde ShellScreenGrabber: grab the screen using pixel buffers
For the Intel drivers, using glReadPixels() to read into client-memory
directly from the frame buffer is much slower than creating a pixel
buffer, copying into that, and then mapping that for reading. On other
drivers, the two approaches are likely to be similar in speed. Create
a ShellScreenGrabber abstraction that uses pixel buffers if available.
Use that for screenshots and screen recording.

https://bugzilla.gnome.org/show_bug.cgi?id=669065
2012-01-31 10:47:19 -05:00
Cosimo Cecchi
9147dee0de screenshot: use the correct offsets when calculating the window area
Use the correct clip offsets when taking the screenshot of a window, to
exclude possible invisible borders and to include the case where the
window doesn't have any frame itself.
2012-01-27 17:15:03 -05:00
Alejandro Piñeiro
1b64b09532 a11y: StLabelAccessible needs to notify accessible-name change
https://bugzilla.gnome.org/show_bug.cgi?id=667376
2012-01-27 12:29:57 +01:00
Cosimo Cecchi
049a561466 screenshot: add a 'flash' boolean flag to screenshot methods
Add a flag to these methods that allows flashing the area of the
screenshot directly from the compositor.

https://bugzilla.gnome.org/show_bug.cgi?id=668618
2012-01-25 19:20:09 -05:00
Jasper St. Pierre
b40b19997a shell: Use generic marshaller
https://bugzilla.gnome.org/show_bug.cgi?id=662152
2012-01-25 19:03:48 -05:00
Jasper St. Pierre
46505a8314 etc: Use generic marshaller
https://bugzilla.gnome.org/show_bug.cgi?id=662152
2012-01-25 19:03:13 -05:00
Jasper St. Pierre
78fb102002 st: Use generic marshaller
https://bugzilla.gnome.org/show_bug.cgi?id=662152
2012-01-25 19:03:01 -05:00
Jasper St. Pierre
f6508b51a2 st-im-text: Guard against multiple dispose
This could cause warnings like "invalid (NULL) pointer instance"

https://bugzilla.gnome.org/show_bug.cgi?id=665000
2012-01-25 19:01:33 -05:00
Florian Müllner
1d311e7916 shell-app: Make use of Keywords in search
.desktop files have been designed for browsing, so the existing
fields often produce insufficient results when used for search.
gnome-control-center used X-GNOME-Keywords for that purpose, which
has now been standardized as Keywords. It makes sense for us to
support it in gnome-shell as well (and encourage its use outside
of settings panels).

https://bugzilla.gnome.org/show_bug.cgi?id=609702
2012-01-25 20:29:37 +01:00
Jasper St. Pierre
8d6ab32b9a shell-app-system: Add Debian to the vendor prefixes
It seems that Debian has their own prefixes in something like
debian-xterm.desktop. To properly do application matching in these cases,
we need to strip the debian- prefix.

https://bugzilla.gnome.org/show_bug.cgi?id=665647
2012-01-25 02:11:11 -05:00
Adel Gadllah
882fe48d80 Screenshot: Move filesystem I/O to a thread
Writting the screenshot to a file can take a relativly long time
in which we block the compositor, so do that part in a separate
thread to avoid the hang.

https://bugzilla.gnome.org/show_bug.cgi?id=652952
2012-01-22 11:47:56 +01:00
Ryan Lortie
c5932c0f07 Adjust to gtk/mutter changes for Application API
https://bugzilla.gnome.org/show_bug.cgi?id=668118
2012-01-18 17:25:35 -05:00
Colin Walters
b5be62cd1b ShellApp: Use unique name for menus
Otherwise since the auto-activate flag is set for dbus messages, we
may re-vivify applications that have DBus service files.

https://bugzilla.gnome.org/show_bug.cgi?id=667881
2012-01-17 14:00:51 -05:00
Owen W. Taylor
e58c82fc04 theme-node-drawing: don't crash if st_theme_node_paint() is called on an empty area
When st_theme_node_paint() was called with zero width or height and a theme
node with a shadow, we'd crash because we'd fail to allocate a texture with
an empty size, then unreference the NULL pointer.

https://bugzilla.redhat.com/show_bug.cgi?id=748293
https://bugzilla.gnome.org/show_bug.cgi?id=668050
2012-01-16 17:38:38 -05:00
Owen W. Taylor
91ca86ffe4 st-theme-node-drawing: clear border buffer before drawing on it
A new texture has undefined contents - when we're creating a shadow,
we need to clear the contents of the texture before drawing the border
and background into it.

https://bugzilla.gnome.org/show_bug.cgi?id=668048
2012-01-16 17:38:38 -05:00
Owen W. Taylor
33d4518e50 hotplug-sniffer: fix double free when setting D-Bus return value
g_dbus_method_invocation_return_value() adopts a floating reference,
so we don't also need to unreference it; fix by replacing the code
using a more compact form using the ^ convenience character in
GVariant type specifications. (Thanks to Ryan Lortie for the
suggestion.)

https://bugzilla.gnome.org/show_bug.cgi?id=667378
2012-01-16 17:38:38 -05:00
Giovanni Campagna
b087191d2b RemoteMenu: add support for section labels
According to the GIO docs, sections can have labels too. We support
them by inserting a non reactive menu item at the beginning of the
section. This item is specially flagged to be ignored while processing
changed signals from the model (since it does not correspond to any
model item)

https://bugzilla.gnome.org/show_bug.cgi?id=666681
2012-01-16 19:29:50 +01:00
Giovanni Campagna
abcca3d3bc ShellEmbeddedWindow: don't update the size of a destroyed actor.
shell_embedded_window_hide() can be called during widget destruction,
after the associated ClutterActor has been already cleared out.
Fix a crash in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2012-01-14 13:31:04 +01:00
Giovanni Campagna
f4d13b9801 ShellApp: don't use the app proxy before it's created
The application proxy is created asynchrously after the dbus name
is registed. This means that when tracking the first window (and
therefore creating the first window GActionGroup) there is no
app proxy yet.

https://bugzilla.gnome.org/show_bug.cgi?id=633028
2012-01-14 13:31:04 +01:00
Xavier Claessens
5cf06fe9a7 telepathyClient: No need to prepare channel contacts
tp-glib does it for us since version 0.15.6

https://bugzilla.gnome.org/show_bug.cgi?id=658817
2012-01-12 20:55:40 +01:00
Owen W. Taylor
66c4881fd2 Add missing files to distribution 2012-01-04 12:39:37 -05:00
Quentin Glidic
25948f214e St: Implement background-size CSS property
Implement the background-size CSS property, specified by the CSS
Backgrounds and Borders Module Level 3, including the keywords
"contain", "cover", and fixed-size backgrounds.

https://bugzilla.gnome.org/show_bug.cgi?id=633462
2011-12-23 14:23:23 -05:00
Cosimo Cecchi
7b9c9b2f7d shell-app: ensure there's always a muxer when setting actions on it
It's not guaranteed that the application DBus proxy appears before
we receive the first focus event from the toplevel window.
Ensure that the first method to access the action muxer creates it if
hasn't been created yet.
2011-12-21 16:36:56 +01:00
Colin Walters
b47b82ed42 build: Split out "private" sources variable that can be easily appended
Move the action muxing copy stuff in there.
2011-12-20 17:36:59 -05:00
Ryan Lortie
c4c2c11dca action muxer: drop direct GDBusActionGroup use
We now have GRemoteActionGroup interface with the needed API,
implemented by GDBusActionGroup.

With the new API we could theoretically turn GActionMuxer itself into a
GRemoteActionGroup and expose the _full API to the shell so that the
timestamps could be passed from there.
2011-12-20 17:36:59 -05:00
Matthias Clasen
ce38293a0f GActionMuxer: pass platform data
Pass the current timestamp as platform data when activating
an action. This is implemented slightly hacky, since we use
clutter_get_current_event_time() to get at the timestamp, but
the alternative is to expose g_action_muxer_activate_action_full
to js, which would be quite a bit more involved.
2011-12-20 17:36:59 -05:00
Matthias Clasen
6c4e9d23f2 Add per-window actions
GTK+ also exports window-specific actions, by putting the object path
for the exported action group in the _DBUS_OBJECT_PATH X property.
We add this action group to the app's muxer with a 'win' prefix,
since that is what the exported menu expects. Whenever the focus
window changes, we update the window-specific actions of its
application, and emit notify::action-group to cause the app
menu to be updated.
2011-12-20 17:36:59 -05:00
Matthias Clasen
4aa1fe9ca2 Another update for GLib API changes
GDBusActionGroup api has changed again, adapt to that.
Also, use a GActionMuxer to add the 'app.' prefix to actions,
instead of manually stripping it out of the action names.
In the future, the muxer will also contain per-window actions
with a 'win.' prefix.
2011-12-20 17:36:59 -05:00
Giovanni Campagna
5ad8080cb9 Application Menu: update for latest GMenu changes
GMenuProxy has been replaced by GDBusMenuModel, and the object path
has been moved (now needs to be retrieved from the AppMenu GApplication
property).
Update the test to prefix each action with "app." as documented,
and use a GtkApplicationWindow instead of a plain GtkWindow.
2011-12-20 17:36:59 -05:00
Giovanni Campagna
e53e3cbb09 test-gapplication: update for latest gapplication changes
g_application_set_action_group is deprecated, we should use
GActionMap. Also, GSimpleActions can now be constructed as normal
GObjects.
2011-12-20 17:36:59 -05:00
Giovanni Campagna
4debedb275 Application Menu: add support for showing GApplication actions
Use the new GApplication support in ShellApp to create the application
menu. Supports plain (no state), boolean and double actions.
Includes a test application (as no other application uses GApplication
for actions)

https://bugzilla.gnome.org/show_bug.cgi?id=621203
2011-12-20 17:36:59 -05:00
Giovanni Campagna
8764253861 ShellApp: port to new GDBusActionGroup and GMenuProxy API
GDBusActionGroup and GMenuProxy are new objects in GIO 2.32 that
help with accessing menus and actions of remote applications.
This patch makes it possible for the shell to associate an
application with a dbus name and from that a GMenu, that will
be shown as the application menu.

https://bugzilla.gnome.org/show_bug.cgi?id=621203
2011-12-20 17:36:59 -05:00
Giovanni Campagna
875b6d131b StTextureCache: fix load_sliced_image with different sizes
grid_width and grid_height were inverted, which caused a crash
in GdkPixbuf code. This was never noticed because the animation
in the panel is a square.

https://bugzilla.gnome.org/show_bug.cgi?id=666606
2011-12-20 19:25:43 +01:00
Florian Müllner
56f312dc03 st: Fix typo
Commit c7846e1 introduced a small typo, fix.
2011-12-19 16:08:37 +01:00
Jasper St. Pierre
f2cbddc196 st-theme-node: Fix memory leak
We ref the icon_colors in st_theme_node_get_icon_colors, but never
unref it.
2011-12-19 09:47:26 -05:00