Compare commits
31
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
81f999f761 | ||
|
|
17b5c0400a | ||
|
|
ac937b9549 | ||
|
|
0c223de045 | ||
|
|
564235d44c | ||
|
|
92a2361306 | ||
|
|
9f27654729 | ||
|
|
f4013c7a5c | ||
|
|
9e7eff4a3e | ||
|
|
5b2bdd138a | ||
|
|
90d3c5c51d | ||
|
|
b00e531626 | ||
|
|
b1c1b01184 | ||
|
|
739b1e11a0 | ||
|
|
a3541ff0d9 | ||
|
|
8fb5476a1c | ||
|
|
fc8a46f15a | ||
|
|
2e21f7cf72 | ||
|
|
a317d79016 | ||
|
|
4722b89cc3 | ||
|
|
5a4b71ba90 | ||
|
|
a6ee142f21 | ||
|
|
35427ed4f1 | ||
|
|
bce63d3168 | ||
|
|
0426d1d8d5 | ||
|
|
f9aaa732b2 | ||
|
|
7b82c5e12b | ||
|
|
db305687d5 | ||
|
|
f527fe3774 | ||
|
|
3428bebb67 | ||
|
|
73822dc5f5 |
+29
@@ -0,0 +1,29 @@
|
|||||||
|
ABOUT-NLS
|
||||||
|
Makefile
|
||||||
|
Makefile.in
|
||||||
|
Makefile.in.in
|
||||||
|
aclocal.m4
|
||||||
|
autom4te.cache/
|
||||||
|
config/
|
||||||
|
configure
|
||||||
|
config.log
|
||||||
|
config.status
|
||||||
|
data/*.json
|
||||||
|
m4/
|
||||||
|
po/*.header
|
||||||
|
po/*.sed
|
||||||
|
po/*.sin
|
||||||
|
po/Makevars.template
|
||||||
|
po/POTFILES
|
||||||
|
po/Rules-quot
|
||||||
|
po/gnome-shell-extensions.pot
|
||||||
|
po/stamp-it
|
||||||
|
staging/
|
||||||
|
zip-files/
|
||||||
|
|
||||||
|
*~
|
||||||
|
*.gmo
|
||||||
|
metadata.json
|
||||||
|
*.desktop
|
||||||
|
*.gschema.valid
|
||||||
|
*.session
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
image: registry.gitlab.gnome.org/gnome/gnome-shell/extension-ci:v2
|
||||||
|
|
||||||
|
stages:
|
||||||
|
- review
|
||||||
|
- build
|
||||||
|
|
||||||
|
variables:
|
||||||
|
LINT_LOG: "eslint-report.txt"
|
||||||
|
JS_LOG: "js-report.txt"
|
||||||
|
|
||||||
|
.only_default: &only_default
|
||||||
|
only:
|
||||||
|
- branches
|
||||||
|
- tags
|
||||||
|
- merge_requests
|
||||||
|
|
||||||
|
check_commit_log:
|
||||||
|
image: registry.gitlab.gnome.org/gnome/gjs:fedora.static-analysis
|
||||||
|
stage: review
|
||||||
|
script:
|
||||||
|
- ./.gitlab-ci/check-commit-log.sh
|
||||||
|
only:
|
||||||
|
- merge_requests
|
||||||
|
|
||||||
|
js_check:
|
||||||
|
stage: review
|
||||||
|
script:
|
||||||
|
- find extensions -name '*.js' -exec js68 -c -s '{}' ';' 2>&1 | tee $JS_LOG
|
||||||
|
- (! grep -q . $JS_LOG)
|
||||||
|
<<: *only_default
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${JS_LOG}
|
||||||
|
when: on_failure
|
||||||
|
|
||||||
|
eslint:
|
||||||
|
stage: review
|
||||||
|
script:
|
||||||
|
- eslint -o $LINT_LOG extensions --no-color || { cat $LINT_LOG; false; }
|
||||||
|
<<: *only_default
|
||||||
|
artifacts:
|
||||||
|
paths:
|
||||||
|
- ${LINT_LOG}
|
||||||
|
when: on_failure
|
||||||
|
|
||||||
|
build-bundles:
|
||||||
|
stage: build
|
||||||
|
script:
|
||||||
|
- ./export-zips.sh
|
||||||
|
<<: *only_default
|
||||||
|
artifacts:
|
||||||
|
name: 'Extension bundles'
|
||||||
|
expose_as: 'Get Extension bundles here'
|
||||||
|
paths:
|
||||||
|
- zip-files/
|
||||||
Executable
+31
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ -z "$CI_MERGE_REQUEST_TARGET_BRANCH_NAME" ]; then
|
||||||
|
echo Cannot review non-merge request
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
git fetch $CI_MERGE_REQUEST_PROJECT_URL.git $CI_MERGE_REQUEST_TARGET_BRANCH_NAME
|
||||||
|
|
||||||
|
branch_point=$(git merge-base HEAD FETCH_HEAD)
|
||||||
|
|
||||||
|
commits=$(git log --format='format:%H' $branch_point..$CI_COMMIT_SHA)
|
||||||
|
|
||||||
|
if [ -z "$commits" ]; then
|
||||||
|
echo Commit range empty
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
function commit_message_has_url() {
|
||||||
|
commit=$1
|
||||||
|
commit_message=$(git show -s --format='format:%b' $commit)
|
||||||
|
echo "$commit_message" | grep -qe "\($CI_MERGE_REQUEST_PROJECT_URL/\(-/\)\?\(issues\|merge_requests\)/[0-9]\+\|https://bugzilla.gnome.org/show_bug.cgi?id=[0-9]\+\)"
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
for commit in $commits; do
|
||||||
|
if ! commit_message_has_url $commit; then
|
||||||
|
echo "Missing merge request or issue URL on commit $(echo $commit | cut -c -8)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "data/gnome-shell-sass"]
|
||||||
|
path = data/gnome-shell-sass
|
||||||
|
url = https://gitlab.gnome.org/GNOME/gnome-shell-sass.git
|
||||||
@@ -1,3 +1,20 @@
|
|||||||
|
3.37.1
|
||||||
|
======
|
||||||
|
* drive-menu: Emphasize eject buttons [Florian; #223]
|
||||||
|
* user-theme: Add preference dialog [Florian; !117]
|
||||||
|
* window-list: Fix inconsistent state in preference dialog [Milan; !119]
|
||||||
|
* workspace-indicator: Overhaul preference dialog [Florian; !120]
|
||||||
|
* user-theme: Support session mode styles [Florian; !118]
|
||||||
|
* Misc. bug fixes and cleanups [Florian, Xiaoguang; !113, !106, !114, !116]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Milan Crha, Florian Müllner, Xiaoguang Wang
|
||||||
|
|
||||||
|
Translators:
|
||||||
|
Daniel Korostil [uk], Yosef Or Boczko [he], Kristjan SCHMIDT [eo],
|
||||||
|
Dz Chen [zh_CN], Danial Behzadi [fa], Yuri Chornoivan [uk],
|
||||||
|
Anders Jonsson [sv], Daniel Mustieles [es]
|
||||||
|
|
||||||
3.36.0
|
3.36.0
|
||||||
======
|
======
|
||||||
|
|
||||||
|
|||||||
Submodule
+1
Submodule data/gnome-shell-sass added at 475294bf2f
@@ -1,339 +0,0 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
Version 2, June 1991
|
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc. <http://fsf.org>
|
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
|
||||||
of this license document, but changing it is not allowed.
|
|
||||||
|
|
||||||
Preamble
|
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
|
||||||
License is intended to guarantee your freedom to share and change free
|
|
||||||
software--to make sure the software is free for all its users. This
|
|
||||||
General Public License applies to most of the Free Software
|
|
||||||
Foundation's software and to any other program whose authors commit to
|
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
|
||||||
your programs, too.
|
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
|
||||||
have the freedom to distribute copies of free software (and charge for
|
|
||||||
this service if you wish), that you receive source code or can get it
|
|
||||||
if you want it, that you can change the software or use pieces of it
|
|
||||||
in new free programs; and that you know you can do these things.
|
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
|
||||||
anyone to deny you these rights or to ask you to surrender the rights.
|
|
||||||
These restrictions translate to certain responsibilities for you if you
|
|
||||||
distribute copies of the software, or if you modify it.
|
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
|
||||||
gratis or for a fee, you must give the recipients all the rights that
|
|
||||||
you have. You must make sure that they, too, receive or can get the
|
|
||||||
source code. And you must show them these terms so they know their
|
|
||||||
rights.
|
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
|
||||||
distribute and/or modify the software.
|
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
|
||||||
that everyone understands that there is no warranty for this free
|
|
||||||
software. If the software is modified by someone else and passed on, we
|
|
||||||
want its recipients to know that what they have is not the original, so
|
|
||||||
that any problems introduced by others will not reflect on the original
|
|
||||||
authors' reputations.
|
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
|
||||||
program will individually obtain patent licenses, in effect making the
|
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
|
||||||
patent must be licensed for everyone's free use or not licensed at all.
|
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
|
||||||
modification follow.
|
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
|
||||||
under the terms of this General Public License. The "Program", below,
|
|
||||||
refers to any such program or work, and a "work based on the Program"
|
|
||||||
means either the Program or any derivative work under copyright law:
|
|
||||||
that is to say, a work containing the Program or a portion of it,
|
|
||||||
either verbatim or with modifications and/or translated into another
|
|
||||||
language. (Hereinafter, translation is included without limitation in
|
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
|
||||||
covered by this License; they are outside its scope. The act of
|
|
||||||
running the Program is not restricted, and the output from the Program
|
|
||||||
is covered only if its contents constitute a work based on the
|
|
||||||
Program (independent of having been made by running the Program).
|
|
||||||
Whether that is true depends on what the Program does.
|
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
|
||||||
source code as you receive it, in any medium, provided that you
|
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
|
||||||
notices that refer to this License and to the absence of any warranty;
|
|
||||||
and give any other recipients of the Program a copy of this License
|
|
||||||
along with the Program.
|
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
|
||||||
you may at your option offer warranty protection in exchange for a fee.
|
|
||||||
|
|
||||||
2. You may modify your copy or copies of the Program or any portion
|
|
||||||
of it, thus forming a work based on the Program, and copy and
|
|
||||||
distribute such modifications or work under the terms of Section 1
|
|
||||||
above, provided that you also meet all of these conditions:
|
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
|
||||||
stating that you changed the files and the date of any change.
|
|
||||||
|
|
||||||
b) You must cause any work that you distribute or publish, that in
|
|
||||||
whole or in part contains or is derived from the Program or any
|
|
||||||
part thereof, to be licensed as a whole at no charge to all third
|
|
||||||
parties under the terms of this License.
|
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
|
||||||
when run, you must cause it, when started running for such
|
|
||||||
interactive use in the most ordinary way, to print or display an
|
|
||||||
announcement including an appropriate copyright notice and a
|
|
||||||
notice that there is no warranty (or else, saying that you provide
|
|
||||||
a warranty) and that users may redistribute the program under
|
|
||||||
these conditions, and telling the user how to view a copy of this
|
|
||||||
License. (Exception: if the Program itself is interactive but
|
|
||||||
does not normally print such an announcement, your work based on
|
|
||||||
the Program is not required to print an announcement.)
|
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
|
||||||
identifiable sections of that work are not derived from the Program,
|
|
||||||
and can be reasonably considered independent and separate works in
|
|
||||||
themselves, then this License, and its terms, do not apply to those
|
|
||||||
sections when you distribute them as separate works. But when you
|
|
||||||
distribute the same sections as part of a whole which is a work based
|
|
||||||
on the Program, the distribution of the whole must be on the terms of
|
|
||||||
this License, whose permissions for other licensees extend to the
|
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
|
||||||
|
|
||||||
Thus, it is not the intent of this section to claim rights or contest
|
|
||||||
your rights to work written entirely by you; rather, the intent is to
|
|
||||||
exercise the right to control the distribution of derivative or
|
|
||||||
collective works based on the Program.
|
|
||||||
|
|
||||||
In addition, mere aggregation of another work not based on the Program
|
|
||||||
with the Program (or with a work based on the Program) on a volume of
|
|
||||||
a storage or distribution medium does not bring the other work under
|
|
||||||
the scope of this License.
|
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
|
||||||
under Section 2) in object code or executable form under the terms of
|
|
||||||
Sections 1 and 2 above provided that you also do one of the following:
|
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
|
||||||
source code, which must be distributed under the terms of Sections
|
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
|
||||||
|
|
||||||
b) Accompany it with a written offer, valid for at least three
|
|
||||||
years, to give any third party, for a charge no more than your
|
|
||||||
cost of physically performing source distribution, a complete
|
|
||||||
machine-readable copy of the corresponding source code, to be
|
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
|
||||||
customarily used for software interchange; or,
|
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
|
||||||
to distribute corresponding source code. (This alternative is
|
|
||||||
allowed only for noncommercial distribution and only if you
|
|
||||||
received the program in object code or executable form with such
|
|
||||||
an offer, in accord with Subsection b above.)
|
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
|
||||||
making modifications to it. For an executable work, complete source
|
|
||||||
code means all the source code for all modules it contains, plus any
|
|
||||||
associated interface definition files, plus the scripts used to
|
|
||||||
control compilation and installation of the executable. However, as a
|
|
||||||
special exception, the source code distributed need not include
|
|
||||||
anything that is normally distributed (in either source or binary
|
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
|
||||||
operating system on which the executable runs, unless that component
|
|
||||||
itself accompanies the executable.
|
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
|
||||||
access to copy from a designated place, then offering equivalent
|
|
||||||
access to copy the source code from the same place counts as
|
|
||||||
distribution of the source code, even though third parties are not
|
|
||||||
compelled to copy the source along with the object code.
|
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
|
||||||
except as expressly provided under this License. Any attempt
|
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
|
||||||
void, and will automatically terminate your rights under this License.
|
|
||||||
However, parties who have received copies, or rights, from you under
|
|
||||||
this License will not have their licenses terminated so long as such
|
|
||||||
parties remain in full compliance.
|
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
|
||||||
signed it. However, nothing else grants you permission to modify or
|
|
||||||
distribute the Program or its derivative works. These actions are
|
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
|
||||||
modifying or distributing the Program (or any work based on the
|
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
|
||||||
all its terms and conditions for copying, distributing or modifying
|
|
||||||
the Program or works based on it.
|
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
|
||||||
Program), the recipient automatically receives a license from the
|
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
|
||||||
these terms and conditions. You may not impose any further
|
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
|
||||||
You are not responsible for enforcing compliance by third parties to
|
|
||||||
this License.
|
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
|
||||||
infringement or for any other reason (not limited to patent issues),
|
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
|
||||||
excuse you from the conditions of this License. If you cannot
|
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
|
||||||
License and any other pertinent obligations, then as a consequence you
|
|
||||||
may not distribute the Program at all. For example, if a patent
|
|
||||||
license would not permit royalty-free redistribution of the Program by
|
|
||||||
all those who receive copies directly or indirectly through you, then
|
|
||||||
the only way you could satisfy both it and this License would be to
|
|
||||||
refrain entirely from distribution of the Program.
|
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
|
||||||
any particular circumstance, the balance of the section is intended to
|
|
||||||
apply and the section as a whole is intended to apply in other
|
|
||||||
circumstances.
|
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
|
||||||
patents or other property right claims or to contest validity of any
|
|
||||||
such claims; this section has the sole purpose of protecting the
|
|
||||||
integrity of the free software distribution system, which is
|
|
||||||
implemented by public license practices. Many people have made
|
|
||||||
generous contributions to the wide range of software distributed
|
|
||||||
through that system in reliance on consistent application of that
|
|
||||||
system; it is up to the author/donor to decide if he or she is willing
|
|
||||||
to distribute software through any other system and a licensee cannot
|
|
||||||
impose that choice.
|
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
|
||||||
be a consequence of the rest of this License.
|
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
|
||||||
original copyright holder who places the Program under this License
|
|
||||||
may add an explicit geographical distribution limitation excluding
|
|
||||||
those countries, so that distribution is permitted only in or among
|
|
||||||
countries not thus excluded. In such case, this License incorporates
|
|
||||||
the limitation as if written in the body of this License.
|
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
|
||||||
of the General Public License from time to time. Such new versions will
|
|
||||||
be similar in spirit to the present version, but may differ in detail to
|
|
||||||
address new problems or concerns.
|
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
|
||||||
specifies a version number of this License which applies to it and "any
|
|
||||||
later version", you have the option of following the terms and conditions
|
|
||||||
either of that version or of any later version published by the Free
|
|
||||||
Software Foundation. If the Program does not specify a version number of
|
|
||||||
this License, you may choose any version ever published by the Free Software
|
|
||||||
Foundation.
|
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
|
||||||
programs whose distribution conditions are different, write to the author
|
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
|
||||||
of preserving the free status of all derivatives of our free software and
|
|
||||||
of promoting the sharing and reuse of software generally.
|
|
||||||
|
|
||||||
NO WARRANTY
|
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
|
||||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
|
||||||
REPAIR OR CORRECTION.
|
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
|
||||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
|
||||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
|
||||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
|
||||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
|
||||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
|
||||||
possible use to the public, the best way to achieve this is to make it
|
|
||||||
free software which everyone can redistribute and change under these terms.
|
|
||||||
|
|
||||||
To do so, attach the following notices to the program. It is safest
|
|
||||||
to attach them to the start of each source file to most effectively
|
|
||||||
convey the exclusion of warranty; and each file should have at least
|
|
||||||
the "copyright" line and a pointer to where the full notice is found.
|
|
||||||
|
|
||||||
<one line to give the program's name and a brief idea of what it does.>
|
|
||||||
Copyright (C) <year> <name of author>
|
|
||||||
|
|
||||||
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, write to the Free Software
|
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
|
||||||
|
|
||||||
If the program is interactive, make it output a short notice like this
|
|
||||||
when it starts in an interactive mode:
|
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
|
||||||
This is free software, and you are welcome to redistribute it
|
|
||||||
under certain conditions; type `show c' for details.
|
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
|
||||||
parts of the General Public License. Of course, the commands you use may
|
|
||||||
be called something other than `show w' and `show c'; they could even be
|
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
|
||||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
|
||||||
necessary. Here is a sample; alter the names:
|
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
|
||||||
Ty Coon, President of Vice
|
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
|
||||||
consider it more useful to permit linking proprietary applications with the
|
|
||||||
library. If this is what you want to do, use the GNU Library General
|
|
||||||
Public License instead of this License.
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# GNOME Shell Sass
|
|
||||||
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.
|
|
||||||
|
|
||||||
Any changes should be done in the [GNOME Shell subtree][shell-subtree]
|
|
||||||
and not the stand-alone [gnome-shell-sass repository][sass-repo]. They
|
|
||||||
will then be synchronized periodically before releases.
|
|
||||||
|
|
||||||
## License
|
|
||||||
GNOME Shell Sass is distributed under the terms of the GNU General Public
|
|
||||||
License, version 2 or later. See the [COPYING][license] file for details.
|
|
||||||
|
|
||||||
[shell-subtree]: https://gitlab.gnome.org/GNOME/gnome-shell/tree/master/data/theme/gnome-shell-sass
|
|
||||||
[sass-repo]: https://gitlab.gnome.org/GNOME/gnome-shell-sass
|
|
||||||
[license]: COPYING
|
|
||||||
@@ -1,43 +0,0 @@
|
|||||||
// When color definition differs for dark and light variant,
|
|
||||||
// it gets @if ed depending on $variant
|
|
||||||
|
|
||||||
$base_color: if($variant == 'light', #fff, lighten(desaturate(#241f31, 20%), 2%));
|
|
||||||
$bg_color: if($variant == 'light', #f6f5f4, darken(desaturate(#3d3846, 100%), 4%));
|
|
||||||
$fg_color: if($variant == 'light', #2e3436, #eeeeec);
|
|
||||||
|
|
||||||
$selected_fg_color: #fff;
|
|
||||||
$selected_bg_color: if($variant == 'light', #3584e4, darken(#3584e4, 10%));
|
|
||||||
$selected_borders_color: if($variant== 'light', darken($selected_bg_color, 15%), darken($selected_bg_color, 30%));
|
|
||||||
$borders_color: if($variant == 'light', darken($bg_color, 18%), darken($bg_color, 8%));
|
|
||||||
$borders_edge: if($variant == 'light', rgba(255,255,255,0.8), transparentize($fg_color, 0.93));
|
|
||||||
$link_color: if($variant == 'light', darken($selected_bg_color, 10%), lighten($selected_bg_color, 20%));
|
|
||||||
$link_visited_color: if($variant == 'light', darken($selected_bg_color, 20%), lighten($selected_bg_color, 10%));
|
|
||||||
$top_hilight: $borders_edge;
|
|
||||||
|
|
||||||
$warning_color: #f57900;
|
|
||||||
$error_color: #ff8080;
|
|
||||||
$success_color: if($variant == 'light', #33d17a, darken(#33d17a, 10%));
|
|
||||||
$destructive_color: if($variant == 'light', #e01b24, darken(#e01b24, 10%));
|
|
||||||
|
|
||||||
$osd_fg_color: #eeeeec;
|
|
||||||
$osd_text_color: white;
|
|
||||||
$osd_bg_color: transparentize(darken(desaturate(#3d3846, 100%), 12%),0.04);
|
|
||||||
$osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
|
|
||||||
$osd_insensitive_fg_color: mix($osd_fg_color, opacify($osd_bg_color, 1), 50%);
|
|
||||||
$osd_borders_color: transparentize(black, 0.3);
|
|
||||||
$osd_outer_borders_color: transparentize(white, 0.84);
|
|
||||||
|
|
||||||
$shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
|
|
||||||
|
|
||||||
//insensitive state derived colors
|
|
||||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
|
||||||
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
|
||||||
$insensitive_borders_color: mix($borders_color, $base_color, 60%);
|
|
||||||
|
|
||||||
//colors for the backdrop state, derived from the main colors.
|
|
||||||
$backdrop_base_color: if($variant =='light', darken($base_color,1%), lighten($base_color,1%));
|
|
||||||
$backdrop_bg_color: $bg_color;
|
|
||||||
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
|
||||||
$backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
|
|
||||||
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
|
||||||
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
|
||||||
@@ -1,177 +0,0 @@
|
|||||||
//This is the RIGHT PLACE to edit the stylesheet
|
|
||||||
|
|
||||||
//let's start by telling people not to edit the generated CSS:
|
|
||||||
$cakeisalie: "This stylesheet is generated, DO NOT EDIT";
|
|
||||||
/* #{$cakeisalie} */
|
|
||||||
|
|
||||||
/* Copyright 2009, 2015 Red Hat, Inc.
|
|
||||||
*
|
|
||||||
* Portions adapted from Mx's data/style/default.css
|
|
||||||
* Copyright 2009 Intel Corporation
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify it
|
|
||||||
* under the terms and conditions of the GNU Lesser General Public License,
|
|
||||||
* version 2.1, as published by the Free Software Foundation.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope it will be useful, but WITHOUT ANY
|
|
||||||
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
* FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
|
|
||||||
* more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU Lesser General Public License
|
|
||||||
* along with this program; if not, write to the Free Software Foundation,
|
|
||||||
* Inc., 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* Global Values */
|
|
||||||
|
|
||||||
// padding, margin and spacing
|
|
||||||
$base_padding: 6px;
|
|
||||||
$base_margin: 4px;
|
|
||||||
$base_spacing: 6px;
|
|
||||||
|
|
||||||
// border radii
|
|
||||||
$base_border_radius: 5px;
|
|
||||||
|
|
||||||
$modal_radius:$base_border_radius * 2;
|
|
||||||
|
|
||||||
// non-standard colors
|
|
||||||
$bubble_borders_color: lighten($borders_color, if($variant=='light', 0%, 5%));
|
|
||||||
// $bubble_borders_color: if($variant == 'light', rgba(255,255,255,0.1), rgba(0,0,0,0.3));
|
|
||||||
|
|
||||||
// hover
|
|
||||||
$hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 5%));
|
|
||||||
$hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 5%));
|
|
||||||
$hover_borders_color: lighten($borders_color,if($variant=='light', 5%, 3%));
|
|
||||||
|
|
||||||
// active
|
|
||||||
$active_bg_color: if($variant == 'light', darken($bg_color, 7%), darken($bg_color, 9%));
|
|
||||||
$active_fg_color: darken($fg_color,if($variant=='light', 5%, 3%));
|
|
||||||
$active_borders_color: darken($borders_color,if($variant=='light', 5%, 3%));
|
|
||||||
|
|
||||||
// fonts
|
|
||||||
$base_font_size: 11;
|
|
||||||
$text_shadow_color: if($variant == 'light', rgba(255,255,255,0.3), rgba(0,0,0,0.2));
|
|
||||||
|
|
||||||
// icons
|
|
||||||
$base_icon_size: 1.09em;
|
|
||||||
// $base_icon_size: 16px;
|
|
||||||
|
|
||||||
// Stage
|
|
||||||
stage {
|
|
||||||
@include fontsize($base_font_size);
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Common Stylings */
|
|
||||||
|
|
||||||
// Text
|
|
||||||
%status_text {
|
|
||||||
font-size: 2em;
|
|
||||||
font-weight: bold;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// osd panels
|
|
||||||
%osd_panel {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
background-color: $osd_bg_color;
|
|
||||||
border: 1px solid $osd_outer_borders_color;
|
|
||||||
border-radius: $base_border_radius * 2 + 4px;
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Overview panels
|
|
||||||
// for the dash and workspace switcher
|
|
||||||
%overview_panel {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
background-color: transparentize($osd_bg_color, 0.2);
|
|
||||||
border: 1px solid $osd_outer_borders_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// icon tiles
|
|
||||||
%icon_tile {
|
|
||||||
border-radius: $base_border_radius + 4px;
|
|
||||||
padding: $base_padding;
|
|
||||||
border: 2px solid transparent;
|
|
||||||
transition-duration: 100ms;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
// dialogs
|
|
||||||
%bubble_panel {
|
|
||||||
color: $fg_color;
|
|
||||||
background-color: $bg_color;
|
|
||||||
border: 1px solid if($variant=='light', rgba(0,0,0, 0.6), $borders_color);
|
|
||||||
}
|
|
||||||
|
|
||||||
// button styling
|
|
||||||
%button {
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 1px;
|
|
||||||
min-height: 22px;
|
|
||||||
padding: $base_padding * 0.5 $base_padding * 4;
|
|
||||||
|
|
||||||
@include button(normal);
|
|
||||||
&:focus { @include button(focus);}
|
|
||||||
&:hover { @include button(hover);}
|
|
||||||
&:insensitive { @include button(insensitive);}
|
|
||||||
&:active { @include button(active);}
|
|
||||||
}
|
|
||||||
|
|
||||||
// buttons in dialogs
|
|
||||||
%bubble_button {
|
|
||||||
@include button(normal, $shadow: none);
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
border-style: solid;
|
|
||||||
border-width: 1px;
|
|
||||||
border-left-width: 0;
|
|
||||||
border-bottom-width: 0;
|
|
||||||
|
|
||||||
&:insensitive { @include button(insensitive, $shadow: none); }
|
|
||||||
&:hover { @include button(hover, $shadow: none); }
|
|
||||||
&:focus { @include button(focus, $shadow: none); }
|
|
||||||
&:active { @include button(active, $shadow: none); }
|
|
||||||
|
|
||||||
// radius is 2 pixel less to fit in bubble
|
|
||||||
&:first-child {
|
|
||||||
border-radius: 0 0 0 $modal_radius - 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
border-right-width: 0;
|
|
||||||
border-radius: 0 0 $modal_radius - 2px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:first-child:last-child {
|
|
||||||
border-radius: 0 0 $modal_radius - 2px $modal_radius - 2px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// notification styling
|
|
||||||
@mixin notification_bubble($flat: false) {
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
border-radius: $base_border_radius + 2px;
|
|
||||||
margin: $base_margin;
|
|
||||||
|
|
||||||
@if $flat {
|
|
||||||
@include button(undecorated);
|
|
||||||
} @else {
|
|
||||||
@include button(normal);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
|
||||||
@include button(focus);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
@include button(hover);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
@include button(active);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,231 +0,0 @@
|
|||||||
// Drawing mixins
|
|
||||||
|
|
||||||
// generic drawing of more complex things
|
|
||||||
|
|
||||||
@function draw_widget_edge($c:$borders_edge) {
|
|
||||||
// outer highlight "used" on most widgets
|
|
||||||
@return 0 1px $c;
|
|
||||||
}
|
|
||||||
|
|
||||||
// provide font size in rem, with px fallback
|
|
||||||
@mixin fontsize($size: 24, $base: 16) {
|
|
||||||
font-size: round($size) + pt;
|
|
||||||
//font-size: ($size / $base) * 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin draw_shadows($shadow1, $shadow2:none, $shadow3:none, $shadow4:none) {
|
|
||||||
//
|
|
||||||
// Helper function to stack up to 4 box-shadows;
|
|
||||||
//
|
|
||||||
@if $shadow4!=none { box-shadow: $shadow1, $shadow2, $shadow3, $shadow4; }
|
|
||||||
@else if $shadow3!=none { box-shadow: $shadow1, $shadow2, $shadow3; }
|
|
||||||
@else if $shadow2!=none { box-shadow: $shadow1, $shadow2; }
|
|
||||||
@else { box-shadow: $shadow1; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// entries
|
|
||||||
|
|
||||||
@mixin entry($t, $fc:$selected_bg_color, $edge: $borders_edge) {
|
|
||||||
//
|
|
||||||
// Entries drawing function
|
|
||||||
//
|
|
||||||
// $t: entry type
|
|
||||||
// $fc: focus color
|
|
||||||
// $edge: set to none to not draw the bottom edge or specify a color to not use the default one
|
|
||||||
//
|
|
||||||
// possible $t values:
|
|
||||||
// normal, focus, insensitive
|
|
||||||
//
|
|
||||||
|
|
||||||
@if $t==normal {
|
|
||||||
background-color: $base_color;
|
|
||||||
border-color: $borders_color;
|
|
||||||
|
|
||||||
}
|
|
||||||
@if $t==focus {
|
|
||||||
border-color: if($fc==$selected_bg_color,
|
|
||||||
$selected_borders_color,
|
|
||||||
darken($fc,35%));
|
|
||||||
box-shadow: inset 0 0 0 1px $fc;
|
|
||||||
}
|
|
||||||
@if $t==hover { }
|
|
||||||
@if $t==insensitive {
|
|
||||||
color: $insensitive_fg_color;
|
|
||||||
border-color: $insensitive_bg_color;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// buttons
|
|
||||||
|
|
||||||
@function draw_border_color ($c) {
|
|
||||||
//
|
|
||||||
// colored buttons want the border form the base color
|
|
||||||
//
|
|
||||||
@return if($variant == 'light', darken($c, 18%), darken($c, 4%));
|
|
||||||
}
|
|
||||||
|
|
||||||
@function draw_text_shadow_color ($tc:$fg_color, $bg:$bg_color) {
|
|
||||||
//
|
|
||||||
// calculate the color of text shadows
|
|
||||||
//
|
|
||||||
// $tc is the text color
|
|
||||||
// $bg is the background color
|
|
||||||
//
|
|
||||||
$lbg: lightness($bg)/100%;
|
|
||||||
@if lightness($tc)<50% { @return rgba(255,255,255,$lbg/($lbg*1.3)); }
|
|
||||||
@else { @return rgba(0,0,0,1-$lbg*0.8); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@function draw_button_hilight_color($c) {
|
|
||||||
//
|
|
||||||
// calculate the right top hilight color for buttons
|
|
||||||
//
|
|
||||||
// $c: base color;
|
|
||||||
//
|
|
||||||
@if lightness($c)>90% { @return white; }
|
|
||||||
@else if lightness($c)>80% { @return rgba(255,255,255, 0.7); }
|
|
||||||
@else if lightness($c)>50% { @return rgba(255,255,255, 0.5); }
|
|
||||||
@else if lightness($c)>40% { @return rgba(255,255,255, 0.3); }
|
|
||||||
@else { @return rgba(255,255,255, 0.1); }
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin draw_button_text_shadow ($tc:$fg_color, $bg:$bg_color) {
|
|
||||||
//
|
|
||||||
// helper function for the text emboss effect
|
|
||||||
//
|
|
||||||
// $tc is the optional text color, not the shadow color
|
|
||||||
//
|
|
||||||
// TODO: this functions needs a way to deal with special cases
|
|
||||||
//
|
|
||||||
|
|
||||||
$shadow: draw_text_shadow_color($tc, $bg);
|
|
||||||
|
|
||||||
@if lightness($tc)<50% {
|
|
||||||
text-shadow: 0 1px $shadow;
|
|
||||||
icon-shadow: 0 1px $shadow;
|
|
||||||
}
|
|
||||||
@else {
|
|
||||||
text-shadow: 0 -1px $shadow;
|
|
||||||
icon-shadow: 0 -1px $shadow;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@mixin button($t, $c:$bg_color, $tc:$fg_color, $edge: $borders_edge, $shadow: $shadow_color) {
|
|
||||||
//
|
|
||||||
// Button drawing function
|
|
||||||
//
|
|
||||||
// $t: button type,
|
|
||||||
// $c: base button color for colored* types
|
|
||||||
// $tc: optional text color for colored* types
|
|
||||||
// $edge: set to none to not draw the bottom edge or specify a color to not
|
|
||||||
// use the default one
|
|
||||||
// $shadow: set to none to not draw the drop shadow or specify a color to not
|
|
||||||
// use the default one
|
|
||||||
//
|
|
||||||
// possible $t values:
|
|
||||||
// normal, hover, active, insensitive, insensitive-active,
|
|
||||||
// backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
|
|
||||||
// osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
|
|
||||||
//
|
|
||||||
|
|
||||||
$hilight_color: draw_button_hilight_color($c);
|
|
||||||
$button_edge: if($edge == none, none, draw_widget_edge($edge));
|
|
||||||
$blank_edge: if($edge == none, none, draw_widget_edge(transparentize($edge,1)));
|
|
||||||
$button_shadow: if($shadow == none, none, 0 1px 1px 0 $shadow);
|
|
||||||
|
|
||||||
// normal button
|
|
||||||
@if $t==normal {
|
|
||||||
color: $tc;
|
|
||||||
background-color: lighten($c, 3%);
|
|
||||||
border-color: draw_border_color($c);
|
|
||||||
@include draw_shadows($button_shadow);
|
|
||||||
// box-shadow: 0 1px 1px 0 rgba(0,0,0,0.1);
|
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// focused button
|
|
||||||
@if $t==focus {
|
|
||||||
color: $tc;
|
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
|
||||||
box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
|
|
||||||
//border-color: $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// hover button
|
|
||||||
@else if $t==hover {
|
|
||||||
color: $tc;
|
|
||||||
background-color: lighten($c, if($variant == 'light', 8%, 5%));
|
|
||||||
border-color: if($variant == 'light', draw_border_color(lighten($c, 7%)), draw_border_color($c));
|
|
||||||
@include draw_shadows($button_shadow);
|
|
||||||
text-shadow: 0 1px $text_shadow_color;
|
|
||||||
icon-shadow: 0 1px $text_shadow_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// active button
|
|
||||||
@else if $t==active {
|
|
||||||
color: $tc;
|
|
||||||
background-color: darken($c,3%);
|
|
||||||
border-color: draw_border_color(if($variant == 'light', $c, darken($c,7%)));
|
|
||||||
text-shadow: none;
|
|
||||||
icon-shadow: none;
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
// insensitive button
|
|
||||||
@else if $t==insensitive {
|
|
||||||
color: $insensitive_fg_color;
|
|
||||||
border-color: $insensitive_borders_color;
|
|
||||||
background-color: $insensitive_bg_color;
|
|
||||||
box-shadow: none;
|
|
||||||
text-shadow: none;
|
|
||||||
icon-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
// reset
|
|
||||||
@else if $t==undecorated {
|
|
||||||
border-color: transparent;
|
|
||||||
background-color: transparent;
|
|
||||||
background-image: none;
|
|
||||||
@include draw_shadows(inset 0 1px rgba(255,255,255,0),$blank_edge);
|
|
||||||
text-shadow: none;
|
|
||||||
icon-shadow: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// overview icons
|
|
||||||
@mixin overview-icon($color) {
|
|
||||||
.overview-icon {
|
|
||||||
@extend %icon_tile;
|
|
||||||
color: $color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover,
|
|
||||||
&:selected {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: transparentize($color, .9);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: transparentize($color, .7);
|
|
||||||
// border-color: $selected_bg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:drop {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: transparentize($selected_bg_color, .15);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active,
|
|
||||||
&:checked {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: transparentize(darken($osd_bg_color, 10%), .5);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
// When color definition differs for dark and light variant,
|
|
||||||
// it gets @if ed depending on $variant
|
|
||||||
|
|
||||||
|
|
||||||
$base_color: #222;
|
|
||||||
$bg_color: #000;
|
|
||||||
$fg_color: #fff;
|
|
||||||
|
|
||||||
$selected_fg_color: #ffffff;
|
|
||||||
$selected_bg_color: darken(#4a90d9,20%);
|
|
||||||
$selected_borders_color: darken($selected_bg_color, 20%);
|
|
||||||
$borders_color: darken($bg_color,12%);
|
|
||||||
$borders_edge: transparentize($fg_color, 0.9);
|
|
||||||
$link_color: lighten($selected_bg_color,20%);
|
|
||||||
$link_visited_color: lighten($selected_bg_color,10%);
|
|
||||||
$top_hilight: $borders_edge;
|
|
||||||
|
|
||||||
$warning_color: #f57900;
|
|
||||||
$error_color: #cc0000;
|
|
||||||
$success_color: darken(#73d216,10%);
|
|
||||||
$destructive_color: darken(#ef2929,10%);
|
|
||||||
|
|
||||||
$osd_fg_color: #eeeeec;
|
|
||||||
$osd_bg_color: #2e3436;
|
|
||||||
$osd_borders_color: rgba(0,0,0, 0.7);
|
|
||||||
$osd_outer_borders_color: rgba(255,255,255, 0.1);
|
|
||||||
|
|
||||||
$shadow_color: rgba(0,0,0, 0.1);
|
|
||||||
|
|
||||||
//insensitive state derived colors
|
|
||||||
$insensitive_fg_color: mix($fg_color, $bg_color, 50%);
|
|
||||||
$insensitive_bg_color: mix($bg_color, $base_color, 60%);
|
|
||||||
$insensitive_borders_color: $borders_color;
|
|
||||||
|
|
||||||
//colors for the backdrop state, derived from the main colors.
|
|
||||||
$backdrop_base_color: lighten($base_color,1%);
|
|
||||||
$backdrop_bg_color: $bg_color;
|
|
||||||
$backdrop_fg_color: mix($fg_color, $backdrop_bg_color, 80%);
|
|
||||||
$backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
|
|
||||||
$backdrop_borders_color: mix($borders_color, $bg_color, 90%);
|
|
||||||
$backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
|
|
||||||
@@ -1,51 +0,0 @@
|
|||||||
//
|
|
||||||
// Shell widgets stylesheets are placed in separate .scss files
|
|
||||||
// in 'widgets' and imported into the main stylesheet in this file.
|
|
||||||
// To create or update a widget for the shell modify the list below.
|
|
||||||
//
|
|
||||||
|
|
||||||
/* WIDGETS */
|
|
||||||
|
|
||||||
// Primary widgets
|
|
||||||
@import 'widgets/base';
|
|
||||||
@import 'widgets/entries';
|
|
||||||
@import 'widgets/buttons';
|
|
||||||
@import 'widgets/check-box';
|
|
||||||
@import 'widgets/switches';
|
|
||||||
@import 'widgets/slider';
|
|
||||||
@import 'widgets/scrollbars';
|
|
||||||
// Popovers
|
|
||||||
@import 'widgets/popovers';
|
|
||||||
@import 'widgets/calendar';
|
|
||||||
@import 'widgets/message-list';
|
|
||||||
@import 'widgets/ibus-popup';
|
|
||||||
// Notifications
|
|
||||||
@import 'widgets/notifications';
|
|
||||||
@import 'widgets/hotplug';
|
|
||||||
// Dialogs
|
|
||||||
@import 'widgets/dialogs';
|
|
||||||
@import 'widgets/network-dialog';
|
|
||||||
// OSDs
|
|
||||||
@import 'widgets/osd';
|
|
||||||
@import 'widgets/switcher-popup';
|
|
||||||
@import 'widgets/workspace-switcher';
|
|
||||||
// Panel
|
|
||||||
@import 'widgets/panel';
|
|
||||||
@import 'widgets/corner-ripple';
|
|
||||||
// Overview
|
|
||||||
@import 'widgets/overview';
|
|
||||||
@import 'widgets/window-picker';
|
|
||||||
@import 'widgets/search-entry';
|
|
||||||
@import 'widgets/search-results';
|
|
||||||
@import 'widgets/app-grid';
|
|
||||||
@import 'widgets/dash';
|
|
||||||
@import 'widgets/workspace-thumbnails';
|
|
||||||
// A11y / misc
|
|
||||||
@import 'widgets/a11y';
|
|
||||||
@import 'widgets/misc';
|
|
||||||
@import 'widgets/tiled-previews';
|
|
||||||
@import 'widgets/keyboard';
|
|
||||||
@import 'widgets/looking-glass';
|
|
||||||
// Lock / login screens
|
|
||||||
@import 'widgets/login-dialog';
|
|
||||||
@import 'widgets/screen-shield';
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
<Project xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
|
||||||
xmlns:foaf="http://xmlns.com/foaf/0.1/"
|
|
||||||
xmlns:gnome="http://api.gnome.org/doap-extensions#"
|
|
||||||
xmlns="http://usefulinc.com/ns/doap#">
|
|
||||||
|
|
||||||
<name xml:lang="en">GNOME Shell Sass</name>
|
|
||||||
<shortdesc xml:lang="en">Sass sources of GNOME Shell</shortdesc>
|
|
||||||
<description>GNOME Shell Sass is a project intended to allow the sharing of the
|
|
||||||
sass theme sources between gnome-shell and other projects like gnome-shell-extensions.</description>
|
|
||||||
|
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#core" />
|
|
||||||
<programming-language>sass</programming-language>
|
|
||||||
<programming-language>css</programming-language>
|
|
||||||
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Carlos Soriano</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:csoriano@gnome.org" />
|
|
||||||
<gnome:userid>csoriano</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Florian Müllner</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:fmuellner@gnome.org" />
|
|
||||||
<gnome:userid>fmuellner</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
<maintainer>
|
|
||||||
<foaf:Person>
|
|
||||||
<foaf:name>Jakub Steiner</foaf:name>
|
|
||||||
<foaf:mbox rdf:resource="mailto:jimmac@gmail.com" />
|
|
||||||
<gnome:userid>jimmac</gnome:userid>
|
|
||||||
</foaf:Person>
|
|
||||||
</maintainer>
|
|
||||||
</Project>
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
// Pointer location
|
|
||||||
.ripple-pointer-location {
|
|
||||||
width: $ripple_size;
|
|
||||||
height: $ripple_size;
|
|
||||||
border-radius: $ripple_size * 0.5; // radius equals the size of the box to give us the curve
|
|
||||||
background-color: lighten(transparentize($selected_bg_color, 0.7), 30%);
|
|
||||||
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Pointer accessibility notifications
|
|
||||||
.pie-timer {
|
|
||||||
width: 60px;
|
|
||||||
height: 60px;
|
|
||||||
-pie-border-width: 3px;
|
|
||||||
-pie-border-color: $selected_bg_color;
|
|
||||||
-pie-background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Screen zoom/Magnifier
|
|
||||||
.magnifier-zoom-region {
|
|
||||||
border: 2px solid $selected_bg_color;
|
|
||||||
|
|
||||||
&.full-screen { border-width: 0; }
|
|
||||||
}
|
|
||||||
@@ -1,186 +0,0 @@
|
|||||||
/* App Grid */
|
|
||||||
|
|
||||||
$app_icon_size: 96px;
|
|
||||||
$app_icon_padding: 24px;
|
|
||||||
|
|
||||||
// app icons
|
|
||||||
.icon-grid {
|
|
||||||
-shell-grid-horizontal-item-size: $app_icon_size + $app_icon_padding * 2;
|
|
||||||
-shell-grid-vertical-item-size: $app_icon_size + $app_icon_padding * 2;
|
|
||||||
spacing: $base_spacing * 6;
|
|
||||||
|
|
||||||
.overview-icon {
|
|
||||||
icon-size: $app_icon_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//.app-display { spacing: 20px; }
|
|
||||||
|
|
||||||
/* App Icons */
|
|
||||||
|
|
||||||
$app_grid_fg_color: #fff;
|
|
||||||
|
|
||||||
// Icon tiles in the app grid
|
|
||||||
.app-well-app,
|
|
||||||
%app-well-app {
|
|
||||||
@include overview-icon($app_grid_fg_color);
|
|
||||||
|
|
||||||
.overview-icon.overview-icon-with-label {
|
|
||||||
padding: 10px 8px 5px 8px;
|
|
||||||
|
|
||||||
> StBoxLayout {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* App Folders */
|
|
||||||
.app-folder {
|
|
||||||
.overview-icon {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// expanded folder
|
|
||||||
.app-folder-dialog {
|
|
||||||
border-radius: $modal_radius * 1.5;
|
|
||||||
border: 1px solid $osd_outer_borders_color;
|
|
||||||
spacing: 12px;
|
|
||||||
background-color: transparentize(darken($osd_bg_color,10%), 0.05);
|
|
||||||
|
|
||||||
& .folder-name-container {
|
|
||||||
padding: 24px 36px 0;
|
|
||||||
spacing: 12px;
|
|
||||||
|
|
||||||
& .folder-name-label,
|
|
||||||
& .folder-name-entry {
|
|
||||||
font-size: 18pt;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
& .folder-name-entry { width: 300px }
|
|
||||||
|
|
||||||
/* FIXME: this is to keep the label in sync with the entry */
|
|
||||||
& .folder-name-label { padding: 5px 7px; color: $osd_fg_color; }
|
|
||||||
|
|
||||||
& .edit-folder-button {
|
|
||||||
@extend %button;
|
|
||||||
|
|
||||||
padding: 0;
|
|
||||||
width: 36px;
|
|
||||||
height: 36px;
|
|
||||||
border-radius: 18px;
|
|
||||||
|
|
||||||
& > StIcon { icon-size: 16px }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
& StButton#vhandle,
|
|
||||||
& StButton#vhandle:hover,
|
|
||||||
& StButton#vhandle:active { background-color: transparent; }
|
|
||||||
}
|
|
||||||
.app-folder-dialog-container {
|
|
||||||
padding: 12px;
|
|
||||||
width: 800px;
|
|
||||||
height: 600px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.app-folder-icon {
|
|
||||||
padding: $base_padding;
|
|
||||||
spacing-rows: $base_spacing;
|
|
||||||
spacing-columns: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Running app indicator (also shown in dash)
|
|
||||||
.app-well-app-running-dot {
|
|
||||||
height: 5px;
|
|
||||||
width: 5px;
|
|
||||||
border-radius:5px;
|
|
||||||
background-color: $osd_fg_color;
|
|
||||||
margin-bottom: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Rename popup for app folders
|
|
||||||
.rename-folder-popup {
|
|
||||||
.rename-folder-popup-item {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
&:ltr, &:rtl { padding: 0 $base_padding * 2; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// right-click app menu
|
|
||||||
.app-menu,
|
|
||||||
.app-well-menu {
|
|
||||||
max-width: 27.25em;
|
|
||||||
}
|
|
||||||
|
|
||||||
// App Grid pagination indicators
|
|
||||||
.page-indicator {
|
|
||||||
padding: 15px 20px;
|
|
||||||
|
|
||||||
.page-indicator-icon {
|
|
||||||
width: 10px;
|
|
||||||
height: 10px;
|
|
||||||
border-radius: 10px; // the same as height&width
|
|
||||||
background-color: white;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Some hacks I don't even know
|
|
||||||
.all-apps,
|
|
||||||
.frequent-apps > StBoxLayout {
|
|
||||||
// horizontal padding to make sure scrollbars or dash don't overlap content
|
|
||||||
padding: 0px 88px 10px 88px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Label when no frequent apps
|
|
||||||
.no-frequent-applications-label { @extend %status_text; }
|
|
||||||
|
|
||||||
// shutdown and other actions in the grid
|
|
||||||
.system-action-icon {
|
|
||||||
background-color: rgba(0,0,0,0.8);
|
|
||||||
color: #fff;
|
|
||||||
border-radius: 99px;
|
|
||||||
icon-size: $app_icon_size * 0.5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Frequent | All toggle */
|
|
||||||
|
|
||||||
// container
|
|
||||||
.app-view-controls {
|
|
||||||
padding-bottom: 32px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// buttons
|
|
||||||
.app-view-control {
|
|
||||||
padding: 4px 32px;
|
|
||||||
margin: 0 4px;
|
|
||||||
|
|
||||||
&, &:hover, &:checked {
|
|
||||||
@include button(undecorated);
|
|
||||||
color: darken($osd_fg_color, 25%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
box-shadow: inset 0 -2px darken($osd_fg_color, 25%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
box-shadow: inset 0 -2px $osd_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:checked {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
box-shadow: inset 0 -2px $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:first-child {
|
|
||||||
border-right-width: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:last-child {
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
// Links
|
|
||||||
.shell-link {
|
|
||||||
color: $link_color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: lighten($link_color, 10%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Outline for low res icons
|
|
||||||
.lowres-icon {
|
|
||||||
icon-shadow: 0 1px 2px rgba(black, 0.3);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Dropshadow for large icons
|
|
||||||
.icon-dropshadow {
|
|
||||||
icon-shadow: 0 1px 2px rgba(black, 0.4);
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
/* Buttons */
|
|
||||||
|
|
||||||
.button {
|
|
||||||
@extend %button; // that's it
|
|
||||||
}
|
|
||||||
@@ -1,262 +0,0 @@
|
|||||||
/* Date/Time Menu */
|
|
||||||
|
|
||||||
.clock-display-box {
|
|
||||||
spacing: $base_spacing / 2;
|
|
||||||
|
|
||||||
.clock {
|
|
||||||
padding-left: $base_padding;
|
|
||||||
padding-right: $base_padding;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// overall menu
|
|
||||||
#calendarArea {
|
|
||||||
padding:0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Calendar menu side column
|
|
||||||
.datemenu-calendar-column {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
border: 0 solid $bubble_borders_color;
|
|
||||||
padding: 0 $base_padding * 2;
|
|
||||||
|
|
||||||
&:ltr {margin-right: $base_margin * 2; border-left-width: 1px; }
|
|
||||||
&:rtl {margin-left: $base_margin * 2; border-right-width: 1px; }
|
|
||||||
|
|
||||||
.datemenu-displays-section {
|
|
||||||
}
|
|
||||||
|
|
||||||
.datemenu-displays-box {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.events-section-title {
|
|
||||||
@include notification_bubble($flat: true);
|
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
|
||||||
font-weight: bold;
|
|
||||||
padding: .4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* today button (the date) */
|
|
||||||
.datemenu-today-button {
|
|
||||||
@include notification_bubble($flat: true);
|
|
||||||
padding: $base_padding * 1.5;
|
|
||||||
|
|
||||||
// weekday label
|
|
||||||
.day-label {
|
|
||||||
@include fontsize($base_font_size+1);
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
// date label
|
|
||||||
.date-label {
|
|
||||||
@include fontsize($base_font_size+7);
|
|
||||||
font-weight: 1000;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Calendar */
|
|
||||||
.calendar {
|
|
||||||
@include notification_bubble;
|
|
||||||
padding: $base_padding;
|
|
||||||
|
|
||||||
// month
|
|
||||||
.calendar-month-label {
|
|
||||||
color: lighten($fg_color,5%);
|
|
||||||
font-weight: bold;
|
|
||||||
padding: 8px 0;
|
|
||||||
&:focus {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// prev/next month icons
|
|
||||||
.calendar-change-month-back StIcon,
|
|
||||||
.calendar-change-month-forward StIcon {
|
|
||||||
icon-size: $base_icon_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pager-button {
|
|
||||||
background-color: transparent;
|
|
||||||
height: 32px;
|
|
||||||
width: 32px;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
&:hover, &:focus { background-color: lighten($hover_bg_color, 5%); }
|
|
||||||
&:active { background-color: $active_bg_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
$calendar_day_size: 32px;
|
|
||||||
|
|
||||||
.calendar-day-base {
|
|
||||||
@include fontsize($base_font_size - 3);
|
|
||||||
text-align: center;
|
|
||||||
width: $calendar_day_size;
|
|
||||||
height: $calendar_day_size;
|
|
||||||
padding: 0;
|
|
||||||
margin: 2px;
|
|
||||||
border-radius: $calendar_day_size * 0.5 + 2px;
|
|
||||||
border: 1px solid transparent; //avoid jumparound due to today
|
|
||||||
font-feature-settings: "tnum";
|
|
||||||
&:hover, &:focus { background-color: $hover_bg_color; }
|
|
||||||
&:active,&:selected {
|
|
||||||
color: lighten($fg_color,10%);
|
|
||||||
background-color: darken($bg_color,5%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// day of week heading
|
|
||||||
&.calendar-day-heading {
|
|
||||||
color: lighten($fg_color,10%);
|
|
||||||
margin-top: 1em;
|
|
||||||
@include fontsize($base_font_size - 4);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day { //border collapse hack - see calendar.js
|
|
||||||
border-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-top {
|
|
||||||
border-top-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-left {
|
|
||||||
border-left-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-work-day {}
|
|
||||||
|
|
||||||
.calendar-nonwork-day {
|
|
||||||
color: $insensitive_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Today
|
|
||||||
.calendar-today {
|
|
||||||
font-weight: bold;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
|
|
||||||
&:hover,&:focus {
|
|
||||||
background-color:lighten($selected_bg_color, 3%);
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active,&:selected {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
|
|
||||||
&:hover,&:focus {
|
|
||||||
background-color:lighten($selected_bg_color, 3%);
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-day-with-events {
|
|
||||||
color: lighten($fg_color,10%);
|
|
||||||
font-weight: bold;
|
|
||||||
background-image: url("resource:///org/gnome/shell/theme/calendar-today.svg");
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-other-month-day {
|
|
||||||
color: transparentize($fg_color ,0.5);
|
|
||||||
}
|
|
||||||
|
|
||||||
.calendar-week-number {
|
|
||||||
@include fontsize($base_font_size - 4);
|
|
||||||
font-weight: bold;
|
|
||||||
height: 1.8em;
|
|
||||||
width: 2.3em;
|
|
||||||
border-radius: 2px;
|
|
||||||
padding: 0.5em 0 0;
|
|
||||||
margin: 6px;
|
|
||||||
background-color: darken($bg_color, 2%);
|
|
||||||
color: lighten($fg_color, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* World clocks */
|
|
||||||
.world-clocks-button {
|
|
||||||
@include notification_bubble;
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
|
|
||||||
.world-clocks-grid {
|
|
||||||
spacing-rows: $base_spacing;
|
|
||||||
spacing-columns: $base_spacing * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// title
|
|
||||||
.world-clocks-header {
|
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
// city label
|
|
||||||
.world-clocks-city {
|
|
||||||
color: $fg_color;
|
|
||||||
@include fontsize($base_font_size);
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
// timezone time
|
|
||||||
.world-clocks-time {
|
|
||||||
font-weight: bold;
|
|
||||||
color: $fg_color;
|
|
||||||
font-feature-settings: "lnum";
|
|
||||||
@include fontsize($base_font_size);
|
|
||||||
text-align: right;
|
|
||||||
}
|
|
||||||
|
|
||||||
// timezone offset label
|
|
||||||
.world-clocks-timezone {
|
|
||||||
color: darken($fg_color,20%);
|
|
||||||
font-feature-settings: "tnum";
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Weather */
|
|
||||||
.weather-button {
|
|
||||||
@include notification_bubble;
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
|
|
||||||
.weather-box {
|
|
||||||
spacing: $base_spacing + $base_margin;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-header-box {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-header {
|
|
||||||
color: desaturate(darken($fg_color,40%), 10%);
|
|
||||||
font-weight: bold;
|
|
||||||
|
|
||||||
&.location {
|
|
||||||
font-weight: normal;
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-grid {
|
|
||||||
spacing-rows: $base_spacing;
|
|
||||||
spacing-columns: $base_spacing * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-forecast-time {
|
|
||||||
color: darken($fg_color,30%);
|
|
||||||
font-feature-settings: "tnum";
|
|
||||||
@include fontsize($base_font_size - 2);
|
|
||||||
font-weight: normal;
|
|
||||||
padding-top: 0.2em;
|
|
||||||
padding-bottom: 0.4em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-forecast-icon {
|
|
||||||
icon-size: $base_icon_size * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.weather-forecast-temp {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
/* Check Boxes */
|
|
||||||
|
|
||||||
// these are equal to the size of the SVG assets
|
|
||||||
$check_height: 22px;
|
|
||||||
$check_width: 24px;
|
|
||||||
|
|
||||||
|
|
||||||
.check-box {
|
|
||||||
StBoxLayout { spacing: .8em; }
|
|
||||||
StBin {
|
|
||||||
width: $check_width;
|
|
||||||
height: $check_height;
|
|
||||||
background-image: url("resource:///org/gnome/shell/theme/checkbox-off.svg");
|
|
||||||
}
|
|
||||||
&:focus StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-off-focused.svg"); }
|
|
||||||
&:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox.svg"); }
|
|
||||||
&:focus:checked StBin { background-image: url("resource:///org/gnome/shell/theme/checkbox-focused.svg"); }
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
/* Activities Ripple */
|
|
||||||
|
|
||||||
$ripple_size: 50px;
|
|
||||||
|
|
||||||
.ripple-box {
|
|
||||||
background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
|
|
||||||
box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
|
|
||||||
// plus + 2px for the border (box-shadow)
|
|
||||||
width: $ripple_size + 2px;
|
|
||||||
height: $ripple_size + 2px;
|
|
||||||
border-radius: 0 0 $ripple_size + 2px 0; // radius equals the size of the box to give us the curve
|
|
||||||
|
|
||||||
// just a simple change to the border radius position
|
|
||||||
&:rtl { border-radius: 0 0 0 $ripple_size + 2px; }
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
/* Dash */
|
|
||||||
|
|
||||||
$dash_placeholder_size: 32px;
|
|
||||||
$dash_spacing: $base_padding + 4px;
|
|
||||||
$dash_border_radius: $modal_radius * 1.5;
|
|
||||||
|
|
||||||
#dash {
|
|
||||||
@extend %overview_panel;
|
|
||||||
@include fontsize($base_font_size - 2);
|
|
||||||
padding: ($dash_spacing / 2) 0;
|
|
||||||
|
|
||||||
border-radius: 0 $dash_border_radius $dash_border_radius 0;
|
|
||||||
border-left-width: 0;
|
|
||||||
&:rtl {
|
|
||||||
border-radius: $dash_border_radius 0 0 $dash_border_radius;
|
|
||||||
border-right-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.placeholder {
|
|
||||||
// background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
|
||||||
background-image:none;
|
|
||||||
background-size: contain;
|
|
||||||
height: $dash_placeholder_size;
|
|
||||||
}
|
|
||||||
|
|
||||||
.empty-dash-drop-target {
|
|
||||||
width: $dash_placeholder_size;
|
|
||||||
height: $dash_placeholder_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Dash Items
|
|
||||||
.dash-item-container > StWidget {
|
|
||||||
padding: ($dash_spacing / 2) $dash_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// OSD Tooltip
|
|
||||||
.dash-label {
|
|
||||||
background-color: transparentize($osd_bg_color,0.05);
|
|
||||||
border-radius: $base_border_radius + 2px;
|
|
||||||
border:none;
|
|
||||||
box-shadow:0 0 0 1px $osd_outer_borders_color;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
padding: $base_padding $base_padding + 2px;
|
|
||||||
text-align: center;
|
|
||||||
-x-offset: $base_margin * 2; // distance from the dash edge
|
|
||||||
}
|
|
||||||
|
|
||||||
// Show apps button
|
|
||||||
.show-apps {
|
|
||||||
@include overview-icon($osd_fg_color);
|
|
||||||
|
|
||||||
&:focus,
|
|
||||||
&:checked {
|
|
||||||
.overview-icon {
|
|
||||||
background-color: darken($osd_bg_color,10%);
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -1,168 +0,0 @@
|
|||||||
/* Modal Dialogs */
|
|
||||||
|
|
||||||
.headline {
|
|
||||||
@include fontsize($base_font_size + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-dialog {
|
|
||||||
border-radius: $modal_radius;
|
|
||||||
@extend %bubble_panel;
|
|
||||||
|
|
||||||
.modal-dialog-content-box {
|
|
||||||
margin: 32px 40px;
|
|
||||||
spacing: 32px;
|
|
||||||
max-width: 28em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-dialog-linked-button {
|
|
||||||
@extend %bubble_button;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* End Session Dialog */
|
|
||||||
.end-session-dialog {
|
|
||||||
width: 30em;
|
|
||||||
|
|
||||||
.end-session-dialog-battery-warning,
|
|
||||||
.dialog-list-title {
|
|
||||||
color: $warning_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Message Dialog */
|
|
||||||
.message-dialog-content {
|
|
||||||
spacing: 18px;
|
|
||||||
|
|
||||||
.message-dialog-title {
|
|
||||||
text-align: center;
|
|
||||||
font-size: 18pt;
|
|
||||||
font-weight: 800;
|
|
||||||
|
|
||||||
&.leightweight {
|
|
||||||
font-size: 13pt;
|
|
||||||
font-weight: 800;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
.message-dialog-description { text-align: center; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Dialog List */
|
|
||||||
.dialog-list {
|
|
||||||
spacing: 18px;
|
|
||||||
|
|
||||||
.dialog-list-title {
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dialog-list-scrollview { max-height: 200px; }
|
|
||||||
.dialog-list-box {
|
|
||||||
spacing: 1em;
|
|
||||||
|
|
||||||
.dialog-list-item {
|
|
||||||
spacing: 1em;
|
|
||||||
|
|
||||||
.dialog-list-item-title { font-weight: bold; }
|
|
||||||
.dialog-list-item-description {
|
|
||||||
color: darken($fg_color,5%);
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Run Dialog */
|
|
||||||
.run-dialog {
|
|
||||||
.modal-dialog-content-box {
|
|
||||||
margin-top: 24px;
|
|
||||||
margin-bottom: 14px;
|
|
||||||
}
|
|
||||||
.run-dialog-entry { width: 20em; }
|
|
||||||
.run-dialog-description {
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
text-align: center;
|
|
||||||
color: darken($fg_color, 20%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Password or Authentication Dialog */
|
|
||||||
|
|
||||||
.prompt-dialog {
|
|
||||||
width: 28em;
|
|
||||||
|
|
||||||
.modal-dialog-content-box {
|
|
||||||
margin-bottom: 24px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt-dialog-password-grid {
|
|
||||||
spacing-rows: 8px;
|
|
||||||
spacing-columns: 4px;
|
|
||||||
|
|
||||||
.prompt-dialog-password-entry {
|
|
||||||
width: auto;
|
|
||||||
|
|
||||||
// 4px (spacing) + 16px (spinner-width)
|
|
||||||
&:ltr { margin-left: 20px; }
|
|
||||||
&:rtl { margin-right: 20px; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt-dialog-password-layout {
|
|
||||||
spacing: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt-dialog-password-entry {
|
|
||||||
width: 20em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt-dialog-error-label,
|
|
||||||
.prompt-dialog-info-label,
|
|
||||||
.prompt-dialog-null-label {
|
|
||||||
text-align: center;
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
.prompt-dialog-error-label {
|
|
||||||
color: $warning_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/* Polkit Dialog */
|
|
||||||
|
|
||||||
.polkit-dialog-user-layout {
|
|
||||||
text-align: center;
|
|
||||||
spacing: 8px;
|
|
||||||
margin-bottom: 6px;
|
|
||||||
|
|
||||||
.polkit-dialog-user-icon {
|
|
||||||
border-radius: 99px;
|
|
||||||
background-size: contain;
|
|
||||||
}
|
|
||||||
.polkit-dialog-user-root-label { color: $warning_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Audio selection dialog */
|
|
||||||
.audio-device-selection-dialog {
|
|
||||||
.modal-dialog-content-box { margin-bottom: 28px; }
|
|
||||||
.audio-selection-box { spacing: 20px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.audio-selection-device {
|
|
||||||
border: 1px solid $bubble_borders_color;
|
|
||||||
border-radius: 12px;
|
|
||||||
&:hover,&:focus { background-color: $hover_bg_color; }
|
|
||||||
&:active {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.audio-selection-device-box {
|
|
||||||
padding: 20px;
|
|
||||||
spacing: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.audio-selection-device-icon {
|
|
||||||
icon-size: $base_icon_size * 4;
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/* Entries */
|
|
||||||
|
|
||||||
StEntry {
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
padding: 8px;
|
|
||||||
border-width: 1px;
|
|
||||||
color: $fg_color;
|
|
||||||
@include entry(normal);
|
|
||||||
//&:hover { @include entry(hover);}
|
|
||||||
&:focus { @include entry(focus);}
|
|
||||||
&:insensitive { @include entry(insensitive);}
|
|
||||||
selection-background-color: $selected_bg_color;
|
|
||||||
selected-color: $selected_fg_color;
|
|
||||||
StIcon.capslock-warning {
|
|
||||||
icon-size: 16px;
|
|
||||||
warning-color: $warning_color;
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
StIcon.peek-password {
|
|
||||||
icon-size: $base_icon_size;
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
StLabel.hint-text {
|
|
||||||
margin-left: 2px;
|
|
||||||
color: transparentize($fg_color, 0.3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
// hotplug
|
|
||||||
|
|
||||||
.hotplug-notification-item {
|
|
||||||
@extend %bubble_button;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-notification-item-icon {
|
|
||||||
icon-size: 24px;
|
|
||||||
padding: 0 4px;
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
// IBus Candidate Popup
|
|
||||||
|
|
||||||
.candidate-popup-boxpointer {
|
|
||||||
@extend .popup-menu-boxpointer;
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-popup-content {
|
|
||||||
padding: 0.5em;
|
|
||||||
spacing: 0.3em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-index {
|
|
||||||
padding: 0 0.5em 0 0;
|
|
||||||
color: darken($fg_color,10%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-box {
|
|
||||||
padding: 0.3em 0.5em 0.3em 0.5em;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
&:selected,&:hover { background-color: $selected_bg_color; color: $selected_fg_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-page-button-box {
|
|
||||||
height: 2em;
|
|
||||||
.vertical & { padding-top: 0.5em; }
|
|
||||||
.horizontal & { padding-left: 0.5em; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-page-button {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0; }
|
|
||||||
.candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px; }
|
|
||||||
.candidate-page-button-icon { icon-size: 1em; }
|
|
||||||
@@ -1,115 +0,0 @@
|
|||||||
/* On-screen Keyboard */
|
|
||||||
|
|
||||||
$key_size: 1.2em;
|
|
||||||
$key_border_radius: $base_border_radius + 3px;
|
|
||||||
$key_bg_color: $bg_color;
|
|
||||||
// $default_key_bg_color: darken($key_bg_color, 4%);
|
|
||||||
$default_key_bg_color: if($variant=='light', darken($osd_bg_color, 11%), lighten($osd_bg_color, 2%));
|
|
||||||
|
|
||||||
|
|
||||||
// draw keys using button function
|
|
||||||
#keyboard {
|
|
||||||
background-color: transparentize(if($variant=='light', darken($bg_color, 5%), darken($bg_color, 8%)), 0.1);
|
|
||||||
box-shadow: inset 0 1px 0 0 $osd_outer_borders_color;
|
|
||||||
|
|
||||||
.page-indicator {
|
|
||||||
padding: $base_padding;
|
|
||||||
|
|
||||||
.page-indicator-icon {
|
|
||||||
width: 8px;
|
|
||||||
height: 8px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// the container for individual keys
|
|
||||||
.key-container {
|
|
||||||
padding: $base_margin;
|
|
||||||
spacing: $base_margin;
|
|
||||||
}
|
|
||||||
|
|
||||||
// the keys
|
|
||||||
.keyboard-key {
|
|
||||||
|
|
||||||
@include button(normal, $c:$key_bg_color);
|
|
||||||
|
|
||||||
&:focus { @include button(focus);}
|
|
||||||
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
|
||||||
&:active { @include button(active, $c: $key_bg_color); }
|
|
||||||
|
|
||||||
@include fontsize($base_font_size + 5);
|
|
||||||
min-height: $key_size;
|
|
||||||
min-width: $key_size;
|
|
||||||
border-width: 1px;
|
|
||||||
border-style: solid;
|
|
||||||
border-radius: $key_border_radius;
|
|
||||||
|
|
||||||
&:grayed { //FIXMEy
|
|
||||||
background-color: darken($bg_color, 3%);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
border-color: $osd_borders_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// non-character keys
|
|
||||||
&.default-key {
|
|
||||||
@include button(normal, $c:$default_key_bg_color);
|
|
||||||
&:hover, &:checked {@include button(hover, $c: $default_key_bg_color);}
|
|
||||||
&:active { @include button(active, $c: $default_key_bg_color);}
|
|
||||||
}
|
|
||||||
|
|
||||||
// enter key is suggested-action
|
|
||||||
&.enter-key {
|
|
||||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
&:hover, &:checked { @include button(hover, $c: lighten($selected_bg_color, 3%));}
|
|
||||||
&:active {@include button(active, $c: darken($selected_bg_color, 2%));}
|
|
||||||
}
|
|
||||||
|
|
||||||
&.shift-key-uppercase { color: $selected_bg_color }
|
|
||||||
|
|
||||||
StIcon { icon-size: 1.125em; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// long press on a key popup
|
|
||||||
.keyboard-subkeys {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
-arrow-border-radius: $modal_radius;
|
|
||||||
-arrow-background-color: $osd_bg_color;
|
|
||||||
-arrow-border-width: 1px;
|
|
||||||
-arrow-border-color: lighten($osd_bg_color, 9%);
|
|
||||||
-arrow-base: 20px;
|
|
||||||
-arrow-rise: 10px;
|
|
||||||
-boxpointer-gap: $base_spacing;
|
|
||||||
|
|
||||||
.keyboard-key {
|
|
||||||
@include button(normal, $c:$key_bg_color);
|
|
||||||
|
|
||||||
&:focus { @include button(focus);}
|
|
||||||
&:hover, &:checked { @include button(hover, $c: $key_bg_color);}
|
|
||||||
&:active { @include button(active, $c: $key_bg_color); }
|
|
||||||
|
|
||||||
border-radius:$base_border_radius;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// emoji
|
|
||||||
.emoji-page {
|
|
||||||
.keyboard-key {
|
|
||||||
background-color: transparent;
|
|
||||||
border: none;
|
|
||||||
color: initial;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.emoji-panel {
|
|
||||||
.keyboard-key:latched {
|
|
||||||
border-color: lighten($selected_bg_color, 5%);
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// suggestions
|
|
||||||
.word-suggestions {
|
|
||||||
@include fontsize($base_font_size + 3);
|
|
||||||
spacing: 12px;
|
|
||||||
min-height: 20pt;
|
|
||||||
}
|
|
||||||
@@ -1,170 +0,0 @@
|
|||||||
/* Login Dialog */
|
|
||||||
|
|
||||||
.login-dialog-banner-view {
|
|
||||||
padding-top: 24px;
|
|
||||||
max-width: 23em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog {
|
|
||||||
//reset
|
|
||||||
border: none;
|
|
||||||
background-color: transparent;
|
|
||||||
|
|
||||||
$_gdm_bg: lighten(#2e3436, 19%);
|
|
||||||
|
|
||||||
StEntry {
|
|
||||||
@if $variant=='dark' {
|
|
||||||
$_gdm_entry_bg: transparentize(lighten(desaturate(#241f31, 20%), 2%), 0.5);
|
|
||||||
background-color: $_gdm_entry_bg;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.modal-dialog-button-box { spacing: 3px; }
|
|
||||||
.modal-dialog-button {
|
|
||||||
padding: 4px 18px;
|
|
||||||
box-shadow: 0 1px 3px rgba(0,0,0,0.2);
|
|
||||||
background-color: $_gdm_bg;
|
|
||||||
border-color: $_gdm_bg;
|
|
||||||
color: $fg_color;
|
|
||||||
|
|
||||||
$_hover_c: lighten($_gdm_bg, 5%);
|
|
||||||
&:hover, &:focus {
|
|
||||||
background-color: $_hover_c;
|
|
||||||
border-color: $_hover_c;
|
|
||||||
}
|
|
||||||
&:active {
|
|
||||||
$_active_c: darken($_gdm_bg, 5%);
|
|
||||||
box-shadow: none;
|
|
||||||
background-color: $_active_c;
|
|
||||||
border-color: $_active_c;
|
|
||||||
}
|
|
||||||
&:insensitive {
|
|
||||||
@include button(insensitive);
|
|
||||||
border-color: darken($_gdm_bg, 5%);
|
|
||||||
background-color: darken($_gdm_bg, 5%);
|
|
||||||
color: transparentize($fg_color, 0.3);
|
|
||||||
}
|
|
||||||
&:default {
|
|
||||||
@include button(normal, $c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
border-color: $selected_bg_color;
|
|
||||||
&:hover, &:focus {
|
|
||||||
@include button(hover,$c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
$_def_hover_c: lighten($selected_bg_color, 5%);
|
|
||||||
background-color: $_def_hover_c;
|
|
||||||
border-color: $_def_hover_c;
|
|
||||||
}
|
|
||||||
&:active {
|
|
||||||
@include button(active,$c:$selected_bg_color, $tc:$selected_fg_color);
|
|
||||||
$_def_active_c: darken($selected_bg_color, 5%);
|
|
||||||
background-color: $_def_active_c;
|
|
||||||
border-color: $_def_active_c;
|
|
||||||
}
|
|
||||||
&:insensitive {
|
|
||||||
@include button(insensitive);
|
|
||||||
border-color: darken($selected_bg_color, 10%);
|
|
||||||
background-color: darken($selected_bg_color, 10%);
|
|
||||||
color: transparentize($selected_fg_color, 0.3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.cancel-button,
|
|
||||||
.switch-user-button,
|
|
||||||
.login-dialog-session-list-button {
|
|
||||||
padding: 0;
|
|
||||||
border-radius: 99px;
|
|
||||||
width: $base_icon_size * 2;
|
|
||||||
height: $base_icon_size * 2;
|
|
||||||
border-color: transparentize($bg_color,0.7);
|
|
||||||
background-color: transparentize($bg_color,0.7);
|
|
||||||
|
|
||||||
StIcon { icon-size: $base_icon_size; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.caps-lock-warning-label,
|
|
||||||
.login-dialog-message-warning {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-logo-bin { padding: 24px 0px; }
|
|
||||||
.login-dialog-banner { color: darken($osd_fg_color,10%); }
|
|
||||||
.login-dialog-button-box { width: 23em; spacing: 5px; }
|
|
||||||
.login-dialog-message { text-align: center; }
|
|
||||||
.login-dialog-message-hint { padding-top: 0; padding-bottom: 20px; }
|
|
||||||
.login-dialog-user-selection-box { padding: 100px 0px; }
|
|
||||||
.login-dialog-not-listed-label {
|
|
||||||
padding-left: 2px;
|
|
||||||
.login-dialog-not-listed-button:focus &,
|
|
||||||
.login-dialog-not-listed-button:hover & {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-not-listed-label {
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
font-weight: bold;
|
|
||||||
color: darken($osd_fg_color,30%);
|
|
||||||
padding-top: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-user-list-view { -st-vfade-offset: 1em; }
|
|
||||||
.login-dialog-user-list {
|
|
||||||
spacing: 12px;
|
|
||||||
width: 23em;
|
|
||||||
&:expanded .login-dialog-user-list-item:selected { background-color: $selected_bg_color; color: $selected_fg_color; }
|
|
||||||
&:expanded .login-dialog-user-list-item:logged-in { border-right: 2px solid $selected_bg_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-user-list-item {
|
|
||||||
border-radius: $base_border_radius + 4px;
|
|
||||||
padding: 6px;
|
|
||||||
color: darken($osd_fg_color,30%);
|
|
||||||
&:ltr .user-widget { padding-right: 1em; }
|
|
||||||
&:rtl .user-widget { padding-left: 1em; }
|
|
||||||
.login-dialog-timed-login-indicator {
|
|
||||||
height: 2px;
|
|
||||||
margin-top: 6px;
|
|
||||||
background-color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
&:focus .login-dialog-timed-login-indicator { background-color: $selected_fg_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-widget-label {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-widget.horizontal .user-widget-label {
|
|
||||||
@include fontsize($base_font_size + 2);
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: left;
|
|
||||||
padding-left: 15px;
|
|
||||||
|
|
||||||
&:ltr { padding-left: 14px; }
|
|
||||||
&:rtl { padding-right: 14px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-widget.vertical .user-widget-label {
|
|
||||||
@include fontsize($base_font_size + 5);
|
|
||||||
text-align: center;
|
|
||||||
font-weight: normal;
|
|
||||||
padding-top: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-prompt-layout {
|
|
||||||
padding-top: 24px;
|
|
||||||
padding-bottom: 12px;
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
width: 23em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-prompt-entry {
|
|
||||||
height: 1.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.login-dialog-prompt-label {
|
|
||||||
color: darken($osd_fg_color, 20%);
|
|
||||||
@include fontsize($base_font_size + 1);
|
|
||||||
padding-top: 1em;
|
|
||||||
}
|
|
||||||
@@ -1,102 +0,0 @@
|
|||||||
/* Looking Glass */
|
|
||||||
|
|
||||||
// Dialog
|
|
||||||
#LookingGlassDialog {
|
|
||||||
background-color: $osd_bg_color;
|
|
||||||
spacing: $base_spacing;
|
|
||||||
padding: 4px;
|
|
||||||
border: 1px solid transparentize($osd_fg_color, 0.8);
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
|
|
||||||
& > #Toolbar {
|
|
||||||
border: none;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
background-color: $osd_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.labels { spacing: $base_spacing; }
|
|
||||||
.notebook-tab {
|
|
||||||
-natural-hpadding: $base_padding * 2;
|
|
||||||
-minimum-hpadding: 6px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: darken($osd_fg_color, 15%);
|
|
||||||
transition-duration: 100ms;
|
|
||||||
padding-left: .3em;
|
|
||||||
padding-right: .3em;
|
|
||||||
border-bottom-width: 2px;
|
|
||||||
&:hover {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
&:selected {
|
|
||||||
border-bottom-width: 2px;
|
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color, 5%);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
StBoxLayout#EvalBox { padding: 4px; spacing: $base_spacing; }
|
|
||||||
StBoxLayout#ResultsArea { spacing: $base_spacing; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-dialog {
|
|
||||||
StEntry {
|
|
||||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.4);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
border-color: transparentize($osd_fg_color, 0.8);
|
|
||||||
min-height: 22px;
|
|
||||||
selection-background-color: $selected_bg_color;
|
|
||||||
selected-color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
.shell-link {
|
|
||||||
color: $link_color;
|
|
||||||
&:hover { color: lighten($link_color, 10%); }
|
|
||||||
&:active { color: darken($link_color, 10%); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-completions-text {
|
|
||||||
font-size: .9em;
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-obj-inspector-title {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-obj-inspector-button {
|
|
||||||
border: 1px solid $osd_borders_color;
|
|
||||||
padding: 4px;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
&:hover { border: 1px solid #ffffff; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Extensions
|
|
||||||
#lookingGlassExtensions { padding: 4px; }
|
|
||||||
|
|
||||||
.lg-extensions-list {
|
|
||||||
padding: 4px;
|
|
||||||
spacing: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-extension {
|
|
||||||
border: 1px solid lighten($osd_borders_color, 5%);
|
|
||||||
background-color: lighten($osd_bg_color, 5%);
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-extension-name {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
.lg-extension-meta {
|
|
||||||
spacing: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Inspector
|
|
||||||
#LookingGlassPropertyInspector {
|
|
||||||
background: $osd_bg_color;
|
|
||||||
border: 1px solid $osd_borders_color;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
padding: 6px;
|
|
||||||
}
|
|
||||||
@@ -1,134 +0,0 @@
|
|||||||
/* Message List */
|
|
||||||
// a.k.a. notifications in the menu
|
|
||||||
|
|
||||||
// main list
|
|
||||||
.message-list {
|
|
||||||
width: 31.5em;
|
|
||||||
padding: 0 $base_padding * 2;
|
|
||||||
|
|
||||||
.message-list-placeholder { spacing: 12px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-list-sections {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
margin: 0 $base_margin * 4; // to account for scrollbar
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-list-section,
|
|
||||||
.message-list-section-list {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// do-not-disturb + clear button
|
|
||||||
.message-list-controls {
|
|
||||||
margin: ($base_margin * 2) ($base_margin * 4) 0;
|
|
||||||
// NOTE: remove the padding if notification_bubble could remove margin for drop shadow
|
|
||||||
padding: $base_margin;
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// message bubbles
|
|
||||||
.message {
|
|
||||||
@include notification_bubble;
|
|
||||||
|
|
||||||
// icon container
|
|
||||||
.message-icon-bin {
|
|
||||||
padding: ($base_padding * 3) 0 ($base_padding * 3) ($base_padding * 2);
|
|
||||||
|
|
||||||
&:rtl {
|
|
||||||
padding: ($base_padding * 3) ($base_padding * 2) ($base_padding * 3) 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// icon size and color
|
|
||||||
> StIcon {
|
|
||||||
icon-size: $base_icon_size*2; // 32px
|
|
||||||
-st-icon-style: symbolic;
|
|
||||||
}
|
|
||||||
|
|
||||||
// fallback
|
|
||||||
> .fallback-app-icon {
|
|
||||||
width: $base_icon_size;
|
|
||||||
height: $base_icon_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// content
|
|
||||||
.message-content {
|
|
||||||
padding: $base_padding + $base_margin * 2;
|
|
||||||
spacing: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// title
|
|
||||||
.message-title {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
// secondary container in title box
|
|
||||||
.message-secondary-bin {
|
|
||||||
padding: 0 $base_margin * 2;
|
|
||||||
|
|
||||||
// notification time stamp
|
|
||||||
> .event-time {
|
|
||||||
color: transparentize($fg_color, 0.5);
|
|
||||||
@include fontsize($base_font_size - 2);
|
|
||||||
text-align: right;
|
|
||||||
/* HACK: the label should be baseline-aligned with a 1em label, fake this with some bottom padding */
|
|
||||||
padding-bottom: 0.13em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// close button
|
|
||||||
.message-close-button {
|
|
||||||
color: lighten($fg_color, 15%);
|
|
||||||
&:hover { color: if($variant=='light', lighten($fg_color, 30%), darken($fg_color, 10%)); }
|
|
||||||
&:active { color: if($variant=='light', lighten($fg_color, 40%), darken($fg_color, 20%)); }
|
|
||||||
}
|
|
||||||
|
|
||||||
// body
|
|
||||||
.message-body {
|
|
||||||
color: darken($fg_color, 10%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// URLs in messages
|
|
||||||
.url-highlighter {
|
|
||||||
link-color: $link_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Media Controls */
|
|
||||||
.message-media-control {
|
|
||||||
padding: $base_padding * 2 $base_padding * 4;
|
|
||||||
color: darken($fg_color, 15%);
|
|
||||||
|
|
||||||
// uses $hover_bg_color since the media controls are in a notification_bubble
|
|
||||||
&:hover {
|
|
||||||
background-color: lighten($hover_bg_color, 5%);
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
background-color: darken($hover_bg_color, 2%);
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:insensitive { color: darken($fg_color,40%); }
|
|
||||||
|
|
||||||
// fix border-radius for last button
|
|
||||||
&:last-child:ltr { border-radius: 0 $base_border_radius+2 $base_border_radius+2 0; }
|
|
||||||
&:last-child:rtl { border-radius: $base_border_radius+2 0 0 $base_border_radius+2; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// album-art
|
|
||||||
.media-message-cover-icon {
|
|
||||||
icon-size: $base_icon_size*2 !important; // 48px
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
|
|
||||||
// when there is no artwork
|
|
||||||
&.fallback {
|
|
||||||
color: darken($fg_color, 17%);
|
|
||||||
background-color: $bg_color;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
border-radius: $base_border_radius;
|
|
||||||
icon-size: $base_icon_size * 2 !important;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,55 +0,0 @@
|
|||||||
// Rubberband for select-area screenshots
|
|
||||||
.select-area-rubberband {
|
|
||||||
background-color: transparentize($selected_bg_color,0.7);
|
|
||||||
border: 1px solid $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
// User icon
|
|
||||||
.user-icon {
|
|
||||||
background-size: contain;
|
|
||||||
color: $osd_fg_color;
|
|
||||||
border-radius: 99px;
|
|
||||||
&:hover {
|
|
||||||
color: lighten($osd_fg_color,30%);
|
|
||||||
}
|
|
||||||
|
|
||||||
& StIcon {
|
|
||||||
background-color: transparentize($osd_fg_color,0.95);
|
|
||||||
border-radius: 99px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-widget.vertical .user-icon {
|
|
||||||
icon-size: $base_icon_size * 6; // 128px
|
|
||||||
|
|
||||||
& StIcon {
|
|
||||||
padding: $base_padding * 3 + 2px; // 20px
|
|
||||||
padding-top: $base_padding * 3; // 18 px
|
|
||||||
padding-bottom: $base_padding * 3 + 4px; // 22px
|
|
||||||
width: $base_icon_size * 5.5; height: $base_icon_size * 5.5; // 88px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.user-widget.horizontal .user-icon {
|
|
||||||
icon-size: $base_icon_size * 4; // 64px
|
|
||||||
|
|
||||||
& StIcon {
|
|
||||||
padding: $base_padding * 2 ; // 12px
|
|
||||||
width: $base_icon_size * 2.5; height: $base_icon_size * 2.5; // 40px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.lightbox { background-color: black; }
|
|
||||||
.flashspot { background-color: white; }
|
|
||||||
|
|
||||||
|
|
||||||
// Hidden
|
|
||||||
.hidden { color: rgba(0,0,0,0);}
|
|
||||||
|
|
||||||
// Caps-lock warning
|
|
||||||
.caps-lock-warning-label {
|
|
||||||
text-align: center;
|
|
||||||
padding-bottom: 8px;
|
|
||||||
@include fontsize($base_font_size - 1);
|
|
||||||
color: $warning_color;
|
|
||||||
}
|
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
/* Network Dialogs */
|
|
||||||
.nm-dialog {
|
|
||||||
max-height: 34em;
|
|
||||||
min-height: 31em;
|
|
||||||
min-width: 32em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-content {
|
|
||||||
spacing: 20px;
|
|
||||||
padding: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-airplane-box { spacing: 12px; }
|
|
||||||
|
|
||||||
.nm-dialog-airplane-headline {
|
|
||||||
font-weight: bold;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.nm-dialog-airplane-text { color: $fg_color; }
|
|
||||||
|
|
||||||
// header
|
|
||||||
.nm-dialog-header {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.nm-dialog-header-icon {
|
|
||||||
icon-size: $base_icon_size * 2;
|
|
||||||
}
|
|
||||||
.nm-dialog-header-hbox { spacing: 10px; }
|
|
||||||
|
|
||||||
// list of networks
|
|
||||||
.nm-dialog-scroll-view {
|
|
||||||
border: 1px solid $borders_color;
|
|
||||||
padding:0;
|
|
||||||
background-color: darken($bg_color, 3%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// list item
|
|
||||||
.nm-dialog-item {
|
|
||||||
@include fontsize($base_font_size);
|
|
||||||
border-bottom: 1px solid $borders_color;
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
spacing: 0px;
|
|
||||||
&:selected {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// icons in list
|
|
||||||
.nm-dialog-icon { icon-size: $base_icon_size; }
|
|
||||||
.nm-dialog-icons { spacing: $base_spacing * 2; }
|
|
||||||
|
|
||||||
// no networks
|
|
||||||
.no-networks-label { color: $insensitive_fg_color; }
|
|
||||||
.no-networks-box { spacing: $base_padding; }
|
|
||||||
@@ -1,57 +0,0 @@
|
|||||||
/* Notifications & Mesage Tray */
|
|
||||||
|
|
||||||
$notification_banner_height: 64px;
|
|
||||||
$notification_banner_width: 34em;
|
|
||||||
|
|
||||||
// Banner notifications
|
|
||||||
.notification-banner {
|
|
||||||
min-height: $notification_banner_height;
|
|
||||||
width: $notification_banner_width;
|
|
||||||
|
|
||||||
.notification-actions {
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-button {
|
|
||||||
@extend %bubble_button;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// counter
|
|
||||||
.summary-source-counter {
|
|
||||||
font-size: $base_font_size - 1pt;
|
|
||||||
font-weight: bold;
|
|
||||||
height: 1.6em;
|
|
||||||
width: 1.6em;
|
|
||||||
-shell-counter-overlap-x: 3px;
|
|
||||||
-shell-counter-overlap-y: 3px;
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
border: 2px solid $fg_color;
|
|
||||||
box-shadow: 0 2px 2px rgba(0,0,0,0.5);
|
|
||||||
border-radius: 0.9em; // should be 0.8 but whatever; wish I could do 50%;
|
|
||||||
}
|
|
||||||
|
|
||||||
// chat bubbles
|
|
||||||
.chat-body { spacing: 5px; }
|
|
||||||
.chat-response { margin: 5px; }
|
|
||||||
.chat-log-message { color: darken($fg_color,10%); }
|
|
||||||
.chat-new-group { padding-top: 1em; }
|
|
||||||
.chat-received {
|
|
||||||
padding-left: 4px;
|
|
||||||
&:rtl { padding-left: 0px; padding-right: 4px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-sent {
|
|
||||||
padding-left: 18pt;
|
|
||||||
color: lighten($fg_color, 15%);
|
|
||||||
&:rtl { padding-left: 0; padding-right: 18pt; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-meta-message {
|
|
||||||
padding-left: 4px;
|
|
||||||
@include fontsize($base_font_size - 2);
|
|
||||||
font-weight: bold;
|
|
||||||
color: lighten($fg_color,18%);
|
|
||||||
&:rtl { padding-left: 0; padding-right: 4px; }
|
|
||||||
}
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
/* OSD */
|
|
||||||
|
|
||||||
$osd_levelbar_height:8px;
|
|
||||||
|
|
||||||
.osd-window {
|
|
||||||
@extend %osd_panel;
|
|
||||||
text-align: center;
|
|
||||||
font-weight: bold;
|
|
||||||
spacing: $base_spacing * 2; // 12px
|
|
||||||
margin: $base_margin * 8; // 32px
|
|
||||||
min-width: 64px;
|
|
||||||
min-height: 64px;
|
|
||||||
|
|
||||||
StIcon {
|
|
||||||
icon-size:$base_icon_size * 6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.osd-monitor-label { font-size: 3em; }
|
|
||||||
|
|
||||||
.level {
|
|
||||||
height: $osd_levelbar_height;
|
|
||||||
-barlevel-height: $osd_levelbar_height;
|
|
||||||
-barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9));
|
|
||||||
-barlevel-active-background-color: $osd_fg_color;
|
|
||||||
-barlevel-overdrive-color: $destructive_color;
|
|
||||||
-barlevel-overdrive-separator-width: 3px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Pad OSD */
|
|
||||||
.pad-osd-window {
|
|
||||||
padding: 32px;
|
|
||||||
background-color: transparentize(#000, 0.2);
|
|
||||||
|
|
||||||
.pad-osd-title-box { spacing: 12px; }
|
|
||||||
.pad-osd-title-menu-box { spacing: 6px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
.combo-box-label {
|
|
||||||
width: 15em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.resize-popup {
|
|
||||||
@extend %osd_panel;
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
/* OVERVIEW */
|
|
||||||
|
|
||||||
#overview {
|
|
||||||
spacing: 24px;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overview-controls {
|
|
||||||
padding-bottom: 32px;
|
|
||||||
}
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
/* Top Bar */
|
|
||||||
// a.k.a. the panel
|
|
||||||
|
|
||||||
$panel_corner_radius: $base_border_radius+1;
|
|
||||||
$panel_bg_color: #000;
|
|
||||||
$panel_fg_color: #ccc;
|
|
||||||
$panel_height: 1.86em;
|
|
||||||
|
|
||||||
|
|
||||||
#panel {
|
|
||||||
background-color: $panel_bg_color;
|
|
||||||
font-weight: bold;
|
|
||||||
height: $panel_height;
|
|
||||||
font-feature-settings: "tnum";
|
|
||||||
|
|
||||||
// transparent panel on lock & login screens
|
|
||||||
&.unlock-screen,
|
|
||||||
&.login-screen {
|
|
||||||
background-color: transparent;
|
|
||||||
|
|
||||||
.panel-corner {
|
|
||||||
-panel-corner-radius: 0;
|
|
||||||
-panel-corner-background-color: transparent;
|
|
||||||
-panel-corner-border-color: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// spacing between activities, app menu and such
|
|
||||||
#panelLeft, #panelCenter {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// the rounded outset corners
|
|
||||||
.panel-corner {
|
|
||||||
-panel-corner-radius: $panel_corner_radius;
|
|
||||||
-panel-corner-background-color: $panel_bg_color;
|
|
||||||
-panel-corner-border-width: 2px;
|
|
||||||
-panel-corner-border-color: transparent;
|
|
||||||
|
|
||||||
&:active, &:overview, &:focus {
|
|
||||||
-panel-corner-border-color: lighten($selected_bg_color,5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// panel menus
|
|
||||||
.panel-button {
|
|
||||||
font-weight: bold;
|
|
||||||
color: $panel_fg_color;
|
|
||||||
-natural-hpadding: $base_padding * 2;
|
|
||||||
-minimum-hpadding: $base_padding;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
color: lighten($panel_fg_color, 20%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active, &:overview, &:focus, &:checked {
|
|
||||||
color: lighten($panel_fg_color, 20%);
|
|
||||||
}
|
|
||||||
|
|
||||||
// status area icons
|
|
||||||
.system-status-icon {
|
|
||||||
icon-size: $base_icon_size;
|
|
||||||
padding: $base_padding - 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// app menu icon
|
|
||||||
.app-menu-icon {
|
|
||||||
margin-left: $base_margin;
|
|
||||||
margin-right: $base_margin;
|
|
||||||
-st-icon-style: symbolic;
|
|
||||||
// dimensions of the icon are hardcoded
|
|
||||||
}
|
|
||||||
|
|
||||||
// lock & login screen styles
|
|
||||||
.unlock-screen &,
|
|
||||||
.login-screen & {
|
|
||||||
color: lighten($fg_color, 10%);
|
|
||||||
&:focus, &:hover, &:active { color: lighten($fg_color, 10%); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button {
|
|
||||||
&:active, &:overview, &:focus, &:checked {
|
|
||||||
// Trick due to St limitations. It needs a background to draw a box-shadow
|
|
||||||
background-color: rgba(0, 0, 0, 0.01);
|
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-button.clock-display {
|
|
||||||
// Move highlight from .panel-button to .clock
|
|
||||||
&:active, &:overview, &:focus, &:checked {
|
|
||||||
box-shadow: none;
|
|
||||||
|
|
||||||
.clock {
|
|
||||||
background-color: rgba(0, 0, 0, 0.01);
|
|
||||||
box-shadow: inset 0 -2px 0 0 lighten($selected_bg_color,5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.panel-status-indicators-box,
|
|
||||||
.panel-status-menu-box {
|
|
||||||
spacing: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// spacing between power icon and (optional) percentage label
|
|
||||||
.power-status.panel-status-indicators-box {
|
|
||||||
spacing: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// indicator for active
|
|
||||||
.screencast-indicator,
|
|
||||||
.remote-access-indicator { color: $warning_color; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// App Menu
|
|
||||||
#appMenu {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
.label-shadow { color: transparent; }
|
|
||||||
}
|
|
||||||
@@ -1,129 +0,0 @@
|
|||||||
/* Popovers/Menus */
|
|
||||||
|
|
||||||
$popover_arrow_height: 12px;
|
|
||||||
|
|
||||||
//.the popover itself
|
|
||||||
.popup-menu-boxpointer {
|
|
||||||
-arrow-border-radius: $base_border_radius+4;
|
|
||||||
-arrow-background-color: $bg_color;
|
|
||||||
-arrow-border-width: 1px;
|
|
||||||
-arrow-border-color: $borders_color;
|
|
||||||
-arrow-base: $popover_arrow_height * 2;
|
|
||||||
-arrow-rise: $popover_arrow_height;
|
|
||||||
-arrow-box-shadow: 0 1px 3px rgba(0,0,0,0.5); // dreaming bugzilla #689995
|
|
||||||
}
|
|
||||||
|
|
||||||
// container of the popover menu
|
|
||||||
.popup-menu {
|
|
||||||
min-width: 15em;
|
|
||||||
color: $fg_color;
|
|
||||||
|
|
||||||
//.popup-status-menu-item { font-weight: normal; color: pink; } //dunno what that is
|
|
||||||
&.panel-menu {
|
|
||||||
-boxpointer-gap: $base_margin; // distance from the panel
|
|
||||||
margin-bottom: 1.75em;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup-menu-content {
|
|
||||||
padding: $base_padding * 2 + $base_margin 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// menu items
|
|
||||||
.popup-menu-item {
|
|
||||||
spacing: $base_padding;
|
|
||||||
padding: $base_padding;
|
|
||||||
|
|
||||||
&:ltr { padding-right:1.75em; padding-left: 0; }
|
|
||||||
&:rtl { padding-right: 0; padding-left:1.75em; }
|
|
||||||
|
|
||||||
&:checked {
|
|
||||||
background-color: lighten($bg_color, 2%);
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
&.selected {
|
|
||||||
background-color: transparentize(white, if($variant=='light', 0.2, 0.9));
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:insensitive { color: transparentize($fg_color,0.5);}
|
|
||||||
}
|
|
||||||
|
|
||||||
// all icons and other graphical elements
|
|
||||||
.popup-inactive-menu-item {
|
|
||||||
color: $fg_color;
|
|
||||||
|
|
||||||
&:insensitive { color: transparentize($fg_color,0.5); }
|
|
||||||
}
|
|
||||||
|
|
||||||
// symbolic icons in popover
|
|
||||||
.popup-menu-arrow,
|
|
||||||
.popup-menu-icon { icon-size: $base_icon_size; }
|
|
||||||
|
|
||||||
// popover submenus
|
|
||||||
.popup-sub-menu {
|
|
||||||
background-color: darken($bg_color, 3%);
|
|
||||||
box-shadow: none;
|
|
||||||
border-top: 1px solid transparentize($borders_color, 0.2);
|
|
||||||
border-bottom: 1px solid transparentize($borders_color, 0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
// container for radio and check boxes
|
|
||||||
.popup-menu-ornament {
|
|
||||||
text-align: right;
|
|
||||||
width: 1.2em;
|
|
||||||
}
|
|
||||||
|
|
||||||
// separator
|
|
||||||
.popup-separator-menu-item {
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
.popup-separator-menu-item-separator {
|
|
||||||
//-margin-horizontal: 24px;
|
|
||||||
height: 1px; //not really the whole box
|
|
||||||
margin: 6px 64px;
|
|
||||||
background-color: lighten($borders_color, 2%);
|
|
||||||
.popup-sub-menu & { //submenu separators
|
|
||||||
margin: 0 64px 0 32px;
|
|
||||||
@if $variant == 'dark' {
|
|
||||||
background-color: lighten($bg_color,10%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// desktop background menu
|
|
||||||
.background-menu {
|
|
||||||
-boxpointer-gap: $base_margin;
|
|
||||||
-arrow-rise: 0px; // hide the beak on the menu
|
|
||||||
}
|
|
||||||
|
|
||||||
// system status menu
|
|
||||||
.aggregate-menu {
|
|
||||||
min-width: 21em;
|
|
||||||
|
|
||||||
// lock screen, shutdown, etc. buttons
|
|
||||||
.popup-menu-icon {
|
|
||||||
padding:0;
|
|
||||||
margin: 0 $base_margin;
|
|
||||||
-st-icon-style: symbolic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.popup-sub-menu .popup-menu-item > :first-child {
|
|
||||||
// account for icons in submenus with padding
|
|
||||||
&:ltr {
|
|
||||||
padding-left: $base_padding + $base_margin * 2;
|
|
||||||
margin-left: $base_icon_size;
|
|
||||||
}
|
|
||||||
&:rtl {
|
|
||||||
padding-right: $base_padding + $base_margin * 2; ;
|
|
||||||
margin-right: $base_icon_size;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,78 +0,0 @@
|
|||||||
/* Screen Shield */
|
|
||||||
|
|
||||||
.unlock-dialog-clock {
|
|
||||||
color: white;
|
|
||||||
font-weight: 300;
|
|
||||||
text-align: center;
|
|
||||||
spacing: 24px;
|
|
||||||
padding-bottom: 2.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-clock-time {
|
|
||||||
font-size: 64pt;
|
|
||||||
padding-top: 42px;
|
|
||||||
font-feature-settings: "tnum";
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-clock-date {
|
|
||||||
font-size: 16pt;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-clock-hint {
|
|
||||||
font-weight: normal;
|
|
||||||
padding-top: 48px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-notifications-container {
|
|
||||||
margin: 12px 0;
|
|
||||||
spacing: 6px;
|
|
||||||
width: 23em;
|
|
||||||
background-color: transparent;
|
|
||||||
.summary-notification-stack-scrollview {
|
|
||||||
padding-top: 0;
|
|
||||||
padding-bottom: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification,
|
|
||||||
.unlock-dialog-notification-source {
|
|
||||||
padding: 12px 6px;
|
|
||||||
border: none;
|
|
||||||
background-color: transparentize($osd_bg_color,0.7);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
border-radius: $modal_radius;
|
|
||||||
|
|
||||||
&.critical { background-color: transparentize($osd_bg_color,0.1) }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-notification-label {
|
|
||||||
padding: 0px 0px 0px 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.unlock-dialog-notification-count-text {
|
|
||||||
weight: bold;
|
|
||||||
padding: 0 6px;
|
|
||||||
color: $osd_bg_color;
|
|
||||||
background-color: transparentize($osd_fg_color, 0.7);
|
|
||||||
border-radius: 99px;
|
|
||||||
margin-right: 12px;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
.screen-shield-background { //just the shadow, really
|
|
||||||
background: black;
|
|
||||||
box-shadow: 0px 2px 4px rgba(0,0,0,0.6);
|
|
||||||
}
|
|
||||||
|
|
||||||
#lockDialogGroup {
|
|
||||||
background-color: lighten(#2e3436, 8%);
|
|
||||||
}
|
|
||||||
|
|
||||||
#unlockDialogNotifications {
|
|
||||||
StButton#vhandle, StButton#hhandle {
|
|
||||||
background-color: transparentize($bg_color,0.7);
|
|
||||||
&:hover, &:focus { background-color: transparentize($bg_color,0.5); }
|
|
||||||
&:active { background-color: transparentize($selected_bg_color,0.5); }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,29 +0,0 @@
|
|||||||
/* Scrollbars */
|
|
||||||
|
|
||||||
StScrollView {
|
|
||||||
&.vfade { -st-vfade-offset: 68px; }
|
|
||||||
&.hfade { -st-hfade-offset: 68px; }
|
|
||||||
}
|
|
||||||
|
|
||||||
StScrollBar {
|
|
||||||
padding: 0;
|
|
||||||
|
|
||||||
StScrollView & {
|
|
||||||
min-width: 14px;
|
|
||||||
min-height: 14px;
|
|
||||||
}
|
|
||||||
|
|
||||||
StBin#trough {
|
|
||||||
border-radius: 0;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
StButton#vhandle, StButton#hhandle {
|
|
||||||
border-radius: 8px;
|
|
||||||
background-color: mix($fg_color, $bg_color, 60%);
|
|
||||||
//border: 3px solid transparent; //would be nice to margin or at least to transparent
|
|
||||||
margin: 3px;
|
|
||||||
&:hover { background-color: mix($fg_color, $bg_color, 80%); }
|
|
||||||
&:active { background-color: $selected_bg_color; }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,35 +0,0 @@
|
|||||||
// Search entry
|
|
||||||
|
|
||||||
$search_entry_width: 320px;
|
|
||||||
$search_entry_height: 36px;
|
|
||||||
|
|
||||||
%search_entry,
|
|
||||||
.search-entry {
|
|
||||||
width: $search_entry_width;
|
|
||||||
padding: $base_padding+1 $base_padding+3;
|
|
||||||
border-radius: $search_entry_height * 0.5; // half the height
|
|
||||||
color: transparentize($fg_color,0.3);
|
|
||||||
background-color: $bg_color;
|
|
||||||
border-color: $borders_color;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: $hover_bg_color;
|
|
||||||
border-color: $hover_borders_color;
|
|
||||||
color: $hover_fg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:focus {
|
|
||||||
padding: $base_padding $base_padding+2; // 1px less to account for wider border
|
|
||||||
border-width: 2px;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: $selected_bg_color;
|
|
||||||
color: $fg_color;
|
|
||||||
box-shadow: inset 0 1px 2px 1px rgba(0,0,0,0.2);
|
|
||||||
}
|
|
||||||
|
|
||||||
.search-entry-icon {
|
|
||||||
icon-size: $base_icon_size;
|
|
||||||
padding: 0 4px;
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,104 +0,0 @@
|
|||||||
/* Search */
|
|
||||||
|
|
||||||
// search overview container
|
|
||||||
#searchResultsContent {
|
|
||||||
max-width: 1024px;
|
|
||||||
spacing: $base_margin * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
// search results sections "the boxes"
|
|
||||||
.search-section {
|
|
||||||
// This should be equal to #searchResultsContent spacing
|
|
||||||
spacing: $base_margin * 2;
|
|
||||||
|
|
||||||
// separator
|
|
||||||
.search-section-separator {
|
|
||||||
// height: 1px;
|
|
||||||
// background-color: $osd_outer_borders_color;
|
|
||||||
height: 0;
|
|
||||||
background-color: transparent;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// content
|
|
||||||
.search-section-content {
|
|
||||||
background-color: transparentize(lighten($osd_bg_color, 5%), 0.2);
|
|
||||||
border-radius: $modal_radius+3;
|
|
||||||
border: 1px solid $osd_outer_borders_color;
|
|
||||||
box-shadow: 0 2px 4px 0 $shadow_color;
|
|
||||||
text-shadow: 0 1px if($variant == 'light', rgba(255,255,255,0.2), rgba(0,0,0,0.2));
|
|
||||||
color: $osd_fg_color;
|
|
||||||
padding: $base_padding * 3;
|
|
||||||
// This is the space between the provider icon and the results container
|
|
||||||
spacing: $base_margin * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
%search-section-content-item {
|
|
||||||
@extend %icon_tile;
|
|
||||||
|
|
||||||
&:focus,
|
|
||||||
&:hover,
|
|
||||||
&:selected {
|
|
||||||
background-color: transparentize($osd_fg_color, .9);
|
|
||||||
transition-duration: 200ms;
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active,
|
|
||||||
&:checked {
|
|
||||||
background-color: transparentize(darken($osd_bg_color, 10%), .1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// "no results" text
|
|
||||||
.search-statustext {
|
|
||||||
@extend %status_text;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Search results with icons
|
|
||||||
.grid-search-result {
|
|
||||||
@extend %app-well-app;
|
|
||||||
}
|
|
||||||
|
|
||||||
// search result provider
|
|
||||||
.search-provider-icon {
|
|
||||||
@extend %search-section-content-item;
|
|
||||||
|
|
||||||
// content
|
|
||||||
.list-search-provider-content {
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
|
|
||||||
// provider labels
|
|
||||||
.list-search-provider-details {
|
|
||||||
width: 120px;
|
|
||||||
margin-top: 0;
|
|
||||||
color: darken($osd_fg_color, 8%);
|
|
||||||
// font-weight: bold;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// search results list
|
|
||||||
.list-search-results {
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
// search result listitem
|
|
||||||
.list-search-result {
|
|
||||||
@extend %search-section-content-item;
|
|
||||||
|
|
||||||
// content
|
|
||||||
.list-search-result-content {
|
|
||||||
spacing: $base_padding;
|
|
||||||
}
|
|
||||||
|
|
||||||
// list item title (with leading icon)
|
|
||||||
.list-search-result-title {
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
// font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
// list item description
|
|
||||||
.list-search-result-description {
|
|
||||||
color: darken($osd_fg_color, 30%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
/* Slider */
|
|
||||||
|
|
||||||
$slider_size: 15px;
|
|
||||||
|
|
||||||
.slider {
|
|
||||||
height: $slider_size;
|
|
||||||
// slider trough
|
|
||||||
-barlevel-height: 3px; // has to be an odd number
|
|
||||||
-barlevel-background-color: $borders_color; //background of the trough
|
|
||||||
-barlevel-border-width: 1px;
|
|
||||||
-barlevel-border-color: $borders_color; // trough border color
|
|
||||||
// fill style
|
|
||||||
-barlevel-active-background-color: $selected_bg_color; //active trough fill
|
|
||||||
-barlevel-active-border-color: if($variant == 'light', darken($selected_bg_color, 4%), lighten($selected_bg_color, 2%)); //active trough border
|
|
||||||
// overfill style (red in this case)
|
|
||||||
-barlevel-overdrive-color: $destructive_color;
|
|
||||||
-barlevel-overdrive-border-color: if($variant == 'light', darken($destructive_color, 4%), lighten($destructive_color, 2%)); //trough border when red;
|
|
||||||
-barlevel-overdrive-separator-width:1px;
|
|
||||||
// slider hander
|
|
||||||
-slider-handle-radius: $slider_size * 0.5; // half the size of the size
|
|
||||||
-slider-handle-border-width: 1px;
|
|
||||||
-slider-handle-border-color: if($variant == 'light', $borders_color, $fg_color);
|
|
||||||
|
|
||||||
color: if($variant == 'light', lighten($bg_color, 10%), $fg_color);
|
|
||||||
&:hover { color: $hover_bg_color; }
|
|
||||||
&:active { color: $active_bg_color; }
|
|
||||||
}
|
|
||||||
@@ -1,67 +0,0 @@
|
|||||||
/* App Switcher */
|
|
||||||
|
|
||||||
.switcher-popup {
|
|
||||||
padding: 8px;
|
|
||||||
spacing: $base_spacing * 4;
|
|
||||||
}
|
|
||||||
|
|
||||||
// switcher onscreen panel
|
|
||||||
.switcher-list {
|
|
||||||
@extend %osd_panel;
|
|
||||||
|
|
||||||
.item-box {
|
|
||||||
padding: 8px;
|
|
||||||
border-radius: $base_border_radius + 1px;
|
|
||||||
border: 1px solid transparent;
|
|
||||||
|
|
||||||
&:outlined {
|
|
||||||
border: 1px solid darken($borders_color,5%);
|
|
||||||
background-color: transparentize($osd_fg_color, 0.9);
|
|
||||||
box-shadow: inset 0 2px 2px 0 rgba(0,0,0,0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:selected {
|
|
||||||
background-color: transparentize($osd_fg_color, 0.9);
|
|
||||||
color: $osd_fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// window thumbnails
|
|
||||||
.thumbnail-box {
|
|
||||||
padding: 2px;
|
|
||||||
spacing: $base_spacing;
|
|
||||||
}
|
|
||||||
|
|
||||||
.thumbnail {
|
|
||||||
width: 256px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.separator {
|
|
||||||
width: 1px;
|
|
||||||
background: $borders_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.switcher-list-item-container {
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.switcher-arrow {
|
|
||||||
border-color: rgba(0,0,0,0);
|
|
||||||
color: transparentize($fg_color,0.2);
|
|
||||||
&:highlighted {
|
|
||||||
color: $fg_color;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Input Source Switcher
|
|
||||||
.input-source-switcher-symbol {
|
|
||||||
font-size: 34pt;
|
|
||||||
width: 96px;
|
|
||||||
height: 96px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Window cycler highlight
|
|
||||||
.cycler-highlight {
|
|
||||||
border: 5px solid $selected_bg_color;
|
|
||||||
}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
/* Switches */
|
|
||||||
|
|
||||||
// these are equal to the size of the SVG assets
|
|
||||||
$switch_height: 22px;
|
|
||||||
$switch_width: 46px;
|
|
||||||
|
|
||||||
.toggle-switch {
|
|
||||||
color: $fg_color;
|
|
||||||
height: $switch_height;
|
|
||||||
width: $switch_width;
|
|
||||||
background-size: contain;
|
|
||||||
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-off.svg"),url("resource:///org/gnome/shell/theme/toggle-off-dark.svg"));
|
|
||||||
&:checked {
|
|
||||||
background-image: if($variant == 'light', url("resource:///org/gnome/shell/theme/toggle-on.svg"),url("resource:///org/gnome/shell/theme/toggle-on-dark.svg"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,19 +0,0 @@
|
|||||||
|
|
||||||
/* Tiled window previews */
|
|
||||||
$tile_corner_radius: $base_border_radius + 1px;
|
|
||||||
.tile-preview {
|
|
||||||
background-color: transparentize($selected_bg_color,0.5);
|
|
||||||
border: 1px solid $selected_bg_color;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-left.on-primary {
|
|
||||||
border-radius: $tile_corner_radius 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-right.on-primary {
|
|
||||||
border-radius: 0 $tile_corner_radius 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tile-preview-left.tile-preview-right.on-primary {
|
|
||||||
border-radius: $tile_corner_radius $tile_corner_radius 0 0;
|
|
||||||
}
|
|
||||||
@@ -1,66 +0,0 @@
|
|||||||
/* Window Picker */
|
|
||||||
|
|
||||||
$window_picker_spacing: $base_spacing * 2; // 16px
|
|
||||||
$window_picker_padding: $base_padding * 2; // 16px
|
|
||||||
|
|
||||||
$window_thumbnail_border_color:transparentize($selected_fg_color, 0.65);
|
|
||||||
|
|
||||||
$window_close_button_size: 24px;
|
|
||||||
$window_close_button_padding: 3px;
|
|
||||||
|
|
||||||
|
|
||||||
// Window picker
|
|
||||||
.window-picker {
|
|
||||||
// Space between window thumbnails
|
|
||||||
-horizontal-spacing: $window_picker_spacing;
|
|
||||||
-vertical-spacing: $window_picker_spacing;
|
|
||||||
// Padding for container around window thumbnails
|
|
||||||
padding: $window_picker_padding;
|
|
||||||
|
|
||||||
&.external-monitor { padding: $window_picker_padding; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// Borders on window thumbnails
|
|
||||||
.window-clone-border {
|
|
||||||
border-width: 6px;
|
|
||||||
border-style: solid;
|
|
||||||
border-color: $window_thumbnail_border_color;
|
|
||||||
border-radius: $base_border_radius + 2;
|
|
||||||
// For window decorations with round corners we can't match
|
|
||||||
// the exact shape when the window is scaled. So apply a shadow
|
|
||||||
// to fix that case
|
|
||||||
box-shadow: inset 0 0 0 1px transparentize($borders_color, 0.8);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Window titles
|
|
||||||
.window-caption {
|
|
||||||
color: $osd_fg_color;
|
|
||||||
background-color: $osd_bg_color;
|
|
||||||
border:1px solid $osd_outer_borders_color;
|
|
||||||
border-radius: $base_border_radius + 1;
|
|
||||||
padding: $base_padding $base_padding * 2;
|
|
||||||
font-weight: bold;
|
|
||||||
@include fontsize($base_font_size + 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Close button
|
|
||||||
.window-close {
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
border: none;
|
|
||||||
border-radius: $window_close_button_size * 0.5 + $window_close_button_padding * 2;
|
|
||||||
padding: $window_close_button_padding;
|
|
||||||
height: $window_close_button_size;
|
|
||||||
width: $window_close_button_size;
|
|
||||||
box-shadow: -1px 1px 5px 0px rgba(0,0,0,0.5);
|
|
||||||
|
|
||||||
-shell-close-overlap: $window_close_button_size * 0.5;
|
|
||||||
|
|
||||||
&:hover {
|
|
||||||
background-color: lighten($selected_bg_color, 5%);
|
|
||||||
}
|
|
||||||
|
|
||||||
&:active {
|
|
||||||
background-color: darken($selected_bg_color, 5%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
/* Workspace Switcher */
|
|
||||||
.workspace-switcher-group {
|
|
||||||
padding: $base_padding * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-switcher-container {
|
|
||||||
@extend %osd_panel;
|
|
||||||
}
|
|
||||||
|
|
||||||
.workspace-switcher {
|
|
||||||
background: transparent;
|
|
||||||
border: none;
|
|
||||||
border-radius: 0;
|
|
||||||
padding: 0;
|
|
||||||
spacing: $base_spacing * 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
.ws-switcher-box {
|
|
||||||
background: transparent;
|
|
||||||
height: 50px;
|
|
||||||
background-size: 32px;
|
|
||||||
border: 1px solid transparentize($osd_fg_color,0.9);
|
|
||||||
border-radius: $base_border_radius + 3px;
|
|
||||||
}
|
|
||||||
|
|
||||||
// active workspace in the switcher
|
|
||||||
.ws-switcher-active-up,
|
|
||||||
.ws-switcher-active-down,
|
|
||||||
.ws-switcher-active-left,
|
|
||||||
.ws-switcher-active-right {
|
|
||||||
height: 52px;
|
|
||||||
background-color: $selected_bg_color;
|
|
||||||
border: 1px solid if($variant=='light', darken($selected_bg_color, 8%), lighten($selected_bg_color, 5%));
|
|
||||||
border-radius: $base_border_radius + 3px;
|
|
||||||
color: $selected_fg_color;
|
|
||||||
}
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
/* Workspace pager */
|
|
||||||
|
|
||||||
// thumbnails in overview
|
|
||||||
.workspace-thumbnails {
|
|
||||||
@extend %overview_panel;
|
|
||||||
visible-width: 32px; //amount visible before hover
|
|
||||||
spacing: $base_spacing;
|
|
||||||
padding: $base_padding;
|
|
||||||
|
|
||||||
border-radius: $modal_radius 0 0 $modal_radius;
|
|
||||||
border-right-width: 0;
|
|
||||||
|
|
||||||
&:rtl {
|
|
||||||
border-radius: 0 $modal_radius $modal_radius 0;
|
|
||||||
border-left-width: 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
// drag and drop indicator
|
|
||||||
.placeholder {
|
|
||||||
background-image: url("resource:///org/gnome/shell/theme/dash-placeholder.svg");
|
|
||||||
background-size: contain;
|
|
||||||
height: 24px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// selected indicator
|
|
||||||
.workspace-thumbnail-indicator {
|
|
||||||
border: 3px solid $selected_bg_color;
|
|
||||||
border-radius: 3px;
|
|
||||||
padding: 0px;
|
|
||||||
// background-color: transparentize($selected_bg_color, 0.9);
|
|
||||||
}
|
|
||||||
+14
-7
@@ -21,16 +21,23 @@ for f in $extensiondir/*; do
|
|||||||
uuid=$name@gnome-shell-extensions.gcampax.github.com
|
uuid=$name@gnome-shell-extensions.gcampax.github.com
|
||||||
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
|
schema=$schemadir/org.gnome.shell.extensions.$name.gschema.xml
|
||||||
|
|
||||||
cp $srcdir/NEWS $srcdir/COPYING $f
|
xgettext --from-code=UTF-8 --output-dir=$builddir --output=$name.pot $f/*.js
|
||||||
cp -r $localedir $f
|
|
||||||
|
|
||||||
if [ -f $schema ]; then
|
if [ -f $builddir/$name.pot ]; then
|
||||||
mkdir $f/schemas
|
mkdir $f/po
|
||||||
cp $schema $f/schemas;
|
for l in $(<$srcdir/po/LINGUAS); do
|
||||||
glib-compile-schemas $f/schemas
|
msgmerge --quiet --output-file=$f/po/$l.po \
|
||||||
|
$srcdir/po/$l.po $builddir/$name.pot
|
||||||
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
(cd $f && zip -rmq $srcdir/zip-files/$uuid.shell-extension.zip .)
|
cp $srcdir/NEWS $srcdir/COPYING $f
|
||||||
|
sources=(NEWS COPYING $(cd $f; ls *.js))
|
||||||
|
|
||||||
|
[ -f $schema ] || unset schema
|
||||||
|
|
||||||
|
gnome-extensions pack ${sources[@]/#/--extra-source=} \
|
||||||
|
${schema:+--schema=$schema} --out-dir=$srcdir/zip-files $f
|
||||||
done
|
done
|
||||||
|
|
||||||
rm -rf $builddir
|
rm -rf $builddir
|
||||||
|
|||||||
@@ -35,17 +35,16 @@ class WindowMover {
|
|||||||
|
|
||||||
_updateAppData() {
|
_updateAppData() {
|
||||||
let ids = [...this._appConfigs.keys()];
|
let ids = [...this._appConfigs.keys()];
|
||||||
let removedApps = [...this._appData.keys()].filter(
|
let removedApps = [...this._appData.keys()]
|
||||||
a => !ids.includes(a.id)
|
.filter(a => !ids.includes(a.id));
|
||||||
);
|
|
||||||
removedApps.forEach(app => {
|
removedApps.forEach(app => {
|
||||||
app.disconnect(this._appData.get(app).windowsChangedId);
|
app.disconnect(this._appData.get(app).windowsChangedId);
|
||||||
this._appData.delete(app);
|
this._appData.delete(app);
|
||||||
});
|
});
|
||||||
|
|
||||||
let addedApps = ids.map(id => this._appSystem.lookup_app(id)).filter(
|
let addedApps = ids
|
||||||
app => app && !this._appData.has(app)
|
.map(id => this._appSystem.lookup_app(id))
|
||||||
);
|
.filter(app => app && !this._appData.has(app));
|
||||||
addedApps.forEach(app => {
|
addedApps.forEach(app => {
|
||||||
let data = {
|
let data = {
|
||||||
windowsChangedId: app.connect('windows-changed',
|
windowsChangedId: app.connect('windows-changed',
|
||||||
@@ -94,9 +93,9 @@ class WindowMover {
|
|||||||
// the window still exists and is just moved to a different workspace
|
// the window still exists and is just moved to a different workspace
|
||||||
// or something; assume it'll be added back immediately, so keep it
|
// or something; assume it'll be added back immediately, so keep it
|
||||||
// to avoid moving it again
|
// to avoid moving it again
|
||||||
windows.push(...data.windows.filter(
|
windows.push(...data.windows.filter(w => {
|
||||||
w => !windows.includes(w) && w.get_compositor_private() !== null
|
return !windows.includes(w) && w.get_compositor_private() !== null;
|
||||||
));
|
}));
|
||||||
|
|
||||||
let workspaceNum = this._appConfigs.get(app.id);
|
let workspaceNum = this._appConfigs.get(app.id);
|
||||||
windows.filter(w => !data.windows.includes(w)).forEach(window => {
|
windows.filter(w => !data.windows.includes(w)).forEach(window => {
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
/* exported init enable disable */
|
/* exported init enable disable */
|
||||||
// Drive menu extension
|
// Drive menu extension
|
||||||
const { Gio, GObject, Shell, St } = imports.gi;
|
const { Clutter, Gio, GObject, Shell, St } = imports.gi;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||||
const _ = Gettext.gettext;
|
const _ = Gettext.gettext;
|
||||||
@@ -14,9 +14,15 @@ const ShellMountOperation = imports.ui.shellMountOperation;
|
|||||||
var MountMenuItem = GObject.registerClass(
|
var MountMenuItem = GObject.registerClass(
|
||||||
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
_init(mount) {
|
_init(mount) {
|
||||||
super._init();
|
super._init({
|
||||||
|
style_class: 'drive-menu-item',
|
||||||
|
});
|
||||||
|
|
||||||
this.label = new St.Label({ text: mount.get_name() });
|
this.label = new St.Label({
|
||||||
|
text: mount.get_name(),
|
||||||
|
x_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
|
});
|
||||||
this.add_child(this.label);
|
this.add_child(this.label);
|
||||||
this.label_actor = this.label;
|
this.label_actor = this.label;
|
||||||
|
|
||||||
@@ -28,7 +34,10 @@ class MountMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
style_class: 'popup-menu-icon',
|
style_class: 'popup-menu-icon',
|
||||||
});
|
});
|
||||||
let ejectButton = new St.Button({ child: ejectIcon });
|
let ejectButton = new St.Button({
|
||||||
|
child: ejectIcon,
|
||||||
|
style_class: 'button',
|
||||||
|
});
|
||||||
ejectButton.connect('clicked', this._eject.bind(this));
|
ejectButton.connect('clicked', this._eject.bind(this));
|
||||||
this.add(ejectButton);
|
this.add(ejectButton);
|
||||||
|
|
||||||
|
|||||||
@@ -1 +1,7 @@
|
|||||||
/* This extensions requires no custom styling */
|
.drive-menu-item { spacing: 12px; }
|
||||||
|
|
||||||
|
.drive-menu-item .button {
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: 3px;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|||||||
+4
-20
@@ -3,7 +3,7 @@ js_sources = []
|
|||||||
|
|
||||||
metadata_name = 'metadata.json'
|
metadata_name = 'metadata.json'
|
||||||
|
|
||||||
foreach e : all_extensions
|
foreach e : enabled_extensions
|
||||||
uuid = e + uuid_suffix
|
uuid = e + uuid_suffix
|
||||||
|
|
||||||
metadata_conf = configuration_data()
|
metadata_conf = configuration_data()
|
||||||
@@ -19,27 +19,11 @@ foreach e : all_extensions
|
|||||||
|
|
||||||
subdir(e)
|
subdir(e)
|
||||||
|
|
||||||
js_sources += extension_sources
|
install_data (extension_sources + extension_data,
|
||||||
|
install_dir: join_paths(extensiondir, uuid)
|
||||||
if (enabled_extensions.contains(e))
|
)
|
||||||
install_data (extension_sources + extension_data,
|
|
||||||
install_dir: join_paths(extensiondir, uuid)
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
endforeach
|
endforeach
|
||||||
|
|
||||||
install_data (extension_schemas,
|
install_data (extension_schemas,
|
||||||
install_dir: schemadir
|
install_dir: schemadir
|
||||||
)
|
)
|
||||||
|
|
||||||
foreach js_source : js_sources
|
|
||||||
if (js68.found())
|
|
||||||
path_array = '@0@'.format(js_source).split('/')
|
|
||||||
name = join_paths(path_array[-2], path_array[-1])
|
|
||||||
|
|
||||||
test('Checking syntax of ' + name, js68,
|
|
||||||
args: ['-s', '-c', js_source],
|
|
||||||
workdir: meson.current_source_dir()
|
|
||||||
)
|
|
||||||
endif
|
|
||||||
endforeach
|
|
||||||
|
|||||||
@@ -20,7 +20,9 @@ const PLACE_ICON_SIZE = 16;
|
|||||||
var PlaceMenuItem = GObject.registerClass(
|
var PlaceMenuItem = GObject.registerClass(
|
||||||
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
||||||
_init(info) {
|
_init(info) {
|
||||||
super._init();
|
super._init({
|
||||||
|
style_class: 'place-menu-item',
|
||||||
|
});
|
||||||
this._info = info;
|
this._info = info;
|
||||||
|
|
||||||
this._icon = new St.Icon({
|
this._icon = new St.Icon({
|
||||||
@@ -29,7 +31,11 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
});
|
});
|
||||||
this.add_child(this._icon);
|
this.add_child(this._icon);
|
||||||
|
|
||||||
this._label = new St.Label({ text: info.name, x_expand: true });
|
this._label = new St.Label({
|
||||||
|
text: info.name,
|
||||||
|
x_expand: true,
|
||||||
|
y_align: Clutter.ActorAlign.CENTER,
|
||||||
|
});
|
||||||
this.add_child(this._label);
|
this.add_child(this._label);
|
||||||
|
|
||||||
if (info.isRemovable()) {
|
if (info.isRemovable()) {
|
||||||
@@ -37,7 +43,10 @@ class PlaceMenuItem extends PopupMenu.PopupBaseMenuItem {
|
|||||||
icon_name: 'media-eject-symbolic',
|
icon_name: 'media-eject-symbolic',
|
||||||
style_class: 'popup-menu-icon',
|
style_class: 'popup-menu-icon',
|
||||||
});
|
});
|
||||||
this._ejectButton = new St.Button({ child: this._ejectIcon });
|
this._ejectButton = new St.Button({
|
||||||
|
child: this._ejectIcon,
|
||||||
|
style_class: 'button',
|
||||||
|
});
|
||||||
this._ejectButton.connect('clicked', info.eject.bind(info));
|
this._ejectButton.connect('clicked', info.eject.bind(info));
|
||||||
this.add_child(this._ejectButton);
|
this.add_child(this._ejectButton);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1,8 @@
|
|||||||
/* none used*/
|
.place-menu-item .button {
|
||||||
|
border-radius: 99px;
|
||||||
|
padding: 3px;
|
||||||
|
min-height: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.place-menu-item .button:ltr { margin-left: 6px; }
|
||||||
|
.place-menu-item .button:rtl { margin-right: 6px; }
|
||||||
|
|||||||
@@ -2,11 +2,14 @@
|
|||||||
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
// Load shell theme from ~/.local/share/themes/name/gnome-shell
|
||||||
/* exported init */
|
/* exported init */
|
||||||
|
|
||||||
const { Gio, GLib } = imports.gi;
|
const { Gio } = imports.gi;
|
||||||
|
|
||||||
const ExtensionUtils = imports.misc.extensionUtils;
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
|
|
||||||
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
|
const Util = Me.imports.util;
|
||||||
|
|
||||||
const SETTINGS_KEY = 'name';
|
const SETTINGS_KEY = 'name';
|
||||||
|
|
||||||
class ThemeManager {
|
class ThemeManager {
|
||||||
@@ -34,13 +37,11 @@ class ThemeManager {
|
|||||||
let themeName = this._settings.get_string(SETTINGS_KEY);
|
let themeName = this._settings.get_string(SETTINGS_KEY);
|
||||||
|
|
||||||
if (themeName) {
|
if (themeName) {
|
||||||
let stylesheetPaths = [
|
const stylesheetPaths = Util.getThemeDirs()
|
||||||
[GLib.get_home_dir(), '.themes'],
|
.map(dir => `${dir}/${themeName}/gnome-shell/gnome-shell.css`);
|
||||||
[GLib.get_user_data_dir(), 'themes'],
|
|
||||||
...GLib.get_system_data_dirs().map(dir => [dir, 'themes']),
|
stylesheetPaths.push(...Util.getModeThemeDirs()
|
||||||
].map(themeDir => GLib.build_filenamev([
|
.map(dir => `${dir}/${themeName}.css`));
|
||||||
...themeDir, themeName, 'gnome-shell', 'gnome-shell.css',
|
|
||||||
]));
|
|
||||||
|
|
||||||
stylesheet = stylesheetPaths.find(path => {
|
stylesheet = stylesheetPaths.find(path => {
|
||||||
let file = Gio.file_new_for_path(path);
|
let file = Gio.file_new_for_path(path);
|
||||||
|
|||||||
@@ -4,4 +4,5 @@ extension_data += configure_file(
|
|||||||
configuration: metadata_conf
|
configuration: metadata_conf
|
||||||
)
|
)
|
||||||
|
|
||||||
|
extension_sources += files('prefs.js', 'util.js')
|
||||||
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
extension_schemas += files(metadata_conf.get('gschemaname') + '.gschema.xml')
|
||||||
|
|||||||
@@ -0,0 +1,189 @@
|
|||||||
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
|
// we use async/await here to not block the mainloop, not to parallelize
|
||||||
|
/* eslint-disable no-await-in-loop */
|
||||||
|
|
||||||
|
const { Gio, GLib, GObject, Gtk } = imports.gi;
|
||||||
|
|
||||||
|
const ExtensionUtils = imports.misc.extensionUtils;
|
||||||
|
|
||||||
|
const Me = ExtensionUtils.getCurrentExtension();
|
||||||
|
const Util = Me.imports.util;
|
||||||
|
|
||||||
|
Gio._promisify(Gio._LocalFilePrototype,
|
||||||
|
'enumerate_children_async', 'enumerate_children_finish');
|
||||||
|
Gio._promisify(Gio._LocalFilePrototype,
|
||||||
|
'query_info_async', 'query_info_finish');
|
||||||
|
Gio._promisify(Gio.FileEnumerator.prototype,
|
||||||
|
'next_files_async', 'next_files_finish');
|
||||||
|
|
||||||
|
const UserThemePrefsWidget = GObject.registerClass(
|
||||||
|
class UserThemePrefsWidget extends Gtk.ScrolledWindow {
|
||||||
|
_init() {
|
||||||
|
super._init({
|
||||||
|
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||||
|
});
|
||||||
|
|
||||||
|
const box = new Gtk.Box();
|
||||||
|
this.add(box);
|
||||||
|
|
||||||
|
this._list = new Gtk.ListBox({
|
||||||
|
selection_mode: Gtk.SelectionMode.NONE,
|
||||||
|
halign: Gtk.Align.CENTER,
|
||||||
|
valign: Gtk.Align.START,
|
||||||
|
hexpand: true,
|
||||||
|
margin: 60,
|
||||||
|
});
|
||||||
|
this._list.get_style_context().add_class('frame');
|
||||||
|
this._list.set_header_func(this._updateHeader.bind(this));
|
||||||
|
box.add(this._list);
|
||||||
|
|
||||||
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
|
this._list.insert_action_group('theme', this._actionGroup);
|
||||||
|
|
||||||
|
this._settings = ExtensionUtils.getSettings();
|
||||||
|
this._actionGroup.add_action(
|
||||||
|
this._settings.create_action('name'));
|
||||||
|
|
||||||
|
this.connect('destroy', () => this._settings.run_dispose());
|
||||||
|
|
||||||
|
this._rows = new Map();
|
||||||
|
this._addTheme(''); // default
|
||||||
|
|
||||||
|
this._collectThemes();
|
||||||
|
}
|
||||||
|
|
||||||
|
async _collectThemes() {
|
||||||
|
for (const dirName of Util.getThemeDirs()) {
|
||||||
|
const dir = Gio.File.new_for_path(dirName);
|
||||||
|
for (const name of await this._enumerateDir(dir)) {
|
||||||
|
if (this._rows.has(name))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
const file = dir.resolve_relative_path(
|
||||||
|
`${name}/gnome-shell/gnome-shell.css`);
|
||||||
|
try {
|
||||||
|
await file.query_info_async(
|
||||||
|
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
|
||||||
|
Gio.FileQueryInfoFlags.NONE,
|
||||||
|
GLib.PRIORITY_DEFAULT, null);
|
||||||
|
this._addTheme(name);
|
||||||
|
} catch (e) {
|
||||||
|
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||||
|
logError(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const dirName of Util.getModeThemeDirs()) {
|
||||||
|
const dir = Gio.File.new_for_path(dirName);
|
||||||
|
for (const filename of await this._enumerateDir(dir)) {
|
||||||
|
if (!filename.endsWith('.css'))
|
||||||
|
continue;
|
||||||
|
|
||||||
|
const name = filename.slice(0, -4);
|
||||||
|
if (!this._rows.has(name))
|
||||||
|
this._addTheme(name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_addTheme(name) {
|
||||||
|
const row = new ThemeRow(name);
|
||||||
|
this._rows.set(name, row);
|
||||||
|
|
||||||
|
this._list.add(row);
|
||||||
|
row.show_all();
|
||||||
|
}
|
||||||
|
|
||||||
|
async _enumerateDir(dir) {
|
||||||
|
const fileInfos = [];
|
||||||
|
let fileEnum;
|
||||||
|
|
||||||
|
try {
|
||||||
|
fileEnum = await dir.enumerate_children_async(
|
||||||
|
Gio.FILE_ATTRIBUTE_STANDARD_NAME,
|
||||||
|
Gio.FileQueryInfoFlags.NONE,
|
||||||
|
GLib.PRIORITY_DEFAULT, null);
|
||||||
|
} catch (e) {
|
||||||
|
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND))
|
||||||
|
logError(e);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
let infos;
|
||||||
|
do {
|
||||||
|
infos = await fileEnum.next_files_async(100,
|
||||||
|
GLib.PRIORITY_DEFAULT, null);
|
||||||
|
fileInfos.push(...infos);
|
||||||
|
} while (infos.length > 0);
|
||||||
|
|
||||||
|
return fileInfos.map(info => info.get_name());
|
||||||
|
}
|
||||||
|
|
||||||
|
_updateHeader(row, before) {
|
||||||
|
if (!before || row.get_header())
|
||||||
|
return;
|
||||||
|
row.set_header(new Gtk.Separator());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const ThemeRow = GObject.registerClass(
|
||||||
|
class ThemeRow extends Gtk.ListBoxRow {
|
||||||
|
_init(name) {
|
||||||
|
this._name = new GLib.Variant('s', name);
|
||||||
|
|
||||||
|
super._init({
|
||||||
|
action_name: 'theme.name',
|
||||||
|
action_target: this._name,
|
||||||
|
});
|
||||||
|
|
||||||
|
const box = new Gtk.Box({
|
||||||
|
spacing: 12,
|
||||||
|
margin: 12,
|
||||||
|
});
|
||||||
|
this.add(box);
|
||||||
|
|
||||||
|
box.add(new Gtk.Label({
|
||||||
|
label: name || 'Default',
|
||||||
|
hexpand: true,
|
||||||
|
xalign: 0,
|
||||||
|
max_width_chars: 25,
|
||||||
|
width_chars: 25,
|
||||||
|
}));
|
||||||
|
|
||||||
|
this._checkmark = new Gtk.Image({
|
||||||
|
icon_name: 'emblem-ok-symbolic',
|
||||||
|
pixel_size: 16,
|
||||||
|
});
|
||||||
|
box.add(this._checkmark);
|
||||||
|
|
||||||
|
box.show_all();
|
||||||
|
|
||||||
|
const id = this.connect('parent-set', () => {
|
||||||
|
this.disconnect(id);
|
||||||
|
|
||||||
|
const actionGroup = this.get_action_group('theme');
|
||||||
|
actionGroup.connect('action-state-changed::name',
|
||||||
|
this._syncCheckmark.bind(this));
|
||||||
|
this._syncCheckmark();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_syncCheckmark() {
|
||||||
|
const actionGroup = this.get_action_group('theme');
|
||||||
|
const state = actionGroup.get_action_state('name');
|
||||||
|
this._checkmark.opacity = this._name.equal(state);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
function init() {
|
||||||
|
}
|
||||||
|
|
||||||
|
function buildPrefsWidget() {
|
||||||
|
let widget = new UserThemePrefsWidget();
|
||||||
|
widget.show_all();
|
||||||
|
|
||||||
|
return widget;
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
/* exported getThemeDirs getModeThemeDirs */
|
||||||
|
const { GLib } = imports.gi;
|
||||||
|
|
||||||
|
const fn = (...args) => GLib.build_filenamev(args);
|
||||||
|
|
||||||
|
function getThemeDirs() {
|
||||||
|
return [
|
||||||
|
fn(GLib.get_home_dir(), '.themes'),
|
||||||
|
fn(GLib.get_user_data_dir(), 'themes'),
|
||||||
|
...GLib.get_system_data_dirs().map(dir => fn(dir, 'themes')),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
|
function getModeThemeDirs() {
|
||||||
|
return GLib.get_system_data_dirs()
|
||||||
|
.map(dir => fn(dir, 'gnome-shell', 'theme'));
|
||||||
|
}
|
||||||
@@ -50,6 +50,7 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let radio = null;
|
let radio = null;
|
||||||
|
let currentRadio = null;
|
||||||
for (let i = 0; i < modes.length; i++) {
|
for (let i = 0; i < modes.length; i++) {
|
||||||
let mode = modes[i];
|
let mode = modes[i];
|
||||||
let label = modeLabels[mode];
|
let label = modeLabels[mode];
|
||||||
@@ -59,18 +60,24 @@ class WindowListPrefsWidget extends Gtk.Grid {
|
|||||||
}
|
}
|
||||||
|
|
||||||
radio = new Gtk.RadioButton({
|
radio = new Gtk.RadioButton({
|
||||||
active: currentMode === mode,
|
active: !i,
|
||||||
label,
|
label,
|
||||||
group: radio,
|
group: radio,
|
||||||
});
|
});
|
||||||
grid.add(radio);
|
grid.add(radio);
|
||||||
|
|
||||||
|
if (currentMode === mode)
|
||||||
|
currentRadio = radio;
|
||||||
|
|
||||||
radio.connect('toggled', button => {
|
radio.connect('toggled', button => {
|
||||||
if (button.active)
|
if (button.active)
|
||||||
this._settings.set_string('grouping-mode', mode);
|
this._settings.set_string('grouping-mode', mode);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (currentRadio)
|
||||||
|
currentRadio.active = true;
|
||||||
|
|
||||||
let check = new Gtk.CheckButton({
|
let check = new Gtk.CheckButton({
|
||||||
label: _('Show on all monitors'),
|
label: _('Show on all monitors'),
|
||||||
margin_top: 6,
|
margin_top: 6,
|
||||||
|
|||||||
@@ -83,8 +83,8 @@ class MyWorkspacesDisplay extends WorkspacesDisplay {
|
|||||||
this._workareasChangedId = 0;
|
this._workareasChangedId = 0;
|
||||||
|
|
||||||
if (this._nWorkspacesChangedId)
|
if (this._nWorkspacesChangedId)
|
||||||
global.workspace_manager.disconnect(this._nWorkspacesNotifyId);
|
global.workspace_manager.disconnect(this._nWorkspacesChangedId);
|
||||||
this._nWorkspacesNotifyId = 0;
|
this._nWorkspacesChangedId = 0;
|
||||||
|
|
||||||
super._onDestroy();
|
super._onDestroy();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
|
||||||
/* exported init buildPrefsWidget */
|
/* exported init buildPrefsWidget */
|
||||||
|
|
||||||
const { Gio, GObject, Gtk } = imports.gi;
|
const { Gdk, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
|
||||||
|
|
||||||
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
const Gettext = imports.gettext.domain('gnome-shell-extensions');
|
||||||
const _ = Gettext.gettext;
|
const _ = Gettext.gettext;
|
||||||
@@ -12,189 +12,221 @@ const ExtensionUtils = imports.misc.extensionUtils;
|
|||||||
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
const WORKSPACE_SCHEMA = 'org.gnome.desktop.wm.preferences';
|
||||||
const WORKSPACE_KEY = 'workspace-names';
|
const WORKSPACE_KEY = 'workspace-names';
|
||||||
|
|
||||||
const WorkspaceNameModel = GObject.registerClass(
|
|
||||||
class WorkspaceNameModel extends Gtk.ListStore {
|
|
||||||
_init(params) {
|
|
||||||
super._init(params);
|
|
||||||
this.set_column_types([GObject.TYPE_STRING]);
|
|
||||||
|
|
||||||
this.Columns = {
|
|
||||||
LABEL: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
|
|
||||||
this._reloadFromSettings();
|
|
||||||
|
|
||||||
// overriding class closure doesn't work, because GtkTreeModel
|
|
||||||
// plays tricks with marshallers and class closures
|
|
||||||
this.connect('row-changed', this._onRowChanged.bind(this));
|
|
||||||
this.connect('row-inserted', this._onRowInserted.bind(this));
|
|
||||||
this.connect('row-deleted', this._onRowDeleted.bind(this));
|
|
||||||
}
|
|
||||||
|
|
||||||
_reloadFromSettings() {
|
|
||||||
if (this._preventChanges)
|
|
||||||
return;
|
|
||||||
this._preventChanges = true;
|
|
||||||
|
|
||||||
let newNames = this._settings.get_strv(WORKSPACE_KEY);
|
|
||||||
|
|
||||||
let i = 0;
|
|
||||||
let [ok, iter] = this.get_iter_first();
|
|
||||||
while (ok && i < newNames.length) {
|
|
||||||
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
|
|
||||||
|
|
||||||
ok = this.iter_next(iter);
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (ok)
|
|
||||||
ok = this.remove(iter);
|
|
||||||
|
|
||||||
for (; i < newNames.length; i++) {
|
|
||||||
iter = this.append();
|
|
||||||
this.set(iter, [this.Columns.LABEL], [newNames[i]]);
|
|
||||||
}
|
|
||||||
|
|
||||||
this._preventChanges = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
_onRowChanged(self, path, iter) {
|
|
||||||
if (this._preventChanges)
|
|
||||||
return;
|
|
||||||
this._preventChanges = true;
|
|
||||||
|
|
||||||
let index = path.get_indices()[0];
|
|
||||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
|
||||||
|
|
||||||
if (index >= names.length) {
|
|
||||||
// fill with blanks
|
|
||||||
for (let i = names.length; i <= index; i++)
|
|
||||||
names[i] = '';
|
|
||||||
}
|
|
||||||
|
|
||||||
names[index] = this.get_value(iter, this.Columns.LABEL);
|
|
||||||
|
|
||||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
|
||||||
|
|
||||||
this._preventChanges = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
_onRowInserted(self, path, iter) {
|
|
||||||
if (this._preventChanges)
|
|
||||||
return;
|
|
||||||
this._preventChanges = true;
|
|
||||||
|
|
||||||
let index = path.get_indices()[0];
|
|
||||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
|
||||||
let label = this.get_value(iter, this.Columns.LABEL) || '';
|
|
||||||
names.splice(index, 0, label);
|
|
||||||
|
|
||||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
|
||||||
|
|
||||||
this._preventChanges = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
_onRowDeleted(self, path) {
|
|
||||||
if (this._preventChanges)
|
|
||||||
return;
|
|
||||||
this._preventChanges = true;
|
|
||||||
|
|
||||||
let index = path.get_indices()[0];
|
|
||||||
let names = this._settings.get_strv(WORKSPACE_KEY);
|
|
||||||
|
|
||||||
if (index >= names.length)
|
|
||||||
return;
|
|
||||||
|
|
||||||
names.splice(index, 1);
|
|
||||||
|
|
||||||
// compact the array
|
|
||||||
for (let i = names.length - 1; i >= 0 && !names[i]; i++)
|
|
||||||
names.pop();
|
|
||||||
|
|
||||||
this._settings.set_strv(WORKSPACE_KEY, names);
|
|
||||||
|
|
||||||
this._preventChanges = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const WorkspaceSettingsWidget = GObject.registerClass(
|
const WorkspaceSettingsWidget = GObject.registerClass(
|
||||||
class WorkspaceSettingsWidget extends Gtk.Grid {
|
class WorkspaceSettingsWidget extends Gtk.ScrolledWindow {
|
||||||
_init(params) {
|
_init() {
|
||||||
super._init(params);
|
super._init({
|
||||||
this.margin = 12;
|
hscrollbar_policy: Gtk.PolicyType.NEVER,
|
||||||
this.orientation = Gtk.Orientation.VERTICAL;
|
});
|
||||||
|
|
||||||
this.add(new Gtk.Label({
|
const box = new Gtk.Box({
|
||||||
|
orientation: Gtk.Orientation.VERTICAL,
|
||||||
|
halign: Gtk.Align.CENTER,
|
||||||
|
spacing: 12,
|
||||||
|
margin_top: 36,
|
||||||
|
margin_bottom: 36,
|
||||||
|
margin_start: 36,
|
||||||
|
margin_end: 36,
|
||||||
|
});
|
||||||
|
this.add(box);
|
||||||
|
|
||||||
|
box.add(new Gtk.Label({
|
||||||
label: '<b>%s</b>'.format(_('Workspace Names')),
|
label: '<b>%s</b>'.format(_('Workspace Names')),
|
||||||
use_markup: true,
|
use_markup: true,
|
||||||
margin_bottom: 6,
|
|
||||||
hexpand: true,
|
|
||||||
halign: Gtk.Align.START,
|
halign: Gtk.Align.START,
|
||||||
}));
|
}));
|
||||||
|
|
||||||
let scrolled = new Gtk.ScrolledWindow({ shadow_type: Gtk.ShadowType.IN });
|
this._list = new Gtk.ListBox({
|
||||||
scrolled.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC);
|
selection_mode: Gtk.SelectionMode.NONE,
|
||||||
this.add(scrolled);
|
valign: Gtk.Align.START,
|
||||||
|
});
|
||||||
|
this._list.set_header_func(this._updateHeader.bind(this));
|
||||||
|
this._list.connect('row-activated', (l, row) => row.edit());
|
||||||
|
box.add(this._list);
|
||||||
|
|
||||||
this._store = new WorkspaceNameModel();
|
const context = this._list.get_style_context();
|
||||||
this._treeView = new Gtk.TreeView({
|
const cssProvider = new Gtk.CssProvider();
|
||||||
model: this._store,
|
cssProvider.load_from_data(
|
||||||
headers_visible: false,
|
'list { min-width: 25em; }');
|
||||||
reorderable: true,
|
|
||||||
|
context.add_provider(cssProvider,
|
||||||
|
Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
|
||||||
|
context.add_class('frame');
|
||||||
|
|
||||||
|
this._list.add(new NewWorkspaceRow());
|
||||||
|
|
||||||
|
this._actionGroup = new Gio.SimpleActionGroup();
|
||||||
|
this._list.insert_action_group('workspaces', this._actionGroup);
|
||||||
|
|
||||||
|
let action;
|
||||||
|
action = new Gio.SimpleAction({ name: 'add' });
|
||||||
|
action.connect('activate', () => {
|
||||||
|
const names = this._settings.get_strv(WORKSPACE_KEY);
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY, [
|
||||||
|
...names,
|
||||||
|
_('Workspace %d').format(names.length + 1),
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({
|
||||||
|
name: 'remove',
|
||||||
|
parameter_type: new GLib.VariantType('s'),
|
||||||
|
});
|
||||||
|
action.connect('activate', (a, param) => {
|
||||||
|
const removed = param.deepUnpack();
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY,
|
||||||
|
this._settings.get_strv(WORKSPACE_KEY)
|
||||||
|
.filter(name => name !== removed));
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
action = new Gio.SimpleAction({ name: 'update' });
|
||||||
|
action.connect('activate', () => {
|
||||||
|
const names = this._getWorkspaceRows().map(row => row.name);
|
||||||
|
this._settings.set_strv(WORKSPACE_KEY, names);
|
||||||
|
});
|
||||||
|
this._actionGroup.add_action(action);
|
||||||
|
|
||||||
|
this._settings = new Gio.Settings({
|
||||||
|
schema_id: WORKSPACE_SCHEMA,
|
||||||
|
});
|
||||||
|
this._settings.connect(`changed::${WORKSPACE_KEY}`,
|
||||||
|
this._sync.bind(this));
|
||||||
|
this._sync();
|
||||||
|
|
||||||
|
this.show_all();
|
||||||
|
}
|
||||||
|
|
||||||
|
_getWorkspaceRows() {
|
||||||
|
return this._list.get_children().filter(row => row.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
_sync() {
|
||||||
|
const rows = this._getWorkspaceRows();
|
||||||
|
|
||||||
|
const oldNames = rows.map(row => row.name);
|
||||||
|
const newNames = this._settings.get_strv(WORKSPACE_KEY);
|
||||||
|
|
||||||
|
const removed = oldNames.filter(n => !newNames.includes(n));
|
||||||
|
const added = newNames.filter(n => !oldNames.includes(n));
|
||||||
|
|
||||||
|
removed.forEach(n => rows.find(r => r.name === n).destroy());
|
||||||
|
added.forEach(n => {
|
||||||
|
this._list.insert(new WorkspaceRow(n), newNames.indexOf(n));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
_updateHeader(row, before) {
|
||||||
|
if (!before || row.get_header())
|
||||||
|
return;
|
||||||
|
row.set_header(new Gtk.Separator());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
const WorkspaceRow = GObject.registerClass(
|
||||||
|
class WorkspaceRow extends Gtk.ListBoxRow {
|
||||||
|
_init(name) {
|
||||||
|
super._init({ name });
|
||||||
|
|
||||||
|
const box = new Gtk.Box({
|
||||||
|
spacing: 12,
|
||||||
|
margin_top: 6,
|
||||||
|
margin_bottom: 6,
|
||||||
|
margin_start: 6,
|
||||||
|
margin_end: 6,
|
||||||
|
});
|
||||||
|
|
||||||
|
const label = new Gtk.Label({
|
||||||
hexpand: true,
|
hexpand: true,
|
||||||
vexpand: true,
|
xalign: 0,
|
||||||
|
max_width_chars: 25,
|
||||||
|
ellipsize: Pango.EllipsizeMode.END,
|
||||||
|
});
|
||||||
|
this.bind_property('name', label, 'label',
|
||||||
|
GObject.BindingFlags.SYNC_CREATE);
|
||||||
|
box.add(label);
|
||||||
|
|
||||||
|
const image = new Gtk.Image({
|
||||||
|
icon_name: 'edit-delete-symbolic',
|
||||||
|
pixel_size: 16,
|
||||||
|
});
|
||||||
|
const button = new Gtk.Button({
|
||||||
|
action_name: 'workspaces.remove',
|
||||||
|
action_target: new GLib.Variant('s', name),
|
||||||
|
image,
|
||||||
|
});
|
||||||
|
box.add(button);
|
||||||
|
|
||||||
|
this._entry = new Gtk.Entry({
|
||||||
|
max_width_chars: 25,
|
||||||
});
|
});
|
||||||
|
|
||||||
let column = new Gtk.TreeViewColumn({ title: _('Name') });
|
this._stack = new Gtk.Stack();
|
||||||
let renderer = new Gtk.CellRendererText({ editable: true });
|
this._stack.add_named(box, 'display');
|
||||||
renderer.connect('edited', this._cellEdited.bind(this));
|
this._stack.add_named(this._entry, 'edit');
|
||||||
column.pack_start(renderer, true);
|
this.add(this._stack);
|
||||||
column.add_attribute(renderer, 'text', this._store.Columns.LABEL);
|
|
||||||
this._treeView.append_column(column);
|
|
||||||
|
|
||||||
scrolled.add(this._treeView);
|
this._entry.connect('activate', () => {
|
||||||
|
this.name = this._entry.text;
|
||||||
let toolbar = new Gtk.Toolbar({ icon_size: Gtk.IconSize.SMALL_TOOLBAR });
|
this._stopEdit();
|
||||||
toolbar.get_style_context().add_class(Gtk.STYLE_CLASS_INLINE_TOOLBAR);
|
|
||||||
|
|
||||||
let newButton = new Gtk.ToolButton({ icon_name: 'list-add-symbolic' });
|
|
||||||
newButton.connect('clicked', this._newClicked.bind(this));
|
|
||||||
toolbar.add(newButton);
|
|
||||||
|
|
||||||
let delButton = new Gtk.ToolButton({ icon_name: 'list-remove-symbolic' });
|
|
||||||
delButton.connect('clicked', this._delClicked.bind(this));
|
|
||||||
toolbar.add(delButton);
|
|
||||||
|
|
||||||
let selection = this._treeView.get_selection();
|
|
||||||
selection.connect('changed', () => {
|
|
||||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
|
||||||
});
|
});
|
||||||
delButton.sensitive = selection.count_selected_rows() > 0;
|
this._entry.connect('notify::has-focus', () => {
|
||||||
|
if (this._entry.has_focus)
|
||||||
|
return;
|
||||||
|
this._stopEdit();
|
||||||
|
});
|
||||||
|
this._entry.connect('key-press-event',
|
||||||
|
this._onEntryKeyPress.bind(this));
|
||||||
|
|
||||||
this.add(toolbar);
|
this.connect('notify::name', () => {
|
||||||
|
button.action_target = new GLib.Variant('s', this.name);
|
||||||
|
|
||||||
|
const actionGroup = this.get_action_group('workspaces');
|
||||||
|
actionGroup.activate_action('update', null);
|
||||||
|
});
|
||||||
|
|
||||||
|
this.show_all();
|
||||||
}
|
}
|
||||||
|
|
||||||
_cellEdited(renderer, path, newText) {
|
edit() {
|
||||||
let [ok, iter] = this._store.get_iter_from_string(path);
|
this._entry.text = this.name;
|
||||||
|
this._entry.grab_focus();
|
||||||
if (ok)
|
this._stack.visible_child_name = 'edit';
|
||||||
this._store.set(iter, [this._store.Columns.LABEL], [newText]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_newClicked() {
|
_stopEdit() {
|
||||||
let iter = this._store.append();
|
this.grab_focus();
|
||||||
let index = this._store.get_path(iter).get_indices()[0];
|
this._stack.visible_child_name = 'display';
|
||||||
|
|
||||||
let label = _('Workspace %d').format(index + 1);
|
|
||||||
this._store.set(iter, [this._store.Columns.LABEL], [label]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
_delClicked() {
|
_onEntryKeyPress(entry, event) {
|
||||||
let [any, model_, iter] = this._treeView.get_selection().get_selected();
|
const [, keyval] = event.get_keyval();
|
||||||
|
if (keyval !== Gdk.KEY_Escape)
|
||||||
|
return Gdk.EVENT_PROPAGATE;
|
||||||
|
this._stopEdit();
|
||||||
|
return Gdk.EVENT_STOP;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (any)
|
const NewWorkspaceRow = GObject.registerClass(
|
||||||
this._store.remove(iter);
|
class NewWorkspaceRow extends Gtk.ListBoxRow {
|
||||||
|
_init() {
|
||||||
|
super._init({
|
||||||
|
action_name: 'workspaces.add',
|
||||||
|
});
|
||||||
|
this.get_accessible().set_name(_('Add Workspace'));
|
||||||
|
|
||||||
|
this.add(new Gtk.Image({
|
||||||
|
icon_name: 'list-add-symbolic',
|
||||||
|
pixel_size: 16,
|
||||||
|
margin_top: 12,
|
||||||
|
margin_bottom: 12,
|
||||||
|
margin_start: 12,
|
||||||
|
margin_end: 12,
|
||||||
|
}));
|
||||||
|
|
||||||
|
this.show_all();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -203,8 +235,5 @@ function init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function buildPrefsWidget() {
|
function buildPrefsWidget() {
|
||||||
let widget = new WorkspaceSettingsWidget();
|
return new WorkspaceSettingsWidget();
|
||||||
widget.show_all();
|
|
||||||
|
|
||||||
return widget;
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-3
@@ -1,5 +1,5 @@
|
|||||||
project('gnome-shell-extensions',
|
project('gnome-shell-extensions',
|
||||||
version: '3.36.0',
|
version: '3.37.1',
|
||||||
meson_version: '>= 0.44.0',
|
meson_version: '>= 0.44.0',
|
||||||
license: 'GPL2+'
|
license: 'GPL2+'
|
||||||
)
|
)
|
||||||
@@ -20,8 +20,6 @@ schemadir = join_paths(datadir, 'glib-2.0', 'schemas')
|
|||||||
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
|
sessiondir = join_paths(datadir, 'gnome-session', 'sessions')
|
||||||
xsessiondir = join_paths(datadir, 'xsessions')
|
xsessiondir = join_paths(datadir, 'xsessions')
|
||||||
|
|
||||||
js68 = find_program('js68', required: false)
|
|
||||||
|
|
||||||
ver_arr = meson.project_version().split('.')
|
ver_arr = meson.project_version().split('.')
|
||||||
if ver_arr[1].to_int().is_even()
|
if ver_arr[1].to_int().is_even()
|
||||||
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])
|
shell_version = '@0@.@1@'.format(ver_arr[0], ver_arr[1])
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ extensions/native-window-placement/org.gnome.shell.extensions.native-window-plac
|
|||||||
extensions/places-menu/extension.js
|
extensions/places-menu/extension.js
|
||||||
extensions/places-menu/placeDisplay.js
|
extensions/places-menu/placeDisplay.js
|
||||||
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
|
extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml
|
||||||
extensions/user-theme/extension.js
|
|
||||||
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
|
extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml
|
||||||
extensions/window-list/extension.js
|
extensions/window-list/extension.js
|
||||||
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
|
extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2019-03-02 10:57+0000\n"
|
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
|
||||||
"PO-Revision-Date: 2019-03-06 22:14+0200\n"
|
"PO-Revision-Date: 2020-04-18 10:59+0200\n"
|
||||||
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
"Last-Translator: Kristjan SCHMIDT <kristjan.schmidt@googlemail.com>\n"
|
||||||
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
|
"Language-Team: Esperanto <gnome-eo-list@gnome.org>\n"
|
||||||
"Language: eo\n"
|
"Language: eo\n"
|
||||||
@@ -18,7 +18,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Virtaal 0.7.1\n"
|
"X-Generator: Poedit 2.3\n"
|
||||||
"X-Project-Style: gnome\n"
|
"X-Project-Style: gnome\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
@@ -29,15 +29,11 @@ msgstr "GNOME-klasika"
|
|||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
|
msgstr "Ĉi seanco ensalutas vin GNOME-klasiken"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:29
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "Activities Overview"
|
|
||||||
msgstr "Aktivecoj-Superrigardon"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:118
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Plej ŝatataj"
|
msgstr "Plej ŝatataj"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:407
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplikaĵoj"
|
msgstr "Aplikaĵoj"
|
||||||
|
|
||||||
@@ -53,41 +49,39 @@ msgstr ""
|
|||||||
"Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), "
|
"Listo de ĉenoj, ĉiu enhavas aplikaĵan identigilon ('desktop' dosiernomo), "
|
||||||
"sevkita per dupunkto kaj la laborspaca numero"
|
"sevkita per dupunkto kaj la laborspaca numero"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Aplikaĵo"
|
msgstr "Aplikaĵo"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:71
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: extensions/auto-move-windows/prefs.js:134
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "Laborspaco"
|
msgstr "Laborspaco"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:89
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Aldoni regulon"
|
msgstr "Aldoni regulon"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "Krei novan kongruantan regulon"
|
msgstr "Krei novan kongruantan regulon"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:117
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Aldoni"
|
msgstr "Aldoni"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:100
|
#: extensions/drive-menu/extension.js:103
|
||||||
#: extensions/places-menu/placeDisplay.js:217
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
#| msgid "Ejecting drive '%s' failed:"
|
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Elĵeto de volumo “%s” malsukcesis:"
|
msgstr "Elĵeto de volumo “%s” malsukcesis:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:116
|
#: extensions/drive-menu/extension.js:119
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Demeteblaj aparatoj"
|
msgstr "Demeteblaj aparatoj"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:143
|
#: extensions/drive-menu/extension.js:146
|
||||||
#| msgid "Open File"
|
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Malfermi dosierojn"
|
msgstr "Malfermi dosierojn"
|
||||||
|
|
||||||
@@ -119,32 +113,31 @@ msgstr ""
|
|||||||
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
|
"estas meti ĝin malsupre). Si vi ŝanĝas ĉi agordon tiam vi devas restartigi "
|
||||||
"la ŝelon."
|
"la ŝelon."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:79
|
#: extensions/places-menu/extension.js:80
|
||||||
#: extensions/places-menu/extension.js:83
|
#: extensions/places-menu/extension.js:84
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Lokoj"
|
msgstr "Lokoj"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:59
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to mount volume for “%s”"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:72
|
|
||||||
#, javascript-format
|
|
||||||
#| msgid "Failed to launch \"%s\""
|
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "Malsukcesis lanĉi “%s”"
|
msgstr "Malsukcesis lanĉi “%s”"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:133
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#: extensions/places-menu/placeDisplay.js:156
|
#, javascript-format
|
||||||
|
msgid "Failed to mount volume for “%s”"
|
||||||
|
msgstr "Ne eblis munti datumportilon por “%s”"
|
||||||
|
|
||||||
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Komputilo"
|
msgstr "Komputilo"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:343
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Domo"
|
msgstr "Domo"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:387
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Foliumi reton"
|
msgstr "Foliumi reton"
|
||||||
|
|
||||||
@@ -153,10 +146,8 @@ msgid "Cycle Screenshot Sizes"
|
|||||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
msgstr "Cikle montri ekrankopiajn grandojn"
|
||||||
|
|
||||||
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||||
#, fuzzy
|
|
||||||
#| msgid "Cycle Screenshot Sizes"
|
|
||||||
msgid "Cycle Screenshot Sizes Backward"
|
msgid "Cycle Screenshot Sizes Backward"
|
||||||
msgstr "Cikle montri ekrankopiajn grandojn"
|
msgstr "Montri ekrankopiajn grandojn laŭ inversa sinsekvo"
|
||||||
|
|
||||||
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||||
msgid "Theme name"
|
msgid "Theme name"
|
||||||
@@ -166,52 +157,47 @@ msgstr "Etosnomo"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell"
|
msgstr "La nomo de la etoso, malfermigi de ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:100
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Malfermi"
|
msgstr "Fermi"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:120
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Neplejetigi"
|
msgstr "Neplejetigi"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:120
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Plejetigi"
|
msgstr "Plejetigi"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:127
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Nemaksimumigi"
|
msgstr "Nemaksimumigi"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:127
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maksimumigi"
|
msgstr "Maksimumigi"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:408
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Plejetigi ĉiujn"
|
msgstr "Plejetigi ĉiujn"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:414
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Neplejetigi ĉiujn"
|
msgstr "Neplejetigi ĉiujn"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:420
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Maksimumigi ĉiujn"
|
msgstr "Maksimumigi ĉiujn"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:429
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Nemaksimumigi ĉiujn"
|
msgstr "Nemaksimumigi ĉiujn"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:438
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Fermi ĉiujn"
|
msgstr "Fermi ĉiujn"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:655
|
#: extensions/window-list/extension.js:737
|
||||||
#: extensions/workspace-indicator/extension.js:21
|
|
||||||
msgid "Workspace Indicator"
|
|
||||||
msgstr "Laborspaco Indikilo"
|
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:836
|
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Fenestra listo"
|
msgstr "Fenestra listo"
|
||||||
|
|
||||||
@@ -220,23 +206,27 @@ msgid "When to group windows"
|
|||||||
msgstr "Kiam grupigi fenestrojn"
|
msgstr "Kiam grupigi fenestrojn"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||||
#, fuzzy
|
|
||||||
#| msgid ""
|
|
||||||
#| "Decides when to group windows from the same application on the window "
|
|
||||||
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Decides when to group windows from the same application on the window list. "
|
"Decides when to group windows from the same application on the window list. "
|
||||||
"Possible values are “never”, “auto” and “always”."
|
"Possible values are “never”, “auto” and “always”."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Decidas kiam grupi fenestrojn de la sama aplikaĵo en la fenestra listo. "
|
"Decidas kiam grupi fenestrojn de la sama aplikaĵo en la fenestra listo. "
|
||||||
"Validaj valoroj estas “never” (neniam), “auto” (aŭtomate) kaj “always” "
|
"Validaj valoroj estas “neniam”, “aŭtomate” kaj ĉiam”."
|
||||||
"(ĉiam)."
|
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
|
#: extensions/window-list/prefs.js:82
|
||||||
|
msgid "Show windows from all workspaces"
|
||||||
|
msgstr "Montri la fenestrojn de ĉiuj laborspacoj"
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
|
msgstr "Ĉu montri la fenestrojn de ĉiuj laborspacoj aŭ nur de la nuna."
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||||
msgid "Show the window list on all monitors"
|
msgid "Show the window list on all monitors"
|
||||||
msgstr "Montri la fenestroliston en ĉiuj ekranoj"
|
msgstr "Montri la fenestroliston en ĉiuj ekranoj"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
@@ -263,19 +253,27 @@ msgstr "Ĉiam grupigi fenestrojn"
|
|||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Montri en ĉiuj ekranoj"
|
msgstr "Montri en ĉiuj ekranoj"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:131
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
|
msgid "Workspace Indicator"
|
||||||
|
msgstr "Laborspaco Indikilo"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:129
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Laborspacaj nomoj"
|
msgstr "Laborspacaj nomoj"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:151
|
#: extensions/workspace-indicator/prefs.js:149
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "Nomo"
|
msgstr "Nomo"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:191
|
#: extensions/workspace-indicator/prefs.js:189
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Laborspaco %d"
|
msgstr "Laborspaco %d"
|
||||||
|
|
||||||
|
#~ msgid "Activities Overview"
|
||||||
|
#~ msgstr "Aktivecoj-Superrigardon"
|
||||||
|
|
||||||
#~ msgid "Attach modal dialog to the parent window"
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
|
#~ msgstr "Kunligi modalan dialogon al la patra fenestro"
|
||||||
|
|
||||||
@@ -319,9 +317,6 @@ msgstr "Laborspaco %d"
|
|||||||
#~ msgid "Present windows as"
|
#~ msgid "Present windows as"
|
||||||
#~ msgstr "Prezenti fenestron kiel"
|
#~ msgstr "Prezenti fenestron kiel"
|
||||||
|
|
||||||
#~ msgid "Show only windows in the current workspace"
|
|
||||||
#~ msgstr "Montri nur fenestrojn en la aktuala laborspaco"
|
|
||||||
|
|
||||||
#~ msgid "Hello, world!"
|
#~ msgid "Hello, world!"
|
||||||
#~ msgstr "Saluton, mondo!"
|
#~ msgstr "Saluton, mondo!"
|
||||||
|
|
||||||
|
|||||||
@@ -4,15 +4,15 @@
|
|||||||
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
|
# Jorge González <jorgegonz@svn.gnome.org>, 2011.
|
||||||
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
|
# Nicolás Satragno <nsatragno@gmail.com>, 2011.
|
||||||
#
|
#
|
||||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2019.
|
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2011-2020.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
|
||||||
"PO-Revision-Date: 2019-08-20 12:08+0200\n"
|
"PO-Revision-Date: 2020-04-28 12:37+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
"Language-Team: Spanish - Spain <gnome-es-list@gnome.org>\n"
|
||||||
"Language: es_ES\n"
|
"Language: es_ES\n"
|
||||||
@@ -20,7 +20,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Generator: Gtranslator 3.32.1\n"
|
"X-Generator: Gtranslator 3.36.0\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
@@ -34,7 +34,7 @@ msgstr "Esta sesión inicia GNOME clásico"
|
|||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Favoritos"
|
msgstr "Favoritos"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:368
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplicaciones"
|
msgstr "Aplicaciones"
|
||||||
|
|
||||||
@@ -50,39 +50,39 @@ msgstr ""
|
|||||||
"Una lista de cadenas, conteniendo cada una un ID de aplicación (nombre de "
|
"Una lista de cadenas, conteniendo cada una un ID de aplicación (nombre de "
|
||||||
"archivo de escritorio), seguido de dos puntos y el número del área de trabajo"
|
"archivo de escritorio), seguido de dos puntos y el número del área de trabajo"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Aplicación"
|
msgstr "Aplicación"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:71
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: extensions/auto-move-windows/prefs.js:134
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "Área de trabajo"
|
msgstr "Área de trabajo"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:89
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Añadir regla"
|
msgstr "Añadir regla"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "Crear regla de coincidencia nueva"
|
msgstr "Crear regla de coincidencia nueva"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:117
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Añadir"
|
msgstr "Añadir"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:102
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:232
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Falló al expulsar el dispositivo «%s»:"
|
msgstr "Falló al expulsar el dispositivo «%s»:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:118
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Dispositivos extraíbles"
|
msgstr "Dispositivos extraíbles"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Abrir archivos"
|
msgstr "Abrir archivos"
|
||||||
|
|
||||||
@@ -115,8 +115,8 @@ msgstr ""
|
|||||||
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
|
"los sitúa por debajo. Cambiar esta configuración requiere reiniciar la shell "
|
||||||
"para que tenga efecto."
|
"para que tenga efecto."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:80
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:84
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Lugares"
|
msgstr "Lugares"
|
||||||
|
|
||||||
@@ -135,11 +135,11 @@ msgstr "Falló al montar el volumen para «%s»"
|
|||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Equipo"
|
msgstr "Equipo"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:358
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Carpeta personal"
|
msgstr "Carpeta personal"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:403
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Examinar la red"
|
msgstr "Examinar la red"
|
||||||
|
|
||||||
@@ -159,47 +159,47 @@ msgstr "Nombre del tema"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "El nombre del tema, que se carga desde ~/.themes/nombre/gnome-shell"
|
msgstr "El nombre del tema, que se carga desde ~/.themes/nombre/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Cerrar"
|
msgstr "Cerrar"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Desminimizar"
|
msgstr "Desminimizar"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimizar"
|
msgstr "Minimizar"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Desmaximizar"
|
msgstr "Desmaximizar"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximizar"
|
msgstr "Maximizar"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:431
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Minimizar todo"
|
msgstr "Minimizar todo"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:437
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Desminimizar todo"
|
msgstr "Desminimizar todo"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:443
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Maximizar todo"
|
msgstr "Maximizar todo"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:451
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Desmaximizar todo"
|
msgstr "Desmaximizar todo"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:459
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Cerrar todo"
|
msgstr "Cerrar todo"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:737
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Lista de ventanas"
|
msgstr "Lista de ventanas"
|
||||||
|
|
||||||
@@ -216,15 +216,11 @@ msgstr ""
|
|||||||
"ventanas. Los valores posibles son «never», «auto» y «always»."
|
"ventanas. Los valores posibles son «never», «auto» y «always»."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:82
|
#: extensions/window-list/prefs.js:89
|
||||||
#| msgid "Show only windows in the current workspace"
|
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Mostrar ventanas de todas las áreas de trabajo"
|
msgstr "Mostrar ventanas de todas las áreas de trabajo"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
#| msgid ""
|
|
||||||
#| "Whether to show the window list on all connected monitors or only on the "
|
|
||||||
#| "primary one."
|
|
||||||
msgid "Whether to show windows from all workspaces or only the current one."
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
|
"Indica si se deben mostrar ventanas de todas las áreas de trabajo o sólo de "
|
||||||
@@ -258,28 +254,32 @@ msgstr "Agrupar las ventanas cuando el espacio esté limitado"
|
|||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Siempre agrupar las ventanas"
|
msgstr "Siempre agrupar las ventanas"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:75
|
#: extensions/window-list/prefs.js:82
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Mostrar en todas las pantallas"
|
msgstr "Mostrar en todas las pantallas"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:211
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
#: extensions/workspace-indicator/extension.js:216
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Indicador de área de trabajo"
|
msgstr "Indicador de área de trabajo"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:131
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Nombres de los áreas de trabajo"
|
msgstr "Nombres de los áreas de trabajo"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:151
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
msgid "Name"
|
|
||||||
msgstr "Nombre"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:191
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Área de trabajo %d"
|
msgstr "Área de trabajo %d"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
|
#| msgid "Workspace"
|
||||||
|
msgid "Add Workspace"
|
||||||
|
msgstr "Añadir área de trabajo"
|
||||||
|
|
||||||
|
#~ msgid "Name"
|
||||||
|
#~ msgstr "Nombre"
|
||||||
|
|
||||||
#~ msgid "Attach modal dialog to the parent window"
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
#~ msgstr "Acoplar un diálogo modal a la ventana padre"
|
#~ msgstr "Acoplar un diálogo modal a la ventana padre"
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
|
||||||
"PO-Revision-Date: 2019-08-14 11:48+0430\n"
|
"PO-Revision-Date: 2020-04-24 20:12+0000\n"
|
||||||
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
"Last-Translator: Danial Behzadi <dani.behzi@ubuntu.com>\n"
|
||||||
"Language-Team: Persian <>\n"
|
"Language-Team: Persian <>\n"
|
||||||
"Language: fa\n"
|
"Language: fa\n"
|
||||||
@@ -17,7 +17,7 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Poedit-SourceCharset: utf-8\n"
|
"X-Poedit-SourceCharset: utf-8\n"
|
||||||
"X-Generator: Poedit 2.2.1\n"
|
"X-Generator: Poedit 2.3\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
@@ -32,7 +32,7 @@ msgstr "این نشست شما را به گنوم کلاسیک وارد می
|
|||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "علاقهمندیها"
|
msgstr "علاقهمندیها"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:368
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "برنامهها"
|
msgstr "برنامهها"
|
||||||
|
|
||||||
@@ -48,39 +48,39 @@ msgstr ""
|
|||||||
"فهرستی از رشتهها، هرکدام حاوی شناسهی یک برنامه (نام پرونده رومیزی)، در ادامهی یک "
|
"فهرستی از رشتهها، هرکدام حاوی شناسهی یک برنامه (نام پرونده رومیزی)، در ادامهی یک "
|
||||||
"ویرگول و شمارهی فضای کاری"
|
"ویرگول و شمارهی فضای کاری"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "برنامه"
|
msgstr "برنامه"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:71
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: extensions/auto-move-windows/prefs.js:134
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "فضایکاری"
|
msgstr "فضایکاری"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:89
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "افزودن قاعده"
|
msgstr "افزودن قاعده"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "افزودن یک قاعدهی منطبق جدید"
|
msgstr "افزودن یک قاعدهی منطبق جدید"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:117
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "اضافه"
|
msgstr "اضافه"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:102
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:232
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "بیرون دادن دیسکگردان «%s» شکست خورد:"
|
msgstr "بیرون دادن دیسکگردان «%s» شکست خورد:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:118
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "دستگاههای جداشدنی"
|
msgstr "دستگاههای جداشدنی"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "گشودن پروندهها"
|
msgstr "گشودن پروندهها"
|
||||||
|
|
||||||
@@ -112,7 +112,7 @@ msgstr ""
|
|||||||
"شل در پایین را تغییر میدهد. تغییر این گزینه، نیاز به راهاندازی مجدد شل دارد تا "
|
"شل در پایین را تغییر میدهد. تغییر این گزینه، نیاز به راهاندازی مجدد شل دارد تا "
|
||||||
"تاثیر بگذارد."
|
"تاثیر بگذارد."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:80 extensions/places-menu/extension.js:84
|
#: extensions/places-menu/extension.js:89 extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "مکانها"
|
msgstr "مکانها"
|
||||||
|
|
||||||
@@ -131,11 +131,11 @@ msgstr "شکست در سوار کردن حجم برای «%s»"
|
|||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "رایانه"
|
msgstr "رایانه"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:358
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "خانه"
|
msgstr "خانه"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:403
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "مرور شبکه"
|
msgstr "مرور شبکه"
|
||||||
|
|
||||||
@@ -155,47 +155,47 @@ msgstr "نام تم"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "نام تم، جهت بارگیری از شاخه themes/name/gnome-shell./~"
|
msgstr "نام تم، جهت بارگیری از شاخه themes/name/gnome-shell./~"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "خروج"
|
msgstr "خروج"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "ناکمینه"
|
msgstr "ناکمینه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "کمینه"
|
msgstr "کمینه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "نابیشینه"
|
msgstr "نابیشینه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "بیشنه"
|
msgstr "بیشنه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:431
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "کمینهٔ همه"
|
msgstr "کمینهٔ همه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:437
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "ناکمینهٔ همه"
|
msgstr "ناکمینهٔ همه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:443
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "بیشینهٔ همه"
|
msgstr "بیشینهٔ همه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:451
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "نابیشینهٔ همه"
|
msgstr "نابیشینهٔ همه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:459
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "بستن همه"
|
msgstr "بستن همه"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:737
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "فهرست پنجره"
|
msgstr "فهرست پنجره"
|
||||||
|
|
||||||
@@ -212,7 +212,7 @@ msgstr ""
|
|||||||
"ممکن عبارتند از «never»، «auto» و «always»."
|
"ممکن عبارتند از «never»، «auto» و «always»."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:82
|
#: extensions/window-list/prefs.js:89
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "نمایش پنجرهها از تمام فضاهای کاری"
|
msgstr "نمایش پنجرهها از تمام فضاهای کاری"
|
||||||
|
|
||||||
@@ -248,28 +248,31 @@ msgstr "پنجرهها زمانی که فضا محدود است گروه شو
|
|||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "همیشه پنجرهها گروه شوند"
|
msgstr "همیشه پنجرهها گروه شوند"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:75
|
#: extensions/window-list/prefs.js:82
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "نمایش در تمام نمایشگرها"
|
msgstr "نمایش در تمام نمایشگرها"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:211
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
#: extensions/workspace-indicator/extension.js:216
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "نشانگر فضایکاری"
|
msgstr "نشانگر فضایکاری"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:131
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "نامهای فضای کاری"
|
msgstr "نامهای فضای کاری"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:151
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
msgid "Name"
|
|
||||||
msgstr "نام"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:191
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "فضای کاری %Id"
|
msgstr "فضای کاری %Id"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
|
msgid "Add Workspace"
|
||||||
|
msgstr "افزودن فضایکاری"
|
||||||
|
|
||||||
|
#~ msgid "Name"
|
||||||
|
#~ msgstr "نام"
|
||||||
|
|
||||||
#~ msgid "Attach modal dialog to the parent window"
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
#~ msgstr "اتصال محاوره modal به پنجره والد"
|
#~ msgstr "اتصال محاوره modal به پنجره والد"
|
||||||
|
|
||||||
|
|||||||
@@ -2,104 +2,46 @@
|
|||||||
# Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER
|
# Copyright (C) 2011 THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
# This file is distributed under the same license as the PACKAGE package.
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
# Yaron Shahrabani <sh.yaron@gmail.com>, 2011.
|
# Yaron Shahrabani <sh.yaron@gmail.com>, 2011.
|
||||||
# Yosef Or Boczko <yoseforb@gnome.org>, 2013, 2014.
|
# Yosef Or Boczko <yoseforb@gmail.com>, 2013-2020.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions\n"
|
"Project-Id-Version: gnome-shell-extensions\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"POT-Creation-Date: 2015-01-26 21:10+0200\n"
|
"issues\n"
|
||||||
"PO-Revision-Date: 2015-01-26 21:10+0200\n"
|
"POT-Creation-Date: 2020-03-31 07:16+0000\n"
|
||||||
|
"PO-Revision-Date: 2020-04-01 18:20+0300\n"
|
||||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||||
"Language-Team: עברית <>\n"
|
"Language-Team: Hebrew <yoseforb@gmail.com>\n"
|
||||||
"Language: he\n"
|
"Language: he\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2;\n"
|
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n>2||n==0) ? 1 : 2\n"
|
||||||
"X-Poedit-SourceCharset: UTF-8\n"
|
"X-Poedit-SourceCharset: UTF-8\n"
|
||||||
"X-Generator: Gtranslator 2.91.6\n"
|
"X-Generator: Gtranslator 3.36.0\n"
|
||||||
|
|
||||||
#: ../data/gnome-classic.desktop.in.h:1
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
#: ../data/gnome-classic.session.desktop.in.in.h:1
|
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
msgstr "GNOME קלסי"
|
msgstr "0GNOME קלסי"
|
||||||
|
|
||||||
#: ../data/gnome-classic.desktop.in.h:2
|
#: data/gnome-classic.desktop.in:4
|
||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "הפעלה זו מכניסה אותך למצב הקלסי של GNOME"
|
msgstr "הפעלה זו מכניסה אותך למצב הקלסי של GNOME"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:1
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "Attach modal dialog to the parent window"
|
|
||||||
msgstr "Attach modal dialog to the parent window"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:2
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:3
|
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "Arrangement of buttons on the titlebar"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:4
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:5
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:6
|
|
||||||
msgid "Workspaces only on primary monitor"
|
|
||||||
msgstr "Workspaces only on primary monitor"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.in.h:7
|
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:20
|
|
||||||
msgid "Thumbnail only"
|
|
||||||
msgstr "תמונות ממוזערות בלבד"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:21
|
|
||||||
msgid "Application icon only"
|
|
||||||
msgstr "סמל היישום בלבד"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:22
|
|
||||||
msgid "Thumbnail and application icon"
|
|
||||||
msgstr "תמונות ממוזערות וסמלי היישומים"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:38
|
|
||||||
msgid "Present windows as"
|
|
||||||
msgstr "הצגת החלונות בתור"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:69
|
|
||||||
msgid "Show only windows in the current workspace"
|
|
||||||
msgstr "הצגת החלונות בלבד במרחב העבודה הנוכחי"
|
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:39
|
|
||||||
msgid "Activities Overview"
|
|
||||||
msgstr "סקירת פעילויות"
|
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:114
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "מועדפים"
|
msgstr "מועדפים"
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:283
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "יישומים"
|
msgstr "יישומים"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
|
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||||
msgid "Application and workspace list"
|
msgid "Application and workspace list"
|
||||||
msgstr "Application and workspace list"
|
msgstr "Application and workspace list"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
|
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||||
msgid ""
|
msgid ""
|
||||||
"A list of strings, each containing an application id (desktop file name), "
|
"A list of strings, each containing an application id (desktop file name), "
|
||||||
"followed by a colon and the workspace number"
|
"followed by a colon and the workspace number"
|
||||||
@@ -107,77 +49,49 @@ msgstr ""
|
|||||||
"A list of strings, each containing an application id (desktop file name), "
|
"A list of strings, each containing an application id (desktop file name), "
|
||||||
"followed by a colon and the workspace number"
|
"followed by a colon and the workspace number"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "יישום"
|
msgstr "יישום"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:69
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: ../extensions/auto-move-windows/prefs.js:127
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "מרחב עבודה"
|
msgstr "מרחב עבודה"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:85
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "הוספת כלל"
|
msgstr "הוספת כלל"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:106
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "יצירת כלל חדש תואם"
|
msgstr "יצירת כלל חדש תואם"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "הוספה"
|
msgstr "הוספה"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:106
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
|
#: extensions/drive-menu/extension.js:103
|
||||||
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive '%s' failed:"
|
#| msgid "Ejecting drive '%s' failed:"
|
||||||
msgstr "שליפת הכונן „%s“ נכשלה:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
|
msgstr "שליפת הכונן „%s” נכשלה:"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:124
|
#: extensions/drive-menu/extension.js:119
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "התקנים נתיקים"
|
msgstr "התקנים נתיקים"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:151
|
#: extensions/drive-menu/extension.js:146
|
||||||
msgid "Open File"
|
#| msgid "Open File"
|
||||||
msgstr "פתיחת קובץ"
|
msgid "Open Files"
|
||||||
|
msgstr "פתיחת קבצים"
|
||||||
|
|
||||||
#: ../extensions/example/extension.js:17
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||||
msgid "Hello, world!"
|
|
||||||
msgstr "שלום, עולם!"
|
|
||||||
|
|
||||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
|
|
||||||
msgid "Alternative greeting text."
|
|
||||||
msgstr "Alternative greeting text."
|
|
||||||
|
|
||||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
|
|
||||||
msgid ""
|
|
||||||
"If not empty, it contains the text that will be shown when clicking on the "
|
|
||||||
"panel."
|
|
||||||
msgstr ""
|
|
||||||
"If not empty, it contains the text that will be shown when clicking on the "
|
|
||||||
"panel."
|
|
||||||
|
|
||||||
#: ../extensions/example/prefs.js:30
|
|
||||||
msgid "Message"
|
|
||||||
msgstr "הודעה"
|
|
||||||
|
|
||||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
|
||||||
#. translated
|
|
||||||
#: ../extensions/example/prefs.js:43
|
|
||||||
msgid ""
|
|
||||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
|
||||||
"as such it has little functionality on its own.\n"
|
|
||||||
"Nevertheless it's possible to customize the greeting message."
|
|
||||||
msgstr ""
|
|
||||||
"הדוגמה מנסה להציג כיצד לבנות הרחבות שמתנהלות כראוי לטובת המעטפת וככאלה שיש "
|
|
||||||
"להן תכונות קטנות משלהן.\n"
|
|
||||||
"עם זאת, ניתן להתאים את הודעת קבלת הפנים."
|
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
|
|
||||||
msgid "Use more screen for windows"
|
msgid "Use more screen for windows"
|
||||||
msgstr "Use more screen for windows"
|
msgstr "Use more screen for windows"
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||||
msgid ""
|
msgid ""
|
||||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||||
@@ -187,11 +101,11 @@ msgstr ""
|
|||||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||||
"This setting applies only with the natural placement strategy."
|
"This setting applies only with the natural placement strategy."
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||||
msgid "Place window captions on top"
|
msgid "Place window captions on top"
|
||||||
msgstr "Place window captions on top"
|
msgstr "Place window captions on top"
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||||
msgid ""
|
msgid ""
|
||||||
"If true, place window captions on top the respective thumbnail, overriding "
|
"If true, place window captions on top the respective thumbnail, overriding "
|
||||||
"shell default of placing it at the bottom. Changing this setting requires "
|
"shell default of placing it at the bottom. Changing this setting requires "
|
||||||
@@ -201,115 +115,129 @@ msgstr ""
|
|||||||
"shell default of placing it at the bottom. Changing this setting requires "
|
"shell default of placing it at the bottom. Changing this setting requires "
|
||||||
"restarting the shell to have any effect."
|
"restarting the shell to have any effect."
|
||||||
|
|
||||||
#: ../extensions/places-menu/extension.js:78
|
#: extensions/places-menu/extension.js:80
|
||||||
#: ../extensions/places-menu/extension.js:81
|
#: extensions/places-menu/extension.js:84
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "מיקומים"
|
msgstr "מיקומים"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:57
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to launch \"%s\""
|
#| msgid "Failed to launch \"%s\""
|
||||||
msgstr "הטעינה של „%s“ נכשלה"
|
msgid "Failed to launch “%s”"
|
||||||
|
msgstr "שיגור „%s” נכשל"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:99
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#: ../extensions/places-menu/placeDisplay.js:122
|
#, javascript-format
|
||||||
|
msgid "Failed to mount volume for “%s”"
|
||||||
|
msgstr "ארע כשל בעיגון כרך „%s”"
|
||||||
|
|
||||||
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "מחשב"
|
msgstr "מחשב"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:200
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "בית"
|
msgstr "בית"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:287
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "עיון ברשת"
|
msgstr "עיון ברשת"
|
||||||
|
|
||||||
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.in.h:1
|
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||||
msgid "Cycle Screenshot Sizes"
|
msgid "Cycle Screenshot Sizes"
|
||||||
msgstr "Cycle Screenshot Sizes"
|
msgstr "Cycle Screenshot Sizes"
|
||||||
|
|
||||||
#: ../extensions/systemMonitor/extension.js:214
|
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||||
msgid "CPU"
|
#| msgid "Cycle Screenshot Sizes"
|
||||||
msgstr "מעבד"
|
msgid "Cycle Screenshot Sizes Backward"
|
||||||
|
msgstr "Cycle Screenshot Sizes Backward"
|
||||||
|
|
||||||
#: ../extensions/systemMonitor/extension.js:267
|
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||||
msgid "Memory"
|
|
||||||
msgstr "זיכרון"
|
|
||||||
|
|
||||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
|
|
||||||
msgid "Theme name"
|
msgid "Theme name"
|
||||||
msgstr "Theme name"
|
msgstr "Theme name"
|
||||||
|
|
||||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
|
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgstr "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:110
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "סגירה"
|
msgstr "סגירה"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:120
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "ביטול המזעור"
|
msgstr "ביטול המזעור"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:121
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "מזעור"
|
msgstr "מזעור"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:127
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "ביטול ההגדלה"
|
msgstr "ביטול ההגדלה"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:128
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "הגדלה"
|
msgstr "הגדלה"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:390
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "מזעור הכל"
|
msgstr "מזעור הכל"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:398
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "ביטול מזעור הכל"
|
msgstr "ביטול מזעור הכל"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:406
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "הגדלת הכל"
|
msgstr "הגדלת הכל"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:415
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "ביטול הגדלת הכל"
|
msgstr "ביטול הגדלת הכל"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:424
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "סגירת הכל"
|
msgstr "סגירת הכל"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:706
|
#: extensions/window-list/extension.js:737
|
||||||
#: ../extensions/workspace-indicator/extension.js:30
|
|
||||||
msgid "Workspace Indicator"
|
|
||||||
msgstr "מחוון מרחבי עבודה"
|
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:870
|
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "רשימת חלונות"
|
msgstr "רשימת חלונות"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:1
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||||
msgid "When to group windows"
|
msgid "When to group windows"
|
||||||
msgstr "מתי לקבץ חלונות"
|
msgstr "מתי לקבץ חלונות"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:2
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||||
|
#| msgid ""
|
||||||
|
#| "Decides when to group windows from the same application on the window "
|
||||||
|
#| "list. Possible values are \"never\", \"auto\" and \"always\"."
|
||||||
msgid ""
|
msgid ""
|
||||||
"Decides when to group windows from the same application on the window list. "
|
"Decides when to group windows from the same application on the window list. "
|
||||||
"Possible values are \"never\", \"auto\" and \"always\"."
|
"Possible values are “never”, “auto” and “always”."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Decides when to group windows from the same application on the window list. "
|
"Decides when to group windows from the same application on the window list. "
|
||||||
"Possible values are \"never\", \"auto\" and \"always\"."
|
"Possible values are “never”, “auto” and “always”."
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:3
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
|
#: extensions/window-list/prefs.js:82
|
||||||
|
#| msgid "Show only windows in the current workspace"
|
||||||
|
msgid "Show windows from all workspaces"
|
||||||
|
msgstr "הצגת חלונות מכל מרחבי העבודה"
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
|
#| msgid ""
|
||||||
|
#| "Whether to show the window list on all connected monitors or only on the "
|
||||||
|
#| "primary one."
|
||||||
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
|
msgstr "Whether to show windows from all workspaces or only the current one."
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||||
msgid "Show the window list on all monitors"
|
msgid "Show the window list on all monitors"
|
||||||
msgstr "Show the window list on all monitors"
|
msgstr "Show the window list on all monitors"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.in.h:4
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
@@ -317,39 +245,117 @@ msgstr ""
|
|||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:32
|
#: extensions/window-list/prefs.js:25
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "קיבוץ חלונות"
|
msgstr "קיבוץ חלונות"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:50
|
#: extensions/window-list/prefs.js:47
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "לעולם לא לקבץ חלונות"
|
msgstr "לעולם לא לקבץ חלונות"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:51
|
#: extensions/window-list/prefs.js:48
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
|
msgstr "קיבוץ חלונות כאשר המקום מוגבל"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:52
|
#: extensions/window-list/prefs.js:49
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "תמיד לקבץ חלונות"
|
msgstr "תמיד לקבץ חלונות"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:75
|
#: extensions/window-list/prefs.js:75
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "הצגה בכל הצגים"
|
msgstr "הצגה בכל הצגים"
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:141
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
|
msgid "Workspace Indicator"
|
||||||
|
msgstr "מחוון מרחבי עבודה"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:129
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "שם מרחב העבודה"
|
msgstr "שם מרחב העבודה"
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:157
|
#: extensions/workspace-indicator/prefs.js:149
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "שם"
|
msgstr "שם"
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:198
|
#: extensions/workspace-indicator/prefs.js:189
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "מרחב עבודה %d"
|
msgstr "מרחב עבודה %d"
|
||||||
|
|
||||||
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
|
#~ msgstr "Attach modal dialog to the parent window"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
|
||||||
|
#~ msgid "Arrangement of buttons on the titlebar"
|
||||||
|
#~ msgstr "Arrangement of buttons on the titlebar"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
|
||||||
|
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
#~ msgstr "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces only on primary monitor"
|
||||||
|
#~ msgstr "Workspaces only on primary monitor"
|
||||||
|
|
||||||
|
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
#~ msgstr "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail only"
|
||||||
|
#~ msgstr "תמונות ממוזערות בלבד"
|
||||||
|
|
||||||
|
#~ msgid "Application icon only"
|
||||||
|
#~ msgstr "סמל היישום בלבד"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail and application icon"
|
||||||
|
#~ msgstr "תמונות ממוזערות וסמלי היישומים"
|
||||||
|
|
||||||
|
#~ msgid "Present windows as"
|
||||||
|
#~ msgstr "הצגת החלונות בתור"
|
||||||
|
|
||||||
|
#~ msgid "Activities Overview"
|
||||||
|
#~ msgstr "סקירת פעילויות"
|
||||||
|
|
||||||
|
#~ msgid "Hello, world!"
|
||||||
|
#~ msgstr "שלום, עולם!"
|
||||||
|
|
||||||
|
#~ msgid "Alternative greeting text."
|
||||||
|
#~ msgstr "Alternative greeting text."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||||
|
#~ "the panel."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||||
|
#~ "the panel."
|
||||||
|
|
||||||
|
#~ msgid "Message"
|
||||||
|
#~ msgstr "הודעה"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||||
|
#~ "and as such it has little functionality on its own.\n"
|
||||||
|
#~ "Nevertheless it's possible to customize the greeting message."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "הדוגמה מנסה להציג כיצד לבנות הרחבות שמתנהלות כראוי לטובת המעטפת וככאלה "
|
||||||
|
#~ "שיש להן תכונות קטנות משלהן.\n"
|
||||||
|
#~ "עם זאת, ניתן להתאים את הודעת קבלת הפנים."
|
||||||
|
|
||||||
|
#~ msgid "CPU"
|
||||||
|
#~ msgstr "מעבד"
|
||||||
|
|
||||||
|
#~ msgid "Memory"
|
||||||
|
#~ msgstr "זיכרון"
|
||||||
|
|
||||||
#~ msgid "GNOME Shell Classic"
|
#~ msgid "GNOME Shell Classic"
|
||||||
#~ msgstr "מעטפת GNOME קלסית"
|
#~ msgstr "מעטפת GNOME קלסית"
|
||||||
|
|
||||||
|
|||||||
@@ -1,24 +1,24 @@
|
|||||||
# Swedish translation for gnome-shell-extensions.
|
# Swedish translation for gnome-shell-extensions.
|
||||||
# Copyright © 2011, 2012, 2014, 2015, 2017, 2019 Free Software Foundation, Inc.
|
# Copyright © 2011, 2012, 2014, 2015, 2017, 2019, 2020 Free Software Foundation, Inc.
|
||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Daniel Nylander <po@danielnylander.se>, 2011, 2012.
|
# Daniel Nylander <po@danielnylander.se>, 2011, 2012.
|
||||||
# Mattias Eriksson <snaggen@gmail.com>, 2014.
|
# Mattias Eriksson <snaggen@gmail.com>, 2014.
|
||||||
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019.
|
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015, 2017, 2019, 2020.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions\n"
|
"Project-Id-Version: gnome-shell-extensions\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
|
||||||
"PO-Revision-Date: 2019-08-12 21:30+0200\n"
|
"PO-Revision-Date: 2020-04-26 20:51+0200\n"
|
||||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||||
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
"Language-Team: Swedish <tp-sv@listor.tp-sv.se>\n"
|
||||||
"Language: sv\n"
|
"Language: sv\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 2.2.3\n"
|
"X-Generator: Poedit 2.3\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "GNOME Classic"
|
msgid "GNOME Classic"
|
||||||
@@ -32,7 +32,7 @@ msgstr "Denna session loggar in dig till GNOME Klassisk"
|
|||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Favoriter"
|
msgstr "Favoriter"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:368
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Program"
|
msgstr "Program"
|
||||||
|
|
||||||
@@ -48,39 +48,39 @@ msgstr ""
|
|||||||
"En lista över strängar, var och en innehållande ett program-id "
|
"En lista över strängar, var och en innehållande ett program-id "
|
||||||
"(skrivbordsfilnamn), följt av ett kolontecken och arbetsytans nummer"
|
"(skrivbordsfilnamn), följt av ett kolontecken och arbetsytans nummer"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Program"
|
msgstr "Program"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:71
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: extensions/auto-move-windows/prefs.js:134
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "Arbetsyta"
|
msgstr "Arbetsyta"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:89
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Lägg till regel"
|
msgstr "Lägg till regel"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "Skapa ny matchande regel"
|
msgstr "Skapa ny matchande regel"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:117
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Lägg till"
|
msgstr "Lägg till"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:102
|
#: extensions/drive-menu/extension.js:112
|
||||||
#: extensions/places-menu/placeDisplay.js:232
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Utmatning av disk ”%s” misslyckades:"
|
msgstr "Utmatning av disk ”%s” misslyckades:"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:118
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Flyttbara enheter"
|
msgstr "Flyttbara enheter"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:145
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "Öppna filer"
|
msgstr "Öppna filer"
|
||||||
|
|
||||||
@@ -113,8 +113,8 @@ msgstr ""
|
|||||||
"skalets standardplacering under miniatyrbilden. För att ändra denna "
|
"skalets standardplacering under miniatyrbilden. För att ändra denna "
|
||||||
"inställning krävs att skalet startas om för att den ska få effekt."
|
"inställning krävs att skalet startas om för att den ska få effekt."
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:80
|
#: extensions/places-menu/extension.js:89
|
||||||
#: extensions/places-menu/extension.js:84
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Platser"
|
msgstr "Platser"
|
||||||
|
|
||||||
@@ -133,11 +133,11 @@ msgstr "Misslyckades med att montera volym för ”%s”"
|
|||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Dator"
|
msgstr "Dator"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:358
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Hem"
|
msgstr "Hem"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:403
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Bläddra i nätverket"
|
msgstr "Bläddra i nätverket"
|
||||||
|
|
||||||
@@ -157,47 +157,47 @@ msgstr "Temanamn"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Namnet på temat, kommer att läsas in från ~/.themes/name/gnome-shell"
|
msgstr "Namnet på temat, kommer att läsas in från ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:99
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Stäng"
|
msgstr "Stäng"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Avminimera"
|
msgstr "Avminimera"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:119
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimera"
|
msgstr "Minimera"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Avmaximera"
|
msgstr "Avmaximera"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximera"
|
msgstr "Maximera"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:431
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Minimera alla"
|
msgstr "Minimera alla"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:437
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Avminimera alla"
|
msgstr "Avminimera alla"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:443
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Maximera alla"
|
msgstr "Maximera alla"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:451
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Avmaximera alla"
|
msgstr "Avmaximera alla"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:459
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Stäng alla"
|
msgstr "Stäng alla"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:741
|
#: extensions/window-list/extension.js:737
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Fönsterlista"
|
msgstr "Fönsterlista"
|
||||||
|
|
||||||
@@ -214,7 +214,7 @@ msgstr ""
|
|||||||
"värden är ”never” (aldrig), ”auto” och ”always” (alltid)."
|
"värden är ”never” (aldrig), ”auto” och ”always” (alltid)."
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
#: extensions/window-list/prefs.js:82
|
#: extensions/window-list/prefs.js:89
|
||||||
msgid "Show windows from all workspaces"
|
msgid "Show windows from all workspaces"
|
||||||
msgstr "Visa fönster från alla arbetsytor"
|
msgstr "Visa fönster från alla arbetsytor"
|
||||||
|
|
||||||
@@ -251,28 +251,31 @@ msgstr "Gruppera fönster när utrymmet är begränsat"
|
|||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Gruppera alltid fönster"
|
msgstr "Gruppera alltid fönster"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:75
|
#: extensions/window-list/prefs.js:82
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Visa på alla skärmar"
|
msgstr "Visa på alla skärmar"
|
||||||
|
|
||||||
#: extensions/window-list/workspaceIndicator.js:211
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
#: extensions/workspace-indicator/extension.js:216
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
msgid "Workspace Indicator"
|
msgid "Workspace Indicator"
|
||||||
msgstr "Arbetsyteindikator"
|
msgstr "Arbetsyteindikator"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:131
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Namn på arbetsytor"
|
msgstr "Namn på arbetsytor"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:151
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
msgid "Name"
|
|
||||||
msgstr "Namn"
|
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:191
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Arbetsyta %d"
|
msgstr "Arbetsyta %d"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
|
msgid "Add Workspace"
|
||||||
|
msgstr "Lägg till arbetsyta"
|
||||||
|
|
||||||
|
#~ msgid "Name"
|
||||||
|
#~ msgstr "Namn"
|
||||||
|
|
||||||
#~ msgid "Attach modal dialog to the parent window"
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
#~ msgstr "Koppla samman modal dialog till föräldrafönstret"
|
#~ msgstr "Koppla samman modal dialog till föräldrafönstret"
|
||||||
|
|
||||||
|
|||||||
@@ -3,95 +3,47 @@
|
|||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Alexandr Toorchyn <ilex@mail.ua>, 2011.
|
# Alexandr Toorchyn <ilex@mail.ua>, 2011.
|
||||||
# Daniel Korostil <ted.korostiled@gmail.com>, 2013, 2014, 2015, 2017.
|
# Daniel Korostil <ted.korostiled@gmail.com>, 2013, 2014, 2015, 2017.
|
||||||
|
# vikaig <vikaig99@gmail.com>, 2019.
|
||||||
|
# Yuri Chornoivan <yurchor@ukr.net>, 2020.
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/is"
|
||||||
"shell&keywords=I18N+L10N&component=extensions\n"
|
"sues\n"
|
||||||
"POT-Creation-Date: 2017-02-20 13:55+0200\n"
|
"POT-Creation-Date: 2020-04-17 16:03+0000\n"
|
||||||
"PO-Revision-Date: 2017-02-20 13:56+0300\n"
|
"PO-Revision-Date: 2020-04-25 10:58+0300\n"
|
||||||
"Last-Translator: Daniel Korostil <ted.korostiled@gmail.com>\n"
|
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
|
||||||
"Language-Team: linux.org.ua\n"
|
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
|
||||||
"Language: uk\n"
|
"Language: uk\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
|
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
|
||||||
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||||
"X-Generator: Virtaal 0.7.1\n"
|
"X-Generator: Lokalize 20.07.70\n"
|
||||||
"X-Project-Style: gnome\n"
|
"X-Project-Style: gnome\n"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:1
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
msgid "Attach modal dialog to the parent window"
|
msgid "GNOME Classic"
|
||||||
msgstr "Приєднати модальне вікно до батьківського вікна"
|
msgstr "Класичний GNOME"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:2
|
#: data/gnome-classic.desktop.in:4
|
||||||
msgid ""
|
msgid "This session logs you into GNOME Classic"
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
msgstr "Це — сеанс входу в класичний GNOME"
|
||||||
msgstr ""
|
|
||||||
"Цей ключ нехтує ключем у org.gnome.mutter, коли запущено оболонку GNOME."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:3
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "Компонування кнопок на смужці заголовку"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:4
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Цей ключ нехтує ключем у org.gnome.desktop.wm.preferences, коли запущено "
|
|
||||||
"GNOME Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:5
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr "Увімкнути розбиття країв, коли кладуться вікна на краї екрана"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:6
|
|
||||||
msgid "Workspaces only on primary monitor"
|
|
||||||
msgstr "Робочий простір лише на основному моніторі"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.extensions.classic-overrides.gschema.xml.h:7
|
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
msgstr "Затримувати зміни фокусу миші, поки вказівник не перестане рухатись"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:20
|
|
||||||
msgid "Thumbnail only"
|
|
||||||
msgstr "Тільки мініатюри"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:21
|
|
||||||
msgid "Application icon only"
|
|
||||||
msgstr "Тільки піктограми програми"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:22
|
|
||||||
msgid "Thumbnail and application icon"
|
|
||||||
msgstr "Мініатюри та піктограми програм"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:38
|
|
||||||
msgid "Present windows as"
|
|
||||||
msgstr "Представляти вікна як"
|
|
||||||
|
|
||||||
#: ../extensions/alternate-tab/prefs.js:69
|
|
||||||
msgid "Show only windows in the current workspace"
|
|
||||||
msgstr "Показувати вікна тільки з поточного робочого простору"
|
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:38
|
|
||||||
msgid "Activities Overview"
|
|
||||||
msgstr "Огляд діяльності"
|
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:109
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "Улюблене"
|
msgstr "Улюблене"
|
||||||
|
|
||||||
#: ../extensions/apps-menu/extension.js:266
|
#: extensions/apps-menu/extension.js:369
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Програми"
|
msgstr "Програми"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.h:1
|
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
|
||||||
msgid "Application and workspace list"
|
msgid "Application and workspace list"
|
||||||
msgstr "Програма і список робочих просторів"
|
msgstr "Програма і список робочих просторів"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.h:2
|
#: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
|
||||||
msgid ""
|
msgid ""
|
||||||
"A list of strings, each containing an application id (desktop file name), "
|
"A list of strings, each containing an application id (desktop file name), "
|
||||||
"followed by a colon and the workspace number"
|
"followed by a colon and the workspace number"
|
||||||
@@ -99,77 +51,47 @@ msgstr ""
|
|||||||
"Список рядків, що містять ідентифікатор програми (назва файла стільниці),"
|
"Список рядків, що містять ідентифікатор програми (назва файла стільниці),"
|
||||||
"двокрапка і номер робочого простору"
|
"двокрапка і номер робочого простору"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:60
|
#: extensions/auto-move-windows/prefs.js:59
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "Програма"
|
msgstr "Програма"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:69
|
#: extensions/auto-move-windows/prefs.js:70
|
||||||
#: ../extensions/auto-move-windows/prefs.js:127
|
#: extensions/auto-move-windows/prefs.js:133
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "Робочий простір"
|
msgstr "Робочий простір"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:85
|
#: extensions/auto-move-windows/prefs.js:88
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "Додати правило"
|
msgstr "Додати правило"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:106
|
#: extensions/auto-move-windows/prefs.js:110
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "Створити нове відповідне правило"
|
msgstr "Створити нове відповідне правило"
|
||||||
|
|
||||||
#: ../extensions/auto-move-windows/prefs.js:111
|
#: extensions/auto-move-windows/prefs.js:116
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "Додати"
|
msgstr "Додати"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:106
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
|
#: extensions/drive-menu/extension.js:112
|
||||||
|
#: extensions/places-menu/placeDisplay.js:233
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "Не вдалося витягнути пристрій «%s»:"
|
msgstr "Не вдалося витягнути пристрій «%s»:"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:124
|
#: extensions/drive-menu/extension.js:128
|
||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "Змінні пристрої"
|
msgstr "Змінні пристрої"
|
||||||
|
|
||||||
#: ../extensions/drive-menu/extension.js:149
|
#: extensions/drive-menu/extension.js:155
|
||||||
msgid "Open File"
|
msgid "Open Files"
|
||||||
msgstr "Відкрити Файли"
|
msgstr "Відкрити файли"
|
||||||
|
|
||||||
#: ../extensions/example/extension.js:17
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||||
msgid "Hello, world!"
|
|
||||||
msgstr "Привіт, світе!"
|
|
||||||
|
|
||||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.h:1
|
|
||||||
msgid "Alternative greeting text."
|
|
||||||
msgstr "Додатковий вітальний текст."
|
|
||||||
|
|
||||||
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.h:2
|
|
||||||
msgid ""
|
|
||||||
"If not empty, it contains the text that will be shown when clicking on the "
|
|
||||||
"panel."
|
|
||||||
msgstr ""
|
|
||||||
"Якщо це поле не порожнє, воно містить текст, який буде показуватись, коли "
|
|
||||||
"натискаєте на панель."
|
|
||||||
|
|
||||||
#: ../extensions/example/prefs.js:30
|
|
||||||
msgid "Message"
|
|
||||||
msgstr "Надпис"
|
|
||||||
|
|
||||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
|
||||||
#. translated
|
|
||||||
#: ../extensions/example/prefs.js:43
|
|
||||||
msgid ""
|
|
||||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
|
||||||
"as such it has little functionality on its own.\n"
|
|
||||||
"Nevertheless it’s possible to customize the greeting message."
|
|
||||||
msgstr ""
|
|
||||||
"Приклад зроблено, щоб показувати, як зібрати правильні розширення для "
|
|
||||||
"оболонки і саме по собі воно не має багато функціональності.\n"
|
|
||||||
"Попри це, воно змінює вітальний текст. "
|
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.h:1
|
|
||||||
msgid "Use more screen for windows"
|
msgid "Use more screen for windows"
|
||||||
msgstr "Використовувати додаткову площу екрана для вікон"
|
msgstr "Використовувати додаткову площу екрана для вікон"
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.h:2
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
|
||||||
msgid ""
|
msgid ""
|
||||||
"Try to use more screen for placing window thumbnails by adapting to screen "
|
"Try to use more screen for placing window thumbnails by adapting to screen "
|
||||||
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
"aspect ratio, and consolidating them further to reduce the bounding box. "
|
||||||
@@ -180,11 +102,11 @@ msgstr ""
|
|||||||
"розмірів обмежувальної рамки. Цей параметр застосовується тільки для "
|
"розмірів обмежувальної рамки. Цей параметр застосовується тільки для "
|
||||||
"алгоритму розміщенням мініатюр «natural»."
|
"алгоритму розміщенням мініатюр «natural»."
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.h:3
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
|
||||||
msgid "Place window captions on top"
|
msgid "Place window captions on top"
|
||||||
msgstr "Розміщувати заголовки вікон зверху"
|
msgstr "Розміщувати заголовки вікон зверху"
|
||||||
|
|
||||||
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.h:4
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
|
||||||
msgid ""
|
msgid ""
|
||||||
"If true, place window captions on top the respective thumbnail, overriding "
|
"If true, place window captions on top the respective thumbnail, overriding "
|
||||||
"shell default of placing it at the bottom. Changing this setting requires "
|
"shell default of placing it at the bottom. Changing this setting requires "
|
||||||
@@ -194,95 +116,99 @@ msgstr ""
|
|||||||
"в нижній, як це робиться типово. Зміна цього параметра вимагає перезапуску "
|
"в нижній, як це робиться типово. Зміна цього параметра вимагає перезапуску "
|
||||||
"оболонки, щоб зміна вступила в силу."
|
"оболонки, щоб зміна вступила в силу."
|
||||||
|
|
||||||
#: ../extensions/places-menu/extension.js:78
|
#: extensions/places-menu/extension.js:89
|
||||||
#: ../extensions/places-menu/extension.js:81
|
#: extensions/places-menu/extension.js:93
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "Місця"
|
msgstr "Місця"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:59
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "Не вдалося запустити «%s»"
|
msgstr "Не вдалося запустити «%s»"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:101
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#: ../extensions/places-menu/placeDisplay.js:124
|
#, javascript-format
|
||||||
|
msgid "Failed to mount volume for “%s”"
|
||||||
|
msgstr "Не вдалося змонтувати том до «%s»"
|
||||||
|
|
||||||
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "Комп'ютер"
|
msgstr "Комп'ютер"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:267
|
#: extensions/places-menu/placeDisplay.js:359
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "Домівка"
|
msgstr "Домівка"
|
||||||
|
|
||||||
#: ../extensions/places-menu/placeDisplay.js:311
|
#: extensions/places-menu/placeDisplay.js:404
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "Огляд мережі"
|
msgstr "Огляд мережі"
|
||||||
|
|
||||||
#: ../extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml.h:1
|
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:7
|
||||||
msgid "Cycle Screenshot Sizes"
|
msgid "Cycle Screenshot Sizes"
|
||||||
msgstr "Розміри циклічних знімків"
|
msgstr "Розміри циклічних знімків"
|
||||||
|
|
||||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.h:1
|
#: extensions/screenshot-window-sizer/org.gnome.shell.extensions.screenshot-window-sizer.gschema.xml:11
|
||||||
|
msgid "Cycle Screenshot Sizes Backward"
|
||||||
|
msgstr "Змінювати розміри циклічних знімків в зворотному напрямку"
|
||||||
|
|
||||||
|
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:5
|
||||||
msgid "Theme name"
|
msgid "Theme name"
|
||||||
msgstr "Назва теми"
|
msgstr "Назва теми"
|
||||||
|
|
||||||
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.h:2
|
#: extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml:6
|
||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "Назва теми, що завантажується з ~/.themes/name/gnome-shell"
|
msgstr "Назва теми, що завантажується з ~/.themes/name/gnome-shell"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:110
|
#: extensions/window-list/extension.js:98
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Закрити"
|
msgstr "Закрити"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:120
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "Відновити згорнуте"
|
msgstr "Відновити згорнуте"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:121
|
#: extensions/window-list/extension.js:118
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Згорнути"
|
msgstr "Згорнути"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:127
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Відновити розгорнуте"
|
msgstr "Відновити розгорнуте"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:128
|
#: extensions/window-list/extension.js:125
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Розгорнути"
|
msgstr "Розгорнути"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:411
|
#: extensions/window-list/extension.js:429
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "Згорнути все"
|
msgstr "Згорнути все"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:419
|
#: extensions/window-list/extension.js:435
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "Відновити все згорнуте"
|
msgstr "Відновити все згорнуте"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:427
|
#: extensions/window-list/extension.js:441
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "Розгорнути все"
|
msgstr "Розгорнути все"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:436
|
#: extensions/window-list/extension.js:449
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "Відновити все розгорнуте"
|
msgstr "Відновити все розгорнуте"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:445
|
#: extensions/window-list/extension.js:457
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "Закрити все"
|
msgstr "Закрити все"
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:669
|
#: extensions/window-list/extension.js:737
|
||||||
#: ../extensions/workspace-indicator/extension.js:30
|
|
||||||
msgid "Workspace Indicator"
|
|
||||||
msgstr "Покажчик робочого простору"
|
|
||||||
|
|
||||||
#: ../extensions/window-list/extension.js:833
|
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "Перелік вікон"
|
msgstr "Перелік вікон"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.h:1
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:12
|
||||||
msgid "When to group windows"
|
msgid "When to group windows"
|
||||||
msgstr "Умови групування вікон"
|
msgstr "Умови групування вікон"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.h:2
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
|
||||||
msgid ""
|
msgid ""
|
||||||
"Decides when to group windows from the same application on the window list. "
|
"Decides when to group windows from the same application on the window list. "
|
||||||
"Possible values are “never”, “auto” and “always”."
|
"Possible values are “never”, “auto” and “always”."
|
||||||
@@ -290,11 +216,20 @@ msgstr ""
|
|||||||
"Визначає правила групування вікон програм у списку вікон. Можливими "
|
"Визначає правила групування вікон програм у списку вікон. Можливими "
|
||||||
"значеннями є «never», «auto» і «always»."
|
"значеннями є «never», «auto» і «always»."
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.h:3
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
|
#: extensions/window-list/prefs.js:89
|
||||||
|
msgid "Show windows from all workspaces"
|
||||||
|
msgstr "Показувати вікна з усіх робочих просторів"
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
|
msgstr "Чи показувати вікна з усіх робочих просторів або тільки з поточного."
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||||
msgid "Show the window list on all monitors"
|
msgid "Show the window list on all monitors"
|
||||||
msgstr "Показати перелік вікон на всіх моніторах"
|
msgstr "Показати перелік вікон на всіх моніторах"
|
||||||
|
|
||||||
#: ../extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml.h:4
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
@@ -302,44 +237,114 @@ msgstr ""
|
|||||||
"Чи показувати переліку вікон на всіх під'єднаних моніторах, чи тільки на "
|
"Чи показувати переліку вікон на всіх під'єднаних моніторах, чи тільки на "
|
||||||
"основному."
|
"основному."
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:32
|
#: extensions/window-list/prefs.js:25
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "Групування вікон"
|
msgstr "Групування вікон"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:50
|
#: extensions/window-list/prefs.js:47
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "ніколи не групувати вікна"
|
msgstr "Ніколи не групувати вікна"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:51
|
#: extensions/window-list/prefs.js:48
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "Групувати вікна коли простір обмежено"
|
msgstr "Групувати вікна коли простір обмежено"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:52
|
#: extensions/window-list/prefs.js:49
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "Завжди групувати вікна"
|
msgstr "Завжди групувати вікна"
|
||||||
|
|
||||||
#: ../extensions/window-list/prefs.js:75
|
#: extensions/window-list/prefs.js:82
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "Показувати на всіх моніторах"
|
msgstr "Показувати на всіх моніторах"
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:141
|
#: extensions/window-list/workspaceIndicator.js:209
|
||||||
|
#: extensions/workspace-indicator/extension.js:215
|
||||||
|
msgid "Workspace Indicator"
|
||||||
|
msgstr "Покажчик робочого простору"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:34
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "Назви робочих просторів"
|
msgstr "Назви робочих просторів"
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:157
|
#: extensions/workspace-indicator/prefs.js:67
|
||||||
msgid "Name"
|
|
||||||
msgstr "Назва"
|
|
||||||
|
|
||||||
#: ../extensions/workspace-indicator/prefs.js:198
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Робочий простір %d"
|
msgstr "Робочий простір %d"
|
||||||
|
|
||||||
#~ msgid "GNOME Classic"
|
#: extensions/workspace-indicator/prefs.js:218
|
||||||
#~ msgstr "Класичний GNOME"
|
#| msgid "Workspace"
|
||||||
|
msgid "Add Workspace"
|
||||||
|
msgstr "Додати робочий простір"
|
||||||
|
|
||||||
#~ msgid "This session logs you into GNOME Classic"
|
#~ msgid "Name"
|
||||||
#~ msgstr "Це — сеанс входу в класичний GNOME"
|
#~ msgstr "Назва"
|
||||||
|
|
||||||
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
|
#~ msgstr "Приєднати модальне вікно до батьківського вікна"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Цей ключ нехтує ключем у org.gnome.mutter, коли запущено оболонку GNOME."
|
||||||
|
|
||||||
|
#~ msgid "Arrangement of buttons on the titlebar"
|
||||||
|
#~ msgstr "Компонування кнопок на смужці заголовку"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Цей ключ нехтує ключем у org.gnome.desktop.wm.preferences, коли запущено "
|
||||||
|
#~ "GNOME Shell."
|
||||||
|
|
||||||
|
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
#~ msgstr "Увімкнути розбиття країв, коли кладуться вікна на краї екрана"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces only on primary monitor"
|
||||||
|
#~ msgstr "Робочий простір лише на основному моніторі"
|
||||||
|
|
||||||
|
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
#~ msgstr "Затримувати зміни фокусу миші, поки вказівник не перестане рухатись"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail only"
|
||||||
|
#~ msgstr "Тільки мініатюри"
|
||||||
|
|
||||||
|
#~ msgid "Application icon only"
|
||||||
|
#~ msgstr "Тільки піктограми програми"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail and application icon"
|
||||||
|
#~ msgstr "Мініатюри та піктограми програм"
|
||||||
|
|
||||||
|
#~ msgid "Present windows as"
|
||||||
|
#~ msgstr "Представляти вікна як"
|
||||||
|
|
||||||
|
#~ msgid "Activities Overview"
|
||||||
|
#~ msgstr "Огляд діяльності"
|
||||||
|
|
||||||
|
#~ msgid "Hello, world!"
|
||||||
|
#~ msgstr "Привіт, світе!"
|
||||||
|
|
||||||
|
#~ msgid "Alternative greeting text."
|
||||||
|
#~ msgstr "Додатковий вітальний текст."
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||||
|
#~ "the panel."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Якщо це поле не порожнє, воно містить текст, який буде показуватись, коли "
|
||||||
|
#~ "натискаєте на панель."
|
||||||
|
|
||||||
|
#~ msgid "Message"
|
||||||
|
#~ msgstr "Надпис"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||||
|
#~ "and as such it has little functionality on its own.\n"
|
||||||
|
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Приклад зроблено, щоб показувати, як зібрати правильні розширення для "
|
||||||
|
#~ "оболонки і саме по собі воно не має багато функціональності.\n"
|
||||||
|
#~ "Попри це, воно змінює вітальний текст. "
|
||||||
|
|
||||||
#~ msgid "CPU"
|
#~ msgid "CPU"
|
||||||
#~ msgstr "Процесор"
|
#~ msgstr "Процесор"
|
||||||
|
|||||||
+125
-141
@@ -1,26 +1,27 @@
|
|||||||
# Chinese (China) translation for gnome-shell-extensions.
|
# Chinese (China) translation for gnome-shell-extensions.
|
||||||
# Copyright (C) 2011 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2019 gnome-shell-extensions's authors and contributors
|
||||||
# This file is distributed under the same license as the gnome-shell-extensions package.
|
# This file is distributed under the same license as the gnome-shell-extensions package.
|
||||||
# Wylmer Wang <wantinghard@gmail.com>, 2011.
|
# Wylmer Wang <wantinghard@gmail.com>, 2011.
|
||||||
# Aron Xu <aronxu@gnome.org>, 2011.
|
# Aron Xu <aronxu@gnome.org>, 2011.
|
||||||
# tuhaihe <1132321739qq@gmail.com>, 2012, 2013.
|
# tuhaihe <1132321739qq@gmail.com>, 2012, 2013.
|
||||||
# 甘露(Gan Lu) <rhythm.gan@gmail.com>, 2013.
|
# 甘露(Gan Lu) <rhythm.gan@gmail.com>, 2013.
|
||||||
# Mingcong Bai <jeffbai@aosc.xyz>, 2017.
|
# Mingcong Bai <jeffbai@aosc.xyz>, 2017.
|
||||||
|
# Dingzhong Chen <wsxy162@gmail.com>, 2019.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell-extensions master\n"
|
"Project-Id-Version: gnome-shell-extensions master\n"
|
||||||
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
|
||||||
"issues\n"
|
"issues\n"
|
||||||
"POT-Creation-Date: 2018-01-18 12:15+0000\n"
|
"POT-Creation-Date: 2019-08-09 22:24+0000\n"
|
||||||
"PO-Revision-Date: 2017-08-18 21:26+0800\n"
|
"PO-Revision-Date: 2019-09-10 02:34+0800\n"
|
||||||
"Last-Translator: Mingcong Bai <jeffbai@aosc.xyz>\n"
|
"Last-Translator: Dingzhong Chen <wsxy162@gmail.com>\n"
|
||||||
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
|
"Language-Team: Chinese (China) <i18n-zh@googlegroups.com>\n"
|
||||||
"Language: zh_CN\n"
|
"Language: zh_CN\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"X-Generator: Poedit 2.0.2\n"
|
"X-Generator: Gtranslator 3.32.1\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
|
|
||||||
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
#: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
|
||||||
@@ -31,70 +32,11 @@ msgstr "GNOME 经典模式"
|
|||||||
msgid "This session logs you into GNOME Classic"
|
msgid "This session logs you into GNOME Classic"
|
||||||
msgstr "该会话将登录到“GNOME 经典模式”"
|
msgstr "该会话将登录到“GNOME 经典模式”"
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:7
|
#: extensions/apps-menu/extension.js:113
|
||||||
msgid "Attach modal dialog to the parent window"
|
|
||||||
msgstr "将模式对话框附着到父窗口"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:8
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:25
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:33
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:41
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
|
||||||
msgstr "当运行 GNOME Shell 时该键会覆盖 org.gnome.mutter 中的键。"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:16
|
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "标题栏上按钮的排列"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:17
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"当运行 GNOME Shell 时该键会覆盖 org.gnome.desktop.wm.preferences 中的键。"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:24
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr "启用将窗口拖拽到屏幕边缘时平铺显示的功能"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:32
|
|
||||||
msgid "Workspaces only on primary monitor"
|
|
||||||
msgstr "仅在主显示器上显示工作区"
|
|
||||||
|
|
||||||
#: data/org.gnome.shell.extensions.classic-overrides.gschema.xml:40
|
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
|
||||||
msgstr "将鼠标模式下焦点的切换推迟到光标停止移动之后"
|
|
||||||
|
|
||||||
#: extensions/alternate-tab/prefs.js:19
|
|
||||||
msgid "Thumbnail only"
|
|
||||||
msgstr "仅缩略图"
|
|
||||||
|
|
||||||
#: extensions/alternate-tab/prefs.js:20
|
|
||||||
msgid "Application icon only"
|
|
||||||
msgstr "仅应用程序图标"
|
|
||||||
|
|
||||||
#: extensions/alternate-tab/prefs.js:21
|
|
||||||
msgid "Thumbnail and application icon"
|
|
||||||
msgstr "缩略图和应用程序图标"
|
|
||||||
|
|
||||||
#: extensions/alternate-tab/prefs.js:34
|
|
||||||
msgid "Present windows as"
|
|
||||||
msgstr "窗口展现为"
|
|
||||||
|
|
||||||
#: extensions/alternate-tab/prefs.js:65
|
|
||||||
msgid "Show only windows in the current workspace"
|
|
||||||
msgstr "仅显示当前工作区中的窗口"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:37
|
|
||||||
msgid "Activities Overview"
|
|
||||||
msgstr "活动概览"
|
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:130
|
|
||||||
msgid "Favorites"
|
msgid "Favorites"
|
||||||
msgstr "收藏"
|
msgstr "收藏"
|
||||||
|
|
||||||
#: extensions/apps-menu/extension.js:417
|
#: extensions/apps-menu/extension.js:368
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "应用程序"
|
msgstr "应用程序"
|
||||||
|
|
||||||
@@ -109,30 +51,30 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"一系列字符串,每个字符串包含一个应用程序标识(桌面文件名称)、冒号加工作区号"
|
"一系列字符串,每个字符串包含一个应用程序标识(桌面文件名称)、冒号加工作区号"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:53
|
#: extensions/auto-move-windows/prefs.js:60
|
||||||
msgid "Application"
|
msgid "Application"
|
||||||
msgstr "应用程序"
|
msgstr "应用程序"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:62
|
#: extensions/auto-move-windows/prefs.js:71
|
||||||
#: extensions/auto-move-windows/prefs.js:117
|
#: extensions/auto-move-windows/prefs.js:134
|
||||||
msgid "Workspace"
|
msgid "Workspace"
|
||||||
msgstr "工作区"
|
msgstr "工作区"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:78
|
#: extensions/auto-move-windows/prefs.js:89
|
||||||
msgid "Add Rule"
|
msgid "Add Rule"
|
||||||
msgstr "添加规则"
|
msgstr "添加规则"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:98
|
#: extensions/auto-move-windows/prefs.js:111
|
||||||
msgid "Create new matching rule"
|
msgid "Create new matching rule"
|
||||||
msgstr "创建新的匹配规则"
|
msgstr "创建新的匹配规则"
|
||||||
|
|
||||||
#: extensions/auto-move-windows/prefs.js:103
|
#: extensions/auto-move-windows/prefs.js:117
|
||||||
msgid "Add"
|
msgid "Add"
|
||||||
msgstr "添加"
|
msgstr "添加"
|
||||||
|
|
||||||
#. TRANSLATORS: %s is the filesystem name
|
#. TRANSLATORS: %s is the filesystem name
|
||||||
#: extensions/drive-menu/extension.js:103
|
#: extensions/drive-menu/extension.js:102
|
||||||
#: extensions/places-menu/placeDisplay.js:219
|
#: extensions/places-menu/placeDisplay.js:232
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Ejecting drive “%s” failed:"
|
msgid "Ejecting drive “%s” failed:"
|
||||||
msgstr "弹出驱动器“%s”失败:"
|
msgstr "弹出驱动器“%s”失败:"
|
||||||
@@ -141,39 +83,10 @@ msgstr "弹出驱动器“%s”失败:"
|
|||||||
msgid "Removable devices"
|
msgid "Removable devices"
|
||||||
msgstr "可移动设备"
|
msgstr "可移动设备"
|
||||||
|
|
||||||
#: extensions/drive-menu/extension.js:143
|
#: extensions/drive-menu/extension.js:145
|
||||||
msgid "Open Files"
|
msgid "Open Files"
|
||||||
msgstr "打开文件"
|
msgstr "打开文件"
|
||||||
|
|
||||||
#: extensions/example/extension.js:17
|
|
||||||
msgid "Hello, world!"
|
|
||||||
msgstr "Hello, world!"
|
|
||||||
|
|
||||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:5
|
|
||||||
msgid "Alternative greeting text."
|
|
||||||
msgstr "替代的祝福语。"
|
|
||||||
|
|
||||||
#: extensions/example/org.gnome.shell.extensions.example.gschema.xml:6
|
|
||||||
msgid ""
|
|
||||||
"If not empty, it contains the text that will be shown when clicking on the "
|
|
||||||
"panel."
|
|
||||||
msgstr "如果不为空,所包含的文本会在点击面板时显示。"
|
|
||||||
|
|
||||||
#: extensions/example/prefs.js:27
|
|
||||||
msgid "Message"
|
|
||||||
msgstr "消息"
|
|
||||||
|
|
||||||
#. TRANSLATORS: Example is the name of the extension, should not be
|
|
||||||
#. translated
|
|
||||||
#: extensions/example/prefs.js:40
|
|
||||||
msgid ""
|
|
||||||
"Example aims to show how to build well behaved extensions for the Shell and "
|
|
||||||
"as such it has little functionality on its own.\n"
|
|
||||||
"Nevertheless it’s possible to customize the greeting message."
|
|
||||||
msgstr ""
|
|
||||||
"示例意在展示如何为 Shell 创建良好工作的扩展,本身功能有限。\n"
|
|
||||||
"尽管如此,它还是具备定制祝福语的功能。"
|
|
||||||
|
|
||||||
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
#: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
|
||||||
msgid "Use more screen for windows"
|
msgid "Use more screen for windows"
|
||||||
msgstr "展现窗口时利用更多屏幕空间"
|
msgstr "展现窗口时利用更多屏幕空间"
|
||||||
@@ -200,31 +113,31 @@ msgstr ""
|
|||||||
"如果设置为 true,则将窗口说明文字放置在对应窗口的缩略图上方,而不是默认的下"
|
"如果设置为 true,则将窗口说明文字放置在对应窗口的缩略图上方,而不是默认的下"
|
||||||
"方。修改此设置需要重启 GNOME Shell 以使设置生效。"
|
"方。修改此设置需要重启 GNOME Shell 以使设置生效。"
|
||||||
|
|
||||||
#: extensions/places-menu/extension.js:79
|
#: extensions/places-menu/extension.js:80
|
||||||
#: extensions/places-menu/extension.js:82
|
#: extensions/places-menu/extension.js:84
|
||||||
msgid "Places"
|
msgid "Places"
|
||||||
msgstr "位置"
|
msgstr "位置"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:66
|
#: extensions/places-menu/placeDisplay.js:46
|
||||||
#, javascript-format
|
|
||||||
msgid "Failed to mount volume for “%s”"
|
|
||||||
msgstr "无法为“%s”挂载卷"
|
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:79
|
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Failed to launch “%s”"
|
msgid "Failed to launch “%s”"
|
||||||
msgstr "无法启动“%s”"
|
msgstr "无法启动“%s”"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:135
|
#: extensions/places-menu/placeDisplay.js:61
|
||||||
#: extensions/places-menu/placeDisplay.js:158
|
#, javascript-format
|
||||||
|
msgid "Failed to mount volume for “%s”"
|
||||||
|
msgstr "无法为“%s”挂载卷"
|
||||||
|
|
||||||
|
#: extensions/places-menu/placeDisplay.js:148
|
||||||
|
#: extensions/places-menu/placeDisplay.js:171
|
||||||
msgid "Computer"
|
msgid "Computer"
|
||||||
msgstr "计算机"
|
msgstr "计算机"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:336
|
#: extensions/places-menu/placeDisplay.js:358
|
||||||
msgid "Home"
|
msgid "Home"
|
||||||
msgstr "主文件夹"
|
msgstr "主文件夹"
|
||||||
|
|
||||||
#: extensions/places-menu/placeDisplay.js:378
|
#: extensions/places-menu/placeDisplay.js:403
|
||||||
msgid "Browse Network"
|
msgid "Browse Network"
|
||||||
msgstr "浏览网络"
|
msgstr "浏览网络"
|
||||||
|
|
||||||
@@ -244,52 +157,47 @@ msgstr "主题名称"
|
|||||||
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
|
||||||
msgstr "从 ~/.themes/name/gnome-shell 加载的主题名称"
|
msgstr "从 ~/.themes/name/gnome-shell 加载的主题名称"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:106
|
#: extensions/window-list/extension.js:99
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "关闭"
|
msgstr "关闭"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:125
|
#: extensions/window-list/extension.js:119
|
||||||
msgid "Unminimize"
|
msgid "Unminimize"
|
||||||
msgstr "取消最小化"
|
msgstr "取消最小化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:126
|
#: extensions/window-list/extension.js:119
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "最小化"
|
msgstr "最小化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:132
|
#: extensions/window-list/extension.js:126
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "取消最大化"
|
msgstr "取消最大化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:133
|
#: extensions/window-list/extension.js:126
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "最大化"
|
msgstr "最大化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:408
|
#: extensions/window-list/extension.js:431
|
||||||
msgid "Minimize all"
|
msgid "Minimize all"
|
||||||
msgstr "全部最小化"
|
msgstr "全部最小化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:414
|
#: extensions/window-list/extension.js:437
|
||||||
msgid "Unminimize all"
|
msgid "Unminimize all"
|
||||||
msgstr "全部取消最小化"
|
msgstr "全部取消最小化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:420
|
#: extensions/window-list/extension.js:443
|
||||||
msgid "Maximize all"
|
msgid "Maximize all"
|
||||||
msgstr "全部最大化"
|
msgstr "全部最大化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:429
|
#: extensions/window-list/extension.js:451
|
||||||
msgid "Unmaximize all"
|
msgid "Unmaximize all"
|
||||||
msgstr "全部取消最大化"
|
msgstr "全部取消最大化"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:438
|
#: extensions/window-list/extension.js:459
|
||||||
msgid "Close all"
|
msgid "Close all"
|
||||||
msgstr "全部关闭"
|
msgstr "全部关闭"
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:646
|
#: extensions/window-list/extension.js:741
|
||||||
#: extensions/workspace-indicator/extension.js:26
|
|
||||||
msgid "Workspace Indicator"
|
|
||||||
msgstr "工作区指示器"
|
|
||||||
|
|
||||||
#: extensions/window-list/extension.js:811
|
|
||||||
msgid "Window List"
|
msgid "Window List"
|
||||||
msgstr "窗口列表"
|
msgstr "窗口列表"
|
||||||
|
|
||||||
@@ -306,48 +214,124 @@ msgstr ""
|
|||||||
"不)、“auto”(自动)和“always”(总是)。"
|
"不)、“auto”(自动)和“always”(总是)。"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
|
||||||
|
#: extensions/window-list/prefs.js:82
|
||||||
|
msgid "Show windows from all workspaces"
|
||||||
|
msgstr "显示所有工作区中的窗口"
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
||||||
|
msgid "Whether to show windows from all workspaces or only the current one."
|
||||||
|
msgstr "显示所有工作区中的窗口还是只显示当前工作区中的。"
|
||||||
|
|
||||||
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
|
||||||
msgid "Show the window list on all monitors"
|
msgid "Show the window list on all monitors"
|
||||||
msgstr "在所有显示器上显示窗口列表"
|
msgstr "在所有显示器上显示窗口列表"
|
||||||
|
|
||||||
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
|
#: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to show the window list on all connected monitors or only on the "
|
"Whether to show the window list on all connected monitors or only on the "
|
||||||
"primary one."
|
"primary one."
|
||||||
msgstr "是否在所有连接的显示器上显示窗口列表或仅在主显示器上显示。"
|
msgstr "是否在所有连接的显示器上显示窗口列表或仅在主显示器上显示。"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:28
|
#: extensions/window-list/prefs.js:25
|
||||||
msgid "Window Grouping"
|
msgid "Window Grouping"
|
||||||
msgstr "窗口分组"
|
msgstr "窗口分组"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:46
|
#: extensions/window-list/prefs.js:47
|
||||||
msgid "Never group windows"
|
msgid "Never group windows"
|
||||||
msgstr "从不将窗口分组"
|
msgstr "从不将窗口分组"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:47
|
#: extensions/window-list/prefs.js:48
|
||||||
msgid "Group windows when space is limited"
|
msgid "Group windows when space is limited"
|
||||||
msgstr "当空间有限时将窗口分组"
|
msgstr "当空间有限时将窗口分组"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:48
|
#: extensions/window-list/prefs.js:49
|
||||||
msgid "Always group windows"
|
msgid "Always group windows"
|
||||||
msgstr "总是对窗口分组"
|
msgstr "总是对窗口分组"
|
||||||
|
|
||||||
#: extensions/window-list/prefs.js:71
|
#: extensions/window-list/prefs.js:75
|
||||||
msgid "Show on all monitors"
|
msgid "Show on all monitors"
|
||||||
msgstr "在所有显示器上显示"
|
msgstr "在所有显示器上显示"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:134
|
#: extensions/window-list/workspaceIndicator.js:211
|
||||||
|
#: extensions/workspace-indicator/extension.js:216
|
||||||
|
msgid "Workspace Indicator"
|
||||||
|
msgstr "工作区指示器"
|
||||||
|
|
||||||
|
#: extensions/workspace-indicator/prefs.js:131
|
||||||
msgid "Workspace Names"
|
msgid "Workspace Names"
|
||||||
msgstr "工作区名称"
|
msgstr "工作区名称"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:150
|
#: extensions/workspace-indicator/prefs.js:151
|
||||||
msgid "Name"
|
msgid "Name"
|
||||||
msgstr "名称"
|
msgstr "名称"
|
||||||
|
|
||||||
#: extensions/workspace-indicator/prefs.js:190
|
#: extensions/workspace-indicator/prefs.js:191
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "工作区 %d"
|
msgstr "工作区 %d"
|
||||||
|
|
||||||
|
#~ msgid "Attach modal dialog to the parent window"
|
||||||
|
#~ msgstr "将模式对话框附着到父窗口"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
|
#~ msgstr "当运行 GNOME Shell 时该键会覆盖 org.gnome.mutter 中的键。"
|
||||||
|
|
||||||
|
#~ msgid "Arrangement of buttons on the titlebar"
|
||||||
|
#~ msgstr "标题栏上按钮的排列"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "当运行 GNOME Shell 时该键会覆盖 org.gnome.desktop.wm.preferences 中的键。"
|
||||||
|
|
||||||
|
#~ msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
|
#~ msgstr "启用将窗口拖拽到屏幕边缘时平铺显示的功能"
|
||||||
|
|
||||||
|
#~ msgid "Workspaces only on primary monitor"
|
||||||
|
#~ msgstr "仅在主显示器上显示工作区"
|
||||||
|
|
||||||
|
#~ msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
|
#~ msgstr "将鼠标模式下焦点的切换推迟到光标停止移动之后"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail only"
|
||||||
|
#~ msgstr "仅缩略图"
|
||||||
|
|
||||||
|
#~ msgid "Application icon only"
|
||||||
|
#~ msgstr "仅应用程序图标"
|
||||||
|
|
||||||
|
#~ msgid "Thumbnail and application icon"
|
||||||
|
#~ msgstr "缩略图和应用程序图标"
|
||||||
|
|
||||||
|
#~ msgid "Present windows as"
|
||||||
|
#~ msgstr "窗口展现为"
|
||||||
|
|
||||||
|
#~ msgid "Activities Overview"
|
||||||
|
#~ msgstr "活动概览"
|
||||||
|
|
||||||
|
#~ msgid "Hello, world!"
|
||||||
|
#~ msgstr "Hello, world!"
|
||||||
|
|
||||||
|
#~ msgid "Alternative greeting text."
|
||||||
|
#~ msgstr "替代的祝福语。"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "If not empty, it contains the text that will be shown when clicking on "
|
||||||
|
#~ "the panel."
|
||||||
|
#~ msgstr "如果不为空,所包含的文本会在点击面板时显示。"
|
||||||
|
|
||||||
|
#~ msgid "Message"
|
||||||
|
#~ msgstr "消息"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "Example aims to show how to build well behaved extensions for the Shell "
|
||||||
|
#~ "and as such it has little functionality on its own.\n"
|
||||||
|
#~ "Nevertheless it’s possible to customize the greeting message."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "示例意在展示如何为 Shell 创建良好工作的扩展,本身功能有限。\n"
|
||||||
|
#~ "尽管如此,它还是具备定制祝福语的功能。"
|
||||||
|
|
||||||
#~ msgid "GNOME Shell Classic"
|
#~ msgid "GNOME Shell Classic"
|
||||||
#~ msgstr "GNOME Shell 经典模式"
|
#~ msgstr "GNOME Shell 经典模式"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user