Commit Graph

55 Commits

Author SHA1 Message Date
Florian Müllner 2db4589dea cleanup: Re-order imports
They should be grouped between external (GI/gjs) and shell and in
alphabetical order. Until commit bab4be1a ExtensionUtils was special
as it was required for some imports, but that's no longer the case
for most extensions.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/76
2019-06-28 21:51:38 +02:00
Florian Müllner e56f1a976e native-window-placement: Reindent to conform with new style
Instead of aligning arguments like we used to do, use a consistent
four-space indent as mandated by gjs' current style guide.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/66
2019-05-22 20:40:19 +02:00
Florian Müllner 81548ced69 native-window-placement: Clarify some code
Add some intermediate variables for better legibility.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/60
2019-03-04 19:35:10 +01:00
Florian Müllner bab4be1a59 extensions: Drop Convenience library
Its methods are now provided by gnome-shell itself and can be used
as an easy drop-in replacement.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/44
2019-02-06 20:17:59 +01:00
Florian Müllner 3861ffae31 extensions: Mark exported symbols
eslint obviously doesn't know about gnome-shell's extension API, so
the various entry points trigger unused-variable errors. To fix,
explicitly mark those symbols as exported.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/50
2019-01-28 06:51:20 +01:00
Florian Müllner 3effc9cfc2 style: Fix indentation errors
While we have some style inconsistencies - mostly regarding split lines,
i.e. aligning to the first arguments vs. a four-space indent - there are
a couple of places where the spacing is simply wrong. Fix those.

Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner 1be7061da0 style: Fix stray/missing spaces
Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner f75d1d75af style: Fix stray/missing semi-colons
Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner aaeff6d12b style: Use camelCase for variable names
Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner b741b1bbe2 cleanup: Remove empty init() functions
The method is optional, so there's no point at all in letting the
shell call an empty method during initialization.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner d7414025a5 cleanup: Remove unused variables
Spotted by eslint.

https://gitlab.gnome.org/GNOME/gnome-shell-extensions/merge_requests/49
2019-01-28 06:37:28 +01:00
Florian Müllner 48399d46c0 cleanup: Port non-GObject classes to ES6 classes
ES6 finally adds standard class syntax to the language, so we can
replace our custom Lang.Class framework with the new syntax. Any
classes that inherit from GObject will need special treatment,
so limit the port to regular javascript classes for now.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/30
2017-12-01 20:50:46 +01:00
Florian Müllner 30e7ff5a8f cleanup: Use method syntax
Modern javascript has a short-hand for function properties, embrace
it for better readability and to prepare for porting to ES6 classes.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/30
2017-12-01 20:50:28 +01:00
Florian Müllner ba38019049 build: Remove autotools support
Complete the switch to meson and drop autotools support ...

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/31
2017-12-01 17:43:21 +01:00
Florian Müllner 3ab01aebec build: Support the meson build system
Meson is on track to replace autotools as the build system of choice,
so support it in addition to autotools.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues/31
2017-12-01 17:41:04 +01:00
Florian Müllner ef99394ffb nativeWindowPlacement: Use custom strategy to hook into layout
Instead of copying a long function for a single changed line, wrap the
layout algorithm in a LayoutStrategy so the workspace code picks it
up without modifications.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner 778eebc421 nativeWindowPlacement: Handle captions-on-top settings changes
Currently the injection to move title captions to the top depends on
the value of the setting at the time the extension is enabled.
Instead, do the injections unconditionally and query the setting
inside the function to pick up settings changes.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner 97d1cbca19 naturalWindowPlacement: Don't copy relayout() function
To move title captions to the top, we can simply apply a translation
before calling the unmodified original function.

https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner a0cae3d130 naturalWindowPlacement: Remove unused stuff
https://bugzilla.gnome.org/show_bug.cgi?id=787934
2017-10-13 16:08:07 +02:00
Florian Müllner 530b165ddf nativeWindowPlacement: Adjust to overview changes
title._spacing is no longer defined, so we end up with bogus positions
when window-captions-on-top is set to true. Adjust the positioning to
do without that for now, though the whole extension could use a rewrite
to not copy everything-and-the-kitching-sink, or be killed off as yet
another extension from the original random collection that turned out
too expensive to keep dragging along ...

https://bugzilla.gnome.org/show_bug.cgi?id=787604
2017-10-04 01:06:42 +02:00
Florian Müllner db3e910b76 build: Say good-bye to intltool
intltool is unmaintained nowadays while upstream gettext gained
support for everything we used it for, so make the switch.

https://bugzilla.gnome.org/show_bug.cgi?id=769077
2016-08-19 22:17:07 +02:00
Florian Müllner 2b9ea7519b native-window-placement: Make sure that the border does not overlap the title
https://bugzilla.gnome.org/show_bug.cgi?id=758976
2015-12-04 11:38:35 +01:00
Florian Müllner 1634af39dc native-window-placement: Cut down on copy-pasted code
https://bugzilla.gnome.org/show_bug.cgi?id=758976
2015-12-04 11:38:35 +01:00
Florian Müllner 11b151e5e0 native-window-placement: Update for mutter API changes 2015-03-17 19:46:05 +01:00
Florian Müllner f38d76db06 native-window-placement: Fix 'button-layout' schema
The defaults have been shifted around so that the normal session
uses the regular schema and classic mode overrides it, so the
key is no longer present in 'org.gnome.shell.overrides'.
2014-06-10 12:26:14 +02:00
Giovanni Campagna 2e5d8c7384 Fix a number of undeclared variable warnings
"for (prop in object)" needs a "var prop" before, or it declares
a global property.
2013-07-30 13:23:47 +02:00
Wepmaschda 64d76fef6a adapt native-window-placement to 3.9 changes
* remove unnecessary chromeHeight that breaks the system
* copy original _updateWindowPositions from 3.9
* use nativeWindowPlacement in update function
* tidy up NaturalWindowPlacement function

https://bugzilla.gnome.org/show_bug.cgi?id=699054
2013-06-08 18:47:02 +02:00
Wepmaschda 80082fdfcb make windowCaptionsOnTop working again
* changed positionWindows() to relayout()
* additionally marked the difference to the original relayout() function.

https://bugzilla.gnome.org/show_bug.cgi?id=699054
2013-06-08 18:47:02 +02:00
Wepmaschda 2396490d1e reduce gnome-shell modifications
* use original realPositionWindows() and map _computeAllWindowSlots() to our function (_calculateWindowTransformationsNatural()).
* adapted _calculateWindowTransformationsNatural() to _computeAllWindowSlots()' behaviour

https://bugzilla.gnome.org/show_bug.cgi?id=699054
2013-06-08 18:47:02 +02:00
Giovanni Campagna 274a6f040c Update descriptions of extensions
Mark classic mode extensions as such, so bug reports don't go
lost in my inbox.
2013-05-20 19:06:59 +02:00
Giovanni Campagna 032233cf9d native-window-placement: update for gnome-shell changes
Update to the new way to layout window overlays, which requires
setting a slot on the clone, and update to the new padding setting
for the window picker, including a custom style to avoid placing titles
outside the clip area.
2013-02-04 23:52:17 +01:00
Giovanni Campagna 0bc41bcb1d native-window-placement: fix disabling the extension
The monkey patch was being reinstalled under the wrong name.
2012-11-11 19:26:56 +01:00
Giovanni Campagna bfe7a760d1 NativeWindowPlacement: reduce the number of hacks to work better with 3.7.1
3.7 is brought some big changes in the window layout code, but I'm not
going to take advantage of them (as the assume some sort of row based layout).
Instead, just work around them in a way that makes the extension work
without major issues.
2012-10-26 17:20:41 +02:00
Giovanni Campagna 5cb3e1877a native-window-placement: update for gnome-shell changes
Workspace.positionWindows semantics changed, so the function
we want to override is now _realPositionWindows.
2012-08-22 16:13:52 +02:00
Giovanni Campagna dd9b47e51e native-window-placement: fix undefined variable warning 2012-06-08 14:02:00 +02:00
Wepmaschda d355424f22 native-window-placement: add WINDOW_AREA_TOP_GAP and place the windows bottom-center.
This keeps window captions and close buttons always visible.

https://bugzilla.gnome.org/show_bug.cgi?id=674338
2012-04-29 22:41:37 +02:00
Giovanni Campagna ed9c17dfdd native-window-placement: update for gnome-shell API changes
St.Widget.get_default_direction() was replaced with
Clutter.get_default_text_direction() as part of the Clutter Apocalypses
2012-03-24 02:06:49 +01:00
Giovanni Campagna 9b6374881d all: port to the new class framework
A long due update, since this was merged in gjs and core shell.
We no longer need to mess with __proto__ and prototype, and can
use decent syntax for true object oriented programming.
(This affects all except xrandr-indicator, since I want to port
that to GDBus too, using the new bindings right from the start)
2012-02-10 15:16:46 +01:00
Giovanni Campagna 3630228cac all: port to the new convienence module
Retrieve Convenience from the extension helper object (Me), and
pass no arguments to initTranslations and getSettings (since the
metadata has all that is required)
2012-02-09 18:43:28 +01:00
Giovanni Campagna 9ebfd1f495 build system: factor out setting schema generation
Introduce a common settings.mk file, which is included in extensions
that need GSettings, to ensure that conventions are respected, and
necessary fixes can be applied from one place.
2012-02-08 18:01:00 +01:00
Giovanni Campagna dfca68062c build system: add additional automatic metadata
Add "gettext-domain", "extension-id" (containing the base part of the
UUID) and "gschemabase" (which, combined with "extension-id", gives
the GSettings schema) to metadata.json, autogenerated by the build
system.
2012-02-08 18:00:56 +01:00
Giovanni Campagna 46fe71d1b8 native-window-placement: remove debug color
Apparently, in some situations (or themes) it can result in red
overlays.
2012-02-06 21:18:39 +01:00
Giovanni Campagna 29b0d0d96b native-window-placement: respect button layout
If the user configures the window buttons on the left, the X button
in the overview should be moved accordingly.
2012-02-06 21:18:31 +01:00
Giovanni Campagna 4b76e797cf native-window-placement: update for latest gnome-shell changes
Recently gnome-shell changed the code to handle the window overlays
(to fix some bugs aboud the overlay flashing), which resulted in
invisible overlay with this extension. Fix by reimporting some code
from gnome-shell core.
2011-12-22 18:07:47 +01:00
Giovanni Campagna 9b630b387c native-window-placement: remove grid positioning strategy
If one wants the extension, clearly he doesn't want the default
layout of windows, therefore it doesn't make sense to replicate
it and to keep settings for it.
2011-12-20 19:04:50 +01:00
Giovanni Campagna 7a6777f703 Remove all references to localedir from metadata.json
It is not used anymore, now that translations are bundled with
the extension. Also, in the zip files it ended up with my home
folder, which is not nice.
2011-11-20 00:40:20 +01:00
Giovanni Campagna c5d79240fd Introduce a convenience module for initialization
Common code for retrieving translations and GSettings schemas has
been factored out into lib/convenience.js, which is part of
every extension installation.
Since that code relies on renames done at zip file creation time,
extensions can no longer be installed with "make install". Instead,
one should create the zip file and install it with the tweak-tool.
There is also a bash script, local-install.sh, that will install
everything in zip-files.
Also, since the GSettingsSchemaSource code is not yet in a stable
GLib release, extensions using GSettings have seen their stable
shell version removed.
2011-11-19 16:54:20 +01:00
Giovanni Campagna 9e4156a706 Add capability to build extension zip-files
Now, typing "make zip-file" will create a standard zip-file for each
extension, with everything necessary, including translations and GSettings schemas.
These files can then be installed with the tweak-tool or uploaded
at extensions.gnome.org

Based on an earlier patch by Jasper St. Pierre.
2011-11-19 15:42:27 +01:00
Giovanni Campagna 00bb650c6c Add 3.2 tags to supported version
This is the stable release, so we support all of GNOME Shell
stable cycle without updates.
(As said earlier, dock and alternate-tab have issues, so they're
not marked 3.2 but just 3.2.0)
2011-10-03 17:33:28 +01:00
Giovanni Campagna cb50830d26 native-window-placement: fix a bunch of typos related to disable()
This only appeared after testing. Plus we were missing init() also.
2011-08-22 22:50:44 +02:00