Compare commits

..

20 Commits

Author SHA1 Message Date
Florian Müllner
278d0afc79 Bump version to 45.alpha
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/258>
2023-07-03 00:25:31 +02:00
Florian Müllner
90031432da build: Remove left-over variable
We no longer install a separate mode style, so the variable is
now unused.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/258>
2023-07-03 00:25:03 +02:00
Florian Müllner
b11f0f16f4 light-style: Always save scheme preference on enable()
Disable() should restore the scheme preference that was used when
the extension was enabled, not when it was first initialized.

Even if it's unlikely to be relevant in practice, let's make sure
we save the correct state.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/257>
2023-07-02 23:24:33 +02:00
Florian Müllner
b7895ad956 extensions: Add new light-style extension
Now that gnome-shell supports a light style, people may want to
use it without forcing all apps to be light.

Add a small extension that switches the default to light, so the
shell follows the regular "dark style" preference.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/256>
2023-06-23 14:36:09 +00:00
Arik W
22b9f888fb window-list: Add tooltip for long window titles
Adds a tooltip feature to the window buttons.
If a button’s label is too long to fit, a tooltip will show the complete content when the user hovers over the button.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/issues/170

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/251>
2023-06-18 19:08:53 +00:00
Florian Müllner
61a260bc94 places-menu: Account for app menu removal
The app menu has been removed from the top bar, so we can no longer
base our own indicator position on it.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/255>
2023-05-27 00:44:26 +02:00
Florian Müllner
ced3c94dfa classic: Account for removal of app menu
We no longer include the app menu in the regular GNOME session,
we shouldn't bring it back in Classic (not least because there
never was a similar menu in GNOME 2).

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/255>
2023-05-26 21:00:14 +02:00
Florian Müllner
904ead1fb1 window-list: Replace classic- with light style
Now that classic styling is based on color scheme instead of
a dedicated "classic" stylesheet, we should do the same for
extension styling, with the bonus that it also works with the
regular appearance setting outside the classic session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/254>
2023-05-26 20:26:43 +02:00
Florian Müllner
f6b6049bc5 classic: Use light color scheme instead of classic styling
gnome-shell now includes a light variant, and supports switching
between dark- and light styling at runtime.

That means we no longer have to build our own stylesheet, and can
instead just instruct gnome-shell to always use the light style
in the classic session.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/254>
2023-05-26 20:26:43 +02:00
Alexander Weichart
ca1c4b0f9e window-list: Improve default stylesheet
Adjust colors to be more consistent with the current shell look.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/253>
2023-05-26 18:25:35 +02:00
Florian Müllner
58b4b3c8d6 Bump version to 44.0
Update NEWS.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 05:14:23 +01:00
Florian Müllner
25cc126ebc build: Add configuration summary
Meson now has a summary() function to easily summarize the build
configuration after the project was configured, use that for some
fancy output when the feature is available.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:52:56 +01:00
Florian Müllner
30bac19c5a build: Compile gschemas if necessary
It is good practice to recompile schemas after installing a new
schema, but for some reason we never did.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:30:45 +01:00
Florian Müllner
7689d660dc build: Bump meson requirement
Using the same minimum version as gnome-shell should be
uncontroversial, and allows us to use some new features.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/249>
2023-03-19 04:14:01 +01:00
Florian Müllner
e0d5ede296 Bump version to 44.rc
Update NEWS.
2023-03-06 04:35:46 +01:00
Florian Müllner
2c25e22145 Update sass submodule 2023-03-06 04:34:45 +01:00
Florian Müllner
ffa9806d40 Bump version to 44.beta
Update NEWS.
2023-02-14 18:01:27 +01:00
Florian Müllner
5ff41b9151 Update sass submodule 2023-02-14 17:59:37 +01:00
robxnano
7e8ba59304 Center-align all menus
Make popup menus center-aligned on their parent buttons, to
match the default GNOME Shell panel menus. Affects:
- Places menu
- Drive menu
- Workspace indicator
- Window menu workspace indicator

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell-extensions/-/merge_requests/246>
2023-01-13 16:12:03 +00:00
Vasil Pupkin
497d175ae9 Update Belarusian translation 2022-11-27 18:57:09 +00:00
23 changed files with 360 additions and 361 deletions

View File

@@ -132,8 +132,6 @@ fedora-build:
stage: build
needs:
- build-fedora-container
variables:
GIT_SUBMODULE_STRATEGY: normal
script:
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
- meson compile -C build

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "data/gnome-shell-sass"]
path = data/gnome-shell-sass
url = https://gitlab.gnome.org/GNOME/gnome-shell-sass.git

29
NEWS
View File

@@ -1,3 +1,32 @@
45.alpha
========
* window-list: Modernize default styling [Alexander; !253]
* Replace classic styling with built-in light style [Florian; !254]
* window-list: Add tooltip for long window titles [Arik; !251]
* light-style: New extension [Florian; !256]
* Misc. bug fixes and cleanups [Florian; !255, !257]
Contributors:
Florian Müllner, Arik W, Alexander Weichart
44.0
====
* Bump version
44.rc
=====
* Bump version
44.beta
=======
* Tweak menu alignment [robxnano; !246]
Contributors:
Florian Müllner, robxnano
Translators:
Vasil Pupkin [be]
43.1
====
* Fixed crash [Florian; !243]

View File

@@ -1,10 +1,10 @@
{
"parentMode": "user",
"stylesheetName": "gnome-classic.css",
"colorScheme": "force-light",
"hasOverview": false,
"showWelcomeDialog": false,
"enabledExtensions": [@CLASSIC_EXTENSIONS@],
"panel": { "left": ["appMenu"],
"panel": { "left": [],
"center": [],
"right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
}

View File

@@ -1,5 +0,0 @@
@import url("gnome-classic.css");
stage {
-st-icon-style: symbolic;
}

View File

@@ -1,95 +0,0 @@
/* Use the gnome-shell theme, but with light colors */
$variant: 'light';
@import "gnome-shell-sass/_colors"; //use gtk colors
@import "gnome-shell-sass/_drawing";
@import "gnome-shell-sass/_common";
@import "gnome-shell-sass/_widgets";
/* Overrides */
#panel, #panel.solid {
font-weight: normal;
background-color: $bg_color;
background-gradient-direction: vertical;
background-gradient-end: darken($bg_color,5%);
border-top-color: #666; /* we don't support non-uniform border-colors and
use the top border color for any border, so we
need to set it even if all we want is a bottom
border */
border-bottom: 1px solid #666;
app-icon-bottom-clip: 0px;
&:overview {
background-color: #000;
background-gradient-end: #000;
border-top-color: #000;
border-bottom: 1px solid #000;
.panel-button { color: #fff; }
}
.panel-button {
-natural-hpadding: 8px;
-minimum-hpadding: 4px;
font-weight: normal;
color: $fg_color;
text-shadow: none;
transition-duration: 0ms;
border: 0;
border-radius: 0px;
&.clock-display {
.clock {
transition-duration: 0ms;
border: 0;
border-radius: 0px;
}
}
&:hover {
color: lighten($fg_color,10%);
text-shadow: none;
& .system-status-icon { icon-shadow: none; }
}
&:active, &:overview, &:focus, &:checked {
// Trick due to St limitations. It needs a background to draw
// a box-shadow
background-color: $selected_bg_color;
color: $selected_fg_color;
box-shadow: none;
& > .system-status-icon { icon-shadow: none; }
}
.app-menu-icon { width: 0; height: 0; margin: 0; } // shell's display:none; :D
.system-status-icon {
icon-shadow: none;
}
}
.panel-corner,
.panel-corner:active,
.panel-corner:overview,
.panel-corner:focus {
-panel-corner-radius: 0;
}
&.lock-screen,
&.unlock-screen,
&.login-screen {
background-color: transparentize($bg_color, 0.5);
background-gradient-start: transparentize($bg_color, 0.5);
background-gradient-end: transparentize($bg_color, 0.5);
border-bottom: none;
.panel-button { color: $osd_fg_color; }
}
}
#appMenu {
spinner-image: url("classic-process-working.svg");
.panel-status-menu-box { padding: 0; }
}
.tile-preview-left.on-primary,
.tile-preview-right.on-primary,
.tile-preview-left.tile-preview-right.on-primary {
/* keep in sync with -panel-corner-radius */
border-radius: 0;
}

View File

@@ -46,68 +46,5 @@ configure_file(
install_dir: modedir
)
theme_sources = files(
'gnome-shell-sass/_colors.scss',
'gnome-shell-sass/_common.scss',
'gnome-shell-sass/_drawing.scss',
'gnome-shell-sass/_high-contrast-colors.scss',
'gnome-shell-sass/_widgets.scss',
'gnome-shell-sass/widgets/_a11y.scss',
'gnome-shell-sass/widgets/_app-grid.scss',
'gnome-shell-sass/widgets/_base.scss',
'gnome-shell-sass/widgets/_buttons.scss',
'gnome-shell-sass/widgets/_calendar.scss',
'gnome-shell-sass/widgets/_check-box.scss',
'gnome-shell-sass/widgets/_corner-ripple.scss',
'gnome-shell-sass/widgets/_dash.scss',
'gnome-shell-sass/widgets/_dialogs.scss',
'gnome-shell-sass/widgets/_entries.scss',
'gnome-shell-sass/widgets/_hotplug.scss',
'gnome-shell-sass/widgets/_ibus-popup.scss',
'gnome-shell-sass/widgets/_keyboard.scss',
'gnome-shell-sass/widgets/_login-dialog.scss',
'gnome-shell-sass/widgets/_looking-glass.scss',
'gnome-shell-sass/widgets/_message-list.scss',
'gnome-shell-sass/widgets/_misc.scss',
'gnome-shell-sass/widgets/_notifications.scss',
'gnome-shell-sass/widgets/_osd.scss',
'gnome-shell-sass/widgets/_overview.scss',
'gnome-shell-sass/widgets/_panel.scss',
'gnome-shell-sass/widgets/_popovers.scss',
'gnome-shell-sass/widgets/_quick-settings.scss',
'gnome-shell-sass/widgets/_screen-shield.scss',
'gnome-shell-sass/widgets/_scrollbars.scss',
'gnome-shell-sass/widgets/_search-entry.scss',
'gnome-shell-sass/widgets/_search-results.scss',
'gnome-shell-sass/widgets/_slider.scss',
'gnome-shell-sass/widgets/_switcher-popup.scss',
'gnome-shell-sass/widgets/_switches.scss',
'gnome-shell-sass/widgets/_window-picker.scss',
'gnome-shell-sass/widgets/_workspace-switcher.scss',
'gnome-shell-sass/widgets/_workspace-thumbnails.scss'
)
theme_data = [
'classic-process-working.svg',
'gnome-classic-high-contrast.css'
]
stylesheet = 'gnome-classic.css'
if fs.exists(stylesheet)
install_data(stylesheet, install_dir: themedir)
else
sassc = find_program('sassc', required: true)
custom_target(stylesheet,
input: fs.replace_suffix(stylesheet, '.scss'),
output: stylesheet,
depend_files: theme_sources,
command: [sassc, '-a', '@INPUT@', '@OUTPUT@'],
install: true,
install_dir: themedir
)
endif
install_data(theme_data, install_dir: themedir)
classic_override = '00_org.gnome.shell.extensions.classic.gschema.override'
install_data(classic_override, install_dir: schemadir)

View File

@@ -142,7 +142,7 @@ class DriveMenu extends PanelMenu.Button {
}
constructor() {
super(0.0, _('Removable devices'));
super(0.5, _('Removable devices'));
let icon = new St.Icon({
icon_name: 'media-eject-symbolic',

View File

@@ -0,0 +1,42 @@
/* exported init */
/*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
const {St} = imports.gi;
const Main = imports.ui.main;
class Extension {
_updateColorScheme(scheme) {
Main.sessionMode.colorScheme = scheme;
St.Settings.get().notify('color-scheme');
}
enable() {
this._savedColorScheme = Main.sessionMode.colorScheme;
this._updateColorScheme('prefer-light');
}
disable() {
this._updateColorScheme(this._savedColorScheme);
}
}
/** */
function init() {
return new Extension();
}

View File

@@ -0,0 +1,5 @@
extension_data += configure_file(
input: metadata_name + '.in',
output: metadata_name,
configuration: metadata_conf
)

View File

@@ -0,0 +1,10 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Light Style",
"description": "Switch default to light style",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -91,7 +91,7 @@ class PlacesMenu extends PanelMenu.Button {
}
constructor() {
super(0.0, _('Places'));
super(0.5, _('Places'));
let label = new St.Label({
text: _('Places'),
@@ -149,7 +149,7 @@ let _indicator;
function enable() {
_indicator = new PlacesMenu();
let pos = Main.sessionMode.panel.left.indexOf('appMenu');
let pos = Main.sessionMode.panel.left.length;
if ('apps-menu' in Main.panel.statusArea)
pos++;
Main.panel.addToStatusArea('places-menu', _indicator, pos, 'left');

View File

@@ -16,6 +16,9 @@ const _ = ExtensionUtils.gettext;
const ICON_TEXTURE_SIZE = 24;
const DND_ACTIVATE_TIMEOUT = 500;
const TOOLTIP_OFFSET = 6;
const TOOLTIP_ANIMATION_TIME = 150;
const GroupingMode = {
NEVER: 0,
AUTO: 1,
@@ -224,6 +227,12 @@ class BaseButton extends St.Button {
'window-left-monitor',
this._windowEnteredOrLeftMonitor.bind(this));
}
this._tooltip = new Tooltip(this, {
style_class: 'dash-label',
visible: false,
});
Main.uiGroup.add_child(this._tooltip);
}
get active() {
@@ -391,6 +400,8 @@ class BaseButton extends St.Button {
if (this._windowLeftMonitorId)
global.display.disconnect(this._windowLeftMonitorId);
this._windowLeftMonitorId = 0;
this._tooltip.destroy();
}
}
@@ -1205,6 +1216,70 @@ class Extension {
}
}
class Tooltip extends St.Label {
static {
GObject.registerClass(this);
}
constructor(widget, params) {
super(params);
this._widget = widget;
this._widget.connect('notify::hover', () => {
if (this._widget.hover)
this.open();
else
this.close();
});
}
open() {
const buttonTitleWidget = this._widget.label_actor;
const [, , preferredTitleWidth] = buttonTitleWidget.get_preferred_size();
const maxTitleWidth = buttonTitleWidget.allocation.get_width();
const isTitleFullyShown = preferredTitleWidth <= maxTitleWidth;
if (isTitleFullyShown)
return;
this.set({
text: this._widget.label_actor.get_text(),
visible: true,
opacity: 0,
});
const [stageX, stageY] = this._widget.get_transformed_position();
const thumbWidth = this._widget.allocation.get_width();
const tipWidth = this.width;
const tipHeight = this.height;
const xOffset = Math.floor((thumbWidth - tipWidth) / 2);
const monitor = Main.layoutManager.findMonitorForActor(this);
const x = Math.clamp(
stageX + xOffset,
monitor.x,
monitor.x + monitor.width - tipWidth);
const y = stageY - tipHeight - TOOLTIP_OFFSET;
this.set_position(x, y);
this.ease({
opacity: 255,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
close() {
this.ease({
opacity: 0,
duration: TOOLTIP_ANIMATION_TIME,
mode: Clutter.AnimationMode.EASE_OUT_QUAD,
onComplete: () => (this.visible = this._widget.hover),
});
}
}
/**
* @returns {Extension} - the extension's state object
*/

View File

@@ -3,11 +3,10 @@ extension_data += configure_file(
output: metadata_name,
configuration: metadata_conf
)
extension_data += files('stylesheet.css')
extension_data += files(
'stylesheet-dark.css',
'stylesheet-light.css'
)
extension_sources += files('prefs.js', 'windowPicker.js', 'workspaceIndicator.js')
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
if classic_mode_enabled
extension_data += files('classic.css')
endif

View File

@@ -0,0 +1,113 @@
.window-list {
spacing: 2px;
font-size: 10pt;
}
.bottom-panel {
background-color: #000000;
border-top-width: 0px;
padding: 2px;
}
.window-button {
padding: 2px, 1px;
}
.window-button:first-child:ltr {
padding-left: 2px;
}
.window-button:last-child:rtl {
padding-right: 2px;
}
.window-button-box {
spacing: 4px;
}
.window-button > StWidget,
.window-picker-toggle > StWidget {
color: #bbb;
background-color: #1d1d1d;
border-radius: 4px;
padding: 3px 6px 1px;
transition: 100ms ease;
}
.window-button > StWidget {
-st-natural-width: 18.75em;
max-width: 18.75em;
}
.window-button:hover > StWidget,
.window-picker-toggle:hover > StWidget {
color: #fff;
background-color: #303030;
}
.window-button:active > StWidget,
.window-button:focus > StWidget {
color: #fff;
background-color: #3f3f3f;
}
.window-button.focused > StWidget,
.window-picker-toggle:checked > StWidget {
color: #fff;
background-color: #3f3f3f;
}
.window-button.focused:active > StWidget,
.window-picker-toggle:checked:active > StWidget {
color: #fff;
background-color: #3f3f3f;
}
.window-button.minimized > StWidget {
color: #666;
background-color: #161616;
}
.window-button.minimized:active > StWidget {
color: #666;
background-color: #161616;
}
.window-button-icon {
width: 24px;
height: 24px;
}
.window-list-workspace-indicator .status-label-bin {
background-color: rgba(200, 200, 200, 0.3);
padding: 0 3px;
margin: 3px;
}
.window-list-workspace-indicator .workspaces-box {
spacing: 3px;
padding: 3px;
}
.window-list-workspace-indicator .workspace {
width: 52px;
border-radius: 4px;
background-color: #1e1e1e;
}
.window-list-workspace-indicator .workspace.active {
background-color: #3f3f3f;
}
.window-list-window-preview {
background-color: #bebebe;
border-radius: 1px;
}
.window-list-window-preview.active {
background-color: #d4d4d4;
}
.notification {
font-weight: normal;
}

View File

@@ -1,4 +1,4 @@
@import url("stylesheet.css");
@import url("stylesheet-dark.css");
#panel.bottom-panel {
border-top-width: 1px;

View File

@@ -1,115 +0,0 @@
.window-list {
spacing: 2px;
font-size: 10pt;
}
.window-button {
padding: 1px;
}
.window-button:first-child:ltr {
padding-left: 2px;
}
.window-button:last-child:rtl {
padding-right: 2px;
}
.window-button-box {
spacing: 4px;
}
.window-button > StWidget,
.window-picker-toggle > StWidget {
color: #bbb;
background-color: black;
border-radius: 2px;
padding: 3px 6px 1px;
box-shadow: inset 1px 1px 4px rgba(255,255,255,0.5);
text-shadow: 1px 1px 4px rgba(0,0,0,0.8);
}
.window-picker-toggle {
padding: 3px;
}
.window-picker-toggle > StWidet {
border: 1px solid rgba(255,255,255,0.3);
}
.window-button > StWidget {
-st-natural-width: 18.75em;
max-width: 18.75em;
}
.window-button:hover > StWidget,
.window-picker-toggle:hover > StWidget {
color: white;
background-color: #1f1f1f;
}
.window-button:active > StWidget,
.window-button:focus > StWidget {
box-shadow: inset 2px 2px 4px rgba(255,255,255,0.5);
}
.window-button.focused > StWidget,
.window-picker-toggle:checked > StWidget {
color: white;
box-shadow: inset 1px 1px 4px rgba(255,255,255,0.7);
}
.window-button.focused:active > StWidget,
.window-picker-toggle:checked:active > StWidget {
box-shadow: inset 2px 2px 4px rgba(255,255,255,0.7);
}
.window-button.minimized > StWidget {
color: #666;
box-shadow: inset -1px -1px 4px rgba(255,255,255,0.5);
}
.window-button.minimized:active > StWidget {
box-shadow: inset -2px -2px 4px rgba(255,255,255,0.5);
}
.window-button-icon {
width: 24px;
height: 24px;
}
.window-list-workspace-indicator .status-label-bin {
background-color: rgba(200, 200, 200, .3);
border: 1px solid #cccccc;
padding: 0 3px;
margin: 3px;
}
.window-list-workspace-indicator .workspaces-box {
spacing: 3px;
padding: 3px;
}
.window-list-workspace-indicator .workspace {
border: 2px solid #000;
width: 52px;
border-radius: 4px;
background-color: #595959;
}
.window-list-workspace-indicator .workspace.active {
border-color: #fff;
}
.window-list-window-preview {
background-color: #bebebe;
border: 1px solid #828282;
}
.window-list-window-preview.active {
background-color: #d4d4d4;
}
.notification {
font-weight: normal;
}

View File

@@ -258,7 +258,7 @@ var WorkspaceIndicator = class WorkspaceIndicator extends PanelMenu.Button {
}
constructor() {
super(0.0, _('Workspace Indicator'), true);
super(0.5, _('Workspace Indicator'), true);
this.setMenu(new PopupMenu.PopupMenu(this, 0.0, St.Side.BOTTOM));
this.add_style_class_name('window-list-workspace-indicator');
this.remove_style_class_name('panel-button');

View File

@@ -263,7 +263,7 @@ class WorkspaceIndicator extends PanelMenu.Button {
}
constructor() {
super(0.0, _('Workspace Indicator'));
super(0.5, _('Workspace Indicator'));
let container = new St.Widget({
layout_manager: new Clutter.BinLayout(),

View File

@@ -1,6 +1,6 @@
project('gnome-shell-extensions',
version: '43.1',
meson_version: '>= 0.53.0',
version: '45.alpha',
meson_version: '>= 0.58.0',
license: 'GPL2+'
)
@@ -15,7 +15,6 @@ datadir = get_option('datadir')
shelldir = join_paths(datadir, 'gnome-shell')
extensiondir = join_paths(shelldir, 'extensions')
modedir = join_paths(shelldir, 'modes')
themedir = join_paths(shelldir, 'theme')
schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
@@ -37,6 +36,7 @@ classic_extensions = [
default_extensions = classic_extensions
default_extensions += [
'drive-menu',
'light-style',
'screenshot-window-sizer',
'windowsNavigator',
'workspace-indicator'
@@ -93,7 +93,23 @@ endif
subdir('extensions')
subdir('po')
meson.add_dist_script('meson/generate-stylesheets.py')
gnome.post_install(
glib_compile_schemas: true,
)
meson.add_dist_script('meson/check-version.py',
meson.project_version(),
'NEWS')
summary_options = {
'extensions': enabled_extensions,
'classic_mode': get_option('classic_mode'),
}
summary_dirs = {
'prefix': get_option('prefix'),
'datadir': get_option('datadir'),
}
summary(summary_dirs, section: 'Directories')
summary(summary_options, section: 'Build Options')

View File

@@ -1,13 +0,0 @@
#!/usr/bin/env python3
import os
from pathlib import PurePath
import subprocess
sourceroot = os.environ.get('MESON_SOURCE_ROOT')
distroot = os.environ.get('MESON_DIST_ROOT')
stylesheet_path = PurePath('data/gnome-classic.css')
src = PurePath(sourceroot, stylesheet_path.with_suffix('.scss'))
dst = PurePath(distroot, stylesheet_path)
subprocess.run(['sassc', '-a', src, dst], check=True)

101
po/be.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
"issues\n"
"POT-Creation-Date: 2021-01-20 23:03+0000\n"
"PO-Revision-Date: 2021-01-24 15:33+0300\n"
"POT-Creation-Date: 2022-07-10 12:54+0000\n"
"PO-Revision-Date: 2022-10-19 15:20+0300\n"
"Last-Translator: Launchpad translators\n"
"Language-Team: Belarusian <i18n-bel-gnome@googlegroups.com>\n"
"Language: be\n"
@@ -18,21 +18,30 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 2.4.2\n"
"X-Generator: Poedit 3.0\n"
#: data/gnome-classic.desktop.in:3
msgid "GNOME Classic"
msgstr "Класічны GNOME"
#: data/gnome-classic.desktop.in:4
#: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
#: data/gnome-classic-xorg.desktop.in:4
msgid "This session logs you into GNOME Classic"
msgstr "Гэты сеанс выкарыстоўвае класічны GNOME"
#: extensions/apps-menu/extension.js:113
#: data/gnome-classic-wayland.desktop.in:3
msgid "GNOME Classic on Wayland"
msgstr "Класічны GNOME на Wayland"
#: data/gnome-classic-xorg.desktop.in:3
msgid "GNOME Classic on Xorg"
msgstr "Класічны GNOME на Xorg"
#: extensions/apps-menu/extension.js:118
msgid "Favorites"
msgstr "Абраныя"
#: extensions/apps-menu/extension.js:369
#: extensions/apps-menu/extension.js:379
msgid "Applications"
msgstr "Праграмы"
@@ -48,43 +57,41 @@ msgstr ""
"Спіс радкоў, кожны з якіх змяшчае ідэнтыфікатар праграмы (імя файла *."
"desktop), затым двукроп'е і нумар працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:35
#: extensions/auto-move-windows/prefs.js:152
msgid "Workspace Rules"
msgstr "Правілы для працоўнай прасторы"
#: extensions/auto-move-windows/prefs.js:237
#: extensions/auto-move-windows/prefs.js:306
msgid "Add Rule"
msgstr "Дадаць правіла"
#. TRANSLATORS: %s is the filesystem name
#: extensions/drive-menu/extension.js:112
#: extensions/places-menu/placeDisplay.js:233
#: extensions/drive-menu/extension.js:126
#: extensions/places-menu/placeDisplay.js:210
#, javascript-format
msgid "Ejecting drive “%s” failed:"
msgstr "Не ўдалося выняць дыск «%s»:"
#: extensions/drive-menu/extension.js:128
#: extensions/drive-menu/extension.js:145
msgid "Removable devices"
msgstr "Здымныя прылады"
#: extensions/drive-menu/extension.js:155
#: extensions/drive-menu/extension.js:167
msgid "Open Files"
msgstr "Адкрыць файлы"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
#, fuzzy
msgid "Use more screen for windows"
msgstr "Выкарыстоўваць большую плошчу экрана для вокнаў"
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
#, fuzzy
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Спрабаваць выкарыстаць большую плошчу экрана для размяшчэння мініяцюр праз "
"змяненне суадносінаў бакоў экрана, ўшчыльняючы іх, каб зменшыць памеры "
"змяненне суадносін бакоў экрана, ўшчыльняючы іх, каб зменшыць памеры "
"абмежавальнай рамкі. Гэты параметр ужываецца толькі з натуральным "
"размяшчэннем мініяцюр."
@@ -102,31 +109,31 @@ msgstr ""
"перадвызначана). Каб змена налады ўступіла ў сілу, трэба перазапусціць "
"абалонку."
#: extensions/places-menu/extension.js:89
#: extensions/places-menu/extension.js:93
#: extensions/places-menu/extension.js:94
#: extensions/places-menu/extension.js:97
msgid "Places"
msgstr "Месцы"
#: extensions/places-menu/placeDisplay.js:46
#: extensions/places-menu/placeDisplay.js:49
#, javascript-format
msgid "Failed to launch “%s”"
msgstr "Не ўдалося запусціць «%s»"
#: extensions/places-menu/placeDisplay.js:61
#: extensions/places-menu/placeDisplay.js:64
#, javascript-format
msgid "Failed to mount volume for “%s”"
msgstr "Не ўдалося прымацаваць том для «%s»."
#: extensions/places-menu/placeDisplay.js:125
#: extensions/places-menu/placeDisplay.js:148
#: extensions/places-menu/placeDisplay.js:171
msgid "Computer"
msgstr "Камп'ютар"
#: extensions/places-menu/placeDisplay.js:359
#: extensions/places-menu/placeDisplay.js:336
msgid "Home"
msgstr "Хатняя папка"
#: extensions/places-menu/placeDisplay.js:404
#: extensions/places-menu/placeDisplay.js:381
msgid "Browse Network"
msgstr "Агляд сеткі"
@@ -146,47 +153,47 @@ msgstr "Назва тэмы"
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Назва тэмы, што загрузіцца з ~/.themes/name/gnome-shell"
#: extensions/window-list/extension.js:98
#: extensions/window-list/extension.js:72
msgid "Close"
msgstr "Закрыць"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:92
msgid "Unminimize"
msgstr "Скасаваць згортванне"
#: extensions/window-list/extension.js:118
#: extensions/window-list/extension.js:92
msgid "Minimize"
msgstr "Згарнуць"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:99
msgid "Unmaximize"
msgstr "Скасаваць разгортванне"
#: extensions/window-list/extension.js:125
#: extensions/window-list/extension.js:99
msgid "Maximize"
msgstr "Разгарнуць"
#: extensions/window-list/extension.js:432
#: extensions/window-list/extension.js:483
msgid "Minimize all"
msgstr "Згарнуць усе"
#: extensions/window-list/extension.js:438
#: extensions/window-list/extension.js:489
msgid "Unminimize all"
msgstr "Скасаваць згортванне для ўсіх"
#: extensions/window-list/extension.js:444
#: extensions/window-list/extension.js:495
msgid "Maximize all"
msgstr "Разгарнуць усе"
#: extensions/window-list/extension.js:452
#: extensions/window-list/extension.js:503
msgid "Unmaximize all"
msgstr "Скасаваць разгортванне для ўсіх"
#: extensions/window-list/extension.js:460
#: extensions/window-list/extension.js:511
msgid "Close all"
msgstr "Закрыць усе"
#: extensions/window-list/extension.js:737
#: extensions/window-list/extension.js:795
msgid "Window List"
msgstr "Спіс вокнаў"
@@ -203,7 +210,7 @@ msgstr ""
"значэнні: «never» (ніколі), «auto» (аўтаматычна), «always» (заўсёды)."
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
#: extensions/window-list/prefs.js:100
#: extensions/window-list/prefs.js:79
msgid "Show windows from all workspaces"
msgstr "Паказваць вокны з усіх працоўных прастор"
@@ -222,41 +229,41 @@ msgid ""
msgstr ""
"Паказваць спіс вокнаў на ўсіх падлучаных маніторах ці толькі на асноўным."
#: extensions/window-list/prefs.js:29
#: extensions/window-list/prefs.js:35
msgid "Window Grouping"
msgstr "Групаванне вокнаў"
#: extensions/window-list/prefs.js:58
#: extensions/window-list/prefs.js:40
msgid "Never group windows"
msgstr "Ніколі не групаваць вокны"
#: extensions/window-list/prefs.js:59
#: extensions/window-list/prefs.js:41
msgid "Group windows when space is limited"
msgstr "Групаваць вокны калі не хапае месца"
#: extensions/window-list/prefs.js:60
#: extensions/window-list/prefs.js:42
msgid "Always group windows"
msgstr "Заўсёды групаваць вокны"
#: extensions/window-list/prefs.js:94
#: extensions/window-list/prefs.js:66
msgid "Show on all monitors"
msgstr "Паказваць на ўсіх маніторах"
#: extensions/window-list/workspaceIndicator.js:247
#: extensions/workspace-indicator/extension.js:253
#: extensions/window-list/workspaceIndicator.js:261
#: extensions/workspace-indicator/extension.js:266
msgid "Workspace Indicator"
msgstr "Індыкатар працоўнай прасторы"
#: extensions/workspace-indicator/prefs.js:34
msgid "Workspace Names"
msgstr "Назвы працоўных прастор"
#: extensions/workspace-indicator/prefs.js:67
#: extensions/workspace-indicator/prefs.js:62
#, javascript-format
msgid "Workspace %d"
msgstr "Працоўная прастора %d"
#: extensions/workspace-indicator/prefs.js:208
#: extensions/workspace-indicator/prefs.js:129
msgid "Workspace Names"
msgstr "Назвы працоўных прастор"
#: extensions/workspace-indicator/prefs.js:255
msgid "Add Workspace"
msgstr "Дадаць працоўную прастору"