Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f53c8fd4bc | ||
|
|
d7db924424 | ||
|
|
71e78265d5 | ||
|
|
fa5c4bade1 | ||
|
|
a7d4d8df80 | ||
|
|
791682e836 | ||
|
|
c815e506dd | ||
|
|
176206a38c | ||
|
|
72b2534790 | ||
|
|
28ac6906c2 | ||
|
|
e30f634d08 | ||
|
|
aed90a3f6c | ||
|
|
7054010520 | ||
|
|
cc3e2842a8 | ||
|
|
f6d4e44ee4 | ||
|
|
bcf0be86af | ||
|
|
fb86b18cf1 | ||
|
|
6400be4a6c | ||
|
|
b1f727fa34 | ||
|
|
97d0a0e514 |
@@ -3,10 +3,13 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
include:
|
||||
- remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
|
||||
- remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bc70242ffb8402243e934659ecc1a2d1c89eca2b/templates/ci-fairy.yml"
|
||||
- project: 'Infrastructure/openshift-images/gnome-release-service'
|
||||
file: '/ci-templates/release-module.yml'
|
||||
- remote: 'https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/master/templates/fedora.yml'
|
||||
- remote: "https://gitlab.gnome.org/Infrastructure/freedesktop-ci-templates/-/raw/master/templates/ci-fairy.yml"
|
||||
- component: gitlab.gnome.org/GNOME/citemplates/release-service@master
|
||||
inputs:
|
||||
job-stage: deploy
|
||||
dist-job-name: fedora-dist-tarball
|
||||
tarball-artifact-path: "$TARBALL_ARTIFACT_PATH"
|
||||
|
||||
stages:
|
||||
- pre_review
|
||||
@@ -16,7 +19,7 @@ stages:
|
||||
- deploy
|
||||
|
||||
default:
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/40:2024-07-11.0
|
||||
image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/41:2024-10-18.0
|
||||
# Cancel jobs if newer commits are pushed to the branch
|
||||
interruptible: true
|
||||
# Auto-retry jobs in case of infra failures
|
||||
@@ -30,7 +33,8 @@ default:
|
||||
|
||||
variables:
|
||||
FDO_UPSTREAM_REPO: GNOME/gnome-shell-extensions
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
MESON_BUILD_DIR: build
|
||||
TARBALL_ARTIFACT_PATH: "${MESON_BUILD_DIR}/meson-dist/${CI_PROJECT_NAME}-${CI_COMMIT_TAG}.tar.xz"
|
||||
|
||||
workflow:
|
||||
rules:
|
||||
@@ -108,14 +112,16 @@ js_check:
|
||||
eslint:
|
||||
stage: review
|
||||
<<: *prereview_req
|
||||
variables:
|
||||
LINT_LOG: "eslint-report.xml"
|
||||
script:
|
||||
- export NODE_PATH=$(npm root -g)
|
||||
- ./.gitlab-ci/run-eslint --output-file ${LINT_LOG} --format junit --stdout
|
||||
- ./.gitlab-ci/run-eslint --output-file "$LINT_LOG" --format junit --stdout
|
||||
artifacts:
|
||||
paths:
|
||||
- ${LINT_LOG}
|
||||
- "$LINT_LOG"
|
||||
reports:
|
||||
junit: ${LINT_LOG}
|
||||
junit: "$LINT_LOG"
|
||||
|
||||
potfile_js_check:
|
||||
stage: review
|
||||
@@ -141,28 +147,13 @@ fedora-build:
|
||||
stage: build
|
||||
<<: *prereview_req
|
||||
script:
|
||||
- meson setup build --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C build
|
||||
- meson test -C build
|
||||
- meson install -C build
|
||||
- meson setup "$MESON_BUILD_DIR" --werror -Dextension_set=all -Dclassic_mode=true
|
||||
- meson compile -C "$MESON_BUILD_DIR"
|
||||
- meson test -C "$MESON_BUILD_DIR"
|
||||
- meson install -C "$MESON_BUILD_DIR"
|
||||
artifacts:
|
||||
paths:
|
||||
- build
|
||||
|
||||
fedora-distinfo:
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-build
|
||||
script:
|
||||
- .gitlab-ci/export-artifact-path build > dist.env
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: dist.env
|
||||
paths:
|
||||
- build
|
||||
- dist.env
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
- "$MESON_BUILD_DIR"
|
||||
|
||||
fedora-dist:
|
||||
stage: deploy
|
||||
@@ -171,7 +162,7 @@ fedora-dist:
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: normal
|
||||
script:
|
||||
- meson dist -C build
|
||||
- meson dist -C "$MESON_BUILD_DIR"
|
||||
rules:
|
||||
- if: '$CI_PIPELINE_SOURCE == "merge_request_event"'
|
||||
changes:
|
||||
@@ -180,21 +171,11 @@ fedora-dist:
|
||||
|
||||
fedora-dist-tarball:
|
||||
extends: fedora-dist
|
||||
needs:
|
||||
- fedora-distinfo
|
||||
artifacts:
|
||||
expose_as: 'Get tarball here'
|
||||
name: "${CI_JOB_NAME}-${CI_COMMIT_REF_NAME}"
|
||||
when: always
|
||||
paths:
|
||||
- $TARBALL_ARTIFACT_PATH
|
||||
reports:
|
||||
dotenv: dist.env
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
release-module:
|
||||
stage: deploy
|
||||
needs:
|
||||
- fedora-dist-tarball
|
||||
extends: .release-module
|
||||
- "$TARBALL_ARTIFACT_PATH"
|
||||
rules:
|
||||
- if: '$CI_COMMIT_TAG'
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
#!/usr/bin/gjs -m
|
||||
// SPDX-FileCopyrightText: 2024 Florian Müllner <fmuellner@gnome.org>
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
import Gio from 'gi://Gio';
|
||||
import {programArgs, programInvocationName, exit} from 'system';
|
||||
|
||||
const [buildDir] = programArgs;
|
||||
if (!buildDir) {
|
||||
printerr(`usage: ${programInvocationName} <build-dir>`);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
const subprocess = Gio.Subprocess.new(
|
||||
['meson', 'introspect', '--projectinfo', buildDir],
|
||||
Gio.SubprocessFlags.STDOUT_PIPE);
|
||||
const [, out] = subprocess.communicate_utf8(null, null);
|
||||
|
||||
const {descriptive_name, version} = JSON.parse(out);
|
||||
print(`TARBALL_ARTIFACT_PATH=${buildDir}/meson-dist/${descriptive_name}-${version}.tar.xz`);
|
||||
29
NEWS
29
NEWS
@@ -1,3 +1,32 @@
|
||||
47.5
|
||||
====
|
||||
* Allow disabling the X11 session [Neal; !396, !400]
|
||||
|
||||
Contributors:
|
||||
Neal Gompa
|
||||
|
||||
47.4
|
||||
====
|
||||
* window-list: Fix regression in chrome tracking [Florian; !379]
|
||||
* Misc. bug fixes and cleanups [Florian; !376]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner
|
||||
|
||||
47.3
|
||||
====
|
||||
* places-menu: Fix opening drives with mount operations [Florian; !361]
|
||||
* window-list: Fix hiding when entering overview with gestures [Florian; !364]
|
||||
* workspace-indicator: Only show previews of regular windows [Florian; !363]
|
||||
* Misc. bug fixes and cleanups [Florian, Bartłomiej; !362, !365, !367,
|
||||
!368, !370]
|
||||
|
||||
Contributors:
|
||||
Florian Müllner, Bartłomiej Piotrowski
|
||||
|
||||
Translators:
|
||||
Yi-Jyun Pan [zh_TW]
|
||||
|
||||
47.2
|
||||
====
|
||||
* places-menu: Fix a11y labelling [Florian; #542]
|
||||
|
||||
@@ -2,14 +2,19 @@
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
have_x11 = get_option('x11')
|
||||
|
||||
session_desktop_base = 'gnome-classic'
|
||||
|
||||
session_desktops = [
|
||||
session_desktop_base,
|
||||
session_desktop_base + '-xorg',
|
||||
session_desktop_base + '-wayland',
|
||||
]
|
||||
|
||||
if have_x11
|
||||
session_desktops += [session_desktop_base + '-xorg']
|
||||
endif
|
||||
|
||||
foreach name : session_desktops
|
||||
session_desktop = name + '.desktop'
|
||||
if name.endswith('-xorg')
|
||||
@@ -21,7 +26,7 @@ foreach name : session_desktops
|
||||
# There is a workaround in meson/session-post-install.py until proper
|
||||
# solution arises:
|
||||
# https://github.com/mesonbuild/meson/issues/2416
|
||||
session_instdir = xsessiondir
|
||||
session_instdir = wlsessiondir
|
||||
#session_instdir = [ xesssiondir, wlsessiondir ]
|
||||
endif
|
||||
i18n.merge_file(
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
//
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
import Gio from 'gi://Gio';
|
||||
import GLib from 'gi://GLib';
|
||||
import Shell from 'gi://Shell';
|
||||
@@ -61,15 +60,15 @@ class PlaceInfo extends EventEmitter {
|
||||
return;
|
||||
}
|
||||
|
||||
let source = {
|
||||
get_icon: () => this.icon,
|
||||
const source = {
|
||||
get_drive: () => null,
|
||||
};
|
||||
let op = new ShellMountOperation.ShellMountOperation(source);
|
||||
try {
|
||||
await this.file.mount_enclosing_volume(0, op.mountOp, null);
|
||||
|
||||
if (tryMount)
|
||||
this._ensureMountAndLaunch(context, false);
|
||||
this._ensureMountAndLaunch(context, false).catch(logError);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
Main.notifyError(_('Failed to mount volume for “%s”').format(this.name), e.message);
|
||||
@@ -81,7 +80,7 @@ class PlaceInfo extends EventEmitter {
|
||||
|
||||
launch(timestamp) {
|
||||
let launchContext = global.create_app_launch_context(timestamp, -1);
|
||||
this._ensureMountAndLaunch(launchContext, true);
|
||||
this._ensureMountAndLaunch(launchContext, true).catch(logError);
|
||||
}
|
||||
|
||||
getIcon() {
|
||||
|
||||
@@ -77,7 +77,7 @@ class WindowContextMenu extends PopupMenu.PopupMenu {
|
||||
'notify::minimized', this._updateMinimizeItem.bind(this),
|
||||
'notify::maximized-horizontally', this._updateMaximizeItem.bind(this),
|
||||
'notify::maximized-vertically', this._updateMaximizeItem.bind(this),
|
||||
this);
|
||||
this.actor);
|
||||
|
||||
this._updateMinimizeItem();
|
||||
this._updateMaximizeItem();
|
||||
@@ -772,10 +772,11 @@ class WindowList extends St.Widget {
|
||||
() => this._onWorkspaceMenuSet(), this);
|
||||
this._onWorkspaceMenuSet();
|
||||
|
||||
Main.layoutManager.addChrome(this, {
|
||||
const chromeOptions = {
|
||||
affectsStruts: true,
|
||||
trackFullscreen: true,
|
||||
});
|
||||
};
|
||||
Main.layoutManager.addChrome(this, chromeOptions);
|
||||
Main.uiGroup.set_child_above_sibling(this, Main.layoutManager.panelBox);
|
||||
Main.ctrlAltTabManager.addGroup(this, _('Window List'), 'start-here-symbolic');
|
||||
|
||||
@@ -812,10 +813,12 @@ class WindowList extends St.Widget {
|
||||
|
||||
Main.overview.connectObject(
|
||||
'showing', () => {
|
||||
Main.layoutManager.untrackChrome(this);
|
||||
this.hide();
|
||||
this._updateKeyboardAnchor();
|
||||
},
|
||||
'hidden', () => {
|
||||
Main.layoutManager.trackChrome(this, chromeOptions);
|
||||
this.visible = !this._monitor.inFullscreen;
|
||||
this._updateKeyboardAnchor();
|
||||
}, this);
|
||||
|
||||
@@ -43,7 +43,7 @@ class WindowPreview extends St.Button {
|
||||
'size-changed', () => this._checkRelayout(),
|
||||
'position-changed', () => this._checkRelayout(),
|
||||
'notify::minimized', this._updateVisible.bind(this),
|
||||
'notify::window-type', this._updateVisible.bind(this),
|
||||
'notify::skip-taskbar', this._updateVisible.bind(this),
|
||||
this);
|
||||
this._updateVisible();
|
||||
|
||||
@@ -72,7 +72,7 @@ class WindowPreview extends St.Button {
|
||||
}
|
||||
|
||||
_updateVisible() {
|
||||
this.visible = this._window.window_type !== Meta.WindowType.DESKTOP &&
|
||||
this.visible = !this._window.skip_taskbar &&
|
||||
this._window.showing_on_its_workspace();
|
||||
}
|
||||
}
|
||||
|
||||
14
meson.build
14
meson.build
@@ -4,7 +4,7 @@
|
||||
|
||||
project(
|
||||
'gnome-shell-extensions',
|
||||
version: '47.2',
|
||||
version: '47.5',
|
||||
meson_version: '>= 1.1.0',
|
||||
license: 'GPL-2.0-or-later',
|
||||
)
|
||||
@@ -31,6 +31,8 @@ shell_version = ver_arr[0]
|
||||
|
||||
uuid_suffix = '@gnome-shell-extensions.gcampax.github.com'
|
||||
|
||||
have_x11 = get_option('x11')
|
||||
|
||||
classic_extensions = [
|
||||
'apps-menu',
|
||||
'places-menu',
|
||||
@@ -86,10 +88,12 @@ endforeach
|
||||
|
||||
if classic_mode_enabled
|
||||
subdir('data')
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir),
|
||||
)
|
||||
if have_x11
|
||||
meson.add_install_script(
|
||||
'meson/session-post-install.py',
|
||||
join_paths(get_option('prefix'), datadir),
|
||||
)
|
||||
endif
|
||||
endif
|
||||
|
||||
subdir('extensions')
|
||||
|
||||
@@ -20,3 +20,9 @@ option('classic_mode',
|
||||
value: false,
|
||||
description: 'Enable installing data files for classic mode.'
|
||||
)
|
||||
|
||||
option('x11',
|
||||
type: 'boolean',
|
||||
value: true,
|
||||
description: 'Enable X11 session support.'
|
||||
)
|
||||
|
||||
@@ -15,10 +15,10 @@ else:
|
||||
|
||||
# FIXME: Meson is unable to copy a generated target file:
|
||||
# https://groups.google.com/forum/#!topic/mesonbuild/3iIoYPrN4P0
|
||||
dst_dir = os.path.join(install_root, 'wayland-sessions')
|
||||
dst_dir = os.path.join(install_root, 'xsessions')
|
||||
if not os.path.exists(dst_dir):
|
||||
os.makedirs(dst_dir)
|
||||
|
||||
src = os.path.join(install_root, 'xsessions', 'gnome-classic.desktop')
|
||||
src = os.path.join(install_root, 'wayland-sessions', 'gnome-classic.desktop')
|
||||
dst = os.path.join(dst_dir, 'gnome-classic.desktop')
|
||||
shutil.copyfile(src, dst)
|
||||
|
||||
87
po/zh_TW.po
87
po/zh_TW.po
@@ -9,9 +9,9 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||
"issues\n"
|
||||
"POT-Creation-Date: 2024-04-29 14:28+0000\n"
|
||||
"PO-Revision-Date: 2024-07-24 10:25+0000\n"
|
||||
"Last-Translator: Chao-Hsiung Liao <pesder@mail.edu.tw>\n"
|
||||
"POT-Creation-Date: 2024-11-25 15:07+0000\n"
|
||||
"PO-Revision-Date: 2025-01-12 23:57+0800\n"
|
||||
"Last-Translator: Yi-Jyun Pan <pan93412@gmail.com>\n"
|
||||
"Language-Team: Chinese (Traditional) <http://darkbear.mercusysddns.com/"
|
||||
"projects/gnome-45/gnome-shell-extensions-po-ui-gnome-46-zh_tw/zh_Hant/>\n"
|
||||
"Language: zh_TW\n"
|
||||
@@ -19,7 +19,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
"X-Generator: Poedit 3.5\n"
|
||||
|
||||
#: data/gnome-classic.desktop.in:3
|
||||
msgid "GNOME Classic"
|
||||
@@ -38,11 +38,11 @@ msgstr "GNOME Classic 採行 Wayland"
|
||||
msgid "GNOME Classic on Xorg"
|
||||
msgstr "GNOME Classic 採行 Xorg"
|
||||
|
||||
#: extensions/apps-menu/extension.js:126
|
||||
#: extensions/apps-menu/extension.js:125
|
||||
msgid "Favorites"
|
||||
msgstr "喜愛"
|
||||
|
||||
#: extensions/apps-menu/extension.js:397
|
||||
#: extensions/apps-menu/extension.js:399
|
||||
msgid "Apps"
|
||||
msgstr "程式"
|
||||
|
||||
@@ -58,11 +58,11 @@ msgstr ""
|
||||
"字串的列表,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
|
||||
"工作區號碼"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:159
|
||||
#: extensions/auto-move-windows/prefs.js:156
|
||||
msgid "Workspace Rules"
|
||||
msgstr "工作區規則"
|
||||
|
||||
#: extensions/auto-move-windows/prefs.js:314
|
||||
#: extensions/auto-move-windows/prefs.js:311
|
||||
msgid "Add Rule"
|
||||
msgstr "加入規則"
|
||||
|
||||
@@ -107,8 +107,8 @@ msgstr ""
|
||||
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
|
||||
"值。變更這個設定值需要重新啟動 Shell 來套用效果。"
|
||||
|
||||
#: extensions/places-menu/extension.js:91
|
||||
#: extensions/places-menu/extension.js:94
|
||||
#: extensions/places-menu/extension.js:75
|
||||
#: extensions/places-menu/extension.js:78
|
||||
msgid "Places"
|
||||
msgstr "位置"
|
||||
|
||||
@@ -223,47 +223,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:72
|
||||
#: extensions/window-list/extension.js:70
|
||||
msgid "Close"
|
||||
msgstr "關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Unminimize"
|
||||
msgstr "取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:99
|
||||
#: extensions/window-list/extension.js:97
|
||||
msgid "Minimize"
|
||||
msgstr "最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Unmaximize"
|
||||
msgstr "取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:106
|
||||
#: extensions/window-list/extension.js:104
|
||||
msgid "Maximize"
|
||||
msgstr "最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:471
|
||||
#: extensions/window-list/extension.js:485
|
||||
msgid "Minimize all"
|
||||
msgstr "全部最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:477
|
||||
#: extensions/window-list/extension.js:491
|
||||
msgid "Unminimize all"
|
||||
msgstr "全部取消最小化"
|
||||
|
||||
#: extensions/window-list/extension.js:483
|
||||
#: extensions/window-list/extension.js:497
|
||||
msgid "Maximize all"
|
||||
msgstr "全部最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:491
|
||||
#: extensions/window-list/extension.js:505
|
||||
msgid "Unmaximize all"
|
||||
msgstr "全部取消最大化"
|
||||
|
||||
#: extensions/window-list/extension.js:499
|
||||
#: extensions/window-list/extension.js:513
|
||||
msgid "Close all"
|
||||
msgstr "全部關閉"
|
||||
|
||||
#: extensions/window-list/extension.js:773
|
||||
#: extensions/window-list/extension.js:780
|
||||
msgid "Window List"
|
||||
msgstr "視窗列表"
|
||||
|
||||
@@ -279,7 +279,7 @@ msgstr ""
|
||||
"決定在視窗列表中何時群組視窗。可能的數值有「never」、「auto」、「always」。"
|
||||
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:26
|
||||
#: extensions/window-list/prefs.js:79
|
||||
#: extensions/window-list/prefs.js:69
|
||||
msgid "Show windows from all workspaces"
|
||||
msgstr "顯示所有工作區的視窗"
|
||||
|
||||
@@ -297,44 +297,59 @@ msgid ""
|
||||
"primary one."
|
||||
msgstr "是否在所有連接的螢幕顯示視窗列表或是只出現在主要螢幕上。"
|
||||
|
||||
#: extensions/window-list/prefs.js:35
|
||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:41
|
||||
msgid "Show workspace previews in window list"
|
||||
msgstr "在視窗清單顯示工作區預覽"
|
||||
|
||||
#: extensions/window-list/prefs.js:36
|
||||
msgid "Window Grouping"
|
||||
msgstr "視窗群組"
|
||||
|
||||
#: extensions/window-list/prefs.js:40
|
||||
#: extensions/window-list/prefs.js:41
|
||||
msgid "Never group windows"
|
||||
msgstr "永不群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:41
|
||||
#: extensions/window-list/prefs.js:42
|
||||
msgid "Group windows when space is limited"
|
||||
msgstr "當空間受限時群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:42
|
||||
#: extensions/window-list/prefs.js:43
|
||||
msgid "Always group windows"
|
||||
msgstr "永遠群組視窗"
|
||||
|
||||
#: extensions/window-list/prefs.js:66
|
||||
#: extensions/window-list/prefs.js:63
|
||||
msgid "Show on all monitors"
|
||||
msgstr "顯示於所有螢幕"
|
||||
|
||||
#: extensions/window-list/workspaceIndicator.js:255
|
||||
#: extensions/workspace-indicator/extension.js:261
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "工作區指示器"
|
||||
#: extensions/window-list/prefs.js:75
|
||||
msgid "Show workspace previews"
|
||||
msgstr "顯示工作區預覽"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:69
|
||||
#: extensions/workspace-indicator/prefs.js:29
|
||||
msgid "Show Previews In Top Bar"
|
||||
msgstr "在頂端列顯示預覽"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:87
|
||||
#, javascript-format
|
||||
msgid "Workspace %d"
|
||||
msgstr "工作區 %d"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:136
|
||||
#: extensions/workspace-indicator/prefs.js:154
|
||||
msgid "Workspace Names"
|
||||
msgstr "工作區名稱"
|
||||
|
||||
#: extensions/workspace-indicator/prefs.js:262
|
||||
#: extensions/workspace-indicator/prefs.js:280
|
||||
msgid "Add Workspace"
|
||||
msgstr "新增工作區"
|
||||
|
||||
#: extensions/workspace-indicator/schemas/org.gnome.shell.extensions.workspace-indicator.gschema.xml:12
|
||||
msgid "Show workspace previews in top bar"
|
||||
msgstr "在頂端列顯示工作區預覽"
|
||||
|
||||
#: extensions/workspace-indicator/workspaceIndicator.js:430
|
||||
msgid "Workspace Indicator"
|
||||
msgstr "工作區指示器"
|
||||
|
||||
#~ msgid "Applications"
|
||||
#~ msgstr "應用程式"
|
||||
|
||||
@@ -468,8 +483,8 @@ msgstr "新增工作區"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
#~ "only' (shows only the application icon) or 'both'."
|
||||
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' "
|
||||
#~ "(shows only the application icon) or 'both'."
|
||||
#~ msgstr ""
|
||||
#~ "設定視窗在切換器中顯示的方式。有效的選項為「thumbnail-only」(顯示視窗的縮"
|
||||
#~ "圖)、「app-icon-only」(僅顯示應用程式圖示),或「both」(兩者)"
|
||||
|
||||
Reference in New Issue
Block a user