Commit Graph

2083 Commits

Author SHA1 Message Date
Aaron Plattner
941513b280 st: Fix offscreen leak if cogl_framebuffer_allocate fails
If cogl_framebuffer_allocate fails in _st_create_shadow_pipeline_from_actor, the
CoglOffscreen* that was allocated earlier in the function is leaked.

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

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
2016-03-30 15:59:10 -04:00
Ting-Wei Lan
1de288c5bb build: Fix build with clang -Werror
https://bugzilla.gnome.org/show_bug.cgi?id=755659
2016-02-26 02:06:55 +08:00
Michael Catanzaro
508668107b st-entry: Disable middle-click-paste when entry is not editable
Should only allow pasting the primary selection when the entry is
editable.

https://bugzilla.gnome.org/show_bug.cgi?id=762507
2016-02-23 06:48:50 -06:00
Florian Müllner
00814dd159 shell: Fix another indentation warning
The compiler doesn't know about preprocessor conditionals, so indentation
changes confuse -Wmisleading-indentation.
2016-02-16 18:05:14 +01:00
Florian Müllner
57f9ffcaa7 shell: Fix an indentation issue ...
...pointed out by GCC's new -Wmisleading-indentation warning.
2016-02-16 17:35:39 +01:00
Florian Müllner
ce83f378a5 shell: Fix coding style 2016-02-16 17:35:39 +01:00
Lubomir Rintel
346ffd14d7 NetworkAgent: correctly identify the VPN secret requests
The non-interactive requests for 'vpn' settings are forwarded to the UI because
it is able to talk to the auth helpers. However, the VPN requests are identified
by the connection type instead of setting type. That is incorrect and the UI
is not prepared to handle such requests; tries to construct a dialog and fails
miserably:

  Gjs-Message: JS LOG: Invalid connection type: vpn

  (gnome-shell:13133): Gjs-WARNING **: JS ERROR: Error: No property 'text' in property list (or its value was undefined)
  NetworkSecretDialog<._init@resource:///org/gnome/shell/ui/components/networkAgent.js:60
  wrapper@resource:///org/gnome/gjs/modules/lang.js:169
  _Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110
  Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/lang.js:204
  NetworkAgent<._handleRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:724
  wrapper@resource:///org/gnome/gjs/modules/lang.js:169
  NetworkAgent<._newRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:715
  wrapper@resource:///org/gnome/gjs/modules/lang.js:169

https://bugzilla.gnome.org/show_bug.cgi?id=760999
2016-01-26 17:31:34 +01:00
Rui Matos
c25c143b24 st-widget: Avoid passing NULL to atk_object_get_role()
This never worked since the code landed but apparently no-one noticed
until now.

The intent here is to return the accessible's default role if none has
been explicitly set on the StWidget instance.

https://bugzilla.gnome.org/show_bug.cgi?id=760945
2016-01-21 16:49:06 +01:00
Rui Matos
b87da87252 st-widget: Fix a potentially infinite recursion
Commit ffe4eaf00d changed this code to
call st_widget_get_accessible_role() instead of using the value
directly which would be an infinite recursion if that function didn't
have a bug. As it is, this just resulted in

CRITICAL **: atk_object_get_role: assertion 'ATK_IS_OBJECT
(accessible)' failed

https://bugzilla.gnome.org/show_bug.cgi?id=760945
2016-01-21 16:49:05 +01:00
Christophe Fergeau
021cecbce2 NetworkAgent: Fix double-unref in get_secrets_keyring_cb()
In get_secrets_keyring_cb, we own a ref on the 'attributes' hash table
from secret_item_get_attributes), and a ref on the 'secret' object (from
secret_item_get_secret(), but in the SHELL_KEYRING_SK_TAG case, we unref
these once before breaking out of the loop, and the second time after
breaking out of the loop.

https://bugzilla.gnome.org/show_bug.cgi?id=759708
2016-01-07 15:27:42 +01:00
Florian Müllner
03bf6fa399 theme-node: Use the correct framebuffer in paint_* methods
Since commit 48a54e8ac4, paint() has an explicit framebuffer parameter,
however a couple of submethods are still using the draw framebuffer,
which breaks when rendering to an offscreen buffer.
2015-11-19 14:08:14 +01:00
Florian Müllner
f777e761c0 st: Fix some more cogl deprecations
Replace the remaining cogl_set_source* calls with the explicit
pipeline/framebuffer API.
2015-11-19 14:07:24 +01:00
Florian Müllner
9a7b47c23f st: Fix Gaussian kernel calculation
The result of subtracting unsigned operands is unsigned, which throws
off our calculation in case it should be negative.

This partly reverts 18b6f13395.

https://bugzilla.gnome.org/show_bug.cgi?id=757779
2015-11-12 01:02:05 +01:00
Florian Müllner
c634718dfa shell: Fix crash in polkit agent
The polkit agent does not take ownership of the request's cancellable,
so it may no longer be valid after the request finished and we need
to disconnect it before that. Before the GTask port in 8b4249ef2,
it was safe to do that when freeing the request data because requests
completed in an idle, but now we need to do it before returning the
task result.

https://bugzilla.gnome.org/show_bug.cgi?id=757668
2015-11-10 11:56:37 +01:00
Kalev Lember
df0b465e76 StTextureCache: Fix a fallout from GTask port
Set the task data that load_pixbuf_thread func expects.

https://bugzilla.gnome.org/show_bug.cgi?id=757418
2015-11-01 00:27:35 +01:00
Owen W. Taylor
8b7464c648 st_theme_node_prerender_shadow: guard against failure to allocate a texture
If we are trying to render a shadow at a size that is very large in one
direction, but small in the other direction (so that we don't 9-slice
the texture), then allocating the backing texture for the offscreen
buffer may fail due to texture-size limits. Don't crash in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=757150
2015-10-27 15:51:40 -04:00
Owen W. Taylor
6d22670307 Defend against failure of cairo_pattern_get_surface()
There are quite a few crashes in retrace.fedoraproject.org that are a result of
of cairo_pattern_get_surface() failing, then a subsequent call to
cairo_image_surface_get_width() crashing because no surface was returned to the
out parameter. Knowing what causes these is hard - my best guess is widgets getting
allocated at ridiculous sizes - but avoiding the crash makes sense in any case.

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

https://bugzilla.gnome.org/show_bug.cgi?id=756983
2015-10-22 15:14:55 -04:00
Owen W. Taylor
e65d90d624 Fix text-scaling-factor under wayland.
The text-scaling-factor GSetting was not being properly propagated
to clutter and the Pango font map; under X this is done by Clutter,
which listens to XSETTINGS directly.

https://bugzilla.gnome.org/show_bug.cgi?id=756447
2015-10-20 09:35:47 -04:00
Florian Müllner
48a54e8ac4 theme-node: Pass an explicit framebuffer to paint()
This allows us to paint to an offscreen buffer without using the
deprecated cogl_push_framebuffer/cogl_pop_framebuffer functions.
2015-10-16 00:16:38 +02:00
Florian Müllner
113a854048 st: Rename *material to *pipeline
... since the last commit changed the type from CoglMaterial to
CoglPipeline.
2015-10-15 23:42:19 +02:00
Florian Müllner
882f5fa79e st: Fix a bunch of cogl deprecations 2015-10-15 23:05:11 +02:00
Florian Müllner
9acdb8012c tray: Get rid of deprecation warnings
gdk_window_set_composited() is deprecated, and we don't need it as
we end up setting it to the default anyway.
We do need gtk_widget_set_double_buffered() though, which has been
deprecated as well because it is only meaningful on X11 - but so
is XEmbed, so just shut up that warning.
2015-10-15 23:05:11 +02:00
Florian Müllner
731d64e0e4 tray: Don't use gdk_display_supports_composite()
Composite is a hard requirement for mutter's compositor, so if we get
to the point of managing the tray, we already know that the extension
is supported. So let's get rid of yet another deprecation warning.
2015-10-15 23:05:11 +02:00
Florian Müllner
ccf1bd9f27 tray-manager: Don't use GdkColor
It has been deprecated for a while in favor of GdkRgba, though in our
case translating ClutterColors to an intermediate color type before
setting _NET_SYSTEM_TRAY_COLORS is a bit silly, so just move to
ClutterColor as the rest of the code base.
2015-10-15 23:05:11 +02:00
Florian Müllner
c164a8fe03 st: Use ClutterCanvas for StDrawingArea
Stop chasing down cogl deprecations by delegating all texture
handling to a ClutterCanvas.
2015-10-15 23:01:11 +02:00
Florian Müllner
1a39666f7c shell: Port to GTask 2015-10-15 22:59:49 +02:00
Florian Müllner
f2731d4d6a st: Port to GTask
GSimpleAsyncResult has been deprecated for a while.
2015-10-15 22:59:48 +02:00
Florian Müllner
3e63fb7abe Port screenshot to GTask 2015-10-15 22:59:48 +02:00
Florian Müllner
8b4249ef26 Port polkit agent to GTask 2015-10-15 22:59:48 +02:00
Florian Müllner
bf0be6ef12 hotplug-sniffer: Port to GTask
GSimpleAsyncResult is deprecated.
2015-10-15 22:59:48 +02:00
Florian Müllner
294702d3f1 shell: Use G_DECLARE_*_TYPE macros
Cut down on boilerplate by using the (no longer that) new helper
macros. We don't care about breaking ABI in private libraries, so
use G_DECLARE_FINAL_TYPE even where the class struct used to be
exposed in the header, except for types we inherit from ourselves
(obviously) or where the class exposes any vfuncs (where changes
could affect inheritance in extensions).
2015-10-15 22:58:28 +02:00
Florian Müllner
58f3b7c748 shell: Drop questionable vfuncs
Both ShellAppSystem and ShellTrayManager are used as singletons, which
significantly reduces the usefulness of inheritance - it's unlikely for
extensions to inherit from them anyway (AND use any of the vfuncs), so
drop them to allow defining the types as final in an upcoming commit.
2015-10-15 22:13:18 +02:00
Florian Müllner
e25502aeb2 shell: Use G_DEFINE_TYPE_WITH_PRIVATE() and friends 2015-10-15 22:03:06 +02:00
Florian Müllner
ffe4eaf00d st: Use G_DECLARE_*_TYPE
Cut down on boilerplate by using the (no longer that) new helper
macros. We don't care about breaking ABI in private libraries, so
use G_DECLARE_FINAL_TYPE even where the class struct used to be
exposed in the header, except for types we inherit from ourselves
(obviously) or where the class exposes any vfuncs (where changes
could affect inheritance in extensions).
2015-10-15 22:02:35 +02:00
Florian Müllner
2f88a7a1e1 st: Drop vfuncs from StThemeNodeTransition
They are unused, as we don't use them ourselves and the class is not
exposed to introspection. Drop them to allow defining the type as final
in an upcoming commit.
2015-10-15 21:43:08 +02:00
Florian Müllner
cd7d564125 st: Use G_DEFINE_TYPE_WITH_PRIVATE() and friends 2015-10-15 21:05:22 +02:00
Florian Müllner
ede81017ec hotplug-sniffer: Modernize GObject usage 2015-10-15 21:04:07 +02:00
Florian Müllner
a539e6236a calendar-server: Modernize GObject usage 2015-10-15 21:04:07 +02:00
Florian Müllner
508e751ffd box-layout: Support replacing layout manager
There is nothing preventing callers from replacing the internal
layout manager, and as long as the replacement is a (or derives
from) ClutterBoxLayout, everything should work fine except for
losing a bit of automatic property mapping - and the latter is
easily fixable by moving the setup out of the constructor.

https://bugzilla.gnome.org/show_bug.cgi?id=708472
2015-10-15 19:21:15 +02:00
Cosimo Cecchi
207c847762 windowManager: add animations for fullscreen and unfullscreen
We use the newly introduced feature from Mutter to hook up our own
fullscreen and unfullscreen animations.
To give the illusion of a transition as smooth as possible, we create a
snapshot of the current contents of the actor before its state is
changed, and crossfade between the two states while the size changes.

https://bugzilla.gnome.org/show_bug.cgi?id=707248
2015-10-14 12:10:58 -04:00
Cosimo Cecchi
674ae262c8 Change incorrect parameter names
These were renamed a while ago.
2015-10-12 15:38:44 -04:00
Owen W. Taylor
db297e7fdb Don't crash on accesses to stale window-backed apps
The JS code could still be holding on to a reference to a window-backed app
after all windows have vanished. (For example, the dash queues an idle to
refetch apps and display them.) Avoid dying with an error message if we
attempt to activate or otherwise manipulate such a window.

https://bugzilla.gnome.org/show_bug.cgi?id=674799
2015-10-11 15:31:39 -04:00
Rui Matos
44047ac881 shell-glsl-quad: Set the pipeline blend string explicitly
The default pipeline color is opaque white and blending is turned
off. If we only draw with that color (e.g. because animations are
disabled and we're always drawn with opacity == 255), blending is kept
disabled since cogl_pipeline_set_color() returns early if the color
doesn't change from what was there before.

In our case we always want blending to be enabled which we can achieve
by setting the blending string ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=755827
2015-10-08 18:27:07 +02:00
Florian Müllner
464d5d8a13 st-button: Don't rely on hover to accept clicks
Since commit 4f1f226828 we only consider buttons clicked when the
release event had a corresponding press event. However as we use
the hover state to check whether a release event actually occurred
on the button, we dismiss any clicks in cases where we missed the
enter event - most likely due to some other actor holding a grab.
Instead, check whether the button contains the event's source, which
should be less error-prone.

https://bugzilla.gnome.org/show_bug.cgi?id=748919
2015-10-07 15:05:36 +02:00
Emmanuele Bassi
2036e4c85c st: Remove wrong indentation
GObject-Introspection started warning for wrong annotations, and
StGenericAccessible::set-current-value has a return value annotation
even if it returns nothing. This generates the warning:

src/st/st-generic-accessible.c:146: Warning: St:
StGenericAccessible::set-current-value: invalid return annotation

Which, coupled with fatal warnings, breaks the Shell build.
2015-10-05 12:04:55 +01:00
Matthias Clasen
18c7138237 Check error of g_dbus_proxy_new_sync call
Otherwise errors pile up and we crash later on.
2015-09-24 13:33:47 -04:00
Matthias Clasen
3f0fbae7e2 shell_dbus_acquire_name: Don't leak the result
The GVariant returned by g_dbus_proxy_call_sync must be
freed with g_variant_unref, to prevent a leak.
2015-09-24 13:33:47 -04:00
Matthias Clasen
7f1a258ff9 shell_dbus_acquire_name: Don't leak error
If fatal is not set, we return from this function in the error
case. Don't leak the GError if that happens.
2015-09-24 13:33:45 -04:00
Florian Müllner
84eda6e459 st: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
Florian Müllner
f5e7530fc7 st: Add default case to switch statements 2015-09-23 21:32:50 +02:00
Florian Müllner
f983b34784 st: Handle all possible enum values in switch statements 2015-09-23 21:32:50 +02:00
Florian Müllner
36bbe64898 st: Fix constness in assignment 2015-09-23 21:32:50 +02:00
Florian Müllner
627a393ed6 st: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
Florian Müllner
a025b151ef st: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
Florian Müllner
18b6f13395 st: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
Florian Müllner
051413550f st: Don't duplicate declarations from G_DEFINE_TYPE 2015-09-23 21:32:50 +02:00
Florian Müllner
3e10574736 shell: Add default case to switch statements
... to shut up a compiler warning.
2015-09-23 21:32:50 +02:00
Florian Müllner
9a3041004b shell: Don't shadow existing variables 2015-09-23 21:32:50 +02:00
Florian Müllner
87f71b8ce1 shell: Don't mix declarations and code 2015-09-23 21:32:50 +02:00
Florian Müllner
825146f1e3 shell: Fix signed-unsigned comparisons 2015-09-23 21:32:50 +02:00
Florian Müllner
52995416fd shell: Don't avoid parameter list
Meh, C ...
2015-09-23 21:32:50 +02:00
Florian Müllner
6c43d0247a main: Fix constness mismatches 2015-09-23 21:32:49 +02:00
Florian Müllner
9aa98d9f0c menutracker: Don't shadow existing variables 2015-09-23 21:32:49 +02:00
Florian Müllner
c3a29d6df1 theme-node: Rewrite switch statement
Some compilers warn about unhandled enum values in switch statements,
so don't use one where only two out of 21 possible values make sense.
2015-09-23 21:32:49 +02:00
Florian Müllner
82f84416a9 recorder: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
Florian Müllner
9dd3162dbe recorder-src: Rewrite switch statement
Avoid compiler warnings about unhandled enum values by using a
regular if-else statement.
2015-09-23 21:32:49 +02:00
Florian Müllner
7ef519756a Update gvc submodule 2015-09-23 21:32:49 +02:00
Florian Müllner
444fa2e0ab calendar-server: Adjust to EDS service version bump 2015-08-10 17:30:38 +02:00
Florian Müllner
e92f43b83e shell: Fix C99'ism 2015-07-31 20:26:47 +02:00
Florian Müllner
fed79ce4e6 appDisplay: Handle non-UTF8 filename encodings more gracefully
It may be 2015, but users still stumble upon the occasional .desktop
file that uses a filename encoding other than UTF-8. We currently
fail quite spectacularly in that case by not displaying any apps at
all - handle this case more gracefully, by only filtering out the
offending apps.

https://bugzilla.gnome.org/show_bug.cgi?id=651503
2015-07-31 16:52:42 +02:00
Florian Müllner
c3e5d983b9 st: Replace deprecated key symbols 2015-07-22 16:00:56 +02:00
Florian Müllner
d21edcfed5 st: Replace deprecated macros 2015-07-22 16:00:55 +02:00
Mario Sanchez Prada
9b69a45eee Update gvc submodule to the latest commit from master
This avoids unnecessary calls to match_card_port_with_existing_device()
when connecting to a bluetooth device from the shell's top panel.

https://bugzilla.gnome.org/show_bug.cgi?id=752675
2015-07-21 16:11:01 +01:00
Jasper St. Pierre
7424ee755a shell-app: Stay consistent about application states
When the last interesting window of an app-backed window is removed,
we'll transition it back to STOPPED, but we transition the state and
send out the signal before we clear the running state.

This means that any listeners to the state-changed signal might
encounter a window-backed app that has a running state, but no
windows. If they call, e.g. shell_app_get_name, while in this state,
they'll encounter an assertion fail.
2015-07-16 17:09:39 -07:00
Jasper St. Pierre
ff664fd1d8 shell-app: Track the starting state correctly
Apps that are starting might have uninteresting windows like splash
screens pop up and then go away (like LibreOffice), even when
startup-notification hasn't completed yet. In those cases, we don't
want to transition the app back to stopped -- it should remain in
the running state.
2015-07-16 15:21:57 -07:00
Jasper St. Pierre
7305466765 Adapt to new size-change API
We don't implement any maximize transitions (yet??), but we still have
the skeleton there. Let's keep it up to date.
2015-07-05 23:09:24 -07:00
Florian Müllner
eac303f84c app-system: Improve StartupWMClass heuristics
Our StartUpWMClass heuristics use a StartupWMClass -> .desktop ID
mapping built from the list of all installed applications. In case
of multiple .desktop files setting the same StartupWMClass, we
currently simply pick the last one returned by g_app_info_get_all (),
which can be a bit surprising:
A window with WM_CLASS 'emacs', launched through a .desktop file
named 'emacs.desktop' with a StartupWMClass of 'emacs' maps to ...
'emacsclient.desktop'!
Make this case a bit less random by preferring the app info whose
ID matches the StartupWMClass.

https://bugzilla.gnome.org/show_bug.cgi?id=751541
2015-06-26 19:21:46 +02:00
Florian Müllner
52e3149040 main: Replace deprecated g_settings_list_keys() 2015-06-19 14:05:32 +02:00
Florian Müllner
ad297ea9dc main: Fix a memory leak
We are pointlessly calling g_settings_list_keys() twice, without
freeing the result from the first call.
2015-06-19 14:05:32 +02:00
Wim Taymans
2015fc97dc shell-recorder-src: rework queue handling
Use our own locking and queue instead of async_queue.
Implement unlock and unlock_stop to make the create function return
FLUSHING. This is important to be able to pause the pipeline after some
error occured in the pipeline.
Implement start/stop to clear the queue and its state.
2015-06-16 09:03:30 +02:00
Watson Yuuma Sato
59a18c4ead ShellKeyringPrompt: Strip out mnemonics indicators from labels
Currently GNOME Shell doesn't support mnemonics and prompters may
send labels with it.

Remove the mnemonics indicator for now.

Signed-off-by: Stef Walter <stefw@redhat.com>
 * Fixed style issue

https://bugzilla.gnome.org/show_bug.cgi?id=750465
2015-06-09 11:45:47 +02:00
Ting-Wei Lan
249619fabd build: Fix the path of perl for data-to-c.pl
https://bugzilla.gnome.org/show_bug.cgi?id=749490
2015-05-22 19:03:44 +08:00
Florian Müllner
86e04048ff st: Remove StTable
Alas, the last use of StTable is not gone, so we can finally remove
our copy of the widget.

https://bugzilla.gnome.org/show_bug.cgi?id=703833
2015-05-05 16:37:41 +02:00
Rui Matos
4f703019ca shell-global: Mark the sync pointer motion event as synthetic
This allows mutter to ignore these events for the purpose of keeping
idle time.

https://bugzilla.gnome.org/show_bug.cgi?id=748541
2015-04-27 19:47:39 +02:00
Ting-Wei Lan
e4718d3f7f shell_global_reexec_self: add support for FreeBSD
https://bugzilla.gnome.org/show_bug.cgi?id=747788
2015-04-15 02:50:19 +08:00
Rui Matos
5afd04781c keyboard: Add a way to use the OSK on shell chrome in wayland sessions
libcaribou was designed to generate X events which works under wayland
sessions for X clients but obviously doesn't work for wayland clients
and for shell chrome.

This patch adds a simple caribou display adapter which inherits from
its X display adapter and allows us to continue to work for X clients
and at the same time makes the OSK work on shell text entries by
sending key events directly to the focused text actor.

Making the OSK work for wayland clients requires much bigger changes
at various levels in the stack and either not using libcaribou or
re-working it substantially so that's left for future work.

https://bugzilla.gnome.org/show_bug.cgi?id=747274
2015-04-14 19:34:13 +02:00
Owen W. Taylor
92667e3b7f gtkactionmuxer.c: Pass the platform data when activating actions as well
The code from a6a2cea414 only passed a timestamp when changing an action
state, but the timestamp also to be passed when activating actions.

https://bugzilla.gnome.org/show_bug.cgi?id=747323
2015-04-07 10:44:55 -04:00
Owen W. Taylor
a0632e3e02 Unrevert gtkactionmuxer: Reintroduce the passing of event timestamps
Fix an accidental revert of a6a2cea414 - a patch that hacked
the cut-and-pasted code from GTK+ to pass timestamps when activating
remote actions.

https://bugzilla.gnome.org/show_bug.cgi?id=747323
2015-04-07 10:26:34 -04:00
Rui Matos
216e996f66 st-theme-node: Unconditionally apply style margins on the actor
We currently don't have any code either in gnome-shell or
gnome-shell-extensions setting margins directly with the Clutter API.

On the other hand, the current behavior doesn't allow us to remove a
style class with margins and have that be reflected, so removing this
special casing seems like the right thing to do at this point.

https://bugzilla.gnome.org/show_bug.cgi?id=746902
2015-03-27 18:06:13 +01:00
Rui Matos
c3bf4a325d Refresh all background instances after suspend if needed
NVIDIA drivers don't preserve FBO contents across suspend / resume
cycles which results in broken backgrounds. We can work around that by
forcing a refresh when coming out of suspend.

https://bugzilla.gnome.org/show_bug.cgi?id=739178
2015-03-24 11:45:04 +01:00
Florian Müllner
169b00aa64 gtk-embed: Handle unmap/map of the embedded window
The current code assumes that an embedded window will correspond to
a single MetaWindow over the entire lifetime of the icon, which is
incorrect - the embedded window is unmanaged on Unmap and a new
MetaWindow will be created the next time the embedded window is
mapped. As we currently ignore the new MetaWindow completely, it
will be shown normally in the scene instead of the embedded clone
as intended.
Fix this by setting up clone and window actor each time the embedded
window is mapped rather than once in shell_gtk_embed_set_window().

https://bugzilla.gnome.org/show_bug.cgi?id=745824
2015-03-22 09:33:33 +01:00
Florian Müllner
f0c0687b43 gtk-embed: Fix typo in comment 2015-03-20 02:32:01 +01:00
Cosimo Cecchi
f812e9be7d ShellApp: use st_icon_set_fallback_icon_name() to specify app fallback
We can now safely pass a NULL GIcon to st_icon_set_gicon(), and specify
a more generic fallback using the new API we just introduced.

https://bugzilla.gnome.org/show_bug.cgi?id=746219
2015-03-14 17:31:07 -07:00
Cosimo Cecchi
c7185d597b StIcon: add a fallback-icon-name property
This can be used when the lookup for the specified icon fails, in case
the client doesn't want an empty texture.

https://bugzilla.gnome.org/show_bug.cgi?id=746219
2015-03-14 17:31:07 -07:00
Florian Müllner
8aeebbbf78 calendar-server: Give each event an unambiguous ID
Each event returned by GetEvents includes the (currently unused)
UID, which is not always enough to unambiguously identify an event
(different calendar sources, recurring events, ...).
As we will start using the property to record events that have been
dismissed and should be persistently hidden from the calendar, change
it to a truly unique ID.

https://bugzilla.gnome.org/show_bug.cgi?id=744927
2015-03-13 15:53:41 +01:00
Matthias Clasen
0ebba112d7 Fix the offset calculation again
We also need to skip over the \004.

https://bugzilla.gnome.org/show_bug.cgi?id=745521
2015-03-04 10:19:55 -05:00
Rui Matos
b58f08bda1 viewSelector: Don't reset the search entry if it has preedit text
If users click outside the search entry while it's empty we reset and
thus give up key focus. This means that when using an input method
with candidate popups, interacting with the popup with a mouse click
cancels the current input method context if there's no other text in
the entry besides the preedit string.

To avoid this we can check if the entry has preedit in addition to
checking if it has normal text.

https://bugzilla.gnome.org/show_bug.cgi?id=745167
2015-03-04 15:25:35 +01:00
Matthias Clasen
3ec764d584 Fix offset calculation for g_dpgettext
We need to pass a positive number here.

https://bugzilla.gnome.org/show_bug.cgi?id=745521
2015-03-04 08:37:52 -05:00
Giovanni Campagna
707cc9e315 TelepathyClient: stop handling room invitations
Let empathy deal with these

https://bugzilla.gnome.org/show_bug.cgi?id=745503
2015-03-03 14:20:48 -08:00
Giovanni Campagna
fab25e18da TelepathyClient: remove call and file transfer approval
Let empathy deal with these.

https://bugzilla.gnome.org/show_bug.cgi?id=745503
2015-03-03 14:20:48 -08:00
Giovanni Campagna
38a2f26e44 TelepathyClient: remove subscription request notifications
The ones handled by empathy are just fine

https://bugzilla.gnome.org/show_bug.cgi?id=745503
2015-03-03 14:20:48 -08:00
Florian Müllner
f85d68aa70 util: Filter out message context of untranslated strings
Commit 5a47ad837b changed the definition of NC_() to include the
message context, so that gettext can correctly disambiguate strings
like "S". However this does only work when gettext actually returns
a translation from the catalogue; if the string is not found, we
need to strip the context again to not have it show up in the UI.

https://bugzilla.gnome.org/show_bug.cgi?id=745521
2015-03-03 17:19:34 +01:00
Raul Gutierrez Segales
7d058901ef Update comment about the pipeline used
We now use webm instead of theora so the previous
comment doesn't apply anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=652742
2015-02-27 17:36:11 +01:00
Florian Müllner
c9bcb411fc windowManager: Add unminimize effect
The effect was added to mutter a while ago, but never implemented
in the shell. Just do the reverse of the minimize animation ...

https://bugzilla.gnome.org/show_bug.cgi?id=702662
2015-02-27 13:02:19 +01:00
Florian Müllner
890a809022 Drop MESSAGE_TRAY action mode
The mode is never set after the removal of the bottom tray, so it
no longer makes sense to pass it to allowKeybinding(). We can also
safely remove it from the ActionModes flags altogether without
requiring a synchronized update with gnome-settings-daemon, as
the latter never used any flag value above LOGIN_SCREEN.
2015-02-26 01:41:18 +01:00
Cosimo Cecchi
5bdaffd36e st-private: fix cogl orthographic projection matrix
Commit 1c1f63a7d7 changed the shadow
pipeline to use cogl_framebuffer_ortographic() instead of cogl_ortho(),
but the two functions take their arguments in a different order.

Fixes graphical corruption for text shadows in the login screen.

https://bugzilla.gnome.org/show_bug.cgi?id=745061
2015-02-23 16:42:21 -08:00
Florian Müllner
c79d24b60e popupMenu: Use TOPBAR_POPUP action mode for all menus
When it comes to keybindings or gestures, there's not really a good
reason why popups associated with the top bar should behave differently
from any other shell menus. Just set the action mode generically for
all menus, so actions like screenshots or media-keys start working
with menus like the background- or app launcher context menus.

https://bugzilla.gnome.org/show_bug.cgi?id=745039
2015-02-23 21:39:22 +01:00
Giovanni Campagna
07664e7d2f St: draw the actor at full opacity when creating shadow material
When creating the shadow, we should ignore the opacity set on the
actor and its parent, as it will be applied again at a later stage.

https://bugzilla.gnome.org/show_bug.cgi?id=677412
2015-02-20 17:46:50 -08:00
Jasper St. Pierre
af4e84383d shell-plugin: Remove unused variables 2015-02-20 17:41:19 -08:00
Jasper St. Pierre
1c1f63a7d7 st-private: Update shadow APIs for Cogl deprecations 2015-02-20 17:40:46 -08:00
Jasper St. Pierre
8dab692f93 st-box-layout: Fix Cogl deprecations 2015-02-20 17:40:46 -08:00
Jasper St. Pierre
4de20272e5 shell-invert-lightness-effect: Fix Cogl deprecations 2015-02-20 17:40:46 -08:00
Jasper St. Pierre
ad75739fc5 st-drawing-area: Fix Cogl deprecations 2015-02-20 17:40:45 -08:00
Jasper St. Pierre
1d23539576 theme-node: Add more information to length error message 2015-02-20 17:40:45 -08:00
Jasper St. Pierre
71ae7e69c5 shell-app: Remove leftover struct 2015-02-20 17:40:45 -08:00
Carlos Soriano
ef3285d5e7 shell-app: Remove shell_app_get_faded_icon
In previous commit we removed the only use of shell_app_get_faded_icon
so we can remove the function on shell-app as well.

https://bugzilla.gnome.org/show_bug.cgi?id=744680
2015-02-20 15:14:44 +01:00
Carlos Soriano
e71b0a57fb remove shell-slicer
In last commit we remove the only use of shell-slicer, so we can remove
this as well
2015-02-20 15:14:44 +01:00
Sebastian Dröge
c4a775e94a shell-recorder: Timestamp buffers from the pipeline clock, not the wall clock
This should give more accurate timestamps on the video buffers, and especially
keep A/V sync when audio is also recorded.

https://bugzilla.gnome.org/show_bug.cgi?id=744642
2015-02-19 10:21:19 +02:00
Florian Müllner
7aa75f8eb0 calendar-server: Bump dataserver version
Evolution-data-server bumped its DBus API, so it's update time
for us ...

https://bugzilla.gnome.org/show_bug.cgi?id=744665
2015-02-17 17:31:08 +01:00
Florian Müllner
625a38f605 shell: Shut up a compiler warning 2015-02-17 12:34:06 +01:00
Colin Walters
4da7f20759 Drop use of libgsystem, move single API call into shell-global.c
See https://mail.gnome.org/archives/desktop-devel-list/2015-February/msg00121.html

We presently only indirectly link to it via this one call; until GLib
gains structured logging, simply import the code to wrap the journal
logging in an introspectable API into Shell.

https://bugzilla.gnome.org/show_bug.cgi?id=744457
2015-02-13 04:59:40 -05:00
Jasper St. Pierre
39d3ff6caf run-js-test: Remove old code to shove X11 events through 2015-02-11 16:31:26 -08:00
Jasper St. Pierre
513d1a195d recorder: Remove unused field 2015-02-11 01:00:11 -08:00
Jasper St. Pierre
d54b87c455 screenshot: Use MetaCursorTracker to fetch the cursor position
ClutterInputDevice will use the last place it knows the cursor to be,
which isn't always up to date when running under X11.
2015-02-11 01:00:11 -08:00
Cosimo Cecchi
12b00501cc StTextureCache: do not monitor files inside GResource
This is wasteful, since GResource does not support file monitoring.
Further, doing so will trigger a fallback code path in GLib that polls
every second in a thread, which is doubly wasteful.

https://bugzilla.gnome.org/show_bug.cgi?id=744013
2015-02-04 13:18:49 -08:00
Florian Müllner
21056a967f Revert "shell-app: Fix typo"
This reverts commit ead4c2b863.
2015-01-30 18:01:57 +01:00
Florian Müllner
ead4c2b863 shell-app: Fix typo
Commit 086fcd4a32 broke the build, use the correct variable to fix.

https://bugzilla.gnome.org/show_bug.cgi?id=743729
2015-01-30 17:59:30 +01:00
Jasper St. Pierre
086fcd4a32 shell-app: Only raise windows on the same workspace when activating them
For some reason, we never did this, even though this is what the comment
says we should be doing.
2015-01-30 11:36:45 -05:00
Jasper St. Pierre
9f5a2d8aca Remove the dependency on XTest
We haven't been using XTest since edd66c4.
2015-01-18 16:49:36 -08:00
Adel Gadllah
76315fca9f shell-screenshot: Disable unredirection while taking screenshots
Otherwise we grab wrong contents.

https://bugzilla.gnome.org/show_bug.cgi?id=741114
2015-01-13 19:44:03 +01:00
Rui Matos
af889168f0 StTextureCache: adapt to MetaWindow changing icon prop type
Mutter change is
https://git.gnome.org/browse/mutter/commit/?id=af7f51b992b20da543312fa9fdf1dcef39704b37

https://bugzilla.gnome.org/show_bug.cgi?id=742824
2015-01-13 15:58:45 +01:00
Adel Gadllah
538272bb23 recorder: Cleanups 2015-01-11 15:48:05 +01:00
Adel Gadllah
985e909876 recorder: Don't compute the buffer size twice 2015-01-11 15:42:38 +01:00
Adel Gadllah
d183f13456 recorder: Switch to vp9
Currently we have been using the vp8 codec because it was the best unencumbered codec at that time. With vp9 we now have a successor that leads to smaller
files at at the same video quality and has been supported by current browsers
for a while.

With the raise of hidpi and 4K displays we need a better codec that handles
those resolutions better, so switch to vp9.

https://bugzilla.gnome.org/show_bug.cgi?id=742744
2015-01-11 15:35:31 +01:00
Adel Gadllah
e150a9cff2 recorder: Stop using deprecated cogl_read_pixels 2015-01-11 12:53:13 +01:00
Sebastian Keller
01c6392c13 window-tracker: remove now unused launched_pid_to_app
https://bugzilla.gnome.org/show_bug.cgi?id=736527
2014-12-28 16:40:20 -08:00
Sebastian Keller
186f9b2e2c window-tracker: Fix pid based window/app association
The lookup table used by get_app_from_window_pid contained only pids of
apps launched by gnome-shell itself, but not pids of apps running before
gnome-shell was (re-)started. Also the pids in that table might not even
be the pid of the process that is actually showing the window if wrapper
scripts are used.

Instead use shell_window_tracker_get_app_from_pid which uses the pids
from the windows themselves.

This removes the only use of launched_pid_to_app which will be removed
in the following commit.

This fixes: https://bugzilla.gnome.org/show_bug.cgi?id=736527
2014-12-28 16:40:20 -08:00
Florian Müllner
e0eebc90e0 Rename KeyBindingMode to ActionMode
The keybinding mode is no longer used exclusively for actions triggered
by keybindings, so reflect this by a more generic name.

https://bugzilla.gnome.org/show_bug.cgi?id=740237
2014-12-19 11:39:50 +01:00
Giovanni Campagna
b21f5c5566 calendar-server: activate evolution-source-registry manually at startup
g_dbus_proxy_new() (and library calls that wrap it) has an hardcoded
timeout of 25 seconds, which is insufficient for starting up e-s-r
in certain setups. Avoid a timeout error by starting the service
manually with a longer timeout before hand.
Also demote the error to a warning + exit failure instead of
a crash, to avoid triggering abrt reports.

https://bugzilla.gnome.org/show_bug.cgi?id=735308
2014-12-14 17:18:16 -08:00
Florian Müllner
cad56c871a app: Respect icon-style for faded icon texture
Just like regular application icons, the faded icon texture used
in the app menu should follow the theme's icon style setting.

https://bugzilla.gnome.org/show_bug.cgi?id=740447
2014-11-29 18:13:03 +01:00
Florian Müllner
0acc7ed4c2 app: Use StIcon as icon_texture when loading from a GIcon
Themes - namely the HighContrast one - may now request symbolic
icons rather than fullcolor ones. In order to have recoloring
work as expected in that case, we will need a theme node to pick
up colors from - using an StIcon instead of manually loading a
texture from the cache gives us that for free, so do that.

https://bugzilla.gnome.org/show_bug.cgi?id=740447
2014-11-29 18:13:03 +01:00
Florian Müllner
2940ef07e9 st-theme-node: Add support for -st-icon-style property
GTK+ added support for a -gtk-icon-style property in themes to
enforce a particular icon style. Do the same for shell themes
with an -st-icon-style property, with the same set of possible
values as the GTK+ variant:
  'requested' - use symbolic or fullcolor icon depending on the
                icon name (default)
  'regular'   - enforce fullcolor icons
  'symbolic'  - enforce symbolic icons

https://bugzilla.gnome.org/show_bug.cgi?id=740447
2014-11-29 18:13:03 +01:00
Florian Müllner
deddac8748 st-texture-cache: Remove load_gicon_with_colors()
The split between st_texture_cache_load_gicon() and load_gicon_with_colors()
no longer makes any sense, so just move the code into the public method.

https://bugzilla.gnome.org/show_bug.cgi?id=740447
2014-11-29 18:13:03 +01:00
Florian Müllner
26389f92f5 build: Add org.gtk.Application.xml to distfiles 2014-11-27 14:05:26 +00:00
Phillip Wood
546ae00854 Add busy property to ShellApp
Using a separate property to show when the application is busy rather
than cramming it into the state property makes the code clearer. In most
places we only care if an app is running or not, not whether it is
actually busy.

https://bugzilla.gnome.org/show_bug.cgi?id=736492
2014-11-27 10:59:55 +00:00
Phillip Wood
e00bfcc2cf Use org.gtk.Application proxy to monitor app's busy state
This simplifies the code and fixes a race where an application could
call g_application_mark_busy() before the shell subscribed to change
notifications on the application's busy state.

https://bugzilla.gnome.org/show_bug.cgi?id=736492
2014-11-27 10:59:55 +00:00
Phillip Wood
943f6c9d28 Generate GDBus proxy object for org.gtk.Application
Having a proxy object will make it easier to monitor the application's
busy state.

This adds a dependency on gdbus-codegen

https://bugzilla.gnome.org/show_bug.cgi?id=736492
2014-11-27 10:59:55 +00:00
Jasper St. Pierre
dbf16d6ea3 shell-gtk-embed: Remove old hack workaround for a mutter bug
The window actor shouldn't have been picked since it has an empty
input shape, but bugs in mutter weren't properly interpreting that.

Since the Wayland restructure, the MetaWindowActor isn't actually
reactive anymore, it's the MetaSurfaceActorX11, so this code isn't
doing anything.
2014-11-26 12:54:37 -08:00
Carlos Soriano
2935fd4ffe St: support css margin property
It's implemented similar to the padding property, but instead of taking
into account the margin values at drawing time in node-drawing, we set
the clutter actor margins in StWidget when the style is computed.

In the case that a CSS margin is not specified, we don't to set a value
of 0 to the clutter actor margin. In this manner it allows to use
Clutter margin values set in the code. However, the margins that are set
both in the code and in the CSS on the same side, the result is
unpredictable.

We avoid to set the clutter actor margin values to 0 if there's no CSS
margin values defined, so we still allow clutter actors to use margin
set in the code.

https://bugzilla.gnome.org/show_bug.cgi?id=728437
2014-11-19 16:42:25 +01:00
Slavek Kabrda
be3c3c64c1 Port gnome-shell to Python 3
https://bugzilla.gnome.org/show_bug.cgi?id=732478
2014-11-07 10:18:58 +01:00