Import Debian changes 3.30.0-1
gnome-shell-extensions (3.30.0-1) unstable; urgency=medium
* New upstream release
* Release to unstable
gnome-shell-extensions (3.29.91-1) experimental; urgency=medium
* Team upload
* New upstream development release
* Bump Standards-Version to 4.2.0
* Sort dependency lists (wrap-and-sort -a)
* d/copyright: Remove unnecessary sentence fragment
* d/p/series: Remove commented-out line
gnome-shell-extensions (3.29.90-1) experimental; urgency=medium
* Team upload
* New upstream development release
gnome-shell-extensions (3.29.3+really3.29.3-1) experimental; urgency=medium
* Team upload
* d/watch: Watch for development versions
* Re-upload to experimental with a higher version than
3.29.3+really3.28.1-1, which reverted the incorrect upload of the
previous version to unstable
gnome-shell-extensions (3.29.3-1) unstable; urgency=medium
* Team upload
[ Arnaud Rebillout ]
* New upstream release
[ Simon McVittie ]
* Bump Standards-Version to 4.1.5
* Set Rules-Requires-Root to no
Jeremy Bicha authored 5 years ago
Sophie Brun committed 5 years ago
0 | 3.30.0 | |
1 | ====== | |
2 | * Bump version | |
3 | ||
4 | 3.29.91 | |
5 | ======= | |
6 | * Misc. bug fixes [Florian; #90] | |
7 | ||
8 | Contributors: | |
9 | Florian Müllner | |
10 | ||
11 | 3.29.90 | |
12 | ======= | |
13 | * Misc. bug fixes [Florian; #786496] | |
14 | ||
15 | Contributors: | |
16 | Florian Müllner | |
17 | ||
18 | 3.29.3 | |
19 | ====== | |
20 | * Adjust to global.screen removal [Jonas; #759538] | |
21 | ||
22 | Contributors: | |
23 | Jonas Ådahl, Florian Müllner | |
24 | ||
25 | 3.29.2 | |
26 | ====== | |
27 | * Misc. bug fixes [Florian; #69] | |
28 | ||
29 | Contributors: | |
30 | Florian Müllner | |
31 | ||
0 | 32 | 3.28.1 |
1 | 33 | ====== |
2 | 34 | * Misc. bug fixes [Xiaoguang, Florian; #59, #62] |
0 | [org.gnome.mutter:GNOME-Classic] | |
1 | dynamic-workspaces=false | |
2 | ||
3 | [org.gnome.desktop.wm.preferences:GNOME-Classic] | |
4 | button-layout='appmenu:minimize,maximize,close' | |
5 | ||
6 | [org.gnome.desktop.wm.keybindings:GNOME-Classic] | |
7 | switch-applications=[] | |
8 | switch-windows=['<Super>Tab','<Alt>Tab'] |
0 | --- Generating the css file --- | |
1 | ||
2 | You need sass to generate the css file. | |
3 | ||
4 | To generate them run from a command line in the project directory: | |
5 | sass --sourcemap=none --update ./ |
0 | GNOME Shell Sass is a project intended to allow the sharing of the theme sources in sass between gnome-shell and other projects like gnome-shell-extensions. | |
1 | ||
2 | License | |
3 | ======= | |
4 | GNOME Shell Sass is distributed under the terms of the GNU General Public License, | |
5 | version 2 or later. See the COPYING file for details. | |
6 |
0 | # GNOME Shell Sass | |
1 | GNOME Shell Sass is a project intended to allow the sharing of the | |
2 | theme sources in sass between gnome-shell and other projects like | |
3 | gnome-shell-extensions. | |
4 | ||
5 | Any changes should be done in the [GNOME Shell subtree][shell-subtree] | |
6 | and not the stand-alone [gnome-shell-sass repository][sass-repo]. They | |
7 | will then be synchronized periodically before releases. | |
8 | ||
9 | ## License | |
10 | GNOME Shell Sass is distributed under the terms of the GNU General Public | |
11 | License, version 2 or later. See the [COPYING][license] file for details. | |
12 | ||
13 | [shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/data/theme/gnome-shell-sass | |
14 | [sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass | |
15 | [license]: COPYING |
127 | 127 | |
128 | 128 | .slider { |
129 | 129 | height: 1em; |
130 | -slider-height: 0.3em; | |
131 | -slider-background-color: $insensitive_bg_color; //background of the trough | |
132 | -slider-border-color: $borders_color; //trough border color | |
133 | -slider-active-background-color: $selected_bg_color; //active trough fill | |
134 | -slider-active-border-color: darken($selected_bg_color,10%); //active trough border | |
135 | -slider-border-width: 1px; | |
130 | -barlevel-height: 0.3em; | |
131 | -barlevel-background-color: $insensitive_bg_color; //background of the trough | |
132 | -barlevel-border-color: $borders_color; //trough border color | |
133 | -barlevel-active-background-color: $selected_bg_color; //active trough fill | |
134 | -barlevel-active-border-color: darken($selected_bg_color,10%); //active trough border | |
135 | -barlevel-overdrive-color: $destructive_color; | |
136 | -barlevel-overdrive-border-color: darken($destructive_color,10%); | |
137 | -barlevel-overdrive-separator-width: 0.2em; | |
138 | -barlevel-border-width: 1px; | |
136 | 139 | -slider-handle-radius: 6px; |
137 | 140 | } |
138 | 141 | |
584 | 587 | .osd-monitor-label { font-size: 3em; } |
585 | 588 | .level { |
586 | 589 | height: 0.6em; |
587 | border-radius: 0.3em; | |
588 | background-color: transparentize(darken($osd_bg_color,15%),0.5); | |
589 | color: $osd_fg_color; | |
590 | } | |
591 | .level-bar { | |
592 | background-color: $osd_fg_color; | |
593 | border-radius: 0.3em; | |
590 | -barlevel-height: 0.6em; | |
591 | -barlevel-background-color: transparentize(darken($osd_bg_color,15%),0.5); | |
592 | -barlevel-active-background-color: $osd_fg_color; | |
593 | -barlevel-overdrive-color: $destructive_color; | |
594 | -barlevel-overdrive-separator-width: 0.2em; | |
594 | 595 | } |
595 | 596 | } |
596 | 597 | |
732 | 733 | transition-duration: 500ms; |
733 | 734 | font-weight: bold; |
734 | 735 | height: 1.86em; |
736 | font-feature-settings: "tnum"; | |
735 | 737 | |
736 | 738 | &.unlock-screen, |
737 | 739 | &.login-screen, |
822 | 824 | } |
823 | 825 | |
824 | 826 | .screencast-indicator { color: $warning_color; } |
827 | ||
828 | .remote-access-indicator { color: $warning_color; } | |
825 | 829 | |
826 | 830 | &.solid { |
827 | 831 | background-color: black; |
957 | 961 | padding: 0.1em; |
958 | 962 | margin: 2px; |
959 | 963 | border-radius: 1.4em; |
964 | font-feature-settings: "tnum"; | |
960 | 965 | &:hover,&:focus { background-color: lighten($bg_color,5%); } |
961 | 966 | &:active,&:selected { |
962 | 967 | color: lighten($selected_fg_color,5%); |
1110 | 1115 | .aggregate-menu { |
1111 | 1116 | min-width: 21em; |
1112 | 1117 | .popup-menu-icon { padding: 0 4px; } |
1113 | .popup-sub-menu .popup-menu-item :first-child { | |
1118 | .popup-sub-menu .popup-menu-item > :first-child { | |
1114 | 1119 | &:ltr { /* 12px spacing + 2*4px padding */ |
1115 | 1120 | padding-left: 20px; margin-left: 1.09em; } |
1116 | 1121 | &:rtl { /* 12px spacing + 2*4px padding */ |
1119 | 1124 | } |
1120 | 1125 | |
1121 | 1126 | .system-menu-action { |
1127 | -st-icon-style: symbolic; | |
1122 | 1128 | color: $fg_color; |
1123 | 1129 | border-radius: 32px; /* wish we could do 50% */ |
1124 | 1130 | padding: 13px; |
1787 | 1793 | .login-dialog-user-list-view { -st-vfade-offset: 1em; } |
1788 | 1794 | .login-dialog-user-list { |
1789 | 1795 | spacing: 12px; |
1790 | padding: .2em; | |
1791 | 1796 | width: 23em; |
1792 | 1797 | &:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: $selected_fg_color; } |
1793 | 1798 | &:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; } |
1794 | 1799 | } |
1795 | 1800 | .login-dialog-user-list-item { |
1796 | 1801 | border-radius: 5px; |
1797 | padding: .2em; | |
1802 | padding: 6px; | |
1798 | 1803 | color: darken($osd_fg_color,30%); |
1799 | &:ltr { padding-right: 1em; } | |
1800 | &:rtl { padding-left: 1em; } | |
1804 | &:ltr .user-widget { padding-right: 1em; } | |
1805 | &:rtl .user-widget { padding-left: 1em; } | |
1801 | 1806 | .login-dialog-timed-login-indicator { |
1802 | 1807 | height: 2px; |
1803 | margin: 2px 0 0 0; | |
1808 | margin-top: 6px; | |
1804 | 1809 | background-color: $osd_fg_color; |
1805 | 1810 | } |
1806 | 1811 | &:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; } |
1815 | 1820 | padding-left: 15px; |
1816 | 1821 | } |
1817 | 1822 | .user-widget-label { |
1818 | &:ltr { padding-left: 18px; } | |
1819 | &:rtl { padding-right: 18px; } | |
1823 | &:ltr { padding-left: 14px; } | |
1824 | &:rtl { padding-right: 14px; } | |
1820 | 1825 | } |
1821 | 1826 | |
1822 | 1827 | .login-dialog-prompt-layout { |
1867 | 1872 | .screen-shield-clock-time { |
1868 | 1873 | font-size: 72pt; |
1869 | 1874 | text-shadow: 0px 2px 2px rgba(0,0,0,0.4); |
1875 | font-feature-settings: "tnum"; | |
1870 | 1876 | } |
1871 | 1877 | |
1872 | 1878 | .screen-shield-clock-date { |
58 | 58 | |
59 | 59 | install_data(theme_data, install_dir: themedir) |
60 | 60 | |
61 | classic_schema = 'org.gnome.shell.extensions.classic-overrides.gschema.xml' | |
62 | install_data(classic_schema, install_dir: schemadir) | |
61 | classic_override = '00_org.gnome.shell.extensions.classic.gschema.override' | |
62 | install_data(classic_override, install_dir: schemadir) |
0 | <schemalist> | |
1 | <schema id="org.gnome.shell.extensions.classic-overrides" | |
2 | path="/org/gnome/shell/extensions/classic-overrides/" | |
3 | gettext-domain="gnome-shell-extensions"> | |
4 | <key name="attach-modal-dialogs" type="b"> | |
5 | <default>true</default> | |
6 | <summary>Attach modal dialog to the parent window</summary> | |
7 | <description> | |
8 | This key overrides the key in org.gnome.mutter when running | |
9 | GNOME Shell. | |
10 | </description> | |
11 | </key> | |
12 | ||
13 | <key name="button-layout" type="s"> | |
14 | <default>"appmenu:minimize,maximize,close"</default> | |
15 | <summary>Arrangement of buttons on the titlebar</summary> | |
16 | <description> | |
17 | This key overrides the key in org.gnome.desktop.wm.preferences when running GNOME Shell. | |
18 | </description> | |
19 | </key> | |
20 | ||
21 | <key name="edge-tiling" type="b"> | |
22 | <default>true</default> | |
23 | <summary>Enable edge tiling when dropping windows on screen edges</summary> | |
24 | <description> | |
25 | This key overrides the key in org.gnome.mutter when running GNOME Shell. | |
26 | </description> | |
27 | </key> | |
28 | ||
29 | <key name="workspaces-only-on-primary" type="b"> | |
30 | <default>true</default> | |
31 | <summary>Workspaces only on primary monitor</summary> | |
32 | <description> | |
33 | This key overrides the key in org.gnome.mutter when running GNOME Shell. | |
34 | </description> | |
35 | </key> | |
36 | ||
37 | <key name="focus-change-on-pointer-rest" type="b"> | |
38 | <default>true</default> | |
39 | <summary>Delay focus changes in mouse mode until the pointer stops moving</summary> | |
40 | <description> | |
41 | This key overrides the key in org.gnome.mutter when running GNOME Shell. | |
42 | </description> | |
43 | </key> | |
44 | </schema> | |
45 | </schemalist> |
0 | gnome-shell-extensions (3.30.0-1) unstable; urgency=medium | |
1 | ||
2 | * New upstream release | |
3 | * Release to unstable | |
4 | ||
5 | -- Jeremy Bicha <[email protected]> Wed, 05 Sep 2018 12:34:40 -0400 | |
6 | ||
7 | gnome-shell-extensions (3.29.91-1) experimental; urgency=medium | |
8 | ||
9 | * Team upload | |
10 | * New upstream development release | |
11 | * Bump Standards-Version to 4.2.0 | |
12 | * Sort dependency lists (wrap-and-sort -a) | |
13 | * d/copyright: Remove unnecessary sentence fragment | |
14 | * d/p/series: Remove commented-out line | |
15 | ||
16 | -- Simon McVittie <[email protected]> Mon, 20 Aug 2018 20:27:57 +0100 | |
17 | ||
18 | gnome-shell-extensions (3.29.90-1) experimental; urgency=medium | |
19 | ||
20 | * Team upload | |
21 | * New upstream development release | |
22 | ||
23 | -- Simon McVittie <[email protected]> Thu, 02 Aug 2018 10:46:44 +0100 | |
24 | ||
25 | gnome-shell-extensions (3.29.3+really3.29.3-1) experimental; urgency=medium | |
26 | ||
27 | * Team upload | |
28 | * d/watch: Watch for development versions | |
29 | * Re-upload to experimental with a higher version than | |
30 | 3.29.3+really3.28.1-1, which reverted the incorrect upload of the | |
31 | previous version to unstable | |
32 | ||
33 | -- Simon McVittie <[email protected]> Fri, 27 Jul 2018 23:56:10 +0100 | |
34 | ||
35 | gnome-shell-extensions (3.29.3-1) unstable; urgency=medium | |
36 | ||
37 | * Team upload | |
38 | ||
39 | [ Arnaud Rebillout ] | |
40 | * New upstream release | |
41 | ||
42 | [ Simon McVittie ] | |
43 | * Bump Standards-Version to 4.1.5 | |
44 | * Set Rules-Requires-Root to no | |
45 | ||
46 | -- Simon McVittie <[email protected]> Fri, 27 Jul 2018 09:37:34 +0100 | |
47 | ||
0 | 48 | gnome-shell-extensions (3.28.1-1) unstable; urgency=medium |
1 | 49 | |
2 | 50 | * New upstream release |
10 | 10 | gnome-pkg-tools, |
11 | 11 | meson (>= 0.44.0), |
12 | 12 | sassc |
13 | Standards-Version: 4.1.4 | |
13 | Rules-Requires-Root: no | |
14 | Standards-Version: 4.2.0 | |
14 | 15 | Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions |
15 | 16 | Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git |
16 | 17 | Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions |
17 | 18 | |
18 | 19 | Package: gnome-shell-extensions |
19 | 20 | Architecture: all |
20 | Depends: ${misc:Depends}, | |
21 | gnome-shell (>= ${gnome:Version}), | |
22 | gnome-shell (<< ${gnome:NextVersion}), | |
23 | gir1.2-atk-1.0, | |
21 | Depends: gir1.2-atk-1.0, | |
24 | 22 | gir1.2-clutter-1.0, |
25 | 23 | gir1.2-gdkpixbuf-2.0, |
26 | 24 | gir1.2-glib-2.0, |
27 | 25 | gir1.2-gmenu-3.0, |
28 | 26 | gir1.2-gtk-3.0, |
29 | 27 | gir1.2-pango-1.0, |
28 | gnome-session-bin (>= 3.8), | |
29 | gnome-settings-daemon (>= 3.24), | |
30 | gnome-shell (<< ${gnome:NextVersion}), | |
31 | gnome-shell (>= ${gnome:Version}), | |
30 | 32 | gvfs (>= 1.16.0), |
31 | gnome-session-bin (>= 3.8), | |
32 | gnome-settings-daemon (>= 3.24) | |
33 | ${misc:Depends} | |
33 | 34 | Recommends: gnome-tweaks |
34 | 35 | Replaces: gnome-shell-common (<< 3.18) |
35 | 36 | Breaks: gnome-shell-common (<< 3.18) |
6 | 6 | gnome-pkg-tools, |
7 | 7 | meson (>= 0.44.0), |
8 | 8 | sassc |
9 | Standards-Version: 4.1.4 | |
9 | Rules-Requires-Root: no | |
10 | Standards-Version: 4.2.0 | |
10 | 11 | Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-shell-extensions |
11 | 12 | Vcs-Git: https://salsa.debian.org/gnome-team/gnome-shell-extensions.git |
12 | 13 | Homepage: https://wiki.gnome.org/Projects/GnomeShell/Extensions |
13 | 14 | |
14 | 15 | Package: gnome-shell-extensions |
15 | 16 | Architecture: all |
16 | Depends: ${misc:Depends}, | |
17 | gnome-shell (>= ${gnome:Version}), | |
18 | gnome-shell (<< ${gnome:NextVersion}), | |
19 | gir1.2-atk-1.0, | |
17 | Depends: gir1.2-atk-1.0, | |
20 | 18 | gir1.2-clutter-1.0, |
21 | 19 | gir1.2-gdkpixbuf-2.0, |
22 | 20 | gir1.2-glib-2.0, |
23 | 21 | gir1.2-gmenu-3.0, |
24 | 22 | gir1.2-gtk-3.0, |
25 | 23 | gir1.2-pango-1.0, |
24 | gnome-session-bin (>= 3.8), | |
25 | gnome-settings-daemon (>= 3.24), | |
26 | gnome-shell (<< ${gnome:NextVersion}), | |
27 | gnome-shell (>= ${gnome:Version}), | |
26 | 28 | gvfs (>= 1.16.0), |
27 | gnome-session-bin (>= 3.8), | |
28 | gnome-settings-daemon (>= 3.24) | |
29 | ${misc:Depends} | |
29 | 30 | Recommends: gnome-tweaks |
30 | 31 | Replaces: gnome-shell-common (<< 3.18) |
31 | 32 | Breaks: gnome-shell-common (<< 3.18) |
23 | 23 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
24 | 24 | GNU General Public License for more details. |
25 | 25 | . |
26 | You should have received a copy of the GNU General Public License | |
27 | along with this program. If not, see | |
28 | . | |
29 | 26 | On Debian systems, the complete text of the GNU General |
30 | 27 | Public License version 2 can be found in "/usr/share/common-licenses/GPL-2". |
2 | 2 | debian-branch = debian/master |
3 | 3 | upstream-branch = upstream/latest |
4 | 4 | upstream-vcs-tag = %(version)s |
5 | ||
6 | [buildpackage] | |
7 | sign-tags = True | |
8 | ||
9 | [import-orig] | |
10 | postimport = dch -v%(version)s New upstream release; git add debian/changelog; debcommit | |
11 | ||
12 | [pq] | |
13 | patch-numbers = False |
21 | 21 | schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml |
22 | 22 | |
23 | 23 | cp $srcdir/NEWS $srcdir/COPYING $f |
24 | cp -r $localedir $f | |
24 | 25 | |
25 | 26 | if [ -f $schema ]; then |
26 | 27 | mkdir $f/schemas |
30 | 30 | return injections['_keyPressHandler'].call(this, keysym, action); |
31 | 31 | }; |
32 | 32 | |
33 | Main.wm._forcedWindowSwitcher = function(display, screen, window, binding) { | |
33 | Main.wm._forcedWindowSwitcher = function(display, window, binding) { | |
34 | 34 | /* prevent a corner case where both popups show up at once */ |
35 | 35 | if (this._workspaceSwitcherPopup != null) |
36 | 36 | this._workspaceSwitcherPopup.destroy(); |
78 | 78 | return; |
79 | 79 | |
80 | 80 | // ensure we have the required number of workspaces |
81 | for (let i = global.screen.n_workspaces; i <= workspaceNum; i++) { | |
81 | let workspaceManager = global.workspace_manager; | |
82 | for (let i = workspaceManager.n_workspaces; i <= workspaceNum; i++) { | |
82 | 83 | window.change_workspace_by_index(i - 1, false); |
83 | global.screen.append_new_workspace(false, 0); | |
84 | workspaceManager.append_new_workspace(false, 0); | |
84 | 85 | } |
85 | 86 | |
86 | 87 | window.change_workspace_by_index(workspaceNum, false); |
174 | 174 | } |
175 | 175 | |
176 | 176 | destroy() { |
177 | if (this._connectedId) { | |
178 | this._monitor.disconnect(this._connectedId); | |
179 | this._monitor.disconnect(this._disconnectedId); | |
180 | this._connectedId = 0; | |
181 | this._disconnectedId = 0; | |
177 | if (this._addedId) { | |
178 | this._monitor.disconnect(this._addedId); | |
179 | this._monitor.disconnect(this._removedId); | |
180 | this._addedId = 0; | |
181 | this._removedId = 0; | |
182 | 182 | } |
183 | 183 | |
184 | 184 | super.destroy(); |
49 | 49 | return (_ignored, result) => { |
50 | 50 | try { |
51 | 51 | Gio.AppInfo.launch_default_for_uri_finish(result); |
52 | } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) { | |
53 | let source = { | |
54 | get_icon: () => { return this.icon; } | |
55 | }; | |
56 | let op = new ShellMountOperation.ShellMountOperation(source); | |
57 | this.file.mount_enclosing_volume(0, op.mountOp, null, (file, result) => { | |
58 | try { | |
59 | op.close(); | |
60 | file.mount_enclosing_volume_finish(result); | |
61 | } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED)) { | |
62 | // e.g. user canceled the password dialog | |
63 | return; | |
64 | } catch(e) { | |
65 | Main.notifyError(_("Failed to mount volume for “%s”").format(this.name), e.message); | |
66 | return; | |
67 | } | |
68 | ||
69 | if (tryMount) { | |
70 | let callback = this._createLaunchCallback(launchContext, false); | |
71 | Gio.AppInfo.launch_default_for_uri_async(file.get_uri(), | |
72 | launchContext, | |
73 | null, | |
74 | callback); | |
75 | } | |
76 | }); | |
77 | 52 | } catch(e) { |
78 | Main.notifyError(_("Failed to launch “%s”").format(this.name), e.message); | |
53 | if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_MOUNTED)) { | |
54 | let source = { | |
55 | get_icon: () => { return this.icon; } | |
56 | }; | |
57 | let op = new ShellMountOperation.ShellMountOperation(source); | |
58 | this.file.mount_enclosing_volume(0, op.mountOp, null, (file, result) => { | |
59 | try { | |
60 | op.close(); | |
61 | file.mount_enclosing_volume_finish(result); | |
62 | } catch(e) { | |
63 | if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED)) | |
64 | // e.g. user canceled the password dialog | |
65 | return; | |
66 | Main.notifyError(_("Failed to mount volume for “%s”").format(this.name), e.message); | |
67 | return; | |
68 | } | |
69 | ||
70 | if (tryMount) { | |
71 | let callback = this._createLaunchCallback(launchContext, false); | |
72 | Gio.AppInfo.launch_default_for_uri_async(file.get_uri(), | |
73 | launchContext, | |
74 | null, | |
75 | callback); | |
76 | } | |
77 | }); | |
78 | } else { | |
79 | Main.notifyError(_("Failed to launch “%s”").format(this.name), e.message); | |
80 | } | |
79 | 81 | } |
80 | 82 | } |
81 | 83 | } |
96 | 98 | let info = file.query_info_finish(result); |
97 | 99 | this.icon = info.get_symbolic_icon(); |
98 | 100 | this.emit('changed'); |
99 | } catch(e if e instanceof Gio.IOErrorEnum) { | |
100 | return; | |
101 | } catch(e) { | |
102 | if (e instanceof Gio.IOErrorEnum) | |
103 | return; | |
104 | throw e; | |
101 | 105 | } |
102 | 106 | }); |
103 | 107 | |
122 | 126 | try { |
123 | 127 | let info = this.file.query_info('standard::display-name', 0, null); |
124 | 128 | return info.get_display_name(); |
125 | } catch(e if e instanceof Gio.IOErrorEnum) { | |
126 | return this.file.get_basename(); | |
129 | } catch(e) { | |
130 | if (e instanceof Gio.IOErrorEnum) | |
131 | return this.file.get_basename(); | |
132 | throw e; | |
127 | 133 | } |
128 | 134 | } |
129 | 135 | }; |
348 | 354 | let file = Gio.File.new_for_path(specialPath), info; |
349 | 355 | try { |
350 | 356 | info = new PlaceInfo('special', file); |
351 | } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { | |
352 | continue; | |
357 | } catch(e) { | |
358 | if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) | |
359 | continue; | |
360 | throw e; | |
353 | 361 | } |
354 | 362 | |
355 | 363 | specials.push(info); |
513 | 521 | |
514 | 522 | try { |
515 | 523 | devItem = new PlaceDeviceInfo(kind, mount); |
516 | } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { | |
517 | return; | |
524 | } catch(e) { | |
525 | if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) | |
526 | return; | |
527 | throw e; | |
518 | 528 | } |
519 | 529 | |
520 | 530 | this._places[kind].push(devItem); |
525 | 535 | |
526 | 536 | try { |
527 | 537 | volItem = new PlaceVolumeInfo(kind, volume); |
528 | } catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) { | |
529 | return; | |
538 | } catch(e) { | |
539 | if (e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) | |
540 | return; | |
541 | throw e; | |
530 | 542 | } |
531 | 543 | |
532 | 544 | this._places[kind].push(volItem); |
68 | 68 | [1600, 900] |
69 | 69 | ]; |
70 | 70 | |
71 | function cycleScreenshotSizes(display, screen, window, binding) { | |
71 | function cycleScreenshotSizes(display, window, binding) { | |
72 | 72 | // Probably this isn't useful with 5 sizes, but you can decrease instead |
73 | 73 | // of increase by holding down shift. |
74 | 74 | let modifiers = binding.get_modifiers(); |
237 | 237 | |
238 | 238 | if (this._perMonitor) { |
239 | 239 | this._windowEnteredMonitorId = |
240 | global.screen.connect('window-entered-monitor', | |
240 | global.display.connect('window-entered-monitor', | |
241 | 241 | this._windowEnteredOrLeftMonitor.bind(this)); |
242 | 242 | this._windowLeftMonitorId = |
243 | global.screen.connect('window-left-monitor', | |
243 | global.display.connect('window-left-monitor', | |
244 | 244 | this._windowEnteredOrLeftMonitor.bind(this)); |
245 | 245 | } |
246 | 246 | } |
281 | 281 | this.actor.remove_style_class_name('focused'); |
282 | 282 | } |
283 | 283 | |
284 | _windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { | |
284 | _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) { | |
285 | 285 | throw new Error('Not implemented'); |
286 | 286 | } |
287 | 287 | |
288 | 288 | _isWindowVisible(window) { |
289 | let workspace = global.screen.get_active_workspace(); | |
289 | let workspace = global.workspace_manager.get_active_workspace(); | |
290 | 290 | |
291 | 291 | return !window.skip_taskbar && |
292 | 292 | window.located_on_workspace(workspace) && |
314 | 314 | global.window_manager.disconnect(this._switchWorkspaceId); |
315 | 315 | |
316 | 316 | if (this._windowEnteredMonitorId) |
317 | global.screen.disconnect(this._windowEnteredMonitorId); | |
317 | global.display.disconnect(this._windowEnteredMonitorId); | |
318 | 318 | this._windowEnteredMonitorId = 0; |
319 | 319 | |
320 | 320 | if (this._windowLeftMonitorId) |
321 | global.screen.disconnect(this._windowLeftMonitorId); | |
321 | global.display.disconnect(this._windowLeftMonitorId); | |
322 | 322 | this._windowLeftMonitorId = 0; |
323 | 323 | } |
324 | 324 | }; |
376 | 376 | this.actor.remove_style_class_name('minimized'); |
377 | 377 | } |
378 | 378 | |
379 | _windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { | |
379 | _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) { | |
380 | 380 | if (monitorIndex == this._monitorIndex && metaWindow == this.metaWindow) |
381 | 381 | this._updateVisibility(); |
382 | 382 | } |
517 | 517 | this._updateStyle(); |
518 | 518 | } |
519 | 519 | |
520 | _windowEnteredOrLeftMonitor(metaScreen, monitorIndex, metaWindow) { | |
520 | _windowEnteredOrLeftMonitor(metaDisplay, monitorIndex, metaWindow) { | |
521 | 521 | if (this._windowTracker.get_window_app(metaWindow) == this.app && |
522 | 522 | monitorIndex == this._monitorIndex) { |
523 | 523 | this._updateVisibility(); |
528 | 528 | _updateVisibility() { |
529 | 529 | if (!this._perMonitor) { |
530 | 530 | // fast path: use ShellApp API to avoid iterating over all windows. |
531 | let workspace = global.screen.get_active_workspace(); | |
531 | let workspace = global.workspace_manager.get_active_workspace(); | |
532 | 532 | this.actor.visible = this.app.is_on_workspace(workspace); |
533 | 533 | } else { |
534 | 534 | this.actor.visible = this.getWindowList().length >= 1; |
651 | 651 | x_expand: true, y_expand: true }); |
652 | 652 | this.actor.add_actor(container); |
653 | 653 | |
654 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
654 | let workspaceManager = global.workspace_manager; | |
655 | ||
656 | this._currentWorkspace = workspaceManager.get_active_workspace().index(); | |
655 | 657 | this.statusLabel = new St.Label({ text: this._getStatusText(), |
656 | 658 | x_align: Clutter.ActorAlign.CENTER, |
657 | 659 | y_align: Clutter.ActorAlign.CENTER }); |
659 | 661 | |
660 | 662 | this.workspacesItems = []; |
661 | 663 | |
662 | this._screenSignals = []; | |
663 | this._screenSignals.push(global.screen.connect('notify::n-workspaces', | |
664 | this._updateMenu.bind(this))); | |
665 | this._screenSignals.push(global.screen.connect_after('workspace-switched', | |
666 | this._updateIndicator.bind(this))); | |
664 | this._workspaceManagerSignals = []; | |
665 | this._workspaceManagerSignals.push(workspaceManager.connect('notify::n-workspaces', | |
666 | this._updateMenu.bind(this))); | |
667 | this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-switched', | |
668 | this._updateIndicator.bind(this))); | |
667 | 669 | |
668 | 670 | this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); |
669 | 671 | this._updateMenu(); |
675 | 677 | } |
676 | 678 | |
677 | 679 | destroy() { |
678 | for (let i = 0; i < this._screenSignals.length; i++) | |
679 | global.screen.disconnect(this._screenSignals[i]); | |
680 | for (let i = 0; i < this._workspaceManagerSignals.length; i++) | |
681 | global.workspace_manager.disconnect(this._workspaceManagerSignals[i]); | |
680 | 682 | |
681 | 683 | if (this._settingsChangedId) { |
682 | 684 | this._settings.disconnect(this._settingsChangedId); |
688 | 690 | |
689 | 691 | _updateIndicator() { |
690 | 692 | this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE); |
691 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
693 | this._currentWorkspace = global.workspace_manager.get_active_workspace().index(); | |
692 | 694 | this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT); |
693 | 695 | |
694 | 696 | this.statusLabel.set_text(this._getStatusText()); |
695 | 697 | } |
696 | 698 | |
697 | 699 | _getStatusText() { |
698 | let current = global.screen.get_active_workspace().index(); | |
699 | let total = global.screen.n_workspaces; | |
700 | let workspaceManager = global.workspace_manager; | |
701 | let current = workspaceManager.get_active_workspace().index(); | |
702 | let total = workspaceManager.n_workspaces; | |
700 | 703 | |
701 | 704 | return '%d / %d'.format(current + 1, total); |
702 | 705 | } |
703 | 706 | |
704 | 707 | _updateMenu() { |
708 | let workspaceManager = global.workspace_manager; | |
709 | ||
705 | 710 | this.menu.removeAll(); |
706 | 711 | this.workspacesItems = []; |
707 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
708 | ||
709 | for(let i = 0; i < global.screen.n_workspaces; i++) { | |
712 | this._currentWorkspace = workspaceManager.get_active_workspace().index(); | |
713 | ||
714 | for(let i = 0; i < workspaceManager.n_workspaces; i++) { | |
710 | 715 | let name = Meta.prefs_get_workspace_name(i); |
711 | 716 | let item = new PopupMenu.PopupMenuItem(name); |
712 | 717 | item.workspaceId = i; |
726 | 731 | } |
727 | 732 | |
728 | 733 | _activate(index) { |
729 | if(index >= 0 && index < global.screen.n_workspaces) { | |
730 | let metaWorkspace = global.screen.get_workspace_by_index(index); | |
734 | let workspaceManager = global.workspace_manager; | |
735 | ||
736 | if(index >= 0 && index < workspaceManager.n_workspaces) { | |
737 | let metaWorkspace = workspaceManager.get_workspace_by_index(index); | |
731 | 738 | metaWorkspace.activate(global.get_current_time()); |
732 | 739 | } |
733 | 740 | } |
791 | 798 | indicatorsBox.add(this._workspaceIndicator.container, { expand: false, y_fill: true }); |
792 | 799 | |
793 | 800 | this._mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' }); |
794 | this._workspaceSettings = this._getWorkspaceSettings(); | |
795 | 801 | this._workspacesOnlyOnPrimaryChangedId = |
796 | this._workspaceSettings.connect('changed::workspaces-only-on-primary', | |
797 | this._updateWorkspaceIndicatorVisibility.bind(this)); | |
798 | this._dynamicWorkspacesSettings = this._getDynamicWorkspacesSettings(); | |
802 | this._mutterSettings.connect('changed::workspaces-only-on-primary', | |
803 | this._updateWorkspaceIndicatorVisibility.bind(this)); | |
799 | 804 | this._dynamicWorkspacesChangedId = |
800 | this._dynamicWorkspacesSettings.connect('changed::dynamic-workspaces', | |
801 | this._updateWorkspaceIndicatorVisibility.bind(this)); | |
805 | this._mutterSettings.connect('changed::dynamic-workspaces', | |
806 | this._updateWorkspaceIndicatorVisibility.bind(this)); | |
802 | 807 | this._updateWorkspaceIndicatorVisibility(); |
803 | 808 | |
804 | 809 | this._menuManager = new PopupMenu.PopupMenuManager(this); |
832 | 837 | this._updateKeyboardAnchor(); |
833 | 838 | }); |
834 | 839 | |
840 | let workspaceManager = global.workspace_manager; | |
841 | ||
835 | 842 | this._workspaceSignals = new Map(); |
836 | 843 | this._nWorkspacesChangedId = |
837 | global.screen.connect('notify::n-workspaces', | |
838 | this._onWorkspacesChanged.bind(this)); | |
844 | workspaceManager.connect('notify::n-workspaces', | |
845 | this._onWorkspacesChanged.bind(this)); | |
839 | 846 | this._onWorkspacesChanged(); |
840 | 847 | |
841 | 848 | this._switchWorkspaceId = |
855 | 862 | }); |
856 | 863 | |
857 | 864 | this._fullscreenChangedId = |
858 | global.screen.connect('in-fullscreen-changed', () => { | |
865 | global.display.connect('in-fullscreen-changed', () => { | |
859 | 866 | this._updateKeyboardAnchor(); |
860 | 867 | }); |
861 | 868 | |
880 | 887 | this._groupingModeChanged(); |
881 | 888 | } |
882 | 889 | |
883 | _getDynamicWorkspacesSettings() { | |
884 | if (this._workspaceSettings.list_keys().includes('dynamic-workspaces')) | |
885 | return this._workspaceSettings; | |
886 | return this._mutterSettings; | |
887 | } | |
888 | ||
889 | _getWorkspaceSettings() { | |
890 | let settings = global.get_overrides_settings() || this._mutterSettings; | |
891 | if (settings.list_keys().includes('workspaces-only-on-primary')) | |
892 | return settings; | |
893 | return this._mutterSettings; | |
894 | } | |
895 | ||
896 | 890 | _onScrollEvent(actor, event) { |
897 | 891 | let direction = event.get_scroll_direction(); |
898 | 892 | let diff = 0; |
922 | 916 | } |
923 | 917 | |
924 | 918 | _updateWorkspaceIndicatorVisibility() { |
925 | let hasWorkspaces = this._dynamicWorkspacesSettings.get_boolean('dynamic-workspaces') || | |
926 | global.screen.n_workspaces > 1; | |
919 | let workspaceManager = global.workspace_manager; | |
920 | let hasWorkspaces = this._mutterSettings.get_boolean('dynamic-workspaces') || | |
921 | workspaceManager.n_workspaces > 1; | |
927 | 922 | let workspacesOnMonitor = this._monitor == Main.layoutManager.primaryMonitor || |
928 | !this._workspaceSettings.get_boolean('workspaces-only-on-primary'); | |
923 | !this._mutterSettings.get_boolean('workspaces-only-on-primary'); | |
929 | 924 | |
930 | 925 | this._workspaceIndicator.actor.visible = hasWorkspaces && workspacesOnMonitor; |
931 | 926 | } |
938 | 933 | let [, childWidth] = children[0].get_preferred_width(-1); |
939 | 934 | let spacing = this._windowList.layout_manager.spacing; |
940 | 935 | |
941 | let workspace = global.screen.get_active_workspace(); | |
936 | let workspace = global.workspace_manager.get_active_workspace(); | |
942 | 937 | let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace); |
943 | 938 | if (this._perMonitor) |
944 | 939 | windows = windows.filter(w => w.get_monitor() == this._monitor.index); |
1078 | 1073 | } |
1079 | 1074 | |
1080 | 1075 | _onWorkspacesChanged() { |
1081 | let numWorkspaces = global.screen.n_workspaces; | |
1076 | let workspaceManager = global.workspace_manager; | |
1077 | let numWorkspaces = workspaceManager.n_workspaces; | |
1078 | ||
1082 | 1079 | for (let i = 0; i < numWorkspaces; i++) { |
1083 | let workspace = global.screen.get_workspace_by_index(i); | |
1080 | let workspace = workspaceManager.get_workspace_by_index(i); | |
1084 | 1081 | if (this._workspaceSignals.has(workspace)) |
1085 | 1082 | continue; |
1086 | 1083 | |
1098 | 1095 | } |
1099 | 1096 | |
1100 | 1097 | _disconnectWorkspaceSignals() { |
1101 | let numWorkspaces = global.screen.n_workspaces; | |
1098 | let workspaceManager = global.workspace_manager; | |
1099 | let numWorkspaces = workspaceManager.n_workspaces; | |
1100 | ||
1102 | 1101 | for (let i = 0; i < numWorkspaces; i++) { |
1103 | let workspace = global.screen.get_workspace_by_index(i); | |
1102 | let workspace = workspaceManager.get_workspace_by_index(i); | |
1104 | 1103 | let signals = this._workspaceSignals.get(workspace); |
1105 | 1104 | this._workspaceSignals.delete(workspace); |
1106 | 1105 | workspace.disconnect(signals._windowAddedId); |
1162 | 1161 | } |
1163 | 1162 | |
1164 | 1163 | _onDestroy() { |
1165 | this._workspaceSettings.disconnect(this._workspacesOnlyOnPrimaryChangedId); | |
1166 | this._dynamicWorkspacesSettings.disconnect(this._dynamicWorkspacesChangedId); | |
1164 | this._mutterSettings.disconnect(this._workspacesOnlyOnPrimaryChangedId); | |
1165 | this._mutterSettings.disconnect(this._dynamicWorkspacesChangedId); | |
1167 | 1166 | |
1168 | 1167 | this._workspaceIndicator.destroy(); |
1169 | 1168 | |
1178 | 1177 | Main.layoutManager.hideKeyboard(); |
1179 | 1178 | |
1180 | 1179 | this._disconnectWorkspaceSignals(); |
1181 | global.screen.disconnect(this._nWorkspacesChangedId); | |
1180 | global.workspace_manager.disconnect(this._nWorkspacesChangedId); | |
1182 | 1181 | this._nWorkspacesChangedId = 0; |
1183 | 1182 | |
1184 | 1183 | global.window_manager.disconnect(this._switchWorkspaceId); |
1188 | 1187 | Main.overview.disconnect(this._overviewShowingId); |
1189 | 1188 | Main.overview.disconnect(this._overviewHidingId); |
1190 | 1189 | |
1191 | global.screen.disconnect(this._fullscreenChangedId); | |
1190 | global.display.disconnect(this._fullscreenChangedId); | |
1192 | 1191 | |
1193 | 1192 | Main.xdndHandler.disconnect(this._dragBeginId); |
1194 | 1193 | Main.xdndHandler.disconnect(this._dragEndId); |
134 | 134 | if(Main.overview.viewSelector._activePage != Main.overview.viewSelector._workspacesPage) |
135 | 135 | return false; |
136 | 136 | |
137 | let workspaceManager = global.workspace_manager; | |
138 | ||
137 | 139 | if ((o.get_key_symbol() == Clutter.KEY_Alt_L || |
138 | 140 | o.get_key_symbol() == Clutter.KEY_Alt_R) |
139 | 141 | && !this._pickWorkspace) { |
140 | 142 | this._prevFocusActor = global.stage.get_key_focus(); |
141 | 143 | global.stage.set_key_focus(null); |
142 | this._active = global.screen.get_active_workspace_index(); | |
144 | this._active = workspaceManager.get_active_workspace_index(); | |
143 | 145 | this._pickWindow = true; |
144 | this._workspaces[global.screen.get_active_workspace_index()].showWindowsTooltips(); | |
146 | this._workspaces[workspaceManager.get_active_workspace_index()].showWindowsTooltips(); | |
145 | 147 | return true; |
146 | 148 | } |
147 | 149 | if ((o.get_key_symbol() == Clutter.KEY_Control_L || |
165 | 167 | return true; |
166 | 168 | |
167 | 169 | if (this._pickWindow) { |
168 | if (this._active != global.screen.get_active_workspace_index()) { | |
170 | if (this._active != workspaceManager.get_active_workspace_index()) { | |
169 | 171 | this._hideTooltips(); |
170 | 172 | return false; |
171 | 173 | } |
24 | 24 | constructor() { |
25 | 25 | super(0.0, _("Workspace Indicator")); |
26 | 26 | |
27 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
27 | let workspaceManager = global.workspace_manager; | |
28 | ||
29 | this._currentWorkspace = workspaceManager.get_active_workspace().index(); | |
28 | 30 | this.statusLabel = new St.Label({ y_align: Clutter.ActorAlign.CENTER, |
29 | 31 | text: this._labelText() }); |
30 | 32 | |
34 | 36 | this._workspaceSection = new PopupMenu.PopupMenuSection(); |
35 | 37 | this.menu.addMenuItem(this._workspaceSection); |
36 | 38 | |
37 | this._screenSignals = []; | |
38 | this._screenSignals.push(global.screen.connect_after('workspace-added', this._createWorkspacesSection.bind(this))); | |
39 | this._screenSignals.push(global.screen.connect_after('workspace-removed', | |
40 | this._createWorkspacesSection.bind(this))); | |
41 | this._screenSignals.push(global.screen.connect_after('workspace-switched', | |
42 | this._updateIndicator.bind(this))); | |
39 | this._workspaceManagerSignals = []; | |
40 | this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-added', | |
41 | this._createWorkspacesSection.bind(this))); | |
42 | this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-removed', | |
43 | this._createWorkspacesSection.bind(this))); | |
44 | this._workspaceManagerSignals.push(workspaceManager.connect_after('workspace-switched', | |
45 | this._updateIndicator.bind(this))); | |
43 | 46 | |
44 | 47 | this.actor.connect('scroll-event', this._onScrollEvent.bind(this)); |
45 | 48 | this._createWorkspacesSection(); |
54 | 57 | } |
55 | 58 | |
56 | 59 | destroy() { |
57 | for (let i = 0; i < this._screenSignals.length; i++) | |
58 | global.screen.disconnect(this._screenSignals[i]); | |
60 | for (let i = 0; i < this._workspaceManagerSignals.length; i++) | |
61 | global.workspace_manager.disconnect(this._workspaceManagerSignals[i]); | |
59 | 62 | |
60 | 63 | if (this._settingsChangedId) { |
61 | 64 | this._settings.disconnect(this._settingsChangedId); |
67 | 70 | |
68 | 71 | _updateIndicator() { |
69 | 72 | this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.NONE); |
70 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
73 | this._currentWorkspace = global.workspace_manager.get_active_workspace().index(); | |
71 | 74 | this.workspacesItems[this._currentWorkspace].setOrnament(PopupMenu.Ornament.DOT); |
72 | 75 | |
73 | 76 | this.statusLabel.set_text(this._labelText()); |
82 | 85 | } |
83 | 86 | |
84 | 87 | _createWorkspacesSection() { |
88 | let workspaceManager = global.workspace_manager; | |
89 | ||
85 | 90 | this._workspaceSection.removeAll(); |
86 | 91 | this.workspacesItems = []; |
87 | this._currentWorkspace = global.screen.get_active_workspace().index(); | |
92 | this._currentWorkspace = workspaceManager.get_active_workspace().index(); | |
88 | 93 | |
89 | 94 | let i = 0; |
90 | for(; i < global.screen.n_workspaces; i++) { | |
95 | for(; i < workspaceManager.n_workspaces; i++) { | |
91 | 96 | this.workspacesItems[i] = new PopupMenu.PopupMenuItem(this._labelText(i)); |
92 | 97 | this._workspaceSection.addMenuItem(this.workspacesItems[i]); |
93 | 98 | this.workspacesItems[i].workspaceId = i; |
105 | 110 | } |
106 | 111 | |
107 | 112 | _activate(index) { |
108 | if(index >= 0 && index < global.screen.n_workspaces) { | |
109 | let metaWorkspace = global.screen.get_workspace_by_index(index); | |
113 | let workspaceManager = global.workspace_manager; | |
114 | ||
115 | if(index >= 0 && index < workspaceManager.n_workspaces) { | |
116 | let metaWorkspace = workspaceManager.get_workspace_by_index(index); | |
110 | 117 | metaWorkspace.activate(global.get_current_time()); |
111 | 118 | } |
112 | 119 | } |
122 | 129 | return; |
123 | 130 | } |
124 | 131 | |
125 | let newIndex = global.screen.get_active_workspace().index() + diff; | |
132 | let newIndex = global.workspace_manager.get_active_workspace().index() + diff; | |
126 | 133 | this._activate(newIndex); |
127 | 134 | } |
128 | 135 | }; |
0 | 0 | project('gnome-shell-extensions', |
1 | version: '3.28.1', | |
1 | version: '3.30.0', | |
2 | 2 | meson_version: '>= 0.44.0', |
3 | 3 | license: 'GPL2+' |
4 | 4 | ) |
33 | 33 | uuid_suffix = '@gnome-shell-extensions.gcampax.github.com' |
34 | 34 | |
35 | 35 | classic_extensions = [ |
36 | 'alternate-tab', | |
37 | 36 | 'apps-menu', |
38 | 37 | 'places-menu', |
39 | 38 | 'launch-new-instance', |
42 | 41 | |
43 | 42 | default_extensions = classic_extensions |
44 | 43 | default_extensions += [ |
44 | 'alternate-tab', | |
45 | 45 | 'drive-menu', |
46 | 46 | 'screenshot-window-sizer', |
47 | 47 | 'windowsNavigator', |