Commit Graph

2039 Commits

Author SHA1 Message Date
Piotr Drąg
649d360289 Use Unicode in translatable strings
See https://developer.gnome.org/hig/stable/typography.html

https://bugzilla.gnome.org/show_bug.cgi?id=772210
2017-02-16 02:07:14 +01:00
Jonas Ådahl
a46ea3f8a0 Use the versioned libmutter*.so versions
Mutter now provides versioned libraries and pkg-config files, meaning
an application using libmutter and friends need to depend on a specific
version of the API.

https://bugzilla.gnome.org/show_bug.cgi?id=777317
2017-02-14 11:23:09 +08:00
Philip Chimento
d017e6749c main: Destroy GjsContext before exit
Here are a few places where I missed it before: the GjsContext must be
unrefed before exiting, or it will crash on exit.

https://bugzilla.gnome.org/show_bug.cgi?id=778425
2017-02-10 13:19:01 -08:00
Alan Coopersmith
ddfdfaed78 Use /proc/self/cmdline on Solaris as well in shell_global_reexec_self()
Solaris 11.3.5 and later have a Linux-compatible implementation of
/proc/self/cmdline, so the code to use it can be enabled in gnome-shell
on Solaris - if used on an older OS, it simply fails to open the file
and returns without doing anything, just as the code did before enabling
this.

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

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
2017-02-10 11:22:30 +01:00
Florian Müllner
a870a4d6de widget: Only include visible actors in focus chain
It isn't useful to move the keyboard focus to a hidden actor, so
only include visible actors in the focus chain - this is in fact
the documented behavior of st_widget_get_focus_chain(), so having
the default implementation return all children has always been
unexpected.

https://bugzilla.gnome.org/show_bug.cgi?id=778158
2017-02-08 14:50:36 +01:00
Florian Müllner
e6e786a19c st-theme-node: Fix lookup of time values
We have a time when the content type is seconds *or* milliseconds,
not seconds *and* milliseconds. Whoops ...

https://bugzilla.gnome.org/show_bug.cgi?id=778145
2017-02-06 14:30:18 +01:00
Adrian Perez de Castro
5136369c18 Properly detect changes in .desktop files
This fixes the shell not picking updates to the contents of the underlying
.desktop files for application launchers, or when a .desktop file is
overriden by a user-installed one under ~/.local/share/applications

https://bugzilla.gnome.org/show_bug.cgi?id=773636
2017-01-23 17:25:39 -06:00
Jonas Ådahl
c131c44ef6 gtk-embed: Don't try to compare with unrealized window
After having embedded a Gtk window, we start to listen for the
corresponding MetaWindow to know when it has been mapped by the
compositor. If the embedder does not realize the window immediately,
and some other window is created and mapped before the embedder
realizes the window, we would prior to this patch try to dereference
the not created GdkWindow. Fix this by NULL checking the GdkWindow
before dereferencing. We will never miss the needed MetaWindow creation
since it can not have been mapped have it not yet been realized.

https://bugzilla.gnome.org/show_bug.cgi?id=776130
2016-12-15 19:42:48 +08:00
Philip Chimento
dc110db4e0 tests: Destroy GjsContext before exit
This will be required in the upcoming version of GJS.

https://bugzilla.gnome.org/show_bug.cgi?id=775374
2016-12-09 18:50:39 -08:00
Philip Chimento
83005e27da main: Destroy GjsContext before exit
This will be required in the upcoming version of GJS.

The reference count on ShellGlobal is 2 at this point, because JS holds a
reference due to the "window.global = Shell.Global.get()" line in
ui/environment.js. Therefore, destroy the GjsContext first, then unref
the ShellGlobal object.

Cleaning up ShellGlobal was previously only enabled behind a debug
environment variable, but it should be required now.

https://bugzilla.gnome.org/show_bug.cgi?id=775374
2016-12-07 11:34:15 -08:00
Philip Chimento
56b20ef779 helpers: Destroy GjsContext before exit
This will be required in the upcoming version of GJS.

https://bugzilla.gnome.org/show_bug.cgi?id=775374
2016-12-07 11:34:15 -08:00
Rui Matos
68b671a4f4 shell-wm: Add a size-changed signal to handle the new plugin vfunc
https://bugzilla.gnome.org/show_bug.cgi?id=770345
2016-11-23 18:42:59 +01:00
Florian Müllner
1de1fd44c5 texture-cache: Warn when loading sliced image fails
Sliced images are loaded into a group actor with one child actor
per slice. In case loading the image fails, we currently quietly
return the empty group actor, which makes diagnosing problems
unnecessarily hard - just be a bit more verbose on failure.

https://bugzilla.gnome.org/show_bug.cgi?id=774805
2016-11-22 18:38:10 +01:00
Jonh Wendell
2812afed22 gnome-shell-extension-tool: Add a reload option
This might be a good fit for extension developers: With
this option one doesn't need to restart the whole Shell
in order to see their changes in effect.

https://bugzilla.gnome.org/show_bug.cgi?id=772593
2016-10-28 15:41:32 -02:00
Bastien Nocera
39a840e2c3 shell-app: Add "discrete_gpu" option when launching apps
And adapt existing callers to the new API. This will allow us to
implement a way to launch applications on the discrete GPU for systems
where an "Optimus" system exists.

https://bugzilla.gnome.org/show_bug.cgi?id=773117
2016-10-21 19:26:49 +02:00
Philip Chimento
ed99bef458 extensionUtils: Remove ShellJS library
You can define a new importer object by importing a subdirectory in GJS.
This is undocumented, but it is likely to at least hold until the whole
thing moves to ES6 modules, after which we'll be able to do this purely
in JS with Reflect.Loader.

Since this was the only thing the ShellJS library did, we can remove it
altogether.

This allows us to discontinue use of the gjs-internals-1.0 embedder API.

https://bugzilla.gnome.org/show_bug.cgi?id=772386
2016-10-17 12:36:16 -07:00
Florian Müllner
0c22a21a24 window-tracker: Consider Flatpak ID for window matching
Our window matching currently fails frequently with Flatpak
applications, as one of the primary hints used to link windows
with .desktop files - the WM_CLASS - no longer matches when
flatpak renames the exported .desktop file. Worse, as Flatpak
applications are run in their own PID namespace, different
apps frequently share a common _NET_WM_PID, resulting in
unrelated apps being grouped together by one of the fallback
paths. To match Flatpak applications reliably, take the newly
exported Flatpak ID into account.

https://bugzilla.gnome.org/show_bug.cgi?id=772615
2016-10-10 23:40:39 +02:00
Carlos Garnacho
a22e9ce9cd st: Ignore filtered selection events not meant to our clipboard window
Other windows like the mutter Xwayland selection bridges might deal with
the clipboard, which would result in events visible on st-clipboard event
filters.

In order to avoid unintended results, ignore events that are not meant for
the clipboard window.

https://bugzilla.gnome.org/show_bug.cgi?id=760745
2016-10-09 10:57:47 +02:00
Philip Chimento
f00826f3fb shell-js: Remove usage of deprecated API
This removes all usage of SpiderMonkey API that is deprecated in mozjs24
and will be removed in mozjs31.

https://bugzilla.gnome.org/show_bug.cgi?id=742249
2016-09-27 17:14:47 -07:00
Florian Müllner
3cd8dd0f32 global: Fix a small memory leak 2016-09-21 23:38:42 +02:00
Rui Matos
ff814df03a shell-screenshot: Avoid a crash when the cursor texture is NULL
Analogously to commit 2a7f9f70b8 for the
screen recorder, as a wayland compositor, the cursor texture might not
exist.

https://bugzilla.gnome.org/show_bug.cgi?id=771656
2016-09-19 22:41:51 +02:00
Florian Müllner
373ebb50eb Restore gvc submodule
Commit 68f439425b accidentally dropped the changes from the last
couple of months ...
2016-09-11 19:20:00 +02:00
Fran Dieguez
68f439425b Updated Galician translations 2016-09-11 00:35:39 +02:00
Olivier Fourdan
0b6c5b4620 systray: Bail out if the plug window is gone
Instead of crashing when deferencing a NULL pointer.

Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=755313
2016-09-08 12:08:02 +02:00
Jonas Ådahl
f9ef80749a recorder: Composite captured images before passing into gstreamer
Mutter may capture the screen in multiple capture regions. If this is
done, take these images and composite them onto one large image, which
is then passed into the gstreamer source.
2016-09-06 15:22:23 +08:00
Jonas Ådahl
22f0d3076e screenshot: Composite multiple captures into one image
When clutter gives us multiple captures (multiple cairo_surface_t's),
composite them into one large image and use that as final screenshot
result. This makes screenshooting work when mutter uses multiple views.

https://bugzilla.gnome.org/show_bug.cgi?id=770128
2016-09-06 15:22:23 +08:00
Timm Bäder
d658a5148a recorder: Print absolute path if output file can't be opened 2016-08-20 16:03:31 +02:00
Piotr Drąg
6e3bedb888 Add translator comments to .desktop files 2016-08-19 23:15:20 +02:00
Florian Müllner
795e7d4b59 build: Say good-bye to intltool
intltool is unmaintained nowadays while upstream gettext gained
support for formats like GSettings schemas and .desktop files,
and offers a mechanism to teach it about other XML formats not
yet supported out of the box which we can use for the rest.
So there's nothing stopping us, just make the switch ...

https://bugzilla.gnome.org/show_bug.cgi?id=769074
2016-08-19 22:13:14 +02:00
Florian Müllner
af5e65fd79 global: Make timestamp parameter unsigned
Negative values don't make sense to timestamps, and an unsigned
timestamp as returned by shell_global_get_current_time() or
Gdk/Clutter events may exceed the range of signed integers.

https://bugzilla.gnome.org/show_bug.cgi?id=769216
2016-08-11 09:04:22 +02:00
Carlos Garnacho
284cbf3ea7 shell: Remove shell_util_text_insert_keyval()
It is now unused.
2016-08-10 11:25:50 +02:00
Florian Müllner
6e0e37519d calendar-server: Add back missing return value
In commit 7e0e224e0, when moving from e_cal_recur_generate_instances()
to e_cal_client_generate_instances(), the return value of the
ECalRecurInstanceFn callback was accidentally removed; add it
back.

https://bugzilla.gnome.org/show_bug.cgi?id=769156
2016-07-25 18:55:22 +02:00
Jonas Ådahl
f5c058a036 Use clutter_stage_capture instead of cogl's read_pixels
There is no longer any guarantee that there'll be one single
framebuffer to read pixels from. In order to still read pixels from the
stage, use the new clutter_stage_capture API.

https://bugzilla.gnome.org/show_bug.cgi?id=768979
2016-07-20 14:15:32 +08:00
Florian Müllner
2f0039e7dd app: Add a construct-only app-info property
This will allow us to create a ShellApp from JS code, for instance
for .desktop files that aren't known to the AppSystem.

https://bugzilla.gnome.org/show_bug.cgi?id=762206
2016-07-13 01:28:13 +02:00
Florian Müllner
7e0e224e0e calendar-server: Use the actual recurrence ID of events
Instead of querying the client for a list of objects and using
e_cal_recur_generate_instances() to get occurrences for each of
them, we can use e_cal_client_generate_instances_sync() which
combines the functionality of both functions. This doesn't only
save us some lines of code (yay!), but also gives us access to
the real recurrence ID of an event, so we can get rid of the hack
of faking one.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:05:58 +02:00
Florian Müllner
35825cf0c7 calendar-server: Get recurrence ID from occurrences
We use the triplet of source ID, UID and recurrence ID to create
an ID to unambiguously identify an event, which we use to implement
hiding dismissed events from the calendar. However we currently
try to fetch the recurrence ID from the objects returned by
e_cal_client_get_object_list_sync(), which are always the primary
events with no recurrence ID. Instead, we need a recurrence ID
associated with each occurrence.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:05:57 +02:00
Florian Müllner
b2d79b6362 calendar-server: Fetch default zone from client
We are already setting the default zone on the client, no need
to pass it around.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:05:57 +02:00
Florian Müllner
f5e1dc86cd calendar-server: Fix a memory leak
App will take ownership of the location string when the timezone
changes, but not when there was no change - free the memory in
that case.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 18:05:57 +02:00
Florian Müllner
8c51f0076f calendar-server: Minor optimization
We use the same query string for all sources, so no need to
allocate/free it on each loop iteration.

https://bugzilla.gnome.org/show_bug.cgi?id=748226
2016-07-08 16:11:43 +02:00
Florian Müllner
61070e6ec0 calendar-server: Remove an unnecessary check
calendar_appointment_new() never returns %NULL, so no need to check
for it.
2016-07-07 15:54:57 +02:00
Owen W. Taylor
c4584c20dc run-js-test: fix running in hi-dpi mode 2016-06-30 14:17:19 -04:00
Rui Matos
2a7f9f70b8 shell-recorder: Avoid a crash when the cursor texture is NULL
When running as a wayland compositor, MetaCursorTracker might
legitimately not have a displayed cursor because e.g. a client unsets
the cursor surface.

Note that, under an X session, the assumption that the tracker always
has a cursor texture is true because XFixesGetCursorImage() always
returns data even if the cursor isn't visible.

https://bugzilla.gnome.org/show_bug.cgi?id=767001
2016-06-28 19:03:33 +02:00
Rui Matos
c91085caf7 shell-recorder: Ensure we remove the redraw timeout on finalize
Otherwise we may end up using freed memory and crashing

https://bugzilla.gnome.org/show_bug.cgi?id=767001
2016-06-28 19:03:32 +02:00
Rui Matos
3e93a1bdd6 StShadowHelper: properly use the actor's box to paint the shadow
We're using an unitialized box resulting in an undefined shadow box
size.

_st_paint_shadow_with_opacity() already computes the shadow's bounding
box from the source actor's box so we just need to pass that along.

https://bugzilla.gnome.org/show_bug.cgi?id=767954
2016-06-23 18:57:02 +02:00
Hans Petter Jansson
72bfa91259 theme-node: Fix leak on stylesheet change.
on_custom_stylesheet_changed() would set properties_computed to FALSE
without freeing the old properties, then the properties pointer would
be overwritten in ensure_properties().

https://bugzilla.gnome.org/show_bug.cgi?id=710230
2016-06-12 00:57:18 +02:00
Martin Szulecki
5226d8b086 st: Init framebuffer early to fix gnome-shell crash on NVIDIA drivers
Checking offscreen for COGL_INVALID_HANDLE is not sufficient,
as cogl_offscreen_new_with_texture doesn't initialize framebuffer
objects but lets Cogl solve this the lazy way.
cogl_offscreen_new_with_texture will never return COGL_INVALID_HANDLE
anyways.

https://bugzilla.gnome.org/show_bug.cgi?id=764898
2016-05-17 15:00:04 +02:00
Florian Müllner
387f5143f0 st: Use case-insensitive shortcuts
For shortcuts that involve a letter (like <ctrl>c), we currently only
accept the lower-case variant. This makes shortcuts awkward to use when
caps-lock is active, and is inconsistent with GTK+, so accept upper-case
variants as well.

https://bugzilla.gnome.org/show_bug.cgi?id=766325
2016-05-12 18:10:04 +02:00
Florian Müllner
b7867fe44c build: Set rpath on more executables
We need to point executables to our private cogl/clutter forks.
Commit 093fd54e2 did this for the main executable, but forgot
the extension-prefs tool and other helpers.
2016-05-12 18:10:04 +02:00
Florian Müllner
84da49c715 app: Consider minimized windows for app comparisons
We used to take window visibility into account when comparing apps
until commit 1dfc38d078, following changes in the window switcher
due to auto-minimization. However auto-minimization was abolished
and the window switcher changes reverted, so it makes sense again
to sort apps without non-minimized windows last again.

https://bugzilla.gnome.org/show_bug.cgi?id=766238
2016-05-10 21:36:33 +02:00
Florian Müllner
093fd54e2b build: Point executables to our private lib path
We now link to cogl/clutter forks in a private location, so make
sure we set the rpath of executables to point the runtime linker
to the correct location.
2016-04-28 19:35:05 +02:00