Compare commits
181 Commits
Author | SHA1 | Date | |
---|---|---|---|
df81c98b65 | |||
43ada376f8 | |||
e317bfdab7 | |||
f38263a67f | |||
3a03a36533 | |||
9f3a7ab432 | |||
f3f887da73 | |||
443e0e6b1f | |||
8b65871c90 | |||
59b9ffa864 | |||
c9965f43c1 | |||
fada6645a2 | |||
e516b40c8c | |||
2c795f7d05 | |||
94438e9d69 | |||
4d12baea02 | |||
f34b5a04a1 | |||
5c5ed37b8b | |||
3e40168e54 | |||
a2a7ca6882 | |||
ce5a82a294 | |||
462bfccc7e | |||
61be034c6d | |||
da49b8110e | |||
7b3eeefc85 | |||
fc1849b475 | |||
ef999930f6 | |||
402676be84 | |||
c68abfbacf | |||
2758c71cf7 | |||
b772a14cbd | |||
8d66fff2aa | |||
75e0894de0 | |||
fbef56b602 | |||
c398e02700 | |||
48cfd35b65 | |||
ce38ae64cc | |||
98e6fd9cfb | |||
b30ecd29d8 | |||
a0df7aa2b8 | |||
e2500092fd | |||
cbeebbf264 | |||
aebf641d2d | |||
1c8af221af | |||
f0ef47a70a | |||
5f0030edf7 | |||
dde91ab9a6 | |||
3680f7c814 | |||
a27ca0765a | |||
fa76e39717 | |||
aa5c722eca | |||
1fd968d520 | |||
ef3285d5e7 | |||
e71b0a57fb | |||
333becef45 | |||
3732a6891d | |||
6a5e3ea12d | |||
4cf6293066 | |||
ee673cc5c4 | |||
604bb1fe82 | |||
1f83911bb6 | |||
95a6e52f1a | |||
5e9d491480 | |||
068ebbf2a6 | |||
6bc222f37b | |||
6cf53a8d1c | |||
95e141e47e | |||
b053f4c74b | |||
d0d60fbd93 | |||
a6f572e49a | |||
bd49559357 | |||
ec6841429f | |||
98ccc45f80 | |||
868a199144 | |||
7be4238aa2 | |||
cb698f9a09 | |||
d2dad4f0fa | |||
cdbb39b9e4 | |||
bfbb442b9d | |||
3531052e69 | |||
c9f9ac0f35 | |||
3ccdc5f8ba | |||
ac3e315a47 | |||
6972bc90f2 | |||
a2a5a3c908 | |||
d8b2cd5f8e | |||
3b759f7966 | |||
0ded0dbfd5 | |||
bca8e371b0 | |||
c2f5813463 | |||
f4301147bb | |||
ea9e5bc52c | |||
f08e2b72d2 | |||
240cdc6565 | |||
aa2ae29ad8 | |||
a4fb55b4ca | |||
5a8923ef95 | |||
a71ab9abb2 | |||
5cddab3305 | |||
c4a775e94a | |||
c7031d9e56 | |||
d113c92b5f | |||
3ba8a578e8 | |||
7aa75f8eb0 | |||
98d3a6772f | |||
625a38f605 | |||
8d617166fe | |||
ae4e82c82b | |||
7bb7734869 | |||
2f554e27f2 | |||
b4c8a00e38 | |||
f755e73a48 | |||
12cb023050 | |||
299ec4f368 | |||
4da7f20759 | |||
ea66329423 | |||
39d3ff6caf | |||
513d1a195d | |||
d54b87c455 | |||
397460d64c | |||
1900468846 | |||
fb6598ac10 | |||
12b00501cc | |||
c647be375a | |||
7b31d2146a | |||
3b846f0e9c | |||
21056a967f | |||
ead4c2b863 | |||
086fcd4a32 | |||
b82f11acf3 | |||
1da9546c40 | |||
e69cc20fc7 | |||
c363e2a322 | |||
dd0c3296bb | |||
52048c03da | |||
c8765eeebd | |||
b9b9faacbd | |||
d04340c675 | |||
c556d28b98 | |||
a333bfec19 | |||
19fbbfd74d | |||
f393bb41aa | |||
4bf53cd507 | |||
fd45d3589b | |||
6efa9e46ca | |||
9f5a2d8aca | |||
ce35d523a2 | |||
0bfaa5c6a3 | |||
67ec1e5519 | |||
cc05d303d8 | |||
554de3fb24 | |||
76315fca9f | |||
af889168f0 | |||
d8ca374a06 | |||
19c7da7b08 | |||
42ccfe0ccd | |||
538272bb23 | |||
985e909876 | |||
d183f13456 | |||
e150a9cff2 | |||
60b3d43ea7 | |||
e3a8a284a4 | |||
3136ca086b | |||
3f913b2895 | |||
8345fe006e | |||
67a807e849 | |||
cea946e745 | |||
966ae2c370 | |||
897144baba | |||
f585fee4cf | |||
85ec77eb26 | |||
2d372e6201 | |||
cb84c3a921 | |||
fce3cd534a | |||
3291281957 | |||
01c6392c13 | |||
186f9b2e2c | |||
2c8e405e27 | |||
94446eb8c4 | |||
6803528810 | |||
2aa4fb02dd |
3
.gitmodules
vendored
@ -1,3 +1,6 @@
|
||||
[submodule "src/gvc"]
|
||||
path = src/gvc
|
||||
url = git://git.gnome.org/libgnome-volume-control
|
||||
[submodule "data/theme/gnome-shell-sass"]
|
||||
path = data/theme/gnome-shell-sass
|
||||
url = https://git.gnome.org/browse/gnome-shell-sass
|
||||
|
21
NEWS
@ -1,3 +1,24 @@
|
||||
3.15.4
|
||||
======
|
||||
* Add mode parameter to AcceleratorActivated signal [Florian; #711682]
|
||||
* Fix PID based window/app association [Sebastian; #736527]
|
||||
* Fix current day highlight on day change [Sebastian; #742492]
|
||||
* Switch to vp9 for screencast recordings [Adel; #742744]
|
||||
* Disable IBus input sources on password entries [Takao; #730628]
|
||||
* Make slider scrolling smoother [Adel; #742648]
|
||||
* Allow move-up shortcut to move window above top workspace [Florian; #665764]
|
||||
* Misc. bug fixes [Adel, Rui; #742748, #742824, #741114]
|
||||
|
||||
Contributors:
|
||||
Cosimo Cecchi, Takao Fujiwara, Adel Gadllah, Sebastian Keller, Rui Matos,
|
||||
Florian Müllner, Jasper St. Pierre
|
||||
|
||||
Translations:
|
||||
Andika Triwidada [id], Matej Urbančič [sl], Saibal Ray [bn_IN],
|
||||
Inaki Larranaga Murgoitio [eu], Stas Solovey [ru], Kjartan Maraas [nb],
|
||||
Balázs Úr [hu], Marek Černocký [cs], Rafael Ferreira [pt_BR],
|
||||
Bernd Homuth [de], Daniel Mustieles [es], Fabio Tomat [fur]
|
||||
|
||||
3.15.3
|
||||
======
|
||||
* Add support for high-contrast themes [Florian; #740447]
|
||||
|
@ -14,7 +14,7 @@ PKG_NAME="gnome-shell"
|
||||
}
|
||||
|
||||
# Fetch submodules if needed
|
||||
if test ! -f src/gvc/Makefile.am;
|
||||
if test ! -f src/gvc/Makefile.am || test ! -f data/theme/gnome-shell-sass/COPYING;
|
||||
then
|
||||
echo "+ Setting up submodules"
|
||||
git submodule init
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.15.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.15.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@ -76,11 +76,11 @@ AC_MSG_RESULT($enable_systemd)
|
||||
CLUTTER_MIN_VERSION=1.15.90
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||
GJS_MIN_VERSION=1.39.0
|
||||
MUTTER_MIN_VERSION=3.15.3
|
||||
MUTTER_MIN_VERSION=3.15.4
|
||||
GTK_MIN_VERSION=3.15.0
|
||||
GIO_MIN_VERSION=2.37.0
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
LIBEDATASERVER_MIN_VERSION=3.5.3
|
||||
LIBEDATASERVER_MIN_VERSION=3.13.90
|
||||
TELEPATHY_GLIB_MIN_VERSION=0.17.5
|
||||
POLKIT_MIN_VERSION=0.100
|
||||
STARTUP_NOTIFICATION_MIN_VERSION=0.11
|
||||
@ -97,7 +97,6 @@ SHARED_PCS="gio-unix-2.0 >= $GIO_MIN_VERSION
|
||||
gjs-internals-1.0 >= $GJS_MIN_VERSION
|
||||
$recorder_modules
|
||||
gdk-x11-3.0 libsoup-2.4
|
||||
xtst
|
||||
clutter-x11-1.0 >= $CLUTTER_MIN_VERSION
|
||||
clutter-glx-1.0 >= $CLUTTER_MIN_VERSION
|
||||
libstartup-notification-1.0 >= $STARTUP_NOTIFICATION_MIN_VERSION
|
||||
@ -119,7 +118,7 @@ PKG_CHECK_MODULES(SHELL_PERF_HELPER, gtk+-3.0 gio-2.0)
|
||||
PKG_CHECK_MODULES(SHELL_HOTPLUG_SNIFFER, gio-2.0 gdk-pixbuf-2.0)
|
||||
PKG_CHECK_MODULES(TRAY, gtk+-3.0)
|
||||
PKG_CHECK_MODULES(GVC, libpulse >= $PULSE_MIN_VERS libpulse-mainloop-glib gobject-2.0)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.7.4)
|
||||
PKG_CHECK_MODULES(DESKTOP_SCHEMAS, gsettings-desktop-schemas >= 3.13.1)
|
||||
PKG_CHECK_MODULES(CARIBOU, caribou-1.0 >= 0.4.8)
|
||||
|
||||
AC_ARG_ENABLE(browser-plugin,
|
||||
|
@ -18,16 +18,12 @@
|
||||
<file>gnome-shell.css</file>
|
||||
<file>gnome-shell-high-contrast.css</file>
|
||||
<file>logged-in-indicator.svg</file>
|
||||
<file>message-tray-background.png</file>
|
||||
<file>more-results.svg</file>
|
||||
<file>noise-texture.png</file>
|
||||
<file>page-indicator-active.svg</file>
|
||||
<file>page-indicator-inactive.svg</file>
|
||||
<file>page-indicator-checked.svg</file>
|
||||
<file>page-indicator-hover.svg</file>
|
||||
<file>panel-button-border.svg</file>
|
||||
<file>panel-button-highlight-narrow.svg</file>
|
||||
<file>panel-button-highlight-wide.svg</file>
|
||||
<file>process-working.svg</file>
|
||||
<file>running-indicator.svg</file>
|
||||
<file>source-button-border.svg</file>
|
||||
|
3
data/theme/HACKING
Normal file
@ -0,0 +1,3 @@
|
||||
To generate the css files, from the project directory:
|
||||
|
||||
sass --sourcemap=none --update .
|
@ -14,7 +14,7 @@
|
||||
height="22"
|
||||
id="svg3199"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="checkbox.svg">
|
||||
<defs
|
||||
id="defs3201">
|
||||
@ -132,51 +132,54 @@
|
||||
xlink:href="#linearGradient10597-5"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
y2="-388.72955"
|
||||
x2="-93.031357"
|
||||
y1="-396.34738"
|
||||
x1="-93.031357"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.685418)"
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5581-5-2-4-6-8-7-35-8"
|
||||
id="linearGradient11811"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient14219-6"
|
||||
xlink:href="#linearGradient15404-9"
|
||||
inkscape:collect="always" />
|
||||
gradientTransform="matrix(3.0317573,0,0,1.0053174,-102.66338,-0.82153381)"
|
||||
x1="63.568954"
|
||||
y1="127.16142"
|
||||
x2="63.568954"
|
||||
y2="152.6618" />
|
||||
<linearGradient
|
||||
id="linearGradient15404-9"
|
||||
inkscape:collect="always">
|
||||
id="linearGradient5581-5-2-4-6-8-7-35-8">
|
||||
<stop
|
||||
id="stop15406-6"
|
||||
id="stop5583-0-92-8-0-7-6-5-1"
|
||||
offset="0"
|
||||
style="stop-color:#515151;stop-opacity:1" />
|
||||
style="stop-color:#454c4c;stop-opacity:1;" />
|
||||
<stop
|
||||
id="stop15408-7"
|
||||
style="stop-color:#393f3f;stop-opacity:1;"
|
||||
offset="0.40000001"
|
||||
id="stop5585-4-7-2-7-9-9-92-0" />
|
||||
<stop
|
||||
id="stop5587-6-7-2-0-3-1-21-5"
|
||||
offset="1"
|
||||
style="stop-color:#292929;stop-opacity:1" />
|
||||
style="stop-color:#2d3232;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
pagecolor="#a2a2a2"
|
||||
bordercolor="#2d2d2d"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="71.516955"
|
||||
inkscape:cy="5.8710559"
|
||||
inkscape:zoom="22.627417"
|
||||
inkscape:cx="9.6447897"
|
||||
inkscape:cy="12.591409"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1412"
|
||||
inkscape:window-height="1067"
|
||||
inkscape:window-x="2635"
|
||||
inkscape:window-y="226"
|
||||
inkscape:window-x="184"
|
||||
inkscape:window-y="233"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
showborder="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid14843"
|
||||
@ -203,87 +206,56 @@
|
||||
id="layer1"
|
||||
transform="translate(-342.5,-521.36218)">
|
||||
<g
|
||||
transform="matrix(0.80230061,0,0,0.80230061,-87.624044,-453.10297)"
|
||||
id="g14586-0"
|
||||
style="stroke-width:2.3714385;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="matrix(1.9969286,0,0,1.9969286,-397.05491,877.00482)"
|
||||
id="g15291-9-6"
|
||||
style="stroke-width:1.18754292;stroke-miterlimit:4;stroke-dasharray:none;display:inline;enable-background:new">
|
||||
<g
|
||||
transform="translate(877.50354,-102.83507)"
|
||||
id="g16853-4-9"
|
||||
style="stroke-width:1.18754292;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new">
|
||||
<rect
|
||||
transform="scale(1,-1)"
|
||||
style="color:#000000;fill:url(#linearGradient14219-6);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1.24833274;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="rect6506-6"
|
||||
width="11.281681"
|
||||
height="11.26221"
|
||||
x="-409.59354"
|
||||
y="-284.40115"
|
||||
rx="1.0052766"
|
||||
ry="1.0052764" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="translate(343.99999,987.99997)"
|
||||
id="g5886-5"
|
||||
style="stroke-width:2.3714385;stroke-miterlimit:4;stroke-dasharray:none;display:inline;enable-background:new" />
|
||||
</g>
|
||||
<g
|
||||
transform="matrix(0.84337,0,0,0.84337,-110.16632,-503.56182)"
|
||||
id="g14586">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="matrix(1.9969286,0,0,1.9969286,-397.05491,877.00482)"
|
||||
id="g15291-9"
|
||||
style="display:inline;enable-background:new">
|
||||
<g
|
||||
transform="translate(877.50354,-102.83507)"
|
||||
id="g16853-4"
|
||||
style="enable-background:new" />
|
||||
</g>
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="translate(343.99999,987.99997)"
|
||||
id="g5886"
|
||||
style="display:inline;enable-background:new">
|
||||
<path
|
||||
style="fill:none;stroke:url(#linearGradient5891-0-4);stroke-width:7.11431503;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 198.5,240 5.25,5.25 13.98616,-14.43081"
|
||||
id="path5835"
|
||||
inkscape:path-effect="#path-effect5837-4-6"
|
||||
inkscape:original-d="m 198.5,240 5.25,5.25 13.98616,-14.43081"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 198.5,240 5.25,5.25 13.91205,-14.31964"
|
||||
inkscape:path-effect="#path-effect5837-4-6"
|
||||
id="path5880"
|
||||
d="m 198.5,240 5.25,5.25 13.91205,-14.31964"
|
||||
style="fill:none;stroke:#4787c8;stroke-width:3.55715752;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#7ea7d3;stroke-width:1.18571913px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 197.45937,240.47455 c -0.17828,-0.29362 -0.20087,-0.67548 -0.0603,-0.98892 0.14055,-0.31344 0.43739,-0.54812 0.77144,-0.62817 0.33405,-0.08 0.69314,-0.01 0.99635,0.15175 0.30321,0.16144 0.55146,0.40727 0.79165,0.65284 l 3.66429,3.74643 12.87946,-12.98973 c 0.20796,-0.20974 0.42306,-0.41969 0.68548,-0.55522 0.26242,-0.13553 0.57293,-0.19052 0.85827,-0.11426 0.14267,0.0381 0.27708,0.10787 0.38874,0.20452 0.11167,0.0966 0.20021,0.22004 0.25479,0.35726 0.0546,0.13722 0.075,0.28793 0.0585,0.43468 -0.0165,0.14674 -0.07,0.28919 -0.15422,0.41052"
|
||||
id="path5882"
|
||||
inkscape:path-effect="#path-effect5884-4-7"
|
||||
inkscape:original-d="m 197.45937,240.47455 c 0.65604,-0.56057 2.02485,-1.34847 2.49911,-0.8125 l 3.66429,3.74643 12.87946,-12.98973 c 0.6875,-0.6875 2.09152,0.7375 2.09152,0.7375"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csccc" />
|
||||
</g>
|
||||
style="display:inline"
|
||||
id="use5671"
|
||||
transform="matrix(1.3594109,0,0,1.3564242,319.2059,481.99447)">
|
||||
<rect
|
||||
transform="matrix(0.47304779,0,0,0.4807373,-6.3607039,-29.396216)"
|
||||
rx="4.4136767"
|
||||
y="125.3458"
|
||||
x="50.440369"
|
||||
height="29.154205"
|
||||
width="29.559635"
|
||||
id="rect11803"
|
||||
style="color:#000000;fill:url(#linearGradient11811);fill-opacity:1;stroke:#3465a4;stroke-width:1.54426003000000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
ry="4.4233952" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11809"
|
||||
d="m 17.87105,33.844107 0,-0.773112 c 0,-1.031264 0.807171,-1.836142 1.811982,-1.836142 l 9.612456,0 c 1.004811,0 1.787822,0.804878 1.787822,1.836142 l 0,0.773112 c 0,-1.031264 -0.783011,-1.836142 -1.787822,-1.836142 l -9.612456,0 c -1.004811,0 -1.811982,0.804878 -1.811982,1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
<path
|
||||
sodipodi:nodetypes="csssscssc"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
d="m 17.87105,41.158551 0,0.773112 c 0,1.031264 0.807171,1.836142 1.811982,1.836142 l 9.612456,0 c 1.004811,0 1.787822,-0.804878 1.787822,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
id="path11867"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11869"
|
||||
d="m 17.87105,41.895784 0,0.773112 c 0,1.031264 0.644622,1.836142 1.649433,1.836142 l 10.067593,0 c 1.004811,0 1.495234,-0.804878 1.495234,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#000000;fill-opacity:0.85253451;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
</g>
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect17347"
|
||||
width="21.943846"
|
||||
height="21.943846"
|
||||
x="342.29913"
|
||||
y="521.58435" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.8;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 359.97505,524.8252 -7.88606,7.71465 -2.57155,-2.57155 -2.91442,-0.0427 0,2.35727 4.02875,3.98587 c 0.80342,0.80309 2.111,0.80309 2.91442,0 l 8.18609,-8.22894 0,-0.38573 c 0,-1.24128 0.19944,-1.76801 -0.82915,-2.29836 z"
|
||||
id="rect5147-9-1-5-7-6-5-8-7"
|
||||
sodipodi:nodetypes="ccccccccscc" />
|
||||
<path
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:sans-serif;-inkscape-font-specification:sans-serif"
|
||||
d="m 361.65223,524.52745 -9.5602,9.36735 -2.56345,-2.56344 -2.92846,-0.0214 0.0153,2.32639 4.02203,4.02206 c 0.80341,0.80309 2.10565,0.80309 2.90906,0 l 10.95049,-11.05765 0.003,-2.1502 z"
|
||||
id="path12830-4-17-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 12 KiB |
@ -14,22 +14,10 @@
|
||||
height="22"
|
||||
id="svg3199"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="checkbox-off.svg">
|
||||
<defs
|
||||
id="defs3201">
|
||||
<linearGradient
|
||||
id="linearGradient15404"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop15406"
|
||||
offset="0"
|
||||
style="stop-color:#515151;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop15408"
|
||||
offset="1"
|
||||
style="stop-color:#292929;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
@ -56,16 +44,6 @@
|
||||
effect="spiro"
|
||||
id="path-effect5884-4-7"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
y2="-388.72955"
|
||||
x2="-93.031357"
|
||||
y1="-396.34738"
|
||||
x1="-93.031357"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.685418)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient14219"
|
||||
xlink:href="#linearGradient15404"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10013-4-63-6">
|
||||
@ -110,30 +88,55 @@
|
||||
id="linearGradient15376"
|
||||
xlink:href="#linearGradient10597-5"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5581-5-2-4-6-8-7-35-8"
|
||||
id="linearGradient11811"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.0317573,0,0,1.0053174,-102.66338,-0.82153381)"
|
||||
x1="63.568954"
|
||||
y1="127.16142"
|
||||
x2="63.568954"
|
||||
y2="152.6618" />
|
||||
<linearGradient
|
||||
id="linearGradient5581-5-2-4-6-8-7-35-8">
|
||||
<stop
|
||||
id="stop5583-0-92-8-0-7-6-5-1"
|
||||
offset="0"
|
||||
style="stop-color:#454c4c;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#393f3f;stop-opacity:1;"
|
||||
offset="0.40000001"
|
||||
id="stop5585-4-7-2-7-9-9-92-0" />
|
||||
<stop
|
||||
id="stop5587-6-7-2-0-3-1-21-5"
|
||||
offset="1"
|
||||
style="stop-color:#2d3232;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
pagecolor="#a2a2a2"
|
||||
bordercolor="#2d2d2d"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="6.1225392"
|
||||
inkscape:cy="3.6003241"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cx="19.79113"
|
||||
inkscape:cy="11.232334"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1412"
|
||||
inkscape:window-height="1067"
|
||||
inkscape:window-x="2116"
|
||||
inkscape:window-y="261"
|
||||
inkscape:window-x="184"
|
||||
inkscape:window-y="233"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
showborder="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid14843"
|
||||
@ -160,39 +163,44 @@
|
||||
id="layer1"
|
||||
transform="translate(-342.5,-521.36218)">
|
||||
<g
|
||||
transform="matrix(0.80230061,0,0,0.80230061,-87.624044,-453.10297)"
|
||||
id="g14586"
|
||||
style="stroke-width:2.3714385;stroke-miterlimit:4;stroke-dasharray:none">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="matrix(1.9969286,0,0,1.9969286,-397.05491,877.00482)"
|
||||
id="g15291-9"
|
||||
style="stroke-width:1.18754292;stroke-miterlimit:4;stroke-dasharray:none;display:inline;enable-background:new">
|
||||
<g
|
||||
transform="translate(877.50354,-102.83507)"
|
||||
id="g16853-4"
|
||||
style="stroke-width:1.18754292;stroke-miterlimit:4;stroke-dasharray:none;enable-background:new">
|
||||
<rect
|
||||
transform="scale(1,-1)"
|
||||
style="color:#000000;fill:url(#linearGradient14219);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:1.24833274;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="rect6506-6"
|
||||
width="11.281681"
|
||||
height="11.26221"
|
||||
x="-409.59354"
|
||||
y="-284.40115"
|
||||
rx="1.0052766"
|
||||
ry="1.0052764" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="translate(343.99999,987.99997)"
|
||||
id="g5886"
|
||||
style="stroke-width:2.3714385;stroke-miterlimit:4;stroke-dasharray:none;display:inline;enable-background:new" />
|
||||
style="display:inline"
|
||||
id="use5671"
|
||||
transform="matrix(1.3594109,0,0,1.3564242,319.2059,481.99447)">
|
||||
<rect
|
||||
transform="matrix(0.47304779,0,0,0.4807373,-6.3607039,-29.396216)"
|
||||
rx="4.4136767"
|
||||
y="125.3458"
|
||||
x="50.440369"
|
||||
height="29.154205"
|
||||
width="29.559635"
|
||||
id="rect11803"
|
||||
style="color:#000000;fill:url(#linearGradient11811);fill-opacity:1;stroke:#3465a4;stroke-width:1.54426003000000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
ry="4.4233952" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11809"
|
||||
d="m 17.87105,33.844107 0,-0.773112 c 0,-1.031264 0.807171,-1.836142 1.811982,-1.836142 l 9.612456,0 c 1.004811,0 1.787822,0.804878 1.787822,1.836142 l 0,0.773112 c 0,-1.031264 -0.783011,-1.836142 -1.787822,-1.836142 l -9.612456,0 c -1.004811,0 -1.811982,0.804878 -1.811982,1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
<path
|
||||
sodipodi:nodetypes="csssscssc"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
d="m 17.87105,41.158551 0,0.773112 c 0,1.031264 0.807171,1.836142 1.811982,1.836142 l 9.612456,0 c 1.004811,0 1.787822,-0.804878 1.787822,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
id="path11867"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11869"
|
||||
d="m 17.87105,41.895784 0,0.773112 c 0,1.031264 0.644622,1.836142 1.649433,1.836142 l 10.067593,0 c 1.004811,0 1.495234,-0.804878 1.495234,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#000000;fill-opacity:0.85253451;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
</g>
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect17347"
|
||||
width="21.943846"
|
||||
height="21.943846"
|
||||
x="342.29913"
|
||||
y="521.58435" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 8.9 KiB |
@ -14,22 +14,10 @@
|
||||
height="22"
|
||||
id="svg3199"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="checkbox.svg">
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="checkbox-focused.svg">
|
||||
<defs
|
||||
id="defs3201">
|
||||
<linearGradient
|
||||
id="linearGradient15404"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop15406"
|
||||
offset="0"
|
||||
style="stop-color:#515151;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop15408"
|
||||
offset="1"
|
||||
style="stop-color:#292929;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
@ -44,27 +32,6 @@
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5872-5-1"
|
||||
id="linearGradient5891-0-4"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
x1="205.84143"
|
||||
y1="246.7094"
|
||||
x2="206.74803"
|
||||
y2="231.24142" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient5872-5-1">
|
||||
<stop
|
||||
style="stop-color:#0b2e52;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop5874-4-4" />
|
||||
<stop
|
||||
style="stop-color:#1862af;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop5876-0-5" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect5837-4-6"
|
||||
@ -77,16 +44,6 @@
|
||||
effect="spiro"
|
||||
id="path-effect5884-4-7"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
y2="-388.72955"
|
||||
x2="-93.031357"
|
||||
y1="-396.34738"
|
||||
x1="-93.031357"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.685418)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient14219"
|
||||
xlink:href="#linearGradient15404"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient10013-4-63-6">
|
||||
@ -131,30 +88,55 @@
|
||||
id="linearGradient15376"
|
||||
xlink:href="#linearGradient10597-5"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5581-5-2-4-6-8-7-35-8"
|
||||
id="linearGradient11811"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.0317573,0,0,1.0053174,-102.66338,-0.82153381)"
|
||||
x1="63.568954"
|
||||
y1="127.16142"
|
||||
x2="63.568954"
|
||||
y2="152.6618" />
|
||||
<linearGradient
|
||||
id="linearGradient5581-5-2-4-6-8-7-35-8">
|
||||
<stop
|
||||
id="stop5583-0-92-8-0-7-6-5-1"
|
||||
offset="0"
|
||||
style="stop-color:#454c4c;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#393f3f;stop-opacity:1;"
|
||||
offset="0.40000001"
|
||||
id="stop5585-4-7-2-7-9-9-92-0" />
|
||||
<stop
|
||||
id="stop5587-6-7-2-0-3-1-21-5"
|
||||
offset="1"
|
||||
style="stop-color:#2d3232;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
pagecolor="#a2a2a2"
|
||||
bordercolor="#2d2d2d"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="4"
|
||||
inkscape:cx="71.247925"
|
||||
inkscape:cy="33.339093"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="9.6447897"
|
||||
inkscape:cy="12.591409"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1412"
|
||||
inkscape:window-height="1067"
|
||||
inkscape:window-x="2116"
|
||||
inkscape:window-y="261"
|
||||
inkscape:window-x="184"
|
||||
inkscape:window-y="233"
|
||||
inkscape:window-maximized="0"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
showborder="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid14843"
|
||||
@ -181,38 +163,44 @@
|
||||
id="layer1"
|
||||
transform="translate(-342.5,-521.36218)">
|
||||
<g
|
||||
transform="matrix(0.84337,0,0,0.84337,-110.16632,-503.56182)"
|
||||
id="g14586">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="matrix(1.9969286,0,0,1.9969286,-397.05491,877.00482)"
|
||||
id="g15291-9"
|
||||
style="display:inline;enable-background:new">
|
||||
<g
|
||||
transform="translate(877.50354,-102.83507)"
|
||||
id="g16853-4"
|
||||
style="enable-background:new">
|
||||
<rect
|
||||
transform="scale(1,-1)"
|
||||
style="color:#000000;fill:url(#linearGradient14219);fill-opacity:1;fill-rule:nonzero;stroke:#868686;stroke-width:0.59377144999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="rect6506-6"
|
||||
width="11.281681"
|
||||
height="11.26221"
|
||||
x="-409.59354"
|
||||
y="-284.40115"
|
||||
rx="0.95632279"
|
||||
ry="0.95632273" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="translate(343.99999,987.99997)"
|
||||
id="g5886"
|
||||
style="display:inline;enable-background:new" />
|
||||
style="display:inline"
|
||||
id="use5671"
|
||||
transform="matrix(1.3594109,0,0,1.3564242,319.2059,481.99447)">
|
||||
<rect
|
||||
transform="matrix(0.47304779,0,0,0.4807373,-6.3607039,-29.396216)"
|
||||
rx="4.4136767"
|
||||
y="125.3458"
|
||||
x="50.440369"
|
||||
height="29.154205"
|
||||
width="29.559635"
|
||||
id="rect11803"
|
||||
style="color:#000000;fill:url(#linearGradient11811);fill-opacity:1;stroke:#1c1f1f;stroke-width:1.54426003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
ry="4.4233952" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11809"
|
||||
d="m 17.87105,33.844107 0,-0.773112 c 0,-1.031264 0.807171,-1.836142 1.811982,-1.836142 l 9.612456,0 c 1.004811,0 1.787822,0.804878 1.787822,1.836142 l 0,0.773112 c 0,-1.031264 -0.783011,-1.836142 -1.787822,-1.836142 l -9.612456,0 c -1.004811,0 -1.811982,0.804878 -1.811982,1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
<path
|
||||
sodipodi:nodetypes="csssscssc"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
d="m 17.87105,41.158551 0,0.773112 c 0,1.031264 0.807171,1.836142 1.811982,1.836142 l 9.612456,0 c 1.004811,0 1.787822,-0.804878 1.787822,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
id="path11867"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11869"
|
||||
d="m 17.87105,41.895784 0,0.773112 c 0,1.031264 0.644622,1.836142 1.649433,1.836142 l 10.067593,0 c 1.004811,0 1.495234,-0.804878 1.495234,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#000000;fill-opacity:0.85253451;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
</g>
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect17347"
|
||||
width="21.943846"
|
||||
height="21.943846"
|
||||
x="342.29913"
|
||||
y="521.58435" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 8.9 KiB |
@ -14,8 +14,8 @@
|
||||
height="22"
|
||||
id="svg3199"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="checkbox-focused.svg">
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="checkbox.svg">
|
||||
<defs
|
||||
id="defs3201">
|
||||
<linearGradient
|
||||
@ -131,30 +131,55 @@
|
||||
id="linearGradient15376"
|
||||
xlink:href="#linearGradient10597-5"
|
||||
inkscape:collect="always" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5581-5-2-4-6-8-7-35-8"
|
||||
id="linearGradient11811"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(3.0317573,0,0,1.0053174,-102.66338,-0.82153381)"
|
||||
x1="63.568954"
|
||||
y1="127.16142"
|
||||
x2="63.568954"
|
||||
y2="152.6618" />
|
||||
<linearGradient
|
||||
id="linearGradient5581-5-2-4-6-8-7-35-8">
|
||||
<stop
|
||||
id="stop5583-0-92-8-0-7-6-5-1"
|
||||
offset="0"
|
||||
style="stop-color:#454c4c;stop-opacity:1;" />
|
||||
<stop
|
||||
style="stop-color:#393f3f;stop-opacity:1;"
|
||||
offset="0.40000001"
|
||||
id="stop5585-4-7-2-7-9-9-92-0" />
|
||||
<stop
|
||||
id="stop5587-6-7-2-0-3-1-21-5"
|
||||
offset="1"
|
||||
style="stop-color:#2d3232;stop-opacity:1;" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
pagecolor="#a2a2a2"
|
||||
bordercolor="#2d2d2d"
|
||||
borderopacity="1"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="64.516955"
|
||||
inkscape:cy="13.871056"
|
||||
inkscape:cx="-0.17876005"
|
||||
inkscape:cy="11.944326"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1412"
|
||||
inkscape:window-height="1067"
|
||||
inkscape:window-x="2635"
|
||||
inkscape:window-y="226"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
showborder="true">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid14843"
|
||||
@ -171,7 +196,7 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
@ -181,63 +206,56 @@
|
||||
id="layer1"
|
||||
transform="translate(-342.5,-521.36218)">
|
||||
<g
|
||||
transform="matrix(0.84337,0,0,0.84337,-110.16632,-503.56182)"
|
||||
id="g14586">
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="matrix(1.9969286,0,0,1.9969286,-397.05491,877.00482)"
|
||||
id="g15291-9"
|
||||
style="display:inline;enable-background:new">
|
||||
<g
|
||||
transform="translate(877.50354,-102.83507)"
|
||||
id="g16853-4"
|
||||
style="enable-background:new">
|
||||
<rect
|
||||
transform="scale(1,-1)"
|
||||
style="color:#000000;fill:url(#linearGradient14219);fill-opacity:1;fill-rule:nonzero;stroke:#868686;stroke-width:0.59377144999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="rect6506-6"
|
||||
width="11.281681"
|
||||
height="11.26221"
|
||||
x="-409.59354"
|
||||
y="-284.40115"
|
||||
rx="0.95632279"
|
||||
ry="0.95632273" />
|
||||
</g>
|
||||
</g>
|
||||
<g
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/jimmac/SparkleShare/gnome-mockups/boxes/interactive/img/checkbox-on.png"
|
||||
transform="translate(343.99999,987.99997)"
|
||||
id="g5886"
|
||||
style="display:inline;enable-background:new">
|
||||
<path
|
||||
style="fill:none;stroke:url(#linearGradient5891-0-4);stroke-width:7.11431503;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
d="m 198.5,240 5.25,5.25 13.98616,-14.43081"
|
||||
id="path5835"
|
||||
inkscape:path-effect="#path-effect5837-4-6"
|
||||
inkscape:original-d="m 198.5,240 5.25,5.25 13.98616,-14.43081"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:original-d="m 198.5,240 5.25,5.25 13.91205,-14.31964"
|
||||
inkscape:path-effect="#path-effect5837-4-6"
|
||||
id="path5880"
|
||||
d="m 198.5,240 5.25,5.25 13.91205,-14.31964"
|
||||
style="fill:none;stroke:#4787c8;stroke-width:3.55715752;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#7ea7d3;stroke-width:1.18571913px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 197.45937,240.47455 c -0.17828,-0.29362 -0.20087,-0.67548 -0.0603,-0.98892 0.14055,-0.31344 0.43739,-0.54812 0.77144,-0.62817 0.33405,-0.08 0.69314,-0.01 0.99635,0.15175 0.30321,0.16144 0.55146,0.40727 0.79165,0.65284 l 3.66429,3.74643 12.87946,-12.98973 c 0.20796,-0.20974 0.42306,-0.41969 0.68548,-0.55522 0.26242,-0.13553 0.57293,-0.19052 0.85827,-0.11426 0.14267,0.0381 0.27708,0.10787 0.38874,0.20452 0.11167,0.0966 0.20021,0.22004 0.25479,0.35726 0.0546,0.13722 0.075,0.28793 0.0585,0.43468 -0.0165,0.14674 -0.07,0.28919 -0.15422,0.41052"
|
||||
id="path5882"
|
||||
inkscape:path-effect="#path-effect5884-4-7"
|
||||
inkscape:original-d="m 197.45937,240.47455 c 0.65604,-0.56057 2.02485,-1.34847 2.49911,-0.8125 l 3.66429,3.74643 12.87946,-12.98973 c 0.6875,-0.6875 2.09152,0.7375 2.09152,0.7375"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="csccc" />
|
||||
</g>
|
||||
style="display:inline"
|
||||
id="use5671"
|
||||
transform="matrix(1.3594109,0,0,1.3564242,319.2059,481.99447)">
|
||||
<rect
|
||||
transform="matrix(0.47304779,0,0,0.4807373,-6.3607039,-29.396216)"
|
||||
rx="4.4136767"
|
||||
y="125.3458"
|
||||
x="50.440369"
|
||||
height="29.154205"
|
||||
width="29.559635"
|
||||
id="rect11803"
|
||||
style="color:#000000;fill:url(#linearGradient11811);fill-opacity:1;stroke:#1c1f1f;stroke-width:1.54426003;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
ry="4.4233952" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11809"
|
||||
d="m 17.87105,33.844107 0,-0.773112 c 0,-1.031264 0.807171,-1.836142 1.811982,-1.836142 l 9.612456,0 c 1.004811,0 1.787822,0.804878 1.787822,1.836142 l 0,0.773112 c 0,-1.031264 -0.783011,-1.836142 -1.787822,-1.836142 l -9.612456,0 c -1.004811,0 -1.811982,0.804878 -1.811982,1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
<path
|
||||
sodipodi:nodetypes="csssscssc"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
d="m 17.87105,41.158551 0,0.773112 c 0,1.031264 0.807171,1.836142 1.811982,1.836142 l 9.612456,0 c 1.004811,0 1.787822,-0.804878 1.787822,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
id="path11867"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path11869"
|
||||
d="m 17.87105,41.895784 0,0.773112 c 0,1.031264 0.644622,1.836142 1.649433,1.836142 l 10.067593,0 c 1.004811,0 1.495234,-0.804878 1.495234,-1.836142 l 0,-0.773112 c 0,1.031264 -0.783011,1.836142 -1.787822,1.836142 l -9.612456,0 c -1.004811,0 -1.811982,-0.804878 -1.811982,-1.836142 z"
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.15;color:#000000;fill:#000000;fill-opacity:0.85253451;fill-rule:nonzero;stroke:none;stroke-width:1.00000012;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
|
||||
sodipodi:nodetypes="csssscssc" />
|
||||
</g>
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect17347"
|
||||
width="21.943846"
|
||||
height="21.943846"
|
||||
x="342.29913"
|
||||
y="521.58435" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.8;color:#000000;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 359.97505,524.8252 -7.88606,7.71465 -2.57155,-2.57155 -2.91442,-0.0427 0,2.35727 4.02875,3.98587 c 0.80342,0.80309 2.111,0.80309 2.91442,0 l 8.18609,-8.22894 0,-0.38573 c 0,-1.24128 0.19944,-1.76801 -0.82915,-2.29836 z"
|
||||
id="rect5147-9-1-5-7-6-5-8-7"
|
||||
sodipodi:nodetypes="ccccccccscc" />
|
||||
<path
|
||||
style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#eeeeec;fill-opacity:1;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:sans-serif;-inkscape-font-specification:sans-serif"
|
||||
d="m 361.65223,524.52745 -9.5602,9.36735 -2.56345,-2.56344 -2.92846,-0.0214 0.0153,2.32639 4.02203,4.02206 c 0.80341,0.80309 2.10565,0.80309 2.90906,0 l 10.95049,-11.05765 0.003,-2.1502 z"
|
||||
id="path12830-4-17-0"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cccccccccc" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 8.8 KiB After Width: | Height: | Size: 12 KiB |
8
data/theme/gnome-shell-high-contrast.scss
Normal file
@ -0,0 +1,8 @@
|
||||
@import "gnome-shell-sass/_high-contrast-colors"; //use gtk colors
|
||||
@import "gnome-shell-sass/_drawing";
|
||||
@import "gnome-shell-sass/_common";
|
||||
|
||||
//force symbolic icons
|
||||
stage {
|
||||
-st-icon-style: symbolic;
|
||||
}
|
1
data/theme/gnome-shell-sass
Submodule
5
data/theme/gnome-shell.scss
Normal file
@ -0,0 +1,5 @@
|
||||
$variant: 'dark';
|
||||
|
||||
@import "gnome-shell-sass/_colors"; //use gtk colors
|
||||
@import "gnome-shell-sass/_drawing";
|
||||
@import "gnome-shell-sass/_common";
|
Before Width: | Height: | Size: 25 KiB |
@ -1,74 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="17"
|
||||
height="10"
|
||||
id="svg2"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="panel-button-border.svg">
|
||||
<defs
|
||||
id="defs4" />
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="44.8"
|
||||
inkscape:cx="8.6594891"
|
||||
inkscape:cy="5.7029946"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="true"
|
||||
showguides="true"
|
||||
inkscape:guide-bbox="true"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="843"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1"
|
||||
guidetolerance="10000"
|
||||
objecttolerance="10000">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid3792"
|
||||
empspacing="10"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata7">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1">
|
||||
<rect
|
||||
style="opacity:0.8;fill:#ffffff;fill-opacity:1;stroke-width:0.43599999;stroke-miterlimit:4;stroke-dasharray:none"
|
||||
id="rect3796"
|
||||
width="7"
|
||||
height="2"
|
||||
x="5"
|
||||
y="8" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="30"
|
||||
height="25"
|
||||
id="svg10621"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
sodipodi:docname="panel-button-highlight-narrow.svg">
|
||||
<defs
|
||||
id="defs10623">
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient99561-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient34508-1-3">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop34510-1-9" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop34512-4-5" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="42"
|
||||
fy="30"
|
||||
fx="51"
|
||||
cy="30"
|
||||
cx="51"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient10592"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="-171.36384"
|
||||
inkscape:cy="-53.255157"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="843"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata10626">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-468.08632,-537.03477)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.4625;color:#000000;fill:url(#radialGradient10592);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="path34506-3"
|
||||
sodipodi:cx="51"
|
||||
sodipodi:cy="30"
|
||||
sodipodi:rx="42"
|
||||
sodipodi:ry="16"
|
||||
d="M 9,29.999999 C 9.0000011,21.163443 27.804042,14 51.000002,14 74.195961,14 93,21.163444 93,30 l -42,0 z"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853"
|
||||
transform="matrix(0.35714286,0,0,1.5625,464.87203,515.15977)"
|
||||
inkscape:export-filename="/home/jimmac/src/cvs/gnome/gnome-shell-design/mockups/motion/textures/panel.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.5 KiB |
@ -1,111 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="84"
|
||||
height="25"
|
||||
id="svg10621"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.0 r9654"
|
||||
sodipodi:docname="panel-button-highlight-wide.svg">
|
||||
<defs
|
||||
id="defs10623">
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
id="radialGradient99561-1"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
cx="51"
|
||||
cy="30"
|
||||
fx="51"
|
||||
fy="30"
|
||||
r="42" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient34508-1-3">
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:1;"
|
||||
offset="0"
|
||||
id="stop34510-1-9" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0;"
|
||||
offset="1"
|
||||
id="stop34512-4-5" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
r="42"
|
||||
fy="30"
|
||||
fx="51"
|
||||
cy="30"
|
||||
cx="51"
|
||||
gradientTransform="matrix(0.72146227,0,0,0.27484277,14.205424,21.754717)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="radialGradient10592"
|
||||
xlink:href="#linearGradient34508-1-3"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1.979899"
|
||||
inkscape:cx="-118.50071"
|
||||
inkscape:cy="27.304508"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1440"
|
||||
inkscape:window-height="843"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata10626">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-441.08632,-537.03477)">
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="opacity:0.4625;color:#000000;fill:url(#radialGradient10592);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="path34506-3"
|
||||
sodipodi:cx="51"
|
||||
sodipodi:cy="30"
|
||||
sodipodi:rx="42"
|
||||
sodipodi:ry="16"
|
||||
d="M 9,29.999999 C 9.0000011,21.163443 27.804042,14 51.000002,14 74.195961,14 93,21.163444 93,30 l -42,0 z"
|
||||
sodipodi:start="3.1415927"
|
||||
sodipodi:end="6.2831853"
|
||||
transform="matrix(1,0,0,1.5625,432.08632,515.15977)"
|
||||
inkscape:export-filename="/home/jimmac/src/cvs/gnome/gnome-shell-design/mockups/motion/textures/panel.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.5 KiB |
@ -12,7 +12,7 @@
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
id="svg5369"
|
||||
version="1.1"
|
||||
inkscape:version="0.48+devel r10053 custom"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
width="96"
|
||||
height="48"
|
||||
sodipodi:docname="process-working.svg"
|
||||
@ -25,12 +25,597 @@
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
<dc:title />
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<defs
|
||||
id="defs5373" />
|
||||
id="defs5373">
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient35326"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient8231-1-4-4-1">
|
||||
<stop
|
||||
id="stop8233-28-5-27-1"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop8235-7-3-94-3" />
|
||||
<stop
|
||||
id="stop8237-7-8-20-2"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop8239-2-9-1-9"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient35230"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient5767-6">
|
||||
<stop
|
||||
id="stop5769-0"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop5771-1" />
|
||||
<stop
|
||||
id="stop5773-7"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop5775-8"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10255"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10257">
|
||||
<stop
|
||||
id="stop10259"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10261" />
|
||||
<stop
|
||||
id="stop10263"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10265"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10267"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10269">
|
||||
<stop
|
||||
id="stop10271"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10273" />
|
||||
<stop
|
||||
id="stop10275"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10277"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10279"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10281">
|
||||
<stop
|
||||
id="stop10283"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10285" />
|
||||
<stop
|
||||
id="stop10287"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10289"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10291"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10293">
|
||||
<stop
|
||||
id="stop10295"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10297" />
|
||||
<stop
|
||||
id="stop10299"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10301"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10303"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10305">
|
||||
<stop
|
||||
id="stop10307"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10309" />
|
||||
<stop
|
||||
id="stop10311"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10313"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10315"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10317">
|
||||
<stop
|
||||
id="stop10319"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10321" />
|
||||
<stop
|
||||
id="stop10323"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10325"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10327"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10329">
|
||||
<stop
|
||||
id="stop10331"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10333" />
|
||||
<stop
|
||||
id="stop10335"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10337"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10339"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10341">
|
||||
<stop
|
||||
id="stop10343"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10345" />
|
||||
<stop
|
||||
id="stop10347"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10349"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10351"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10353">
|
||||
<stop
|
||||
id="stop10355"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10357" />
|
||||
<stop
|
||||
id="stop10359"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10361"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10363"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10365">
|
||||
<stop
|
||||
id="stop10367"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10369" />
|
||||
<stop
|
||||
id="stop10371"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10373"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10375"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10377">
|
||||
<stop
|
||||
id="stop10379"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10381" />
|
||||
<stop
|
||||
id="stop10383"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10385"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10387"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10389">
|
||||
<stop
|
||||
id="stop10391"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10393" />
|
||||
<stop
|
||||
id="stop10395"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10397"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10399"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10401">
|
||||
<stop
|
||||
id="stop10403"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10405" />
|
||||
<stop
|
||||
id="stop10407"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10409"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10411"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10413">
|
||||
<stop
|
||||
id="stop10415"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10417" />
|
||||
<stop
|
||||
id="stop10419"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10421"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10423"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10425">
|
||||
<stop
|
||||
id="stop10427"
|
||||
offset="0"
|
||||
style="stop-color:#ffffff;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0.15428571"
|
||||
offset="0.31861392"
|
||||
id="stop10429" />
|
||||
<stop
|
||||
id="stop10431"
|
||||
offset="0.54270232"
|
||||
style="stop-color:#ffffff;stop-opacity:0.33714285" />
|
||||
<stop
|
||||
id="stop10433"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10435"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<linearGradient
|
||||
id="linearGradient10437">
|
||||
<stop
|
||||
id="stop10439"
|
||||
offset="0"
|
||||
style="stop-color:#bebebe;stop-opacity:0" />
|
||||
<stop
|
||||
style="stop-color:#ffffff;stop-opacity:0"
|
||||
offset="0.31861392"
|
||||
id="stop10441" />
|
||||
<stop
|
||||
id="stop10443"
|
||||
offset="0.75051737"
|
||||
style="stop-color:#ffffff;stop-opacity:0.42857143" />
|
||||
<stop
|
||||
id="stop10445"
|
||||
offset="1"
|
||||
style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10709"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10711"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient8231-1-4-4-1"
|
||||
id="radialGradient10713"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(2.229454,-1.2865389,1.2087442,2.0939897,-228.90301,-208.08725)"
|
||||
cx="-0.067823187"
|
||||
cy="188.51917"
|
||||
fx="-0.067823187"
|
||||
fy="188.51917"
|
||||
r="27.330345" />
|
||||
<radialGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient5767-6"
|
||||
id="radialGradient10715"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.1252013,-0.60470548,0.56813832,1.0568583,-107.67128,-11.948108)"
|
||||
cx="0.053942412"
|
||||
cy="189.15244"
|
||||
fx="0.053942412"
|
||||
fy="189.15244"
|
||||
r="27.330345" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
pagecolor="#808080"
|
||||
bordercolor="#666666"
|
||||
@ -46,13 +631,15 @@
|
||||
showgrid="true"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:zoom="16"
|
||||
inkscape:cx="53.997662"
|
||||
inkscape:cy="22.367695"
|
||||
inkscape:window-x="1600"
|
||||
inkscape:zoom="5.6568542"
|
||||
inkscape:cx="40.82607"
|
||||
inkscape:cy="30.594699"
|
||||
inkscape:window-x="2560"
|
||||
inkscape:window-y="33"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:current-layer="layer2">
|
||||
inkscape:current-layer="layer2"
|
||||
inkscape:snap-bbox="true"
|
||||
inkscape:snap-nodes="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid11933"
|
||||
@ -128,134 +715,97 @@
|
||||
id="layer2"
|
||||
inkscape:label="spinner">
|
||||
<g
|
||||
transform="matrix(0.28240106,0,0,0.28240106,146.92015,-382.52444)"
|
||||
id="g10450-5"
|
||||
transform="matrix(0.43142675,0,0,0.43298814,218.13188,-592.92581)"
|
||||
id="g10450-5-3"
|
||||
style="display:inline">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
style="opacity:0.6;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m -477.76072,1373.3569 0,9.4717"
|
||||
id="path18768"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:transform-center-y="-4.6808838" />
|
||||
inkscape:export-ydpi="90"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-filename="/home/hbons/Moblin/git/carrick-ng/data/icons/network-connecting.png"
|
||||
sodipodi:open="true"
|
||||
sodipodi:end="4.712389"
|
||||
sodipodi:start="0.23191105"
|
||||
sodipodi:type="arc"
|
||||
style="fill:none;stroke:url(#radialGradient10713);stroke-width:12.18051815;stroke-linecap:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="path10452-5"
|
||||
sodipodi:cx="-25.809397"
|
||||
sodipodi:cy="179.43886"
|
||||
sodipodi:rx="22.98097"
|
||||
sodipodi:ry="22.98097"
|
||||
d="m -3.4436513,184.72075 c -2.9171108,12.35226 -15.2953817,20.00096 -27.6476417,17.08385 -12.35226,-2.91711 -20.00096,-15.29538 -17.083849,-27.64764 2.449452,-10.372 11.708437,-17.69907 22.365746,-17.69907"
|
||||
transform="matrix(-0.16397381,0.61157081,-0.61162275,-0.16377992,-372.32298,1442.5061)" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="-3.3099227"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path18770"
|
||||
d="m -461.0171,1380.2922 -7.23427,7.3824"
|
||||
style="opacity:0.7;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
inkscape:transform-center-x="-3.3098966" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="-4.6808962"
|
||||
style="opacity:0.8;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m -454.08163,1397.0359 -9.47165,0"
|
||||
id="path18772"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:transform-center-y="-2.6596956e-05" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path18774"
|
||||
d="m -461.01709,1413.7796 -6.93831,-7.0864"
|
||||
style="opacity:0.9;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
inkscape:transform-center-x="-3.3098966"
|
||||
inkscape:transform-center-y="3.3098652" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="4.6808757"
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m -477.76074,1420.715 9e-5,-9.4716"
|
||||
id="path18776"
|
||||
sodipodi:nodetypes="cc" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path18778"
|
||||
d="m -494.50442,1413.7796 6.79048,-6.9384"
|
||||
style="opacity:0.3;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
inkscape:transform-center-y="3.3098769"
|
||||
inkscape:transform-center-x="3.3098883" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-x="4.6808941"
|
||||
style="opacity:0.4;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m -501.43987,1397.0359 9.47174,0"
|
||||
id="path18780"
|
||||
sodipodi:nodetypes="cc"
|
||||
inkscape:transform-center-y="-2.6596956e-05" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="cc"
|
||||
id="path18782"
|
||||
d="m -494.5044,1380.2922 6.64243,6.9384"
|
||||
style="opacity:0.5;color:#000000;fill:none;stroke:#ffffff;stroke-width:7.08212566;stroke-linecap:round;stroke-opacity:1;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
inkscape:transform-center-x="3.3098902"
|
||||
inkscape:transform-center-y="-3.3099302" />
|
||||
transform="matrix(-0.63300818,0.01438356,-0.01458424,-0.63300359,-491.4014,1510.996)"
|
||||
d="m -3.4436513,184.72075 c -2.9171108,12.35226 -15.2953817,20.00096 -27.6476417,17.08385 -12.35226,-2.91711 -20.00096,-15.29538 -17.083849,-27.64764 2.449452,-10.372 11.708437,-17.69907 22.365746,-17.69907"
|
||||
sodipodi:ry="22.98097"
|
||||
sodipodi:rx="22.98097"
|
||||
sodipodi:cy="179.43886"
|
||||
sodipodi:cx="-25.809397"
|
||||
id="path10454-7"
|
||||
style="fill:none;stroke:url(#radialGradient10715);stroke-width:12.18051815;stroke-linecap:butt;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
sodipodi:type="arc"
|
||||
sodipodi:start="0.23191105"
|
||||
sodipodi:end="4.712389"
|
||||
sodipodi:open="true"
|
||||
inkscape:export-filename="/home/hbons/Moblin/git/carrick-ng/data/icons/network-connecting.png"
|
||||
inkscape:export-xdpi="90"
|
||||
inkscape:export-ydpi="90" />
|
||||
</g>
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#g10450-5"
|
||||
id="use4981"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,36,-4.9705636)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#g10450-5-3"
|
||||
id="use13294"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,35.986458,-4.9737924)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4981"
|
||||
id="use4983"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,43.032478,-21.909695)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13294"
|
||||
id="use13314"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,43.036943,-21.933639)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4983"
|
||||
id="use4985"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,50.081986,-38.904617)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13314"
|
||||
id="use13334"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,50.085328,-38.904987)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4985"
|
||||
id="use4987"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,-38.919996,-31.872139)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13334"
|
||||
id="use13354"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,-38.894841,-31.888724)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4987"
|
||||
id="use4989"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,52.986628,2.0890543)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13354"
|
||||
id="use13374"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,52.971072,2.0670843)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4989"
|
||||
id="use4991"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,60.013026,-14.912936)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13374"
|
||||
id="use13394"
|
||||
transform="matrix(0.70710678,0.70710679,-0.70710679,0.70710678,60.017834,-14.929741)"
|
||||
width="96"
|
||||
height="48" />
|
||||
<use
|
||||
style="display:inline"
|
||||
x="0"
|
||||
y="0"
|
||||
xlink:href="#use4991"
|
||||
id="use4993"
|
||||
transform="matrix(0.70710678,0.70710678,-0.70710678,0.70710678,67.022396,-31.859127)"
|
||||
width="400"
|
||||
height="400" />
|
||||
xlink:href="#use13394"
|
||||
id="use13414"
|
||||
transform="matrix(0.86602541,0.50000001,-0.50000001,0.86602541,50.044124,-25.16226)"
|
||||
width="96"
|
||||
height="48" />
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 9.8 KiB After Width: | Height: | Size: 26 KiB |
@ -7,51 +7,127 @@
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg3273"
|
||||
id="svg2857"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="New document 14">
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="toggle-off-us.svg">
|
||||
<defs
|
||||
id="defs3275">
|
||||
id="defs2859">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3281" />
|
||||
id="perspective2865" />
|
||||
<inkscape:perspective
|
||||
id="perspective3261"
|
||||
id="perspective2843"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient76469-7-7-4"
|
||||
id="linearGradient38024"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
|
||||
x1="6"
|
||||
y1="102.95528"
|
||||
x2="6"
|
||||
y2="84.505203" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient76469-7-7-4">
|
||||
<stop
|
||||
style="stop-color:#2e3232;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop76471-7-1-5" />
|
||||
<stop
|
||||
style="stop-color:#3e4545;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop76473-9-0-0" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4"
|
||||
is_visible="true" />
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4-0"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient37802-8"
|
||||
id="linearGradient12311-3-1-0-5-4"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
|
||||
x1="610.13782"
|
||||
y1="501.43866"
|
||||
x2="610.13782"
|
||||
y2="492.52756" />
|
||||
<linearGradient
|
||||
id="linearGradient37802-8"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop37804-1"
|
||||
offset="0"
|
||||
style="stop-color:#2c2c2c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop37806-8"
|
||||
offset="1"
|
||||
style="stop-color:#16191a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="492.52756"
|
||||
x2="610.13782"
|
||||
y1="501.43866"
|
||||
x1="610.13782"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient13602"
|
||||
xlink:href="#linearGradient37802-8"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="32.000004"
|
||||
inkscape:cy="10.999997"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="-5.0602834"
|
||||
inkscape:cy="16.473273"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:current-layer="g37994"
|
||||
showgrid="false"
|
||||
inkscape:window-width="609"
|
||||
inkscape:window-height="501"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="0" />
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid12954"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3278">
|
||||
id="metadata2862">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
@ -66,61 +142,68 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-343,-521.36218)">
|
||||
transform="translate(-444.64286,-781.36218)">
|
||||
<g
|
||||
id="g17454"
|
||||
transform="translate(-453,448.36218)"
|
||||
style="display:inline">
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
ry="4"
|
||||
rx="4"
|
||||
y="74.5"
|
||||
x="-859.5"
|
||||
height="19"
|
||||
width="63.000004"
|
||||
id="rect17456"
|
||||
style="color:#000000;fill:none;stroke:#2e3436;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
ry="4"
|
||||
rx="4"
|
||||
y="74"
|
||||
x="-828"
|
||||
height="20"
|
||||
width="31"
|
||||
id="rect17458"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
|
||||
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
|
||||
id="g37994">
|
||||
<g
|
||||
transform="matrix(-1,0,0,1,1619.1239,-33.986291)"
|
||||
id="g17460"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 803.6322,115.48629 0,4.29495"
|
||||
id="path17462"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
d="m 806.62805,115.48629 0,4.29495"
|
||||
id="path17464"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
d="m 809.6239,115.48629 0,4.29495"
|
||||
id="path17466"
|
||||
inkscape:connector-curvature="0" />
|
||||
id="g37996"
|
||||
transform="translate(-115,1277)">
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
|
||||
id="rect13475"
|
||||
width="98"
|
||||
height="25"
|
||||
x="644.5"
|
||||
y="484.61118"
|
||||
rx="4.7429576"
|
||||
ry="3.8424656" />
|
||||
<rect
|
||||
ry="3.8424656"
|
||||
rx="4.7429576"
|
||||
y="483.5"
|
||||
x="644.5"
|
||||
height="25"
|
||||
width="98"
|
||||
id="rect38000"
|
||||
style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
|
||||
</g>
|
||||
<g
|
||||
transform="translate(-49.946213,-1.890275)"
|
||||
id="g38002">
|
||||
<g
|
||||
transform="translate(-115,1247)"
|
||||
style="display:inline"
|
||||
id="g38004">
|
||||
<rect
|
||||
ry="3.7972314"
|
||||
rx="4.6871223"
|
||||
y="515.5"
|
||||
x="694.53046"
|
||||
height="25"
|
||||
width="45.969578"
|
||||
id="rect38006"
|
||||
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 699.09675,516.7365 36.86904,0"
|
||||
id="path38016"
|
||||
inkscape:path-effect="#path-effect77541-4"
|
||||
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<path
|
||||
sodipodi:type="arc"
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.96875012;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="path18722"
|
||||
sodipodi:cx="47.6875"
|
||||
sodipodi:cy="11.5625"
|
||||
sodipodi:rx="3.9375"
|
||||
sodipodi:ry="3.9375"
|
||||
d="m 51.625,11.5625 c 0,2.174621 -1.762879,3.9375 -3.9375,3.9375 -2.174621,0 -3.9375,-1.762879 -3.9375,-3.9375 0,-2.1746212 1.762879,-3.9375 3.9375,-3.9375 2.174621,0 3.9375,1.7628788 3.9375,3.9375 z"
|
||||
transform="matrix(1.0158729,0,0,1.0158729,795.55556,72.25399)" />
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.15627193;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="path13479"
|
||||
sodipodi:cx="16.4375"
|
||||
sodipodi:cy="10.8125"
|
||||
sodipodi:rx="4.3125"
|
||||
sodipodi:ry="4.3125"
|
||||
d="m 20.75,10.8125 a 4.3125,4.3125 0 1 1 -8.625,0 4.3125,4.3125 0 1 1 8.625,0 z"
|
||||
transform="matrix(1.4212691,0,0,1.1514287,577.38488,1761.1138)" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 7.5 KiB |
@ -7,51 +7,171 @@
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg3012"
|
||||
id="svg2857"
|
||||
version="1.1"
|
||||
inkscape:version="0.47 r22583"
|
||||
sodipodi:docname="New document 6">
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="toggle-on-intl.svg">
|
||||
<defs
|
||||
id="defs3014">
|
||||
id="defs2859">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3020" />
|
||||
id="perspective2865" />
|
||||
<inkscape:perspective
|
||||
id="perspective2997"
|
||||
id="perspective2843"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient76469-7-7-4"
|
||||
id="linearGradient38024"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
|
||||
x1="6"
|
||||
y1="102.95528"
|
||||
x2="6"
|
||||
y2="84.505203" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient76469-7-7-4">
|
||||
<stop
|
||||
style="stop-color:#2e3232;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop76471-7-1-5" />
|
||||
<stop
|
||||
style="stop-color:#3e4545;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop76473-9-0-0" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient37802"
|
||||
id="linearGradient12311-3-1-0-5"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
|
||||
x1="610.13782"
|
||||
y1="501.43866"
|
||||
x2="610.13782"
|
||||
y2="492.52756" />
|
||||
<linearGradient
|
||||
id="linearGradient37802"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop37804"
|
||||
offset="0"
|
||||
style="stop-color:#2c2c2c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop37806"
|
||||
offset="1"
|
||||
style="stop-color:#16191a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient76469-7-7-4-3"
|
||||
id="linearGradient77680"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1,0,0,1.0322581,717.71949,428.68472)"
|
||||
x1="6"
|
||||
y1="102.95528"
|
||||
x2="6"
|
||||
y2="84.505203" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient76469-7-7-4-3">
|
||||
<stop
|
||||
style="stop-color:#2e3232;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop76471-7-1-5-7" />
|
||||
<stop
|
||||
style="stop-color:#3e4545;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop76473-9-0-0-9" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4-0"
|
||||
is_visible="true" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient37802-8"
|
||||
id="linearGradient12311-3-1-0-5-4"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-256.56122,59.071426)"
|
||||
x1="610.13782"
|
||||
y1="501.43866"
|
||||
x2="610.13782"
|
||||
y2="492.52756" />
|
||||
<linearGradient
|
||||
id="linearGradient37802-8"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop37804-1"
|
||||
offset="0"
|
||||
style="stop-color:#2c2c2c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop37806-8"
|
||||
offset="1"
|
||||
style="stop-color:#16191a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
y2="492.52756"
|
||||
x2="610.13782"
|
||||
y1="501.43866"
|
||||
x1="610.13782"
|
||||
gradientTransform="matrix(1.5918367,0,0,0.85714285,-900.56122,-423.92857)"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
id="linearGradient13602"
|
||||
xlink:href="#linearGradient37802-8"
|
||||
inkscape:collect="always" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="0.35"
|
||||
inkscape:cx="32.000004"
|
||||
inkscape:cy="10.999997"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="16.760995"
|
||||
inkscape:cy="21.955673"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:current-layer="g37994"
|
||||
showgrid="false"
|
||||
inkscape:window-width="609"
|
||||
inkscape:window-height="501"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="0" />
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid12954"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3017">
|
||||
id="metadata2862">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
@ -66,73 +186,70 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-343,-521.36218)">
|
||||
transform="translate(-444.64286,-781.36218)">
|
||||
<g
|
||||
id="g17454"
|
||||
transform="translate(-453,448.36218)"
|
||||
style="display:inline">
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
ry="4"
|
||||
rx="4"
|
||||
y="74.5"
|
||||
x="-859.5"
|
||||
height="19"
|
||||
width="63.000004"
|
||||
id="rect17456"
|
||||
style="color:#000000;fill:none;stroke:#2e3436;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<rect
|
||||
transform="scale(-1,1)"
|
||||
ry="4"
|
||||
rx="4"
|
||||
y="74"
|
||||
x="-828"
|
||||
height="20"
|
||||
width="31"
|
||||
id="rect17458"
|
||||
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline" />
|
||||
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
|
||||
id="g37994">
|
||||
<g
|
||||
transform="matrix(-1,0,0,1,1619.1239,-33.986291)"
|
||||
id="g17460"
|
||||
style="display:inline">
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
|
||||
d="m 803.6322,115.48629 0,4.29495"
|
||||
id="path17462"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
d="m 806.62805,115.48629 0,4.29495"
|
||||
id="path17464"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline"
|
||||
d="m 809.6239,115.48629 0,4.29495"
|
||||
id="path17466"
|
||||
inkscape:connector-curvature="0" />
|
||||
id="g37996"
|
||||
transform="translate(-115,1277)">
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
|
||||
id="rect13475"
|
||||
width="98"
|
||||
height="25"
|
||||
x="644.5"
|
||||
y="484.61118"
|
||||
rx="4.7429576"
|
||||
ry="3.8424656" />
|
||||
<rect
|
||||
ry="3.8424656"
|
||||
rx="4.7429576"
|
||||
y="483.5"
|
||||
x="644.5"
|
||||
height="25"
|
||||
width="98"
|
||||
id="rect38000"
|
||||
style="color:#000000;fill:url(#linearGradient12311-3-1-0-5-4);fill-opacity:1;fill-rule:nonzero;stroke:#16191a;stroke-width:1.37920942;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new" />
|
||||
</g>
|
||||
<g
|
||||
style="font-size:8.95877075px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="text17468"
|
||||
transform="translate(0.34375,0)">
|
||||
<path
|
||||
d="m 837.28518,80.750726 c 0.63282,6e-6 1.19566,0.123947 1.68852,0.371824 0.49284,0.247888 0.8807,0.609505 1.16359,1.084851 0.28287,0.472439 0.42431,1.022155 0.42431,1.649149 0,0.635748 -0.13853,1.200045 -0.41556,1.692892 -0.27706,0.489934 -0.66638,0.870507 -1.16797,1.141719 -0.5016,0.271213 -1.07756,0.406819 -1.72789,0.406819 -0.42869,0 -0.83551,-0.06562 -1.22045,-0.196848 -0.38495,-0.134148 -0.73053,-0.32808 -1.03674,-0.581795 -0.30329,-0.256631 -0.54534,-0.589085 -0.72615,-0.997363 -0.17789,-0.408276 -0.26684,-0.869045 -0.26683,-1.382311 -10e-6,-0.638658 0.13997,-1.200039 0.41994,-1.684144 0.27996,-0.487011 0.66782,-0.858835 1.16359,-1.115472 0.49576,-0.259541 1.06297,-0.389315 1.70164,-0.389321 m 0.57305,1.089225 c -0.20123,-0.05249 -0.40683,-0.07873 -0.61679,-0.07874 -0.20998,5e-6 -0.41412,0.02625 -0.61242,0.07874 -0.19831,0.04958 -0.38933,0.129779 -0.57305,0.240592 -0.18081,0.107907 -0.33974,0.242055 -0.47681,0.402445 -0.13706,0.160399 -0.24642,0.358705 -0.32808,0.594918 -0.0816,0.233306 -0.12248,0.491395 -0.12248,0.774269 0,0.67366 0.20851,1.214627 0.62554,1.622903 0.41702,0.408278 0.93758,0.612416 1.56166,0.612416 0.25954,0 0.51034,-0.04229 0.7524,-0.126858 0.24496,-0.08457 0.47097,-0.20997 0.67803,-0.376198 0.20705,-0.166226 0.37328,-0.392236 0.49868,-0.678032 0.12539,-0.285792 0.18809,-0.610956 0.1881,-0.975492 -10e-6,-0.297455 -0.0437,-0.568668 -0.13123,-0.813638 -0.0875,-0.247878 -0.20415,-0.453475 -0.34995,-0.61679 -0.14291,-0.163307 -0.31059,-0.301829 -0.50306,-0.415568 -0.18956,-0.11373 -0.38641,-0.195385 -0.59054,-0.244967"
|
||||
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="path18599"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
d="m 843.5362,81.831203 0,1.17917 2.94834,0 0,1.014861 -2.94834,0 0,3.00713 -1.10673,0 0,-6.216022 4.31754,0 0,1.014861 -3.21081,0"
|
||||
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="path18601"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccc" />
|
||||
<path
|
||||
d="m 849.71285,81.831203 0,1.17917 2.94834,0 0,1.014861 -2.94834,0 0,3.00713 -1.10672,0 0,-6.216022 4.31753,0 0,1.014861 -3.21081,0"
|
||||
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="path18603"
|
||||
inkscape:connector-curvature="0"
|
||||
sodipodi:nodetypes="ccccccccccc" />
|
||||
transform="translate(-49.946213,-1.890275)"
|
||||
id="g38002">
|
||||
<g
|
||||
transform="translate(-115,1247)"
|
||||
style="display:inline"
|
||||
id="g38004">
|
||||
<rect
|
||||
ry="3.7972314"
|
||||
rx="4.6871223"
|
||||
y="515.5"
|
||||
x="694.53046"
|
||||
height="25"
|
||||
width="45.969578"
|
||||
id="rect38006"
|
||||
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 699.09675,516.7365 36.86904,0"
|
||||
id="path38016"
|
||||
inkscape:path-effect="#path-effect77541-4"
|
||||
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:13.79166794px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
x="520.29974"
|
||||
y="1997.0011"
|
||||
id="text75614"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(1.1236771,0.88993537)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan75616"
|
||||
x="520.29974"
|
||||
y="1997.0011">OFF</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 7.2 KiB After Width: | Height: | Size: 8.8 KiB |
@ -7,51 +7,113 @@
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg3199"
|
||||
id="svg2857"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="toggle-on-intl.svg">
|
||||
<defs
|
||||
id="defs3201">
|
||||
id="defs2859">
|
||||
<inkscape:perspective
|
||||
sodipodi:type="inkscape:persp3d"
|
||||
inkscape:vp_x="0 : 526.18109 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_z="744.09448 : 526.18109 : 1"
|
||||
inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
|
||||
id="perspective3207" />
|
||||
id="perspective2865" />
|
||||
<inkscape:perspective
|
||||
id="perspective3187"
|
||||
id="perspective2843"
|
||||
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||
inkscape:vp_z="1 : 0.5 : 1"
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient77461"
|
||||
id="linearGradient77551"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||
x1="1164.7644"
|
||||
y1="962.93695"
|
||||
x2="1164.7644"
|
||||
y2="970.51404" />
|
||||
<linearGradient
|
||||
id="linearGradient77461"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop77463"
|
||||
offset="0"
|
||||
style="stop-color:#182f4c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop77465"
|
||||
offset="1"
|
||||
style="stop-color:#204a87;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient76469-7-7-4"
|
||||
id="linearGradient38024"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
|
||||
x1="6"
|
||||
y1="102.95528"
|
||||
x2="6"
|
||||
y2="84.505203" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient76469-7-7-4">
|
||||
<stop
|
||||
style="stop-color:#2e3232;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop76471-7-1-5" />
|
||||
<stop
|
||||
style="stop-color:#3e4545;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop76473-9-0-0" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4"
|
||||
is_visible="true" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="49.147112"
|
||||
inkscape:cy="17.532036"
|
||||
inkscape:zoom="32"
|
||||
inkscape:cx="17.255148"
|
||||
inkscape:cy="8.9252639"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
inkscape:window-width="1412"
|
||||
inkscape:window-height="1067"
|
||||
inkscape:current-layer="g37994"
|
||||
showgrid="true"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="26"
|
||||
inkscape:window-maximized="0" />
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid12954"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata3204">
|
||||
id="metadata2862">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
@ -66,57 +128,65 @@
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-342.5,-521.36218)">
|
||||
transform="translate(-444.64286,-781.36218)">
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(-453.5,448.36218)"
|
||||
id="g16453">
|
||||
<rect
|
||||
style="color:#000000;fill:#4a90d9;fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999994000000003;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect16256-9-4"
|
||||
width="63.000004"
|
||||
height="19"
|
||||
x="-859.5"
|
||||
y="74.5"
|
||||
rx="4"
|
||||
ry="4"
|
||||
transform="scale(-1,1)" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="rect16258-5-4"
|
||||
width="31"
|
||||
height="20"
|
||||
x="-860"
|
||||
y="74"
|
||||
rx="4"
|
||||
ry="4"
|
||||
transform="scale(-1,1)" />
|
||||
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
|
||||
id="g37994">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g16298-3-6"
|
||||
transform="matrix(-1,0,0,1,1651.1322,-33.986291)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-3-5"
|
||||
d="m 803.6322,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-0-2-0"
|
||||
d="m 806.62805,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-8-7-1"
|
||||
d="m 809.6239,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
|
||||
id="g37996"
|
||||
transform="translate(-115,1277)">
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
|
||||
id="rect13475"
|
||||
width="98"
|
||||
height="25"
|
||||
x="644.5"
|
||||
y="484.61118"
|
||||
rx="4.7429576"
|
||||
ry="3.8424656" />
|
||||
<rect
|
||||
ry="3.8424656"
|
||||
rx="4.7429576"
|
||||
y="483.5"
|
||||
x="644.5"
|
||||
height="25"
|
||||
width="98"
|
||||
id="rect38000"
|
||||
style="color:#000000;fill:url(#linearGradient77551);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
</g>
|
||||
<path
|
||||
style="color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:2;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 16,27.9375 0,10.125"
|
||||
id="path19232"
|
||||
inkscape:connector-curvature="0"
|
||||
transform="translate(796,51.00002)" />
|
||||
<g
|
||||
transform="translate(2.0625,-2)"
|
||||
id="g38002">
|
||||
<g
|
||||
transform="translate(-115,1247)"
|
||||
style="display:inline"
|
||||
id="g38004">
|
||||
<rect
|
||||
ry="3.7972314"
|
||||
rx="4.6871223"
|
||||
y="515.5"
|
||||
x="694.53046"
|
||||
height="25"
|
||||
width="45.969578"
|
||||
id="rect38006"
|
||||
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 699.09675,516.7365 36.86904,0"
|
||||
id="path38016"
|
||||
inkscape:path-effect="#path-effect77541-4"
|
||||
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<rect
|
||||
style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999994;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:new"
|
||||
id="rect13678"
|
||||
width="3.0646207"
|
||||
height="12.414008"
|
||||
x="554.77728"
|
||||
y="1767.3566" />
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 6.8 KiB |
@ -7,13 +7,14 @@
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="65"
|
||||
height="22"
|
||||
id="svg2857"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.1 r9760"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="toggle-on-us.svg">
|
||||
<defs
|
||||
id="defs2859">
|
||||
@ -31,27 +32,86 @@
|
||||
inkscape:vp_y="0 : 1000 : 0"
|
||||
inkscape:vp_x="0 : 0.5 : 1"
|
||||
sodipodi:type="inkscape:persp3d" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient77461"
|
||||
id="linearGradient77551"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.3066667,0,0,1,-841.64667,-483)"
|
||||
x1="1164.7644"
|
||||
y1="962.93695"
|
||||
x2="1164.7644"
|
||||
y2="970.51404" />
|
||||
<linearGradient
|
||||
id="linearGradient77461"
|
||||
inkscape:collect="always">
|
||||
<stop
|
||||
id="stop77463"
|
||||
offset="0"
|
||||
style="stop-color:#182f4c;stop-opacity:1" />
|
||||
<stop
|
||||
id="stop77465"
|
||||
offset="1"
|
||||
style="stop-color:#204a87;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
xlink:href="#linearGradient76469-7-7-4"
|
||||
id="linearGradient38024"
|
||||
gradientUnits="userSpaceOnUse"
|
||||
gradientTransform="matrix(1.0215462,0,0,1.0322581,717.22867,428.68472)"
|
||||
x1="6"
|
||||
y1="102.95528"
|
||||
x2="6"
|
||||
y2="84.505203" />
|
||||
<linearGradient
|
||||
inkscape:collect="always"
|
||||
id="linearGradient76469-7-7-4">
|
||||
<stop
|
||||
style="stop-color:#2e3232;stop-opacity:1"
|
||||
offset="0"
|
||||
id="stop76471-7-1-5" />
|
||||
<stop
|
||||
style="stop-color:#3e4545;stop-opacity:1"
|
||||
offset="1"
|
||||
id="stop76473-9-0-0" />
|
||||
</linearGradient>
|
||||
<inkscape:path-effect
|
||||
effect="spiro"
|
||||
id="path-effect77541-4"
|
||||
is_visible="true" />
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageopacity="1"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="19.689855"
|
||||
inkscape:cy="2.0517979"
|
||||
inkscape:cx="33.380898"
|
||||
inkscape:cy="6.9658271"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
inkscape:current-layer="g37994"
|
||||
showgrid="false"
|
||||
inkscape:window-width="941"
|
||||
inkscape:window-height="751"
|
||||
inkscape:window-x="2577"
|
||||
inkscape:window-y="206"
|
||||
inkscape:window-maximized="0"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1375"
|
||||
inkscape:window-x="0"
|
||||
inkscape:window-y="27"
|
||||
inkscape:window-maximized="1"
|
||||
borderlayer="true"
|
||||
inkscape:showpageshadow="false" />
|
||||
inkscape:showpageshadow="false"
|
||||
inkscape:snap-nodes="false"
|
||||
inkscape:snap-bbox="true"
|
||||
showborder="false">
|
||||
<inkscape:grid
|
||||
type="xygrid"
|
||||
id="grid12954"
|
||||
empspacing="5"
|
||||
visible="true"
|
||||
enabled="true"
|
||||
snapvisiblegridlinesonly="true" />
|
||||
</sodipodi:namedview>
|
||||
<metadata
|
||||
id="metadata2862">
|
||||
<rdf:RDF>
|
||||
@ -70,61 +130,68 @@
|
||||
id="layer1"
|
||||
transform="translate(-444.64286,-781.36218)">
|
||||
<g
|
||||
style="display:inline"
|
||||
transform="translate(-351.35714,708.36218)"
|
||||
id="g16453">
|
||||
<rect
|
||||
style="color:#000000;fill:#4a90d9;fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999994000000003;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
id="rect16256-9-4"
|
||||
width="63.000004"
|
||||
height="19"
|
||||
x="-859.5"
|
||||
y="74.5"
|
||||
rx="4"
|
||||
ry="4"
|
||||
transform="scale(-1,1)" />
|
||||
<rect
|
||||
style="fill:#000000;fill-opacity:1;stroke:#5f5f5f;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;display:inline"
|
||||
id="rect16258-5-4"
|
||||
width="31"
|
||||
height="20"
|
||||
x="-860"
|
||||
y="74"
|
||||
rx="4"
|
||||
ry="4"
|
||||
transform="scale(-1,1)" />
|
||||
transform="matrix(0.6526046,0,0,0.80554422,99.592644,-636.32172)"
|
||||
id="g37994">
|
||||
<g
|
||||
style="display:inline"
|
||||
id="g16298-3-6"
|
||||
transform="matrix(-1,0,0,1,1651.1322,-33.986291)">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-3-5"
|
||||
d="m 803.6322,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-0-2-0"
|
||||
d="m 806.62805,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path16265-8-7-1"
|
||||
d="m 809.6239,115.48629 0,4.29495"
|
||||
style="fill:none;stroke:#5f5f5f;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1;display:inline" />
|
||||
id="g37996"
|
||||
transform="translate(-115,1277)">
|
||||
<rect
|
||||
style="color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964000000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.19591837"
|
||||
id="rect13475"
|
||||
width="98"
|
||||
height="25"
|
||||
x="644.5"
|
||||
y="484.61118"
|
||||
rx="4.7429576"
|
||||
ry="3.8424656" />
|
||||
<rect
|
||||
ry="3.8424656"
|
||||
rx="4.7429576"
|
||||
y="483.5"
|
||||
x="644.5"
|
||||
height="25"
|
||||
width="98"
|
||||
id="rect38000"
|
||||
style="color:#000000;fill:url(#linearGradient77551);fill-opacity:1;fill-rule:nonzero;stroke:#182f4c;stroke-width:1.37920964;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
</g>
|
||||
<g
|
||||
style="font-size:8.95877075px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:125%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="text42229-3-0">
|
||||
<path
|
||||
d="m 808.01473,80.573953 c 0.63283,6e-6 1.19567,0.123947 1.68852,0.371824 0.49284,0.247888 0.88071,0.609505 1.16359,1.084851 0.28287,0.472439 0.42431,1.022155 0.42432,1.649149 -10e-6,0.635748 -0.13853,1.200045 -0.41557,1.692892 -0.27705,0.489934 -0.66637,0.870506 -1.16796,1.141719 -0.50161,0.271212 -1.07757,0.406819 -1.72789,0.406819 -0.4287,0 -0.83552,-0.06562 -1.22046,-0.196848 -0.38495,-0.134148 -0.73053,-0.32808 -1.03673,-0.581795 -0.3033,-0.256631 -0.54535,-0.589085 -0.72615,-0.997363 -0.1779,-0.408276 -0.26684,-0.869045 -0.26684,-1.382311 0,-0.638658 0.13998,-1.200039 0.41994,-1.684144 0.27996,-0.487011 0.66782,-0.858835 1.16359,-1.115472 0.49576,-0.259541 1.06298,-0.389315 1.70164,-0.389321 m 0.57305,1.089225 c -0.20123,-0.05249 -0.40682,-0.07873 -0.61679,-0.07874 -0.20998,5e-6 -0.41411,0.02625 -0.61242,0.07874 -0.19831,0.04958 -0.38932,0.129779 -0.57304,0.240592 -0.18081,0.107907 -0.33975,0.242055 -0.47681,0.402445 -0.13707,0.160399 -0.24643,0.358705 -0.32808,0.594918 -0.0817,0.233305 -0.12249,0.491395 -0.12249,0.774269 0,0.67366 0.20851,1.214627 0.62554,1.622902 0.41703,0.408279 0.93758,0.612417 1.56166,0.612416 0.25955,10e-7 0.51035,-0.04228 0.7524,-0.126857 0.24496,-0.08457 0.47097,-0.20997 0.67803,-0.376199 0.20705,-0.166225 0.37328,-0.392236 0.49868,-0.678031 0.1254,-0.285792 0.1881,-0.610956 0.1881,-0.975492 0,-0.297455 -0.0437,-0.568668 -0.13123,-0.813638 -0.0875,-0.247878 -0.20414,-0.453475 -0.34995,-0.61679 -0.1429,-0.163307 -0.31059,-0.301829 -0.50306,-0.415568 -0.18956,-0.11373 -0.38641,-0.195385 -0.59054,-0.244967"
|
||||
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="path18606" />
|
||||
<path
|
||||
d="m 813.15903,80.639569 1.21608,0 3.4689,4.776844 0,-4.776844 1.10235,0 0,6.216022 -1.22921,0 -3.45577,-4.785594 0,4.785594 -1.10235,0 0,-6.216022"
|
||||
style="line-height:125%;fill:#ffffff;fill-opacity:1;marker:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
id="path18608" />
|
||||
transform="translate(2.0625,-2)"
|
||||
id="g38002">
|
||||
<g
|
||||
transform="translate(-115,1247)"
|
||||
style="display:inline"
|
||||
id="g38004">
|
||||
<rect
|
||||
ry="3.7972314"
|
||||
rx="4.6871223"
|
||||
y="515.5"
|
||||
x="694.53046"
|
||||
height="25"
|
||||
width="45.969578"
|
||||
id="rect38006"
|
||||
style="color:#000000;fill:url(#linearGradient38024);fill-opacity:1;fill-rule:nonzero;stroke:#1f2020;stroke-width:1.37920964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
|
||||
<path
|
||||
sodipodi:nodetypes="cc"
|
||||
style="opacity:0.1;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.37920964px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
||||
d="m 699.09675,516.7365 36.86904,0"
|
||||
id="path38016"
|
||||
inkscape:path-effect="#path-effect77541-4"
|
||||
inkscape:original-d="m 699.09675,516.7365 36.86904,0"
|
||||
inkscape:connector-curvature="0" />
|
||||
</g>
|
||||
</g>
|
||||
<text
|
||||
transform="scale(1.1000946,0.90901274)"
|
||||
sodipodi:linespacing="125%"
|
||||
id="text38018"
|
||||
y="1955.5205"
|
||||
x="495.94223"
|
||||
style="font-size:13.29953671px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Cantarell;-inkscape-font-specification:Cantarell Bold"
|
||||
xml:space="preserve"><tspan
|
||||
y="1955.5205"
|
||||
x="495.94223"
|
||||
id="tspan38020"
|
||||
sodipodi:role="line">ON</tspan></text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 7.0 KiB |
@ -17,7 +17,6 @@
|
||||
<chapter>
|
||||
<title>Actors</title>
|
||||
<xi:include href="xml/shell-generic-container.xml"/>
|
||||
<xi:include href="xml/shell-slicer.xml"/>
|
||||
<xi:include href="xml/shell-stack.xml"/>
|
||||
</chapter>
|
||||
<chapter>
|
||||
@ -46,7 +45,7 @@
|
||||
<xi:include href="doc-gen-org.gnome.Shell.SearchProvider.xml"/>
|
||||
<xi:include href="doc-gen-org.gnome.Shell.SearchProvider2.xml"/>
|
||||
<xi:include href="xml/shell-global.xml"/>
|
||||
<xi:include href="xml/shell-keybinding-modes.xml"/>
|
||||
<xi:include href="xml/shell-action-modes.xml"/>
|
||||
<xi:include href="xml/shell-wm.xml"/>
|
||||
<xi:include href="xml/shell-util.xml"/>
|
||||
<xi:include href="xml/shell-mount-operation.xml"/>
|
||||
|
@ -140,7 +140,7 @@ const AuthPrompt = new Lang.Class({
|
||||
},
|
||||
|
||||
_initButtons: function() {
|
||||
this.cancelButton = new St.Button({ style_class: 'modal-dialog-button',
|
||||
this.cancelButton = new St.Button({ style_class: 'modal-dialog-button button',
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
reactive: true,
|
||||
can_focus: true,
|
||||
@ -162,7 +162,7 @@ const AuthPrompt = new Lang.Class({
|
||||
y_fill: false,
|
||||
x_align: St.Align.END,
|
||||
y_align: St.Align.MIDDLE });
|
||||
this.nextButton = new St.Button({ style_class: 'modal-dialog-button',
|
||||
this.nextButton = new St.Button({ style_class: 'modal-dialog-button button',
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
reactive: true,
|
||||
can_focus: true,
|
||||
|
@ -375,18 +375,7 @@ const LoginDialog = new Lang.Class({
|
||||
parentActor.add_child(this.actor);
|
||||
|
||||
this._userManager = AccountsService.UserManager.get_default()
|
||||
let gdmClient = new Gdm.Client();
|
||||
|
||||
if (GLib.getenv('GDM_GREETER_TEST') != '1') {
|
||||
this._greeter = gdmClient.get_greeter_sync(null);
|
||||
|
||||
this._defaultSessionChangedId = this._greeter.connect('default-session-name-changed',
|
||||
Lang.bind(this, this._onDefaultSessionChanged));
|
||||
this._sessionOpenedId = this._greeter.connect('session-opened',
|
||||
Lang.bind(this, this._onSessionOpened));
|
||||
this._timedLoginRequestedId = this._greeter.connect('timed-login-requested',
|
||||
Lang.bind(this, this._onTimedLoginRequested));
|
||||
}
|
||||
this._gdmClient = new Gdm.Client();
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: GdmUtil.LOGIN_SCREEN_SCHEMA });
|
||||
|
||||
@ -416,7 +405,7 @@ const LoginDialog = new Lang.Class({
|
||||
x_fill: true,
|
||||
y_fill: true });
|
||||
|
||||
this._authPrompt = new AuthPrompt.AuthPrompt(gdmClient, AuthPrompt.AuthPromptMode.UNLOCK_OR_LOG_IN);
|
||||
this._authPrompt = new AuthPrompt.AuthPrompt(this._gdmClient, AuthPrompt.AuthPromptMode.UNLOCK_OR_LOG_IN);
|
||||
this._authPrompt.connect('prompted', Lang.bind(this, this._onPrompted));
|
||||
this._authPrompt.connect('reset', Lang.bind(this, this._onReset));
|
||||
this._authPrompt.hide();
|
||||
@ -720,6 +709,7 @@ const LoginDialog = new Lang.Class({
|
||||
},
|
||||
|
||||
_fadeInBannerView: function() {
|
||||
this._bannerView.show();
|
||||
Tweener.addTween(this._bannerView,
|
||||
{ opacity: 255,
|
||||
time: _FADE_ANIMATION_TIME,
|
||||
@ -729,6 +719,7 @@ const LoginDialog = new Lang.Class({
|
||||
_hideBannerView: function() {
|
||||
Tweener.removeTweens(this._bannerView);
|
||||
this._bannerView.opacity = 0;
|
||||
this._bannerView.hide();
|
||||
},
|
||||
|
||||
_updateLogoTexture: function(cache, file) {
|
||||
@ -759,7 +750,24 @@ const LoginDialog = new Lang.Class({
|
||||
this._showPrompt();
|
||||
},
|
||||
|
||||
_resetGreeterProxy: function() {
|
||||
if (GLib.getenv('GDM_GREETER_TEST') != '1') {
|
||||
if (this._greeter) {
|
||||
this._greeter.run_dispose();
|
||||
}
|
||||
this._greeter = this._gdmClient.get_greeter_sync(null);
|
||||
|
||||
this._defaultSessionChangedId = this._greeter.connect('default-session-name-changed',
|
||||
Lang.bind(this, this._onDefaultSessionChanged));
|
||||
this._sessionOpenedId = this._greeter.connect('session-opened',
|
||||
Lang.bind(this, this._onSessionOpened));
|
||||
this._timedLoginRequestedId = this._greeter.connect('timed-login-requested',
|
||||
Lang.bind(this, this._onTimedLoginRequested));
|
||||
}
|
||||
},
|
||||
|
||||
_onReset: function(authPrompt, beginRequest) {
|
||||
this._resetGreeterProxy();
|
||||
this._sessionMenuButton.updateSensitivity(true);
|
||||
|
||||
this._user = null;
|
||||
|
@ -64,6 +64,7 @@
|
||||
<file>ui/modalDialog.js</file>
|
||||
<file>ui/notificationDaemon.js</file>
|
||||
<file>ui/osdWindow.js</file>
|
||||
<file>ui/osdMonitorLabeler.js</file>
|
||||
<file>ui/overview.js</file>
|
||||
<file>ui/overviewControls.js</file>
|
||||
<file>ui/panel.js</file>
|
||||
|
@ -8,7 +8,7 @@ const Signals = imports.signals;
|
||||
|
||||
try {
|
||||
var IBus = imports.gi.IBus;
|
||||
_checkIBusVersion();
|
||||
_checkIBusVersion(1, 5, 2);
|
||||
const IBusCandidatePopup = imports.ui.ibusCandidatePopup;
|
||||
} catch (e) {
|
||||
var IBus = null;
|
||||
@ -17,11 +17,7 @@ try {
|
||||
|
||||
let _ibusManager = null;
|
||||
|
||||
function _checkIBusVersion() {
|
||||
var requiredMajor = 1;
|
||||
var requiredMinor = 5;
|
||||
var requiredMicro = 2;
|
||||
|
||||
function _checkIBusVersion(requiredMajor, requiredMinor, requiredMicro) {
|
||||
if ((IBus.MAJOR_VERSION > requiredMajor) ||
|
||||
(IBus.MAJOR_VERSION == requiredMajor && IBus.MINOR_VERSION > requiredMinor) ||
|
||||
(IBus.MAJOR_VERSION == requiredMajor && IBus.MINOR_VERSION == requiredMinor &&
|
||||
@ -125,6 +121,16 @@ const IBusManager = new Lang.Class({
|
||||
object_path: IBus.PATH_PANEL });
|
||||
this._candidatePopup.setPanelService(this._panelService);
|
||||
this._panelService.connect('update-property', Lang.bind(this, this._updateProperty));
|
||||
try {
|
||||
// IBus versions older than 1.5.10 have a bug which
|
||||
// causes spurious set-content-type emissions when
|
||||
// switching input focus that temporarily lose purpose
|
||||
// and hints defeating its intended semantics and
|
||||
// confusing users. We thus don't use it in that case.
|
||||
_checkIBusVersion(1, 5, 10);
|
||||
this._panelService.connect('set-content-type', Lang.bind(this, this._setContentType));
|
||||
} catch (e) {
|
||||
}
|
||||
// If an engine is already active we need to get its properties
|
||||
this._ibus.get_global_engine_async(-1, null, Lang.bind(this, function(i, result) {
|
||||
let engine;
|
||||
@ -174,6 +180,10 @@ const IBusManager = new Lang.Class({
|
||||
this.emit('property-updated', this._currentEngineName, prop);
|
||||
},
|
||||
|
||||
_setContentType: function(panel, purpose, hints) {
|
||||
this.emit('set-content-type', purpose, hints);
|
||||
},
|
||||
|
||||
activateProperty: function(key, state) {
|
||||
this._panelService.property_activate(key, state);
|
||||
},
|
||||
@ -186,7 +196,10 @@ const IBusManager = new Lang.Class({
|
||||
},
|
||||
|
||||
setEngine: function(id, callback) {
|
||||
if (!IBus || !this._ready || id == this._currentEngineName) {
|
||||
// Send id even if id == this._currentEngineName
|
||||
// because 'properties-registered' signal can be emitted
|
||||
// while this._ibusSources == null on a lock screen.
|
||||
if (!IBus || !this._ready) {
|
||||
if (callback)
|
||||
callback();
|
||||
return;
|
||||
|
@ -80,8 +80,8 @@ const PortalWindow = new Lang.Class({
|
||||
if (title) {
|
||||
this.title = title;
|
||||
} else {
|
||||
// TRANSLATORS: this is the title of the wifi captive portal login
|
||||
// window, until we know the title of the actual login page
|
||||
/* TRANSLATORS: this is the title of the wifi captive portal login
|
||||
* window, until we know the title of the actual login page */
|
||||
this.title = _("Web Authentication Redirect");
|
||||
}
|
||||
},
|
||||
|
@ -366,6 +366,8 @@ const AllView = new Lang.Class({
|
||||
Extends: BaseAppView,
|
||||
|
||||
_init: function() {
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.parent({ usePagination: true }, null);
|
||||
this._scrollView = new St.ScrollView({ style_class: 'all-apps',
|
||||
x_expand: true,
|
||||
@ -517,9 +519,19 @@ const AllView = new Lang.Class({
|
||||
this.folderIcons.push(icon);
|
||||
}));
|
||||
|
||||
// Allow dragging of the icon only if the Dash would accept a drop to
|
||||
// change favorite-apps. There are no other possible drop targets from
|
||||
// the app picker, so there's no other need for a drag to start,
|
||||
// at least on single-monitor setups.
|
||||
// This also disables drag-to-launch on multi-monitor setups,
|
||||
// but we hope that is not used much.
|
||||
let favoritesWritable = this._settings.is_writable('favorite-apps');
|
||||
|
||||
apps.forEach(Lang.bind(this, function(appId) {
|
||||
let app = appSys.lookup_app(appId);
|
||||
let icon = new AppIcon(app);
|
||||
|
||||
let icon = new AppIcon(app,
|
||||
{ isDraggable: favoritesWritable });
|
||||
this.addItem(icon);
|
||||
}));
|
||||
|
||||
@ -763,6 +775,9 @@ const FrequentView = new Lang.Class({
|
||||
|
||||
_init: function() {
|
||||
this.parent(null, { fillParent: true });
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this.actor = new St.Widget({ style_class: 'frequent-apps',
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true, y_expand: true });
|
||||
@ -799,10 +814,19 @@ const FrequentView = new Lang.Class({
|
||||
if(!hasUsefulData)
|
||||
return;
|
||||
|
||||
// Allow dragging of the icon only if the Dash would accept a drop to
|
||||
// change favorite-apps. There are no other possible drop targets from
|
||||
// the app picker, so there's no other need for a drag to start,
|
||||
// at least on single-monitor setups.
|
||||
// This also disables drag-to-launch on multi-monitor setups,
|
||||
// but we hope that is not used much.
|
||||
let favoritesWritable = this._settings.is_writable('favorite-apps');
|
||||
|
||||
for (let i = 0; i < mostUsed.length; i++) {
|
||||
if (!mostUsed[i].get_app_info().should_show())
|
||||
continue;
|
||||
let appIcon = new AppIcon(mostUsed[i]);
|
||||
let appIcon = new AppIcon(mostUsed[i],
|
||||
{ isDraggable: favoritesWritable });
|
||||
this._grid.addItem(appIcon, -1);
|
||||
}
|
||||
},
|
||||
@ -879,14 +903,14 @@ const AppDisplay = new Lang.Class({
|
||||
let view, button;
|
||||
view = new FrequentView();
|
||||
button = new St.Button({ label: _("Frequent"),
|
||||
style_class: 'app-view-control',
|
||||
style_class: 'app-view-control button',
|
||||
can_focus: true,
|
||||
x_expand: true });
|
||||
this._views[Views.FREQUENT] = { 'view': view, 'control': button };
|
||||
|
||||
view = new AllView();
|
||||
button = new St.Button({ label: _("All"),
|
||||
style_class: 'app-view-control',
|
||||
style_class: 'app-view-control button',
|
||||
can_focus: true,
|
||||
x_expand: true });
|
||||
this._views[Views.ALL] = { 'view': view, 'control': button };
|
||||
@ -1523,15 +1547,33 @@ const AppIcon = new Lang.Class({
|
||||
can_focus: true,
|
||||
x_fill: true,
|
||||
y_fill: true });
|
||||
|
||||
this._dot = new St.Widget({ style_class: 'app-well-app-running-dot',
|
||||
layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true, y_expand: true,
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.END });
|
||||
|
||||
this._iconContainer = new St.Widget({ layout_manager: new Clutter.BinLayout(),
|
||||
x_expand: true, y_expand: true });
|
||||
|
||||
this.actor.set_child(this._iconContainer);
|
||||
this._iconContainer.add_child(this._dot);
|
||||
|
||||
this.actor._delegate = this;
|
||||
|
||||
if (!iconParams)
|
||||
iconParams = {};
|
||||
|
||||
// Get the isDraggable property without passing it on to the BaseIcon:
|
||||
let appIconParams = Params.parse(iconParams, { isDraggable: true }, true);
|
||||
let isDraggable = appIconParams['isDraggable'];
|
||||
delete iconParams['isDraggable'];
|
||||
|
||||
iconParams['createIcon'] = Lang.bind(this, this._createIcon);
|
||||
iconParams['setSizeManually'] = true;
|
||||
this.icon = new IconGrid.BaseIcon(app.get_name(), iconParams);
|
||||
this.actor.set_child(this.icon.actor);
|
||||
this._iconContainer.add_child(this.icon.actor);
|
||||
|
||||
this.actor.label_actor = this.icon.label;
|
||||
|
||||
@ -1544,20 +1586,22 @@ const AppIcon = new Lang.Class({
|
||||
this._menu = null;
|
||||
this._menuManager = new PopupMenu.PopupMenuManager(this);
|
||||
|
||||
this._draggable = DND.makeDraggable(this.actor);
|
||||
this._draggable.connect('drag-begin', Lang.bind(this,
|
||||
function () {
|
||||
this._removeMenuTimeout();
|
||||
Main.overview.beginItemDrag(this);
|
||||
}));
|
||||
this._draggable.connect('drag-cancelled', Lang.bind(this,
|
||||
function () {
|
||||
Main.overview.cancelledItemDrag(this);
|
||||
}));
|
||||
this._draggable.connect('drag-end', Lang.bind(this,
|
||||
function () {
|
||||
Main.overview.endItemDrag(this);
|
||||
}));
|
||||
if (isDraggable) {
|
||||
this._draggable = DND.makeDraggable(this.actor);
|
||||
this._draggable.connect('drag-begin', Lang.bind(this,
|
||||
function () {
|
||||
this._removeMenuTimeout();
|
||||
Main.overview.beginItemDrag(this);
|
||||
}));
|
||||
this._draggable.connect('drag-cancelled', Lang.bind(this,
|
||||
function () {
|
||||
Main.overview.cancelledItemDrag(this);
|
||||
}));
|
||||
this._draggable.connect('drag-end', Lang.bind(this,
|
||||
function () {
|
||||
Main.overview.endItemDrag(this);
|
||||
}));
|
||||
}
|
||||
|
||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
||||
|
||||
@ -1589,9 +1633,9 @@ const AppIcon = new Lang.Class({
|
||||
|
||||
_updateRunningStyle: function() {
|
||||
if (this.app.state != Shell.AppState.STOPPED)
|
||||
this.actor.add_style_class_name('running');
|
||||
this._dot.show();
|
||||
else
|
||||
this.actor.remove_style_class_name('running');
|
||||
this._dot.hide();
|
||||
},
|
||||
|
||||
_setPopupTimeout: function() {
|
||||
@ -1645,7 +1689,9 @@ const AppIcon = new Lang.Class({
|
||||
popupMenu: function() {
|
||||
this._removeMenuTimeout();
|
||||
this.actor.fake_release();
|
||||
this._draggable.fakeRelease();
|
||||
|
||||
if (this._draggable)
|
||||
this._draggable.fakeRelease();
|
||||
|
||||
if (!this._menu) {
|
||||
this._menu = new AppIconMenu(this);
|
||||
@ -1748,6 +1794,8 @@ const AppIconMenu = new Lang.Class({
|
||||
|
||||
this.actor.add_style_class_name('app-well-menu');
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
// Chain our visibility and lifecycle to that of the source
|
||||
source.actor.connect('notify::mapped', Lang.bind(this, function () {
|
||||
if (!source.actor.mapped)
|
||||
@ -1785,7 +1833,10 @@ const AppIconMenu = new Lang.Class({
|
||||
if (!this._source.app.is_window_backed()) {
|
||||
this._appendSeparator();
|
||||
|
||||
if (this._source.app.can_open_new_window()) {
|
||||
let appInfo = this._source.app.get_app_info();
|
||||
let actions = appInfo.list_actions();
|
||||
if (this._source.app.can_open_new_window() &&
|
||||
actions.indexOf('new-window') == -1) {
|
||||
this._newWindowMenuItem = this._appendMenuItem(_("New Window"));
|
||||
this._newWindowMenuItem.connect('activate', Lang.bind(this, function() {
|
||||
if (this._source.app.state == Shell.AppState.STOPPED)
|
||||
@ -1797,8 +1848,6 @@ const AppIconMenu = new Lang.Class({
|
||||
this._appendSeparator();
|
||||
}
|
||||
|
||||
let appInfo = this._source.app.get_app_info();
|
||||
let actions = appInfo.list_actions();
|
||||
for (let i = 0; i < actions.length; i++) {
|
||||
let action = actions[i];
|
||||
let item = this._appendMenuItem(appInfo.get_action_name(action));
|
||||
@ -1807,22 +1856,27 @@ const AppIconMenu = new Lang.Class({
|
||||
this.emit('activate-window', null);
|
||||
}));
|
||||
}
|
||||
this._appendSeparator();
|
||||
|
||||
let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id());
|
||||
let canFavorite = this._settings.is_writable('favorite-apps');
|
||||
|
||||
if (isFavorite) {
|
||||
let item = this._appendMenuItem(_("Remove from Favorites"));
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
let favs = AppFavorites.getAppFavorites();
|
||||
favs.removeFavorite(this._source.app.get_id());
|
||||
}));
|
||||
} else {
|
||||
let item = this._appendMenuItem(_("Add to Favorites"));
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
let favs = AppFavorites.getAppFavorites();
|
||||
favs.addFavorite(this._source.app.get_id());
|
||||
}));
|
||||
if (canFavorite) {
|
||||
this._appendSeparator();
|
||||
|
||||
let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id());
|
||||
|
||||
if (isFavorite) {
|
||||
let item = this._appendMenuItem(_("Remove from Favorites"));
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
let favs = AppFavorites.getAppFavorites();
|
||||
favs.removeFavorite(this._source.app.get_id());
|
||||
}));
|
||||
} else {
|
||||
let item = this._appendMenuItem(_("Add to Favorites"));
|
||||
item.connect('activate', Lang.bind(this, function() {
|
||||
let favs = AppFavorites.getAppFavorites();
|
||||
favs.addFavorite(this._source.app.get_id());
|
||||
}));
|
||||
}
|
||||
}
|
||||
|
||||
if (Shell.AppSystem.get_default().lookup_app('org.gnome.Software.desktop')) {
|
||||
|
@ -456,7 +456,7 @@ const Calendar = new Lang.Class({
|
||||
this._topBox = new St.BoxLayout();
|
||||
layout.attach(this._topBox, 0, 0, offsetCols + 7, 1);
|
||||
|
||||
this._backButton = new St.Button({ style_class: 'calendar-change-month-back',
|
||||
this._backButton = new St.Button({ style_class: 'calendar-change-month-back pager-button',
|
||||
accessible_name: _("Previous month"),
|
||||
can_focus: true });
|
||||
this._topBox.add(this._backButton);
|
||||
@ -466,7 +466,7 @@ const Calendar = new Lang.Class({
|
||||
can_focus: true });
|
||||
this._topBox.add(this._monthLabel, { expand: true, x_fill: false, x_align: St.Align.MIDDLE });
|
||||
|
||||
this._forwardButton = new St.Button({ style_class: 'calendar-change-month-forward',
|
||||
this._forwardButton = new St.Button({ style_class: 'calendar-change-month-forward pager-button',
|
||||
accessible_name: _("Next month"),
|
||||
can_focus: true });
|
||||
this._topBox.add(this._forwardButton);
|
||||
@ -601,6 +601,7 @@ const Calendar = new Lang.Class({
|
||||
beginDate.setHours(12);
|
||||
|
||||
this._calendarBegin = new Date(beginDate);
|
||||
this._markedAsToday = now;
|
||||
|
||||
let year = beginDate.getYear();
|
||||
|
||||
@ -692,7 +693,7 @@ const Calendar = new Lang.Class({
|
||||
else
|
||||
this._monthLabel.text = this._selectedDate.toLocaleFormat(this._headerFormat);
|
||||
|
||||
if (!this._calendarBegin || !_sameMonth(this._selectedDate, this._calendarBegin))
|
||||
if (!this._calendarBegin || !_sameMonth(this._selectedDate, this._calendarBegin) || !_sameDay(now, this._markedAsToday))
|
||||
this._rebuildCalendar();
|
||||
|
||||
this._buttons.forEach(Lang.bind(this, function(button) {
|
||||
|
@ -24,11 +24,11 @@ const AutorunSetting = {
|
||||
};
|
||||
|
||||
// misc utils
|
||||
function shouldAutorunMount(mount, forTransient) {
|
||||
function shouldAutorunMount(mount) {
|
||||
let root = mount.get_root();
|
||||
let volume = mount.get_volume();
|
||||
|
||||
if (!volume || (!volume.allowAutorun && forTransient))
|
||||
if (!volume || !volume.allowAutorun)
|
||||
return false;
|
||||
|
||||
if (root.is_native() && isMountRootHidden(root))
|
||||
@ -167,276 +167,38 @@ const AutorunManager = new Lang.Class({
|
||||
this._session = new GnomeSession.SessionManager();
|
||||
this._volumeMonitor = Gio.VolumeMonitor.get();
|
||||
|
||||
this._transDispatcher = new AutorunTransientDispatcher(this);
|
||||
},
|
||||
|
||||
_ensureResidentSource: function() {
|
||||
if (this._residentSource)
|
||||
return;
|
||||
|
||||
this._residentSource = new AutorunResidentSource(this);
|
||||
let destroyId = this._residentSource.connect('destroy', Lang.bind(this, function() {
|
||||
this._residentSource.disconnect(destroyId);
|
||||
this._residentSource = null;
|
||||
}));
|
||||
this._dispatcher = new AutorunDispatcher(this);
|
||||
},
|
||||
|
||||
enable: function() {
|
||||
this._scanMounts();
|
||||
|
||||
this._mountAddedId = this._volumeMonitor.connect('mount-added', Lang.bind(this, this._onMountAdded));
|
||||
this._mountRemovedId = this._volumeMonitor.connect('mount-removed', Lang.bind(this, this._onMountRemoved));
|
||||
},
|
||||
|
||||
disable: function() {
|
||||
if (this._residentSource)
|
||||
this._residentSource.destroy();
|
||||
this._volumeMonitor.disconnect(this._mountAddedId);
|
||||
this._volumeMonitor.disconnect(this._mountRemovedId);
|
||||
},
|
||||
|
||||
_processMount: function(mount, hotplug) {
|
||||
let discoverer = new ContentTypeDiscoverer(Lang.bind(this, function(mount, apps, contentTypes) {
|
||||
this._ensureResidentSource();
|
||||
this._residentSource.addMount(mount, apps);
|
||||
|
||||
if (hotplug)
|
||||
this._transDispatcher.addMount(mount, apps, contentTypes);
|
||||
}));
|
||||
discoverer.guessContentTypes(mount);
|
||||
},
|
||||
|
||||
_scanMounts: function() {
|
||||
let mounts = this._volumeMonitor.get_mounts();
|
||||
mounts.forEach(Lang.bind(this, function(mount) {
|
||||
this._processMount(mount, false);
|
||||
}));
|
||||
},
|
||||
|
||||
_onMountAdded: function(monitor, mount) {
|
||||
// don't do anything if our session is not the currently
|
||||
// active one
|
||||
if (!this._session.SessionIsActive)
|
||||
return;
|
||||
|
||||
this._processMount(mount, true);
|
||||
let discoverer = new ContentTypeDiscoverer(Lang.bind(this, function(mount, apps, contentTypes) {
|
||||
this._dispatcher.addMount(mount, apps, contentTypes);
|
||||
}));
|
||||
discoverer.guessContentTypes(mount);
|
||||
},
|
||||
|
||||
_onMountRemoved: function(monitor, mount) {
|
||||
this._transDispatcher.removeMount(mount);
|
||||
if (this._residentSource)
|
||||
this._residentSource.removeMount(mount);
|
||||
},
|
||||
|
||||
ejectMount: function(mount) {
|
||||
let mountOp = new ShellMountOperation.ShellMountOperation(mount);
|
||||
|
||||
// first, see if we have a drive
|
||||
let drive = mount.get_drive();
|
||||
let volume = mount.get_volume();
|
||||
|
||||
if (drive &&
|
||||
drive.get_start_stop_type() == Gio.DriveStartStopType.SHUTDOWN &&
|
||||
drive.can_stop()) {
|
||||
drive.stop(0, mountOp.mountOp, null,
|
||||
Lang.bind(this, this._onStop));
|
||||
} else {
|
||||
if (mount.can_eject()) {
|
||||
mount.eject_with_operation(0, mountOp.mountOp, null,
|
||||
Lang.bind(this, this._onEject));
|
||||
} else if (volume && volume.can_eject()) {
|
||||
volume.eject_with_operation(0, mountOp.mountOp, null,
|
||||
Lang.bind(this, this._onEject));
|
||||
} else if (drive && drive.can_eject()) {
|
||||
drive.eject_with_operation(0, mountOp.mountOp, null,
|
||||
Lang.bind(this, this._onEject));
|
||||
} else if (mount.can_unmount()) {
|
||||
mount.unmount_with_operation(0, mountOp.mountOp, null,
|
||||
Lang.bind(this, this._onUnmount));
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
_onUnmount: function(mount, res) {
|
||||
try {
|
||||
mount.unmount_with_operation_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
log('Unable to eject the mount ' + mount.get_name()
|
||||
+ ': ' + e.toString());
|
||||
}
|
||||
},
|
||||
|
||||
_onEject: function(source, res) {
|
||||
try {
|
||||
source.eject_with_operation_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
log('Unable to eject the drive ' + source.get_name()
|
||||
+ ': ' + e.toString());
|
||||
}
|
||||
},
|
||||
|
||||
_onStop: function(drive, res) {
|
||||
try {
|
||||
drive.stop_finish(res);
|
||||
} catch (e) {
|
||||
if (!e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.FAILED_HANDLED))
|
||||
log('Unable to stop the drive ' + drive.get_name()
|
||||
+ ': ' + e.toString());
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
const AutorunResidentSource = new Lang.Class({
|
||||
Name: 'AutorunResidentSource',
|
||||
Extends: MessageTray.Source,
|
||||
|
||||
_init: function(manager) {
|
||||
this.parent(_("Removable Devices"), 'media-removable');
|
||||
this.resident = true;
|
||||
|
||||
this._mounts = [];
|
||||
|
||||
this._manager = manager;
|
||||
this._notification = new AutorunResidentNotification(this._manager, this);
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
return new MessageTray.NotificationPolicy({ showInLockScreen: false });
|
||||
},
|
||||
|
||||
buildRightClickMenu: function() {
|
||||
return null;
|
||||
},
|
||||
|
||||
addMount: function(mount, apps) {
|
||||
if (!shouldAutorunMount(mount, false))
|
||||
return;
|
||||
|
||||
let filtered = this._mounts.filter(function (element) {
|
||||
return (element.mount == mount);
|
||||
});
|
||||
|
||||
if (filtered.length != 0)
|
||||
return;
|
||||
|
||||
let element = { mount: mount, apps: apps };
|
||||
this._mounts.push(element);
|
||||
this._redisplay();
|
||||
},
|
||||
|
||||
removeMount: function(mount) {
|
||||
this._mounts =
|
||||
this._mounts.filter(function (element) {
|
||||
return (element.mount != mount);
|
||||
});
|
||||
|
||||
this._redisplay();
|
||||
},
|
||||
|
||||
_redisplay: function() {
|
||||
if (this._mounts.length == 0) {
|
||||
this._notification.destroy();
|
||||
this.destroy();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
this._notification.updateForMounts(this._mounts);
|
||||
|
||||
// add ourselves as a source, and push the notification
|
||||
if (!Main.messageTray.contains(this)) {
|
||||
Main.messageTray.add(this);
|
||||
this.pushNotification(this._notification);
|
||||
}
|
||||
this._dispatcher.removeMount(mount);
|
||||
}
|
||||
});
|
||||
|
||||
const AutorunResidentNotification = new Lang.Class({
|
||||
Name: 'AutorunResidentNotification',
|
||||
Extends: MessageTray.Notification,
|
||||
|
||||
_init: function(manager, source) {
|
||||
this.parent(source, source.title, null, { customContent: true });
|
||||
|
||||
// set the notification as resident
|
||||
this.setResident(true);
|
||||
|
||||
this._layout = new St.BoxLayout ({ style_class: 'hotplug-resident-box',
|
||||
vertical: true });
|
||||
this._manager = manager;
|
||||
|
||||
this.addActor(this._layout,
|
||||
{ x_expand: true,
|
||||
x_fill: true });
|
||||
},
|
||||
|
||||
updateForMounts: function(mounts) {
|
||||
// remove all the layout content
|
||||
this._layout.destroy_all_children();
|
||||
|
||||
for (let idx = 0; idx < mounts.length; idx++) {
|
||||
let element = mounts[idx];
|
||||
|
||||
let actor = this._itemForMount(element.mount, element.apps);
|
||||
this._layout.add(actor, { x_fill: true,
|
||||
expand: true });
|
||||
}
|
||||
},
|
||||
|
||||
_itemForMount: function(mount, apps) {
|
||||
let item = new St.BoxLayout();
|
||||
|
||||
// prepare the mount button content
|
||||
let mountLayout = new St.BoxLayout();
|
||||
|
||||
let mountIcon = new St.Icon({ gicon: mount.get_icon(),
|
||||
style_class: 'hotplug-resident-mount-icon' });
|
||||
mountLayout.add_actor(mountIcon);
|
||||
|
||||
let labelBin = new St.Bin({ y_align: St.Align.MIDDLE });
|
||||
let mountLabel =
|
||||
new St.Label({ text: mount.get_name(),
|
||||
style_class: 'hotplug-resident-mount-label',
|
||||
track_hover: true,
|
||||
reactive: true });
|
||||
labelBin.add_actor(mountLabel);
|
||||
mountLayout.add_actor(labelBin);
|
||||
|
||||
let mountButton = new St.Button({ child: mountLayout,
|
||||
x_align: St.Align.START,
|
||||
x_fill: true,
|
||||
style_class: 'hotplug-resident-mount',
|
||||
button_mask: St.ButtonMask.ONE });
|
||||
item.add(mountButton, { x_align: St.Align.START,
|
||||
expand: true });
|
||||
|
||||
let ejectIcon =
|
||||
new St.Icon({ icon_name: 'media-eject-symbolic',
|
||||
style_class: 'hotplug-resident-eject-icon' });
|
||||
|
||||
let ejectButton =
|
||||
new St.Button({ style_class: 'hotplug-resident-eject-button',
|
||||
button_mask: St.ButtonMask.ONE,
|
||||
child: ejectIcon });
|
||||
item.add(ejectButton, { x_align: St.Align.END });
|
||||
|
||||
// now connect signals
|
||||
mountButton.connect('clicked', Lang.bind(this, function(actor, event) {
|
||||
startAppForMount(apps[0], mount);
|
||||
}));
|
||||
|
||||
ejectButton.connect('clicked', Lang.bind(this, function() {
|
||||
this._manager.ejectMount(mount);
|
||||
}));
|
||||
|
||||
return item;
|
||||
},
|
||||
});
|
||||
|
||||
const AutorunTransientDispatcher = new Lang.Class({
|
||||
Name: 'AutorunTransientDispatcher',
|
||||
const AutorunDispatcher = new Lang.Class({
|
||||
Name: 'AutorunDispatcher',
|
||||
|
||||
_init: function(manager) {
|
||||
this._manager = manager;
|
||||
@ -482,7 +244,7 @@ const AutorunTransientDispatcher = new Lang.Class({
|
||||
return;
|
||||
|
||||
// add a new source
|
||||
this._sources.push(new AutorunTransientSource(this._manager, mount, apps));
|
||||
this._sources.push(new AutorunSource(this._manager, mount, apps));
|
||||
},
|
||||
|
||||
addMount: function(mount, apps, contentTypes) {
|
||||
@ -491,7 +253,7 @@ const AutorunTransientDispatcher = new Lang.Class({
|
||||
return;
|
||||
|
||||
// if the mount doesn't want to be autorun, return
|
||||
if (!shouldAutorunMount(mount, true))
|
||||
if (!shouldAutorunMount(mount))
|
||||
return;
|
||||
|
||||
let setting = this._getAutorunSettingForType(contentTypes[0]);
|
||||
@ -531,8 +293,8 @@ const AutorunTransientDispatcher = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const AutorunTransientSource = new Lang.Class({
|
||||
Name: 'AutorunTransientSource',
|
||||
const AutorunSource = new Lang.Class({
|
||||
Name: 'AutorunSource',
|
||||
Extends: MessageTray.Source,
|
||||
|
||||
_init: function(manager, mount, apps) {
|
||||
@ -542,7 +304,7 @@ const AutorunTransientSource = new Lang.Class({
|
||||
|
||||
this.parent(mount.get_name());
|
||||
|
||||
this._notification = new AutorunTransientNotification(this._manager, this);
|
||||
this._notification = new AutorunNotification(this._manager, this);
|
||||
|
||||
// add ourselves as a source, and popup the notification
|
||||
Main.messageTray.add(this);
|
||||
@ -554,34 +316,24 @@ const AutorunTransientSource = new Lang.Class({
|
||||
}
|
||||
});
|
||||
|
||||
const AutorunTransientNotification = new Lang.Class({
|
||||
Name: 'AutorunTransientNotification',
|
||||
const AutorunNotification = new Lang.Class({
|
||||
Name: 'AutorunNotification',
|
||||
Extends: MessageTray.Notification,
|
||||
|
||||
_init: function(manager, source) {
|
||||
this.parent(source, source.title, null, { customContent: true });
|
||||
this.parent(source, source.title);
|
||||
|
||||
this._manager = manager;
|
||||
this._box = new St.BoxLayout({ style_class: 'hotplug-transient-box',
|
||||
vertical: true });
|
||||
this.addActor(this._box);
|
||||
|
||||
this._mount = source.mount;
|
||||
|
||||
source.apps.forEach(Lang.bind(this, function (app) {
|
||||
let actor = this._buttonForApp(app);
|
||||
|
||||
if (actor)
|
||||
this._box.add(actor, { x_fill: true,
|
||||
x_align: St.Align.START });
|
||||
this.addButton(actor);
|
||||
}));
|
||||
|
||||
this._box.add(this._buttonForEject(), { x_fill: true,
|
||||
x_align: St.Align.START });
|
||||
|
||||
// set the notification to transient and urgent, so that it
|
||||
// expands out
|
||||
this.setTransient(true);
|
||||
// set the notification to urgent, so that it expands out
|
||||
this.setUrgency(MessageTray.Urgency.CRITICAL);
|
||||
},
|
||||
|
||||
@ -601,7 +353,7 @@ const AutorunTransientNotification = new Lang.Class({
|
||||
x_fill: true,
|
||||
x_align: St.Align.START,
|
||||
button_mask: St.ButtonMask.ONE,
|
||||
style_class: 'hotplug-notification-item' });
|
||||
style_class: 'hotplug-notification-item button' });
|
||||
|
||||
button.connect('clicked', Lang.bind(this, function() {
|
||||
startAppForMount(app, this._mount);
|
||||
@ -611,29 +363,11 @@ const AutorunTransientNotification = new Lang.Class({
|
||||
return button;
|
||||
},
|
||||
|
||||
_buttonForEject: function() {
|
||||
let box = new St.BoxLayout();
|
||||
let icon = new St.Icon({ icon_name: 'media-eject-symbolic',
|
||||
style_class: 'hotplug-notification-item-icon' });
|
||||
box.add(icon);
|
||||
_onClicked: function() {
|
||||
this.parent();
|
||||
|
||||
let label = new St.Bin({ y_align: St.Align.MIDDLE,
|
||||
child: new St.Label
|
||||
({ text: _("Eject") })
|
||||
});
|
||||
box.add(label);
|
||||
|
||||
let button = new St.Button({ child: box,
|
||||
x_fill: true,
|
||||
x_align: St.Align.START,
|
||||
button_mask: St.ButtonMask.ONE,
|
||||
style_class: 'hotplug-notification-item' });
|
||||
|
||||
button.connect('clicked', Lang.bind(this, function() {
|
||||
this._manager.ejectMount(this._mount);
|
||||
}));
|
||||
|
||||
return button;
|
||||
let app = Gio.app_info_get_default_for_type('inode/directory', false);
|
||||
startAppForMount(app, this._mount);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -41,7 +41,7 @@ const KeyringDialog = new Lang.Class({
|
||||
mainContentBox.add(this._messageBox,
|
||||
{ y_align: St.Align.START, expand: true, x_fill: true, y_fill: true });
|
||||
|
||||
let subject = new St.Label({ style_class: 'prompt-dialog-headline' });
|
||||
let subject = new St.Label({ style_class: 'prompt-dialog-headline headline' });
|
||||
this.prompt.bind_property('message', subject, 'text', GObject.BindingFlags.SYNC_CREATE);
|
||||
|
||||
this._messageBox.add(subject,
|
||||
|
@ -54,7 +54,7 @@ const NetworkSecretDialog = new Lang.Class({
|
||||
mainContentBox.add(messageBox,
|
||||
{ y_align: St.Align.START });
|
||||
|
||||
let subjectLabel = new St.Label({ style_class: 'prompt-dialog-headline',
|
||||
let subjectLabel = new St.Label({ style_class: 'prompt-dialog-headline headline',
|
||||
text: this._content.title });
|
||||
messageBox.add(subjectLabel,
|
||||
{ y_fill: false,
|
||||
|
@ -50,7 +50,7 @@ const AuthenticationDialog = new Lang.Class({
|
||||
mainContentBox.add(messageBox,
|
||||
{ expand: true, y_align: St.Align.START });
|
||||
|
||||
this._subjectLabel = new St.Label({ style_class: 'prompt-dialog-headline',
|
||||
this._subjectLabel = new St.Label({ style_class: 'prompt-dialog-headline headline',
|
||||
text: _("Authentication Required") });
|
||||
|
||||
messageBox.add(this._subjectLabel,
|
||||
|
@ -984,7 +984,7 @@ const ChatNotification = new Lang.Class({
|
||||
} else {
|
||||
// Show only the time if date is on today
|
||||
if(daysAgo < 1){
|
||||
/* Translators: Time in 24h format */
|
||||
/* Translators: Time in 12h format */
|
||||
format = N_("%l\u2236%M %p");
|
||||
}
|
||||
// Show the word "Yesterday" and time if date is on yesterday
|
||||
|
@ -100,7 +100,7 @@ const CtrlAltTabManager = new Lang.Class({
|
||||
if (app)
|
||||
icon = app.create_icon_texture(POPUP_APPICON_SIZE);
|
||||
else
|
||||
icon = textureCache.bind_pixbuf_property(windows[i], 'icon');
|
||||
icon = textureCache.bind_cairo_surface_property(windows[i], 'icon');
|
||||
}
|
||||
|
||||
items.push({ name: windows[i].title,
|
||||
|
@ -1,6 +1,7 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const GLib = imports.gi.GLib;
|
||||
const Signals = imports.signals;
|
||||
const Lang = imports.lang;
|
||||
@ -269,6 +270,9 @@ const ShowAppsIcon = new Lang.Class({
|
||||
if (app == null)
|
||||
return false;
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
return false;
|
||||
|
||||
let id = app.get_id();
|
||||
let isFavorite = AppFavorites.getAppFavorites().isFavorite(id);
|
||||
return isFavorite;
|
||||
@ -424,6 +428,8 @@ const Dash = new Lang.Class({
|
||||
|
||||
this._workId = Main.initializeDeferredWork(this._box, Lang.bind(this, this._redisplay));
|
||||
|
||||
this._settings = new Gio.Settings({ schema_id: 'org.gnome.shell' });
|
||||
|
||||
this._appSystem = Shell.AppSystem.get_default();
|
||||
|
||||
this._appSystem.connect('installed-changed', Lang.bind(this, function() {
|
||||
@ -529,14 +535,17 @@ const Dash = new Lang.Class({
|
||||
let appIcon = new AppDisplay.AppIcon(app,
|
||||
{ setSizeManually: true,
|
||||
showLabel: false });
|
||||
appIcon._draggable.connect('drag-begin',
|
||||
Lang.bind(this, function() {
|
||||
appIcon.actor.opacity = 50;
|
||||
}));
|
||||
appIcon._draggable.connect('drag-end',
|
||||
Lang.bind(this, function() {
|
||||
appIcon.actor.opacity = 255;
|
||||
}));
|
||||
if (appIcon._draggable) {
|
||||
appIcon._draggable.connect('drag-begin',
|
||||
Lang.bind(this, function() {
|
||||
appIcon.actor.opacity = 50;
|
||||
}));
|
||||
appIcon._draggable.connect('drag-end',
|
||||
Lang.bind(this, function() {
|
||||
appIcon.actor.opacity = 255;
|
||||
}));
|
||||
}
|
||||
|
||||
appIcon.connect('menu-state-changed',
|
||||
Lang.bind(this, function(appIcon, opened) {
|
||||
this._itemMenuStateChanged(item, opened);
|
||||
@ -850,6 +859,9 @@ const Dash = new Lang.Class({
|
||||
if (app == null || app.is_window_backed())
|
||||
return DND.DragMotionResult.NO_DROP;
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
return DND.DragMotionResult.NO_DROP;
|
||||
|
||||
let favorites = AppFavorites.getAppFavorites().getFavorites();
|
||||
let numFavorites = favorites.length;
|
||||
|
||||
@ -926,6 +938,9 @@ const Dash = new Lang.Class({
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!this._settings.is_writable('favorite-apps'))
|
||||
return false;
|
||||
|
||||
let id = app.get_id();
|
||||
|
||||
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
|
||||
|
@ -80,10 +80,6 @@ const DateMenuButton = new Lang.Class({
|
||||
|
||||
this._calendar.connect('selected-date-changed',
|
||||
Lang.bind(this, function(calendar, date) {
|
||||
// we know this._eventList is defined here, because selected-data-changed
|
||||
// only gets emitted when the user clicks a date in the calendar,
|
||||
// and the calender makes those dates unclickable when instantiated with
|
||||
// a null event source
|
||||
this._eventList.setDate(date);
|
||||
|
||||
// Make the button reactive only if the selected date is not the current date.
|
||||
|
@ -41,11 +41,11 @@ const CandidateArea = new Lang.Class({
|
||||
|
||||
this._buttonBox = new St.BoxLayout({ style_class: 'candidate-page-button-box' });
|
||||
|
||||
this._previousButton = new St.Button({ style_class: 'candidate-page-button candidate-page-button-previous' });
|
||||
this._previousButton = new St.Button({ style_class: 'candidate-page-button candidate-page-button-previous button' });
|
||||
this._previousButton.child = new St.Icon({ style_class: 'candidate-page-button-icon' });
|
||||
this._buttonBox.add(this._previousButton, { expand: true });
|
||||
|
||||
this._nextButton = new St.Button({ style_class: 'candidate-page-button candidate-page-button-next' });
|
||||
this._nextButton = new St.Button({ style_class: 'candidate-page-button candidate-page-button-next button' });
|
||||
this._nextButton.child = new St.Icon({ style_class: 'candidate-page-button-icon' });
|
||||
this._buttonBox.add(this._nextButton, { expand: true });
|
||||
|
||||
|
@ -973,46 +973,39 @@ const LayoutManager = new Lang.Class({
|
||||
let y1 = Math.max(y, 0);
|
||||
let y2 = Math.min(y + h, global.screen_height);
|
||||
|
||||
// NetWM struts are not really powerful enought to handle
|
||||
// a multi-monitor scenario, they only describe what happens
|
||||
// around the outer sides of the full display region. However
|
||||
// it can describe a partial region along each side, so
|
||||
// we can support having the struts only affect the
|
||||
// primary monitor. This should be enough as we only have
|
||||
// chrome affecting the struts on the primary monitor so
|
||||
// far.
|
||||
//
|
||||
// Metacity wants to know what side of the screen the
|
||||
// strut is considered to be attached to. If the actor is
|
||||
// Metacity wants to know what side of the monitor the
|
||||
// strut is considered to be attached to. First, we find
|
||||
// the monitor that contains the strut. If the actor is
|
||||
// only touching one edge, or is touching the entire
|
||||
// border of the primary monitor, then it's obvious which
|
||||
// side to call it. If it's in a corner, we pick a side
|
||||
// arbitrarily. If it doesn't touch any edges, or it spans
|
||||
// the width/height across the middle of the screen, then
|
||||
// we don't create a strut for it at all.
|
||||
// border of that monitor, then it's obvious which side
|
||||
// to call it. If it's in a corner, we pick a side
|
||||
// arbitrarily. If it doesn't touch any edges, or it
|
||||
// spans the width/height across the middle of the
|
||||
// screen, then we don't create a strut for it at all.
|
||||
|
||||
let monitor = this.findMonitorForActor(actorData.actor);
|
||||
let side;
|
||||
let primary = this.primaryMonitor;
|
||||
if (x1 <= primary.x && x2 >= primary.x + primary.width) {
|
||||
if (y1 <= primary.y)
|
||||
if (x1 <= monitor.x && x2 >= monitor.x + monitor.width) {
|
||||
if (y1 <= monitor.y)
|
||||
side = Meta.Side.TOP;
|
||||
else if (y2 >= primary.y + primary.height)
|
||||
else if (y2 >= monitor.y + monitor.height)
|
||||
side = Meta.Side.BOTTOM;
|
||||
else
|
||||
continue;
|
||||
} else if (y1 <= primary.y && y2 >= primary.y + primary.height) {
|
||||
if (x1 <= 0)
|
||||
} else if (y1 <= monitor.y && y2 >= monitor.y + monitor.height) {
|
||||
if (x1 <= monitor.x)
|
||||
side = Meta.Side.LEFT;
|
||||
else if (x2 >= primary.x + primary.width)
|
||||
else if (x2 >= monitor.x + monitor.width)
|
||||
side = Meta.Side.RIGHT;
|
||||
else
|
||||
continue;
|
||||
} else if (x1 <= 0)
|
||||
} else if (x1 <= monitor.x)
|
||||
side = Meta.Side.LEFT;
|
||||
else if (y1 <= 0)
|
||||
else if (y1 <= monitor.y)
|
||||
side = Meta.Side.TOP;
|
||||
else if (x2 >= global.screen_width)
|
||||
else if (x2 >= monitor.x + monitor.width)
|
||||
side = Meta.Side.RIGHT;
|
||||
else if (y2 >= global.screen_height)
|
||||
else if (y2 >= monitor.y + monitor.height)
|
||||
side = Meta.Side.BOTTOM;
|
||||
else
|
||||
continue;
|
||||
|
@ -1040,7 +1040,7 @@ const LookingGlass = new Lang.Class({
|
||||
let availableHeight = primary.height - Main.layoutManager.keyboardBox.height;
|
||||
let myHeight = Math.min(primary.height * 0.7, availableHeight * 0.9);
|
||||
this.actor.x = primary.x + (primary.width - myWidth) / 2;
|
||||
this._hiddenY = primary.y + Main.layoutManager.panelBox.height - myHeight - 4; // -4 to hide the top corners
|
||||
this._hiddenY = primary.y + Main.layoutManager.panelBox.height - myHeight;
|
||||
this._targetY = this._hiddenY + myHeight;
|
||||
this.actor.y = this._hiddenY;
|
||||
this.actor.width = myWidth;
|
||||
|
@ -21,6 +21,7 @@ const Keyboard = imports.ui.keyboard;
|
||||
const MessageTray = imports.ui.messageTray;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
const OsdWindow = imports.ui.osdWindow;
|
||||
const OsdMonitorLabeler = imports.ui.osdMonitorLabeler;
|
||||
const Overview = imports.ui.overview;
|
||||
const Panel = imports.ui.panel;
|
||||
const Params = imports.misc.params;
|
||||
@ -57,6 +58,7 @@ let notificationDaemon = null;
|
||||
let windowAttentionHandler = null;
|
||||
let ctrlAltTabManager = null;
|
||||
let osdWindowManager = null;
|
||||
let osdMonitorLabeler = null;
|
||||
let sessionMode = null;
|
||||
let shellDBusService = null;
|
||||
let shellMountOpDBusService = null;
|
||||
@ -150,6 +152,7 @@ function _initializeUI() {
|
||||
xdndHandler = new XdndHandler.XdndHandler();
|
||||
ctrlAltTabManager = new CtrlAltTab.CtrlAltTabManager();
|
||||
osdWindowManager = new OsdWindow.OsdWindowManager();
|
||||
osdMonitorLabeler = new OsdMonitorLabeler.OsdMonitorLabeler();
|
||||
overview = new Overview.Overview();
|
||||
wm = new WindowManager.WindowManager();
|
||||
magnifier = new Magnifier.Magnifier();
|
||||
@ -215,16 +218,10 @@ function _initializeUI() {
|
||||
if (screenShield) {
|
||||
screenShield.lockIfWasLocked();
|
||||
}
|
||||
if (LoginManager.haveSystemd() &&
|
||||
sessionMode.currentMode != 'gdm' &&
|
||||
if (sessionMode.currentMode != 'gdm' &&
|
||||
sessionMode.currentMode != 'initial-setup') {
|
||||
// Do not import globally to not depend
|
||||
// on systemd on non-systemd systems.
|
||||
let GSystem = imports.gi.GSystem;
|
||||
GSystem.log_structured_print('GNOME Shell started at ' + _startDate,
|
||||
['MESSAGE_ID=' + GNOMESHELL_STARTED_MESSAGE_ID]);
|
||||
} else {
|
||||
log('GNOME Shell started at ' + _startDate);
|
||||
Shell.Global.log_structured('GNOME Shell started at ' + _startDate,
|
||||
['MESSAGE_ID=' + GNOMESHELL_STARTED_MESSAGE_ID]);
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -656,7 +653,7 @@ const RestartMessage = new Lang.Class({
|
||||
|
||||
_init : function(message) {
|
||||
this.parent({ shellReactive: true,
|
||||
styleClass: 'restart-message',
|
||||
styleClass: 'restart-message headline',
|
||||
shouldFadeIn: false,
|
||||
destroyOnClose: true });
|
||||
|
||||
|
@ -494,7 +494,6 @@ const Notification = new Lang.Class({
|
||||
this.resident = false;
|
||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||
this.isTransient = false;
|
||||
this.isMusic = false;
|
||||
this.forFeedback = false;
|
||||
this.expanded = false;
|
||||
this.focused = false;
|
||||
@ -507,7 +506,6 @@ const Notification = new Lang.Class({
|
||||
this._titleFitsInBannerMode = true;
|
||||
this._spacing = 0;
|
||||
this._scrollPolicy = Gtk.PolicyType.AUTOMATIC;
|
||||
this._imageBin = null;
|
||||
this._soundName = null;
|
||||
this._soundFile = null;
|
||||
this._soundPlayed = false;
|
||||
@ -611,10 +609,7 @@ const Notification = new Lang.Class({
|
||||
this._actionArea = null;
|
||||
this._buttonBox = null;
|
||||
}
|
||||
if (params.clear)
|
||||
this.unsetImage();
|
||||
|
||||
if (!this._scrollArea && !this._actionArea && !this._imageBin)
|
||||
if (!this._scrollArea && !this._actionArea)
|
||||
this._table.remove_style_class_name('multi-line-notification');
|
||||
|
||||
if (params.gicon) {
|
||||
@ -791,45 +786,11 @@ const Notification = new Lang.Class({
|
||||
|
||||
_updateLastColumnSettings: function() {
|
||||
if (this._scrollArea)
|
||||
this._table.child_set(this._scrollArea, { col: this._imageBin ? 2 : 1,
|
||||
col_span: this._imageBin ? 1 : 2 });
|
||||
this._table.child_set(this._scrollArea, { col: 1,
|
||||
col_span: 2 });
|
||||
if (this._actionArea)
|
||||
this._table.child_set(this._actionArea, { col: this._imageBin ? 2 : 1,
|
||||
col_span: this._imageBin ? 1 : 2 });
|
||||
},
|
||||
|
||||
setImage: function(image) {
|
||||
this.unsetImage();
|
||||
|
||||
if (!image)
|
||||
return;
|
||||
|
||||
this._imageBin = new St.Bin({ opacity: 230,
|
||||
child: image,
|
||||
visible: this.expanded });
|
||||
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
this._table.add_style_class_name('notification-with-image');
|
||||
this._addBannerBody();
|
||||
this._updateLastColumnSettings();
|
||||
this._table.add(this._imageBin, { row: 1,
|
||||
col: 1,
|
||||
row_span: 2,
|
||||
x_expand: false,
|
||||
y_expand: false,
|
||||
x_fill: false,
|
||||
y_fill: false });
|
||||
},
|
||||
|
||||
unsetImage: function() {
|
||||
if (this._imageBin) {
|
||||
this._table.remove_style_class_name('notification-with-image');
|
||||
this._table.remove_actor(this._imageBin);
|
||||
this._imageBin = null;
|
||||
this._updateLastColumnSettings();
|
||||
if (!this._scrollArea && !this._actionArea)
|
||||
this._table.remove_style_class_name('multi-line-notification');
|
||||
}
|
||||
this._table.child_set(this._actionArea, { col: 1,
|
||||
col_span: 2 });
|
||||
},
|
||||
|
||||
addButton: function(button, callback) {
|
||||
@ -1061,8 +1022,6 @@ const Notification = new Lang.Class({
|
||||
this.actor.remove_style_class_name('notification-unexpanded');
|
||||
|
||||
// Show additional content that we keep hidden in banner mode
|
||||
if (this._imageBin)
|
||||
this._imageBin.show();
|
||||
if (this._actionArea)
|
||||
this._actionArea.show();
|
||||
if (this._scrollArea)
|
||||
@ -1101,8 +1060,6 @@ const Notification = new Lang.Class({
|
||||
this.expanded = false;
|
||||
|
||||
// Hide additional content that we keep hidden in banner mode
|
||||
if (this._imageBin)
|
||||
this._imageBin.hide();
|
||||
if (this._actionArea)
|
||||
this._actionArea.hide();
|
||||
if (this._scrollArea)
|
||||
@ -1313,7 +1270,7 @@ const Source = new Lang.Class({
|
||||
},
|
||||
|
||||
get isClearable() {
|
||||
return !this.trayIcon && !this.isChat && !this.resident;
|
||||
return !this.isChat && !this.resident;
|
||||
},
|
||||
|
||||
countUpdated: function() {
|
||||
@ -1468,16 +1425,7 @@ const Source = new Lang.Class({
|
||||
// Default implementation is to destroy this source, but subclasses can override
|
||||
_lastNotificationRemoved: function() {
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
getMusicNotification: function() {
|
||||
for (let i = 0; i < this.notifications.length; i++) {
|
||||
if (this.notifications[i].isMusic)
|
||||
return this.notifications[i];
|
||||
}
|
||||
|
||||
return null;
|
||||
},
|
||||
}
|
||||
});
|
||||
Signals.addSignalMethods(Source.prototype);
|
||||
|
||||
|
@ -170,7 +170,7 @@ const ModalDialog = new Lang.Class({
|
||||
else
|
||||
keys = [];
|
||||
|
||||
let button = new St.Button({ style_class: 'modal-dialog-button',
|
||||
let button = new St.Button({ style_class: 'modal-dialog-button button',
|
||||
button_mask: St.ButtonMask.ONE | St.ButtonMask.THREE,
|
||||
reactive: true,
|
||||
can_focus: true,
|
||||
|
@ -91,21 +91,6 @@ const rewriteRules = {
|
||||
]
|
||||
};
|
||||
|
||||
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
||||
'bluetooth-applet': 'bluetooth',
|
||||
'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet
|
||||
// when moved to control center
|
||||
'gnome-sound-applet': 'volume',
|
||||
'nm-applet': 'network',
|
||||
'gnome-power-manager': 'battery',
|
||||
'keyboard': 'keyboard',
|
||||
'a11y-keyboard': 'a11y',
|
||||
'kbd-scrolllock': 'keyboard',
|
||||
'kbd-numlock': 'keyboard',
|
||||
'kbd-capslock': 'keyboard',
|
||||
'ibus-ui-gtk': 'keyboard'
|
||||
};
|
||||
|
||||
const FdoNotificationDaemon = new Lang.Class({
|
||||
Name: 'FdoNotificationDaemon',
|
||||
|
||||
@ -120,13 +105,10 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
|
||||
this._nextNotificationId = 1;
|
||||
|
||||
Shell.WindowTracker.get_default().connect('notify::focus-app', Lang.bind(this, this._onFocusAppChanged));
|
||||
Main.overview.connect('hidden', Lang.bind(this, this._onFocusAppChanged));
|
||||
|
||||
this._trayManager = new Shell.TrayManager();
|
||||
this._trayIconAddedId = this._trayManager.connect('tray-icon-added', Lang.bind(this, this._onTrayIconAdded));
|
||||
this._trayIconRemovedId = this._trayManager.connect('tray-icon-removed', Lang.bind(this, this._onTrayIconRemoved));
|
||||
this._trayManager.manage_screen(global.screen, Main.messageTray.actor);
|
||||
Shell.WindowTracker.get_default().connect('notify::focus-app',
|
||||
Lang.bind(this, this._onFocusAppChanged));
|
||||
Main.overview.connect('hidden',
|
||||
Lang.bind(this, this._onFocusAppChanged));
|
||||
},
|
||||
|
||||
_imageForNotificationData: function(hints) {
|
||||
@ -167,11 +149,10 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
return null;
|
||||
},
|
||||
|
||||
_lookupSource: function(title, pid, trayIcon) {
|
||||
_lookupSource: function(title, pid) {
|
||||
for (let i = 0; i < this._sources.length; i++) {
|
||||
let source = this._sources[i];
|
||||
if (source.pid == pid &&
|
||||
(source.initialTitle == title || source.trayIcon || trayIcon))
|
||||
if (source.pid == pid && source.initialTitle == title)
|
||||
return source;
|
||||
}
|
||||
return null;
|
||||
@ -188,7 +169,7 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
//
|
||||
// Either a pid or ndata.notification is needed to retrieve or
|
||||
// create a source.
|
||||
_getSource: function(title, pid, ndata, sender, trayIcon) {
|
||||
_getSource: function(title, pid, ndata, sender) {
|
||||
if (!pid && !(ndata && ndata.notification))
|
||||
return null;
|
||||
|
||||
@ -199,13 +180,13 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
if (ndata && ndata.notification)
|
||||
return ndata.notification.source;
|
||||
|
||||
let source = this._lookupSource(title, pid, trayIcon);
|
||||
let source = this._lookupSource(title, pid);
|
||||
if (source) {
|
||||
source.setTitle(title);
|
||||
return source;
|
||||
}
|
||||
|
||||
let source = new FdoNotificationDaemonSource(title, pid, sender, trayIcon, ndata ? ndata.hints['desktop-entry'] : null);
|
||||
let source = new FdoNotificationDaemonSource(title, pid, sender, ndata ? ndata.hints['desktop-entry'] : null);
|
||||
|
||||
this._sources.push(source);
|
||||
source.connect('destroy', Lang.bind(this, function() {
|
||||
@ -330,19 +311,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
return invocation.return_value(GLib.Variant.new('(u)', [id]));
|
||||
},
|
||||
|
||||
_makeButton: function(id, label, useActionIcons) {
|
||||
let button = new St.Button({ can_focus: true });
|
||||
let iconName = id.endsWith('-symbolic') ? id : id + '-symbolic';
|
||||
if (useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
|
||||
button.add_style_class_name('notification-icon-button');
|
||||
button.child = new St.Icon({ icon_name: iconName });
|
||||
} else {
|
||||
button.add_style_class_name('notification-button');
|
||||
button.label = label;
|
||||
}
|
||||
return button;
|
||||
},
|
||||
|
||||
_notifyForSource: function(source, ndata) {
|
||||
let [id, icon, summary, body, actions, hints, notification] =
|
||||
[ndata.id, ndata.icon, ndata.summary, ndata.body,
|
||||
@ -370,26 +338,17 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
}));
|
||||
}
|
||||
|
||||
// Mark music notifications so they can be shown in the screen shield
|
||||
notification.isMusic = (ndata.hints['category'] == 'x-gnome.music');
|
||||
|
||||
let gicon = this._iconForNotificationData(icon, hints);
|
||||
let gimage = this._imageForNotificationData(hints);
|
||||
|
||||
let image = null;
|
||||
|
||||
// If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
|
||||
// and don't show a large image. There are currently many applications that use
|
||||
// notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
|
||||
// the 'image-data' hint. These applications don't typically pass in 'app_icon'
|
||||
// argument to Notify() and actually expect the pixbuf to be shown as an icon.
|
||||
// So the logic here does the right thing for this case. If both an icon and either
|
||||
// one of 'image-data' or 'image-path' are specified, we show both an icon and
|
||||
// a large image.
|
||||
if (gicon && gimage)
|
||||
image = new St.Icon({ gicon: gimage,
|
||||
icon_size: notification.IMAGE_SIZE });
|
||||
else if (!gicon && gimage)
|
||||
// one of 'image-data' or 'image-path' are specified, the icon and takes precedence.
|
||||
if (!gicon && gimage)
|
||||
gicon = gimage;
|
||||
else if (!gicon)
|
||||
gicon = this._fallbackIconForNotificationData(hints);
|
||||
@ -399,22 +358,18 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
clear: true,
|
||||
soundFile: hints['sound-file'],
|
||||
soundName: hints['sound-name'] });
|
||||
notification.setImage(image);
|
||||
|
||||
let hasDefaultAction = false;
|
||||
|
||||
if (actions.length) {
|
||||
let useActionIcons = (hints['action-icons'] == true);
|
||||
|
||||
for (let i = 0; i < actions.length - 1; i += 2) {
|
||||
let [actionId, label] = [actions[i], actions[i+1]];
|
||||
if (actionId == 'default') {
|
||||
if (actionId == 'default')
|
||||
hasDefaultAction = true;
|
||||
} else {
|
||||
notification.addButton(this._makeButton(actionId, label, useActionIcons), Lang.bind(this, function() {
|
||||
else
|
||||
notification.addAction(label, Lang.bind(this, function() {
|
||||
this._emitActionInvoked(ndata.id, actionId);
|
||||
}));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -460,7 +415,7 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
GetCapabilities: function() {
|
||||
return [
|
||||
'actions',
|
||||
'action-icons',
|
||||
// 'action-icons',
|
||||
'body',
|
||||
// 'body-hyperlinks',
|
||||
// 'body-images',
|
||||
@ -503,20 +458,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
||||
_emitActionInvoked: function(id, action) {
|
||||
this._dbusImpl.emit_signal('ActionInvoked',
|
||||
GLib.Variant.new('(us)', [id, action]));
|
||||
},
|
||||
|
||||
_onTrayIconAdded: function(o, icon) {
|
||||
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
|
||||
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass] !== undefined)
|
||||
return;
|
||||
|
||||
let source = this._getSource(icon.title || icon.wm_class || C_("program", "Unknown"), icon.pid, null, null, icon);
|
||||
},
|
||||
|
||||
_onTrayIconRemoved: function(o, icon) {
|
||||
let source = this._lookupSource(null, icon.pid, true);
|
||||
if (source)
|
||||
source.destroy();
|
||||
}
|
||||
});
|
||||
|
||||
@ -524,10 +465,9 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
Name: 'FdoNotificationDaemonSource',
|
||||
Extends: MessageTray.Source,
|
||||
|
||||
_init: function(title, pid, sender, trayIcon, appId) {
|
||||
_init: function(title, pid, sender, appId) {
|
||||
// Need to set the app before chaining up, so
|
||||
// methods called from the parent constructor can find it
|
||||
this.trayIcon = trayIcon;
|
||||
this.pid = pid;
|
||||
this.app = this._getApp(appId);
|
||||
|
||||
@ -547,12 +487,6 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
Lang.bind(this, this._onNameVanished));
|
||||
else
|
||||
this._nameWatcherId = 0;
|
||||
|
||||
if (this.trayIcon) {
|
||||
// Try again finding the app, using the WM_CLASS from the tray icon
|
||||
this._setSummaryIcon(this.trayIcon);
|
||||
this.useNotificationIcon = false;
|
||||
}
|
||||
},
|
||||
|
||||
_createPolicy: function() {
|
||||
@ -570,15 +504,14 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
// of which аre removed from DBus immediately.
|
||||
// Sender being removed from DBus would normally result in a tray icon being removed,
|
||||
// so allow the code path that handles the tray icon being removed to handle that case.
|
||||
if (!this.trayIcon && this.app)
|
||||
if (this.app)
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
processNotification: function(notification, gicon) {
|
||||
if (gicon)
|
||||
this._gicon = gicon;
|
||||
if (!this.trayIcon)
|
||||
this.iconUpdated();
|
||||
this.iconUpdated();
|
||||
|
||||
let tracker = Shell.WindowTracker.get_default();
|
||||
if (notification.resident && this.app && tracker.focus_app == this.app)
|
||||
@ -587,29 +520,6 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
this.notify(notification);
|
||||
},
|
||||
|
||||
handleSummaryClick: function(button) {
|
||||
if (!this.trayIcon)
|
||||
return false;
|
||||
|
||||
let event = Clutter.get_current_event();
|
||||
|
||||
// Left clicks are passed through only where there aren't unacknowledged
|
||||
// notifications, so it possible to open them in summary mode; right
|
||||
// clicks are always forwarded, as the right click menu is not useful for
|
||||
// tray icons
|
||||
if (button == 1 &&
|
||||
this.notifications.length > 0)
|
||||
return false;
|
||||
|
||||
let id = global.stage.connect('deactivate', Lang.bind(this, function () {
|
||||
global.stage.disconnect(id);
|
||||
this.trayIcon.click(event);
|
||||
}));
|
||||
|
||||
Main.overview.hide();
|
||||
return true;
|
||||
},
|
||||
|
||||
_getApp: function(appId) {
|
||||
let app;
|
||||
|
||||
@ -617,16 +527,6 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
if (app != null)
|
||||
return app;
|
||||
|
||||
if (this.trayIcon) {
|
||||
app = Shell.AppSystem.get_default().lookup_startup_wmclass(this.trayIcon.wm_class);
|
||||
if (app != null)
|
||||
return app;
|
||||
|
||||
app = Shell.AppSystem.get_default().lookup_desktop_wmclass(this.trayIcon.wm_class);
|
||||
if (app != null)
|
||||
return app;
|
||||
}
|
||||
|
||||
if (appId) {
|
||||
app = Shell.AppSystem.get_default().lookup_app(appId + '.desktop');
|
||||
if (app != null)
|
||||
@ -652,8 +552,7 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
},
|
||||
|
||||
_lastNotificationRemoved: function() {
|
||||
if (!this.trayIcon)
|
||||
this.destroy();
|
||||
this.destroy();
|
||||
},
|
||||
|
||||
openApp: function() {
|
||||
@ -674,11 +573,7 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
||||
},
|
||||
|
||||
createIcon: function(size) {
|
||||
if (this.trayIcon) {
|
||||
return new Clutter.Clone({ width: size,
|
||||
height: size,
|
||||
source: this.trayIcon });
|
||||
} else if (this.app) {
|
||||
if (this.app) {
|
||||
return this.app.create_icon_texture(size);
|
||||
} else if (this._gicon) {
|
||||
return new St.Icon({ gicon: this._gicon,
|
||||
|
141
js/ui/osdMonitorLabeler.js
Normal file
@ -0,0 +1,141 @@
|
||||
// -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
|
||||
|
||||
const Clutter = imports.gi.Clutter;
|
||||
const Gio = imports.gi.Gio;
|
||||
const St = imports.gi.St;
|
||||
|
||||
const Lang = imports.lang;
|
||||
const Main = imports.ui.main;
|
||||
const Tweener = imports.ui.tweener;
|
||||
const Meta = imports.gi.Meta;
|
||||
|
||||
const FADE_TIME = 0.1;
|
||||
|
||||
const OsdMonitorLabel = new Lang.Class({
|
||||
Name: 'OsdMonitorLabel',
|
||||
|
||||
_init: function(monitor, label) {
|
||||
this._actor = new St.Widget({ opacity: 0,
|
||||
x_expand: true,
|
||||
y_expand: true });
|
||||
|
||||
this._monitor = monitor;
|
||||
|
||||
this._box = new St.BoxLayout({ style_class: 'osd-window',
|
||||
vertical: true });
|
||||
this._actor.add_actor(this._box);
|
||||
|
||||
this._label = new St.Label({ style_class: 'osd-monitor-label',
|
||||
text: label });
|
||||
this._box.add(this._label);
|
||||
|
||||
Main.uiGroup.add_child(this._actor);
|
||||
Main.uiGroup.set_child_above_sibling(this._actor, null);
|
||||
this._position();
|
||||
|
||||
Meta.disable_unredirect_for_screen(global.screen);
|
||||
Tweener.addTween(this._actor,
|
||||
{ opacity: 255,
|
||||
time: FADE_TIME,
|
||||
transition: 'easeOutQuad' });
|
||||
},
|
||||
|
||||
_position: function() {
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(this._monitor);
|
||||
|
||||
if (Clutter.get_default_text_direction() == Clutter.TextDirection.RTL)
|
||||
this._box.x = workArea.x + (workArea.width - this._box.width);
|
||||
else
|
||||
this._box.x = workArea.x;
|
||||
|
||||
this._box.y = workArea.y;
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
Tweener.addTween(this._actor,
|
||||
{ opacity: 0,
|
||||
time: FADE_TIME,
|
||||
transition: 'easeOutQuad',
|
||||
onComplete: Lang.bind(this, function() {
|
||||
this._actor.destroy();
|
||||
Meta.enable_unredirect_for_screen(global.screen);
|
||||
})
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
const OsdMonitorLabeler = new Lang.Class({
|
||||
Name: 'OsdMonitorLabeler',
|
||||
|
||||
_init: function() {
|
||||
this._monitorManager = Meta.MonitorManager.get();
|
||||
this._client = null;
|
||||
this._clientWatchId = 0;
|
||||
this._osdLabels = [];
|
||||
this._monitorLabels = null;
|
||||
Main.layoutManager.connect('monitors-changed',
|
||||
Lang.bind(this, this._reset));
|
||||
this._reset();
|
||||
},
|
||||
|
||||
_reset: function() {
|
||||
for (let i in this._osdLabels)
|
||||
this._osdLabels[i].destroy();
|
||||
this._osdLabels = [];
|
||||
this._monitorLabels = new Map();
|
||||
let monitors = Main.layoutManager.monitors;
|
||||
for (let i in monitors)
|
||||
this._monitorLabels.set(monitors[i].index, []);
|
||||
},
|
||||
|
||||
_trackClient: function(client) {
|
||||
if (this._client)
|
||||
return (this._client == client);
|
||||
|
||||
this._client = client;
|
||||
this._clientWatchId = Gio.bus_watch_name(Gio.BusType.SESSION, client, 0, null,
|
||||
Lang.bind(this, function(c, name) {
|
||||
this.hide(name);
|
||||
}));
|
||||
return true;
|
||||
},
|
||||
|
||||
_untrackClient: function(client) {
|
||||
if (!this._client || this._client != client)
|
||||
return false;
|
||||
|
||||
Gio.bus_unwatch_name(this._clientWatchId);
|
||||
this._clientWatchId = 0;
|
||||
this._client = null;
|
||||
return true;
|
||||
},
|
||||
|
||||
show: function(client, params) {
|
||||
if (!this._trackClient(client))
|
||||
return;
|
||||
|
||||
this._reset();
|
||||
|
||||
for (let id in params) {
|
||||
let monitor = this._monitorManager.get_monitor_for_output(id);
|
||||
if (monitor == -1)
|
||||
continue;
|
||||
this._monitorLabels.get(monitor).push(params[id].deep_unpack());
|
||||
}
|
||||
|
||||
// In mirrored display setups, more than one physical outputs
|
||||
// might be showing the same logical monitor. In that case, we
|
||||
// join each output's labels on the same OSD widget.
|
||||
for (let [monitor, labels] of this._monitorLabels.entries()) {
|
||||
labels.sort();
|
||||
this._osdLabels.push(new OsdMonitorLabel(monitor, labels.join(' ')));
|
||||
}
|
||||
},
|
||||
|
||||
hide: function(client) {
|
||||
if (!this._untrackClient(client))
|
||||
return;
|
||||
|
||||
this._reset();
|
||||
}
|
||||
});
|
@ -457,9 +457,6 @@ const MessagesIndicator = new Lang.Class({
|
||||
},
|
||||
|
||||
_onSourceAdded: function(tray, source) {
|
||||
if (source.trayIcon)
|
||||
return;
|
||||
|
||||
source.connect('count-updated', Lang.bind(this, this._updateCount));
|
||||
this._sources.push(source);
|
||||
this._updateCount();
|
||||
|
188
js/ui/panel.js
@ -26,6 +26,7 @@ const Main = imports.ui.main;
|
||||
const Tweener = imports.ui.tweener;
|
||||
|
||||
const PANEL_ICON_SIZE = 24;
|
||||
const APP_MENU_ICON_MARGIN = 2;
|
||||
|
||||
const BUTTON_DND_ACTIVATION_TIMEOUT = 250;
|
||||
|
||||
@ -74,90 +75,6 @@ function _unpremultiply(color) {
|
||||
blue: blue, alpha: color.alpha });
|
||||
};
|
||||
|
||||
const TextShadower = new Lang.Class({
|
||||
Name: 'TextShadower',
|
||||
|
||||
_init: function() {
|
||||
this.actor = new Shell.GenericContainer();
|
||||
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
|
||||
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
|
||||
this.actor.connect('allocate', Lang.bind(this, this._allocate));
|
||||
|
||||
this._label = new St.Label();
|
||||
this.actor.add_actor(this._label);
|
||||
for (let i = 0; i < 4; i++) {
|
||||
let actor = new St.Label({ style_class: 'label-shadow' });
|
||||
actor.clutter_text.ellipsize = Pango.EllipsizeMode.END;
|
||||
this.actor.add_actor(actor);
|
||||
}
|
||||
this._label.raise_top();
|
||||
},
|
||||
|
||||
setText: function(text) {
|
||||
let children = this.actor.get_children();
|
||||
for (let i = 0; i < children.length; i++)
|
||||
children[i].set_text(text);
|
||||
},
|
||||
|
||||
_getPreferredWidth: function(actor, forHeight, alloc) {
|
||||
let [minWidth, natWidth] = this._label.get_preferred_width(forHeight);
|
||||
alloc.min_size = minWidth + 2;
|
||||
alloc.natural_size = natWidth + 2;
|
||||
},
|
||||
|
||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||
let [minHeight, natHeight] = this._label.get_preferred_height(forWidth);
|
||||
alloc.min_size = minHeight + 2;
|
||||
alloc.natural_size = natHeight + 2;
|
||||
},
|
||||
|
||||
_allocate: function(actor, box, flags) {
|
||||
let children = this.actor.get_children();
|
||||
|
||||
let availWidth = box.x2 - box.x1;
|
||||
let availHeight = box.y2 - box.y1;
|
||||
|
||||
let [minChildWidth, minChildHeight, natChildWidth, natChildHeight] =
|
||||
this._label.get_preferred_size();
|
||||
|
||||
let childWidth = Math.min(natChildWidth, availWidth - 2);
|
||||
let childHeight = Math.min(natChildHeight, availHeight - 2);
|
||||
|
||||
for (let i = 0; i < children.length; i++) {
|
||||
let child = children[i];
|
||||
let childBox = new Clutter.ActorBox();
|
||||
// The order of the labels here is arbitrary, except
|
||||
// we know the "real" label is at the end because Clutter.Actor
|
||||
// sorts by Z order
|
||||
switch (i) {
|
||||
case 0: // top
|
||||
childBox.x1 = 1;
|
||||
childBox.y1 = 0;
|
||||
break;
|
||||
case 1: // right
|
||||
childBox.x1 = 2;
|
||||
childBox.y1 = 1;
|
||||
break;
|
||||
case 2: // bottom
|
||||
childBox.x1 = 1;
|
||||
childBox.y1 = 2;
|
||||
break;
|
||||
case 3: // left
|
||||
childBox.x1 = 0;
|
||||
childBox.y1 = 1;
|
||||
break;
|
||||
case 4: // center
|
||||
childBox.x1 = 1;
|
||||
childBox.y1 = 1;
|
||||
break;
|
||||
}
|
||||
childBox.x2 = childBox.x1 + childWidth;
|
||||
childBox.y2 = childBox.y1 + childHeight;
|
||||
child.allocate(childBox, flags);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* AppMenuButton:
|
||||
*
|
||||
@ -190,33 +107,20 @@ const AppMenuButton = new Lang.Class({
|
||||
this.actor.bind_property("reactive", this.actor, "can-focus", 0);
|
||||
this.actor.reactive = false;
|
||||
|
||||
this._container = new Shell.GenericContainer();
|
||||
this._container = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
bin.set_child(this._container);
|
||||
this._container.connect('get-preferred-width', Lang.bind(this, this._getContentPreferredWidth));
|
||||
this._container.connect('get-preferred-height', Lang.bind(this, this._getContentPreferredHeight));
|
||||
this._container.connect('allocate', Lang.bind(this, this._contentAllocate));
|
||||
|
||||
let textureCache = St.TextureCache.get_default();
|
||||
textureCache.connect('icon-theme-changed',
|
||||
Lang.bind(this, this._onIconThemeChanged));
|
||||
|
||||
this._iconBox = new Shell.Slicer({ name: 'appMenuIcon' });
|
||||
this._iconBox.connect('style-changed',
|
||||
Lang.bind(this, this._onIconBoxStyleChanged));
|
||||
this._iconBox.connect('notify::allocation',
|
||||
Lang.bind(this, this._updateIconBoxClip));
|
||||
this._iconBox = new St.Bin({ style_class: 'app-menu-icon' });
|
||||
this._container.add_actor(this._iconBox);
|
||||
|
||||
this._hbox = new St.BoxLayout({ style_class: 'panel-status-menu-box' });
|
||||
this._container.add_actor(this._hbox);
|
||||
|
||||
this._label = new TextShadower();
|
||||
this._label.actor.y_align = Clutter.ActorAlign.CENTER;
|
||||
this._hbox.add_actor(this._label.actor);
|
||||
this._label = new St.Label();
|
||||
this._container.add_actor(this._label);
|
||||
this._arrow = PopupMenu.arrowIcon(St.Side.BOTTOM);
|
||||
this._hbox.add_actor(this._arrow);
|
||||
|
||||
this._iconBottomClip = 0;
|
||||
this._container.add_actor(this._arrow);
|
||||
|
||||
this._visible = !Main.overview.visible;
|
||||
if (!this._visible)
|
||||
@ -278,21 +182,15 @@ const AppMenuButton = new Lang.Class({
|
||||
return;
|
||||
this._spinnerIcon = icon;
|
||||
this._spinner = new Animation.AnimatedIcon(this._spinnerIcon, PANEL_ICON_SIZE);
|
||||
this._hbox.add_actor(this._spinner.actor);
|
||||
this._container.add_actor(this._spinner.actor);
|
||||
this._spinner.actor.hide();
|
||||
},
|
||||
|
||||
_onIconBoxStyleChanged: function() {
|
||||
let node = this._iconBox.get_theme_node();
|
||||
this._iconBottomClip = node.get_length('app-icon-bottom-clip');
|
||||
this._updateIconBoxClip();
|
||||
},
|
||||
|
||||
_syncIcon: function() {
|
||||
if (!this._targetApp)
|
||||
return;
|
||||
|
||||
let icon = this._targetApp.get_faded_icon(2 * PANEL_ICON_SIZE, this._iconBox.text_direction);
|
||||
let icon = this._targetApp.create_icon_texture(PANEL_ICON_SIZE - APP_MENU_ICON_MARGIN);
|
||||
this._iconBox.set_child(icon);
|
||||
},
|
||||
|
||||
@ -303,16 +201,6 @@ const AppMenuButton = new Lang.Class({
|
||||
this._syncIcon();
|
||||
},
|
||||
|
||||
_updateIconBoxClip: function() {
|
||||
let allocation = this._iconBox.allocation;
|
||||
if (this._iconBottomClip > 0)
|
||||
this._iconBox.set_clip(0, 0,
|
||||
allocation.x2 - allocation.x1,
|
||||
allocation.y2 - allocation.y1 - this._iconBottomClip);
|
||||
else
|
||||
this._iconBox.remove_clip();
|
||||
},
|
||||
|
||||
stopAnimation: function() {
|
||||
if (this._stop)
|
||||
return;
|
||||
@ -345,64 +233,6 @@ const AppMenuButton = new Lang.Class({
|
||||
this._spinner.actor.show();
|
||||
},
|
||||
|
||||
_getContentPreferredWidth: function(actor, forHeight, alloc) {
|
||||
let [minSize, naturalSize] = this._iconBox.get_preferred_width(forHeight);
|
||||
alloc.min_size = minSize;
|
||||
alloc.natural_size = naturalSize;
|
||||
[minSize, naturalSize] = this._hbox.get_preferred_width(forHeight);
|
||||
alloc.min_size = alloc.min_size + Math.max(0, minSize - Math.floor(alloc.min_size / 2));
|
||||
alloc.natural_size = alloc.natural_size + Math.max(0, naturalSize - Math.floor(alloc.natural_size / 2));
|
||||
},
|
||||
|
||||
_getContentPreferredHeight: function(actor, forWidth, alloc) {
|
||||
let [minSize, naturalSize] = this._iconBox.get_preferred_height(forWidth);
|
||||
alloc.min_size = minSize;
|
||||
alloc.natural_size = naturalSize;
|
||||
[minSize, naturalSize] = this._hbox.get_preferred_height(forWidth);
|
||||
if (minSize > alloc.min_size)
|
||||
alloc.min_size = minSize;
|
||||
if (naturalSize > alloc.natural_size)
|
||||
alloc.natural_size = naturalSize;
|
||||
},
|
||||
|
||||
_contentAllocate: function(actor, box, flags) {
|
||||
let allocWidth = box.x2 - box.x1;
|
||||
let allocHeight = box.y2 - box.y1;
|
||||
let childBox = new Clutter.ActorBox();
|
||||
|
||||
let [minWidth, minHeight, naturalWidth, naturalHeight] = this._iconBox.get_preferred_size();
|
||||
|
||||
let direction = this.actor.get_text_direction();
|
||||
|
||||
let yPadding = Math.floor(Math.max(0, allocHeight - naturalHeight) / 2);
|
||||
childBox.y1 = yPadding;
|
||||
childBox.y2 = childBox.y1 + Math.min(naturalHeight, allocHeight);
|
||||
if (direction == Clutter.TextDirection.LTR) {
|
||||
childBox.x1 = 0;
|
||||
childBox.x2 = childBox.x1 + Math.min(naturalWidth, allocWidth);
|
||||
} else {
|
||||
childBox.x1 = Math.max(0, allocWidth - naturalWidth);
|
||||
childBox.x2 = allocWidth;
|
||||
}
|
||||
this._iconBox.allocate(childBox, flags);
|
||||
|
||||
let iconWidth = childBox.x2 - childBox.x1;
|
||||
|
||||
[minWidth, naturalWidth] = this._hbox.get_preferred_width(-1);
|
||||
|
||||
childBox.y1 = 0;
|
||||
childBox.y2 = allocHeight;
|
||||
|
||||
if (direction == Clutter.TextDirection.LTR) {
|
||||
childBox.x1 = Math.floor(iconWidth / 2);
|
||||
childBox.x2 = Math.min(childBox.x1 + naturalWidth, allocWidth);
|
||||
} else {
|
||||
childBox.x2 = allocWidth - Math.floor(iconWidth / 2);
|
||||
childBox.x1 = Math.max(0, childBox.x2 - naturalWidth);
|
||||
}
|
||||
this._hbox.allocate(childBox, flags);
|
||||
},
|
||||
|
||||
_onAppStateChanged: function(appSys, app) {
|
||||
let state = app.state;
|
||||
if (state != Shell.AppState.STARTING) {
|
||||
@ -469,7 +299,7 @@ const AppMenuButton = new Lang.Class({
|
||||
this._appMenuNotifyId = this._targetApp.connect('notify::menu', Lang.bind(this, this._sync));
|
||||
this._actionGroupNotifyId = this._targetApp.connect('notify::action-group', Lang.bind(this, this._sync));
|
||||
this._busyNotifyId = this._targetApp.connect('notify::busy', Lang.bind(this, this._sync));
|
||||
this._label.setText(this._targetApp.get_name());
|
||||
this._label.set_text(this._targetApp.get_name());
|
||||
this.actor.set_accessible_name(this._targetApp.get_name());
|
||||
}
|
||||
}
|
||||
|
@ -173,7 +173,8 @@ const Button = new Lang.Class({
|
||||
// menu is higher then the screen; it's useful if part of the menu is
|
||||
// scrollable so the minimum height is smaller than the natural height
|
||||
let workArea = Main.layoutManager.getWorkAreaForMonitor(Main.layoutManager.primaryIndex);
|
||||
this.menu.actor.style = ('max-height: ' + Math.round(workArea.height) + 'px;');
|
||||
let verticalMargins = this.menu.actor.margin_top + this.menu.actor.margin_bottom;
|
||||
this.menu.actor.style = ('max-height: ' + Math.round(workArea.height - verticalMargins) + 'px;');
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
|
@ -91,6 +91,7 @@ const PopupBaseMenuItem = new Lang.Class({
|
||||
this.actor.add_style_class_name(params.style_class);
|
||||
|
||||
if (this._activatable) {
|
||||
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPressEvent));
|
||||
this.actor.connect('button-release-event', Lang.bind(this, this._onButtonReleaseEvent));
|
||||
this.actor.connect('touch-event', Lang.bind(this, this._onTouchEvent));
|
||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPressEvent));
|
||||
@ -114,15 +115,26 @@ const PopupBaseMenuItem = new Lang.Class({
|
||||
this._parent = parent;
|
||||
},
|
||||
|
||||
_onButtonPressEvent: function (actor, event) {
|
||||
// This is the CSS active state
|
||||
this.actor.add_style_pseudo_class ('active');
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
|
||||
_onButtonReleaseEvent: function (actor, event) {
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
this.activate(event);
|
||||
return Clutter.EVENT_STOP;
|
||||
},
|
||||
|
||||
_onTouchEvent: function (actor, event) {
|
||||
if (event.type() == Clutter.EventType.TOUCH_END) {
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
this.activate(event);
|
||||
return Clutter.EVENT_STOP;
|
||||
} else if (event.type() == Clutter.EventType.TOUCH_BEGIN) {
|
||||
// This is the CSS active state
|
||||
this.actor.add_style_pseudo_class ('active');
|
||||
}
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
},
|
||||
@ -158,10 +170,17 @@ const PopupBaseMenuItem = new Lang.Class({
|
||||
if (activeChanged) {
|
||||
this.active = active;
|
||||
if (active) {
|
||||
this.actor.add_style_pseudo_class('active');
|
||||
this.actor.add_style_class_name('active');
|
||||
this.actor.grab_key_focus();
|
||||
} else {
|
||||
this.actor.remove_style_pseudo_class('active');
|
||||
this.actor.remove_style_class_name('active');
|
||||
// Remove the CSS active state if the user press the button and
|
||||
// while holding moves to another menu item, so we don't paint all items.
|
||||
// The correct behaviour would be to set the new item with the CSS
|
||||
// active state as well, but button-press-event is not trigered,
|
||||
// so we should track it in our own, which would involve some work
|
||||
// in the container
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
}
|
||||
this.emit('active-changed', active);
|
||||
}
|
||||
@ -245,8 +264,8 @@ const PopupSeparatorMenuItem = new Lang.Class({
|
||||
Lang.bind(this, this._syncVisibility));
|
||||
this._syncVisibility();
|
||||
|
||||
this._separator = new Separator.HorizontalSeparator({ style_class: 'popup-separator-menu-item' });
|
||||
this.actor.add(this._separator.actor, { expand: true });
|
||||
this._separator = new St.Widget({ style_class: 'popup-separator-menu-item' });
|
||||
this.actor.add(this._separator, { expand: true });
|
||||
},
|
||||
|
||||
_syncVisibility: function() {
|
||||
@ -1075,10 +1094,12 @@ const PopupSubMenuMenuItem = new Lang.Class({
|
||||
this.actor.add_style_pseudo_class('open');
|
||||
this._getTopMenu()._setOpenedSubMenu(this.menu);
|
||||
this.actor.add_accessible_state (Atk.StateType.EXPANDED);
|
||||
this.actor.add_style_pseudo_class('checked');
|
||||
} else {
|
||||
this.actor.remove_style_pseudo_class('open');
|
||||
this._getTopMenu()._setOpenedSubMenu(null);
|
||||
this.actor.remove_accessible_state (Atk.StateType.EXPANDED);
|
||||
this.actor.remove_style_pseudo_class('checked');
|
||||
}
|
||||
},
|
||||
|
||||
@ -1123,6 +1144,9 @@ const PopupSubMenuMenuItem = new Lang.Class({
|
||||
},
|
||||
|
||||
_onButtonReleaseEvent: function(actor) {
|
||||
// Since we override the parent, we need to manage what the parent does
|
||||
// with the active style class
|
||||
this.actor.remove_style_pseudo_class ('active');
|
||||
this._setOpenState(!this._getOpenState());
|
||||
return Clutter.EVENT_PROPAGATE;
|
||||
}
|
||||
|
@ -101,18 +101,14 @@ const NotificationsBox = new Lang.Class({
|
||||
_init: function() {
|
||||
this.actor = new St.BoxLayout({ vertical: true,
|
||||
name: 'screenShieldNotifications',
|
||||
style_class: 'screen-shield-notifications-box' });
|
||||
|
||||
this._musicBin = new St.Bin({ style_class: 'screen-shield-notifications-box',
|
||||
visible: false });
|
||||
style_class: 'screen-shield-notifications-container' });
|
||||
|
||||
this._scrollView = new St.ScrollView({ x_fill: false, x_align: St.Align.START,
|
||||
hscrollbar_policy: Gtk.PolicyType.NEVER });
|
||||
this._notificationBox = new St.BoxLayout({ vertical: true,
|
||||
style_class: 'screen-shield-notifications-box' });
|
||||
style_class: 'screen-shield-notifications-container' });
|
||||
this._scrollView.add_actor(this._notificationBox);
|
||||
|
||||
this.actor.add(this._musicBin);
|
||||
this.actor.add(this._scrollView, { x_fill: true, x_align: St.Align.START });
|
||||
|
||||
this._sources = new Map();
|
||||
@ -139,12 +135,11 @@ const NotificationsBox = new Lang.Class({
|
||||
},
|
||||
|
||||
_updateVisibility: function() {
|
||||
this._musicBin.visible = this._musicBin.child != null && this._musicBin.child.visible;
|
||||
this._notificationBox.visible = this._notificationBox.get_children().some(function(a) {
|
||||
return a.visible;
|
||||
});
|
||||
|
||||
this.actor.visible = this._musicBin.visible || this._notificationBox.visible;
|
||||
this.actor.visible = this._notificationBox.visible;
|
||||
},
|
||||
|
||||
_makeNotificationCountText: function(count, isChat) {
|
||||
@ -192,7 +187,7 @@ const NotificationsBox = new Lang.Class({
|
||||
for (let i = 0; i < source.notifications.length; i++) {
|
||||
let n = source.notifications[i];
|
||||
|
||||
if (n.acknowledged || n.isMusic)
|
||||
if (n.acknowledged)
|
||||
continue;
|
||||
|
||||
let body = '';
|
||||
@ -213,29 +208,13 @@ const NotificationsBox = new Lang.Class({
|
||||
},
|
||||
|
||||
_showSource: function(source, obj, box) {
|
||||
let musicNotification = source.getMusicNotification();
|
||||
|
||||
if (musicNotification != null &&
|
||||
this._musicBin.child == null) {
|
||||
musicNotification.acknowledged = true;
|
||||
if (musicNotification.actor.get_parent() != null)
|
||||
musicNotification.actor.get_parent().remove_actor(musicNotification.actor);
|
||||
this._musicBin.child = musicNotification.actor;
|
||||
this._musicBin.child.visible = obj.visible;
|
||||
|
||||
musicNotification.expand(false /* animate */);
|
||||
|
||||
obj.musicNotification = musicNotification;
|
||||
}
|
||||
|
||||
if (obj.detailed) {
|
||||
[obj.titleLabel, obj.countLabel] = this._makeNotificationDetailedSource(source, box);
|
||||
} else {
|
||||
[obj.titleLabel, obj.countLabel] = this._makeNotificationSource(source, box);
|
||||
}
|
||||
|
||||
box.visible = obj.visible &&
|
||||
(source.unseenCount > (musicNotification ? 1 : 0));
|
||||
box.visible = obj.visible && (source.unseenCount > 0);
|
||||
},
|
||||
|
||||
_sourceAdded: function(tray, source, initial) {
|
||||
@ -246,23 +225,16 @@ const NotificationsBox = new Lang.Class({
|
||||
sourceCountChangedId: 0,
|
||||
sourceTitleChangedId: 0,
|
||||
sourceUpdatedId: 0,
|
||||
sourceNotifyId: 0,
|
||||
musicNotification: null,
|
||||
sourceBox: null,
|
||||
titleLabel: null,
|
||||
countLabel: null,
|
||||
};
|
||||
|
||||
obj.sourceBox = new St.BoxLayout({ style_class: 'screen-shield-notification-source' });
|
||||
obj.sourceBox = new St.BoxLayout({ style_class: 'screen-shield-notification-source',
|
||||
x_expand: true });
|
||||
this._showSource(source, obj, obj.sourceBox);
|
||||
this._notificationBox.add(obj.sourceBox, { x_fill: false, x_align: St.Align.START });
|
||||
|
||||
if (obj.musicNotification) {
|
||||
obj.sourceNotifyId = source.connect('notify', Lang.bind(this, function(source, notification) {
|
||||
notification.acknowledged = true;
|
||||
}));
|
||||
}
|
||||
|
||||
obj.sourceCountChangedId = source.connect('count-updated', Lang.bind(this, function(source) {
|
||||
this._countChanged(source, obj);
|
||||
}));
|
||||
@ -323,8 +295,7 @@ const NotificationsBox = new Lang.Class({
|
||||
obj.countLabel.text = this._makeNotificationCountText(count, source.isChat);
|
||||
}
|
||||
|
||||
obj.sourceBox.visible = obj.visible &&
|
||||
(source.unseenCount > (obj.musicNotification ? 1 : 0));
|
||||
obj.sourceBox.visible = obj.visible && (source.unseenCount > 0);
|
||||
|
||||
this._updateVisibility();
|
||||
if (obj.sourceBox.visible)
|
||||
@ -336,10 +307,7 @@ const NotificationsBox = new Lang.Class({
|
||||
return;
|
||||
|
||||
obj.visible = source.policy.showInLockScreen;
|
||||
if (obj.musicNotification)
|
||||
obj.musicNotification.actor.visible = obj.visible;
|
||||
obj.sourceBox.visible = obj.visible &&
|
||||
source.unseenCount > (obj.musicNotification ? 1 : 0);
|
||||
obj.sourceBox.visible = obj.visible && source.unseenCount > 0;
|
||||
|
||||
this._updateVisibility();
|
||||
if (obj.sourceBox.visible)
|
||||
@ -366,13 +334,6 @@ const NotificationsBox = new Lang.Class({
|
||||
obj.sourceBox.destroy();
|
||||
obj.sourceBox = obj.titleLabel = obj.countLabel = null;
|
||||
|
||||
if (obj.musicNotification) {
|
||||
this._musicBin.child = null;
|
||||
obj.musicNotification = null;
|
||||
|
||||
source.disconnect(obj.sourceNotifyId);
|
||||
}
|
||||
|
||||
source.disconnect(obj.sourceDestroyId);
|
||||
source.disconnect(obj.sourceCountChangedId);
|
||||
source.disconnect(obj.sourceTitleChangedId);
|
||||
|
@ -99,7 +99,7 @@ const ScreencastService = new Lang.Class({
|
||||
recorder.set_pipeline(options['pipeline']);
|
||||
if (options['framerate'])
|
||||
recorder.set_framerate(options['framerate']);
|
||||
if (options['draw-cursor'])
|
||||
if ('draw-cursor' in options)
|
||||
recorder.set_draw_cursor(options['draw-cursor']);
|
||||
},
|
||||
|
||||
|
@ -199,12 +199,9 @@ const SearchResultsBase = new Lang.Class({
|
||||
this._cancellable.reset();
|
||||
|
||||
this.provider.getResultMetas(metasNeeded, Lang.bind(this, function(metas) {
|
||||
if (metas.length == 0) {
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
if (metas.length != metasNeeded.length) {
|
||||
log('Wrong number of result metas returned by search provider');
|
||||
log('Wrong number of result metas returned by search provider ' + this.provider.id +
|
||||
': expected ' + metasNeeded.length + ' but got ' + metas.length);
|
||||
callback(false);
|
||||
return;
|
||||
}
|
||||
@ -236,6 +233,7 @@ const SearchResultsBase = new Lang.Class({
|
||||
this._ensureResultActors(results, Lang.bind(this, function(successful) {
|
||||
if (!successful) {
|
||||
this._clearResultDisplay();
|
||||
callback();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -25,6 +25,10 @@ const GnomeShellIface = '<node> \
|
||||
<method name="ShowOSD"> \
|
||||
<arg type="a{sv}" direction="in" name="params"/> \
|
||||
</method> \
|
||||
<method name="ShowMonitorLabels"> \
|
||||
<arg type="a{uv}" direction="in" name="params" /> \
|
||||
</method> \
|
||||
<method name="HideMonitorLabels" /> \
|
||||
<method name="FocusApp"> \
|
||||
<arg type="s" direction="in" name="id"/> \
|
||||
</method> \
|
||||
@ -44,8 +48,7 @@ const GnomeShellIface = '<node> \
|
||||
</method> \
|
||||
<signal name="AcceleratorActivated"> \
|
||||
<arg name="action" type="u" /> \
|
||||
<arg name="deviceid" type="u" /> \
|
||||
<arg name="timestamp" type="u" /> \
|
||||
<arg name="parameters" type="a{sv}" /> \
|
||||
</signal> \
|
||||
<property name="Mode" type="s" access="read" /> \
|
||||
<property name="OverviewActive" type="b" access="readwrite" /> \
|
||||
@ -196,11 +199,14 @@ const GnomeShell = new Lang.Class({
|
||||
|
||||
let connection = this._dbusImpl.get_connection();
|
||||
let info = this._dbusImpl.get_info();
|
||||
let params = { 'device-id': GLib.Variant.new('u', deviceid),
|
||||
'timestamp': GLib.Variant.new('u', timestamp),
|
||||
'action-mode': GLib.Variant.new('u', Main.actionMode) };
|
||||
connection.emit_signal(destination,
|
||||
this._dbusImpl.get_object_path(),
|
||||
info ? info.name : null,
|
||||
'AcceleratorActivated',
|
||||
GLib.Variant.new('(uuu)', [action, deviceid, timestamp]));
|
||||
GLib.Variant.new('(ua{sv})', [action, params]));
|
||||
},
|
||||
|
||||
_grabAcceleratorForSender: function(accelerator, flags, sender) {
|
||||
@ -238,6 +244,17 @@ const GnomeShell = new Lang.Class({
|
||||
this._grabbers.delete(name);
|
||||
},
|
||||
|
||||
ShowMonitorLabelsAsync: function(params, invocation) {
|
||||
let sender = invocation.get_sender();
|
||||
let [dict] = params;
|
||||
Main.osdMonitorLabeler.show(sender, dict);
|
||||
},
|
||||
|
||||
HideMonitorLabelsAsync: function(params, invocation) {
|
||||
let sender = invocation.get_sender();
|
||||
Main.osdMonitorLabeler.hide(sender);
|
||||
},
|
||||
|
||||
|
||||
Mode: global.session_mode,
|
||||
|
||||
|
@ -7,7 +7,7 @@ const Lang = imports.lang;
|
||||
const St = imports.gi.St;
|
||||
const Signals = imports.signals;
|
||||
|
||||
const SLIDER_SCROLL_STEP = 0.05; /* Slider scrolling step in % */
|
||||
const SLIDER_SCROLL_STEP = 0.02; /* Slider scrolling step in % */
|
||||
|
||||
const Slider = new Lang.Class({
|
||||
Name: "Slider",
|
||||
@ -197,7 +197,7 @@ const Slider = new Lang.Class({
|
||||
let [dx, dy] = event.get_scroll_delta();
|
||||
// Even though the slider is horizontal, use dy to match
|
||||
// the UP/DOWN above.
|
||||
delta = -dy / 10;
|
||||
delta = -dy * SLIDER_SCROLL_STEP;
|
||||
}
|
||||
|
||||
this._value = Math.min(Math.max(0, this._value + delta), 1);
|
||||
|
@ -155,6 +155,7 @@ const InputSourceManager = new Lang.Class({
|
||||
this._ibusSources = {};
|
||||
|
||||
this._currentSource = null;
|
||||
this._backupSource = null;
|
||||
|
||||
// All valid input sources currently in the gsettings
|
||||
// KEY_INPUT_SOURCES list ordered by most recently used
|
||||
@ -183,6 +184,7 @@ const InputSourceManager = new Lang.Class({
|
||||
this._ibusManager.connect('ready', Lang.bind(this, this._ibusReadyCallback));
|
||||
this._ibusManager.connect('properties-registered', Lang.bind(this, this._ibusPropertiesRegistered));
|
||||
this._ibusManager.connect('property-updated', Lang.bind(this, this._ibusPropertyUpdated));
|
||||
this._ibusManager.connect('set-content-type', Lang.bind(this, this._ibusSetContentType));
|
||||
|
||||
global.display.connect('modifiers-accelerator-activated', Lang.bind(this, this._modifiersSwitcher));
|
||||
|
||||
@ -192,6 +194,7 @@ const InputSourceManager = new Lang.Class({
|
||||
this._overviewHiddenId = 0;
|
||||
this._settings.connect('changed::per-window', Lang.bind(this, this._sourcesPerWindowChanged));
|
||||
this._sourcesPerWindowChanged();
|
||||
this._disableIBus = false;
|
||||
},
|
||||
|
||||
reload: function() {
|
||||
@ -309,6 +312,8 @@ const InputSourceManager = new Lang.Class({
|
||||
[exists, displayName, shortName, , ] =
|
||||
this._xkbInfo.get_layout_info(id);
|
||||
} else if (type == INPUT_SOURCE_TYPE_IBUS) {
|
||||
if (this._disableIBus)
|
||||
continue;
|
||||
let engineDesc = this._ibusManager.getEngineDesc(id);
|
||||
if (engineDesc) {
|
||||
let language = IBus.get_language_name(engineDesc.get_language());
|
||||
@ -379,8 +384,20 @@ const InputSourceManager = new Lang.Class({
|
||||
}
|
||||
this._mruSources = mruSources.concat(sourcesList);
|
||||
|
||||
if (this._mruSources.length > 0)
|
||||
if (this._mruSources.length > 0) {
|
||||
if (!this._disableIBus && this._backupSource) {
|
||||
for (let i = 0; i < this._mruSources.length; i++) {
|
||||
if (this._mruSources[i].type == this._backupSource.type &&
|
||||
this._mruSources[i].id == this._backupSource.id) {
|
||||
let currentSource = this._mruSources.splice(i, 1);
|
||||
this._mruSources = currentSource.concat(this._mruSources);
|
||||
break;
|
||||
}
|
||||
}
|
||||
this._backupSource = null;
|
||||
}
|
||||
this._mruSources[0].activate();
|
||||
}
|
||||
|
||||
// All ibus engines are preloaded here to reduce the launching time
|
||||
// when users switch the input sources.
|
||||
@ -437,6 +454,27 @@ const InputSourceManager = new Lang.Class({
|
||||
return false;
|
||||
},
|
||||
|
||||
_ibusSetContentType: function(im, purpose, hints) {
|
||||
if (purpose == IBus.InputPurpose.PASSWORD) {
|
||||
if (Object.keys(this._inputSources).length == Object.keys(this._ibusSources).length)
|
||||
return;
|
||||
|
||||
if (this._disableIBus)
|
||||
return;
|
||||
this._disableIBus = true;
|
||||
this._backupSource = this._currentSource;
|
||||
} else {
|
||||
if (!this._disableIBus)
|
||||
return;
|
||||
this._disableIBus = false;
|
||||
}
|
||||
// If this._mruSources is not cleared before this.reload() is called,
|
||||
// the order is different from the original one as IM sources will
|
||||
// be appended to XKB sources.
|
||||
this._mruSources = [];
|
||||
this.reload();
|
||||
},
|
||||
|
||||
_getNewInputSource: function(current) {
|
||||
for (let i in this._inputSources) {
|
||||
let is = this._inputSources[i];
|
||||
@ -551,7 +589,6 @@ const InputSourceIndicator = new Lang.Class({
|
||||
this._hbox.add_child(PopupMenu.arrowIcon(St.Side.BOTTOM));
|
||||
|
||||
this.actor.add_child(this._hbox);
|
||||
this.actor.add_style_class_name('panel-status-button');
|
||||
|
||||
this._propSeparator = new PopupMenu.PopupSeparatorMenuItem();
|
||||
this.menu.addMenuItem(this._propSeparator);
|
||||
|
@ -888,11 +888,11 @@ const NMWirelessDialog = new Lang.Class({
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER });
|
||||
this._airplaneIcon = new St.Icon({ icon_size: 48 });
|
||||
this._airplaneHeadline = new St.Label({ style_class: 'nm-dialog-airplane-headline' });
|
||||
this._airplaneHeadline = new St.Label({ style_class: 'nm-dialog-airplane-headline headline' });
|
||||
this._airplaneText = new St.Label({ style_class: 'nm-dialog-airplane-text' });
|
||||
|
||||
let airplaneSubStack = new St.Widget({ layout_manager: new Clutter.BinLayout });
|
||||
this._airplaneButton = new St.Button({ style_class: 'modal-dialog-button' });
|
||||
this._airplaneButton = new St.Button({ style_class: 'modal-dialog-button button' });
|
||||
this._airplaneButton.connect('clicked', Lang.bind(this, function() {
|
||||
if (this._rfkill.airplaneMode)
|
||||
this._rfkill.airplaneMode = false;
|
||||
|
@ -285,7 +285,7 @@ const Indicator = new Lang.Class({
|
||||
let disabled = Main.sessionMode.isLocked ||
|
||||
(Main.sessionMode.isGreeter &&
|
||||
this._loginScreenSettings.get_boolean(DISABLE_RESTART_KEY));
|
||||
this._suspendAction.visible = this._haveShutdown && !disabled;
|
||||
this._suspendAction.visible = this._haveSuspend && !disabled;
|
||||
this._updateActionsVisibility();
|
||||
},
|
||||
|
||||
|
@ -580,6 +580,35 @@ const AppSwitchAction = new Lang.Class({
|
||||
});
|
||||
Signals.addSignalMethods(AppSwitchAction.prototype);
|
||||
|
||||
const ResizePopup = new Lang.Class({
|
||||
Name: 'ResizePopup',
|
||||
|
||||
_init: function() {
|
||||
this._widget = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||
this._label = new St.Label({ style_class: 'resize-popup',
|
||||
x_align: Clutter.ActorAlign.CENTER,
|
||||
y_align: Clutter.ActorAlign.CENTER,
|
||||
x_expand: true, y_expand: true });
|
||||
this._widget.add_child(this._label);
|
||||
Main.uiGroup.add_actor(this._widget);
|
||||
},
|
||||
|
||||
set: function(rect, displayW, displayH) {
|
||||
/* Translators: This represents the size of a window. The first number is
|
||||
* the width of the window and the second is the height. */
|
||||
let text = _("%d x %d").format(displayW, displayH);
|
||||
this._label.set_text(text);
|
||||
|
||||
this._widget.set_position(rect.x, rect.y);
|
||||
this._widget.set_size(rect.width, rect.height);
|
||||
},
|
||||
|
||||
destroy: function() {
|
||||
this._widget.destroy();
|
||||
this._widget = null;
|
||||
},
|
||||
});
|
||||
|
||||
const WindowManager = new Lang.Class({
|
||||
Name: 'WindowManager',
|
||||
|
||||
@ -623,6 +652,19 @@ const WindowManager = new Lang.Class({
|
||||
this._workspaceSwitcherPopup = null;
|
||||
this._tilePreview = null;
|
||||
|
||||
this.allowKeybinding('switch-to-session-1', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-2', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-3', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-4', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-5', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-6', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-7', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-8', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-9', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-10', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-11', Shell.ActionMode.ALL);
|
||||
this.allowKeybinding('switch-to-session-12', Shell.ActionMode.ALL);
|
||||
|
||||
this.setCustomKeybindingHandler('switch-to-workspace-left',
|
||||
Shell.ActionMode.NORMAL |
|
||||
Shell.ActionMode.OVERVIEW,
|
||||
@ -792,6 +834,8 @@ const WindowManager = new Lang.Class({
|
||||
Shell.ActionMode.TOPBAR_POPUP,
|
||||
Lang.bind(this, this._toggleAppMenu));
|
||||
|
||||
global.display.connect('show-resize-popup', Lang.bind(this, this._showResizePopup));
|
||||
|
||||
Main.overview.connect('showing', Lang.bind(this, function() {
|
||||
for (let i = 0; i < this._dimmedWindows.length; i++)
|
||||
this._undimWindow(this._dimmedWindows[i]);
|
||||
@ -857,6 +901,44 @@ const WindowManager = new Lang.Class({
|
||||
Main.activateWindow(nextWindow);
|
||||
},
|
||||
|
||||
insertWorkspace: function(pos) {
|
||||
if (!Meta.prefs_get_dynamic_workspaces())
|
||||
return;
|
||||
|
||||
let windows = global.get_window_actors().map(function(winActor) {
|
||||
return winActor.meta_window;
|
||||
});
|
||||
|
||||
// To create a new workspace, we slide all the windows on workspaces
|
||||
// below us to the next workspace, leaving a blank workspace for us
|
||||
// to recycle.
|
||||
windows.forEach(function(window) {
|
||||
// If the window is attached to an ancestor, we don't need/want
|
||||
// to move it
|
||||
if (window.get_transient_for() != null)
|
||||
return;
|
||||
// Same for OR windows
|
||||
if (window.is_override_redirect())
|
||||
return;
|
||||
// Windows on workspaces below pos don't need moving
|
||||
let index = window.get_workspace().index();
|
||||
if (index < pos)
|
||||
return;
|
||||
window.change_workspace_by_index(index + 1, true);
|
||||
});
|
||||
|
||||
// If the new workspace was inserted before the active workspace,
|
||||
// activate the workspace to which its windows went
|
||||
let activeIndex = global.screen.get_active_workspace_index();
|
||||
if (activeIndex >= pos) {
|
||||
let newWs = global.screen.get_workspace_by_index(activeIndex + 1);
|
||||
this._blockAnimations = true;
|
||||
newWs.activate(global.get_current_time());
|
||||
this._blockAnimations = false;
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
keepWorkspaceAlive: function(workspace, duration) {
|
||||
if (!this._workspaceTracker)
|
||||
return;
|
||||
@ -886,7 +968,7 @@ const WindowManager = new Lang.Class({
|
||||
},
|
||||
|
||||
_shouldAnimate: function() {
|
||||
return !Main.overview.visible;
|
||||
return !(Main.overview.visible || this._blockAnimations);
|
||||
},
|
||||
|
||||
_shouldAnimateActor: function(actor, types) {
|
||||
@ -1077,10 +1159,8 @@ const WindowManager = new Lang.Class({
|
||||
return;
|
||||
}
|
||||
|
||||
if (actor.meta_window.is_attached_dialog()) {
|
||||
/* Scale the window from the center of the parent */
|
||||
if (actor.meta_window.is_attached_dialog())
|
||||
this._checkDimming(actor.get_meta_window().get_transient_for());
|
||||
}
|
||||
|
||||
switch (actor._windowType) {
|
||||
case Meta.WindowType.NORMAL:
|
||||
@ -1458,6 +1538,11 @@ const WindowManager = new Lang.Class({
|
||||
direction = Meta.MotionDirection.DOWN;
|
||||
newWs = screen.get_workspace_by_index(screen.n_workspaces - 1);
|
||||
} else if (isNaN(target)) {
|
||||
// Prepend a new workspace dynamically
|
||||
if (screen.get_active_workspace_index() == 0 &&
|
||||
action == 'move' && target == 'up')
|
||||
this.insertWorkspace(0);
|
||||
|
||||
direction = Meta.MotionDirection[target.toUpperCase()];
|
||||
newWs = screen.get_active_workspace().get_neighbor(direction);
|
||||
} else if (target > 0) {
|
||||
@ -1522,4 +1607,18 @@ const WindowManager = new Lang.Class({
|
||||
let dialog = new DisplayChangeDialog(this._shellwm);
|
||||
dialog.open();
|
||||
},
|
||||
|
||||
_showResizePopup: function(display, show, rect, displayW, displayH) {
|
||||
if (show) {
|
||||
if (!this._resizePopup)
|
||||
this._resizePopup = new ResizePopup();
|
||||
|
||||
this._resizePopup.set(rect, displayW, displayH);
|
||||
} else {
|
||||
if (this._resizePopup) {
|
||||
this._resizePopup.destroy();
|
||||
this._resizePopup = null;
|
||||
}
|
||||
}
|
||||
},
|
||||
});
|
||||
|
@ -795,35 +795,13 @@ const ThumbnailsBox = new Lang.Class({
|
||||
|
||||
let isWindow = !!source.realWindow;
|
||||
|
||||
// To create a new workspace, we first slide all the windows on workspaces
|
||||
// below us to the next workspace, leaving a blank workspace for us to recycle.
|
||||
let newWorkspaceIndex;
|
||||
[newWorkspaceIndex, this._dropPlaceholderPos] = [this._dropPlaceholderPos, -1];
|
||||
|
||||
// Nab all the windows below us.
|
||||
let windows = global.get_window_actors().filter(function(winActor) {
|
||||
// If the window is attached to an ancestor, we don't need/want to move it
|
||||
let window = winActor.meta_window;
|
||||
|
||||
if (window.get_transient_for() != null)
|
||||
return false;
|
||||
|
||||
if (isWindow)
|
||||
return window.get_workspace().index() >= newWorkspaceIndex && winActor != source;
|
||||
else
|
||||
return window.get_workspace().index() >= newWorkspaceIndex;
|
||||
});
|
||||
|
||||
this._spliceIndex = newWorkspaceIndex;
|
||||
|
||||
// ... move them down one.
|
||||
windows.forEach(function(winActor) {
|
||||
let window = winActor.meta_window;
|
||||
window.change_workspace_by_index(window.get_workspace().index() + 1, true);
|
||||
});
|
||||
Main.wm.insertWorkspace(newWorkspaceIndex);
|
||||
|
||||
if (isWindow) {
|
||||
// ... and bam, a workspace, good as new.
|
||||
// Move the window to our monitor first if necessary.
|
||||
let thumbMonitor = this._thumbnails[newWorkspaceIndex].monitorIndex;
|
||||
if (source.metaWindow.get_monitor() != thumbMonitor)
|
||||
|
@ -18,8 +18,6 @@ const Workspace = imports.ui.workspace;
|
||||
const WorkspaceThumbnail = imports.ui.workspaceThumbnail;
|
||||
|
||||
const WORKSPACE_SWITCH_TIME = 0.25;
|
||||
// Note that mutter has a compile-time limit of 36
|
||||
const MAX_WORKSPACES = 16;
|
||||
|
||||
const AnimationType = {
|
||||
ZOOM: 0,
|
||||
@ -538,6 +536,7 @@ const WorkspacesDisplay = new Lang.Class({
|
||||
for (let i = 0; i < this._workspacesViews.length; i++)
|
||||
this._workspacesViews[i].destroy();
|
||||
|
||||
this._primaryIndex = Main.layoutManager.primaryIndex;
|
||||
this._workspacesViews = [];
|
||||
let monitors = Main.layoutManager.monitors;
|
||||
for (let i = 0; i < monitors.length; i++) {
|
||||
|
@ -30,6 +30,7 @@ hi
|
||||
hu
|
||||
ia
|
||||
id
|
||||
is
|
||||
it
|
||||
ja
|
||||
kk
|
||||
|
131
po/an.po
@ -2,15 +2,15 @@
|
||||
# Copyright (C) 2011 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# FULL NAME <EMAIL@ADDRESS>, 2011.
|
||||
# Daniel Martinez <entaltoaragon@gmail.com>, 2011, 2014.
|
||||
# Daniel Martinez <entaltoaragon@gmail.com>, 2011, 2014, 2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-11-08 08:31+0000\n"
|
||||
"PO-Revision-Date: 2014-11-08 19:15+0100\n"
|
||||
"POT-Creation-Date: 2015-01-22 08:34+0000\n"
|
||||
"PO-Revision-Date: 2015-01-22 19:23+0100\n"
|
||||
"Last-Translator: Daniel Martinez <entaltoaragon@gmail.com>\n"
|
||||
"Language-Team: Aragonés <softaragones@googlegroups.com>\n"
|
||||
"Language: an\n"
|
||||
@ -302,7 +302,6 @@ msgstr ""
|
||||
"Retardo en cambiar o foco d'o churi dica que o puntero deixa de mover-se"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
#| msgid "Network error"
|
||||
msgid "Network Login"
|
||||
msgstr "Encetar sesión en o rete"
|
||||
|
||||
@ -336,25 +335,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Encetar sesión"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Esleyir a sesión"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "No ye en a lista?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(eix., usuario u %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Nombre d'usuario:"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:953
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Finestra d'inicio de sesión"
|
||||
|
||||
@ -421,7 +420,7 @@ msgstr "S'ha anyadiu %s a os suyos favoritos."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "S'ha sacau %s d'os suyos favoritos"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
@ -464,43 +463,43 @@ msgstr "%l∶%M %p"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:98
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:100
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:102
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:104
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:106
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Ch"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:125
|
||||
#: ../js/ui/calendar.js:108
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:127
|
||||
#: ../js/ui/calendar.js:110
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
@ -511,52 +510,52 @@ msgstr "S"
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:140
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Dom"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:142
|
||||
#: ../js/ui/calendar.js:125
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:144
|
||||
#: ../js/ui/calendar.js:127
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:146
|
||||
#: ../js/ui/calendar.js:129
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:148
|
||||
#: ../js/ui/calendar.js:131
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "Ch"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:150
|
||||
#: ../js/ui/calendar.js:133
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:152
|
||||
#: ../js/ui/calendar.js:135
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#: ../js/ui/calendar.js:461
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Mes anterior"
|
||||
|
||||
#: ../js/ui/calendar.js:471
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Mes siguient"
|
||||
|
||||
@ -692,7 +691,7 @@ msgstr "Clau d'o ret de banda ampla mobil"
|
||||
#: ../js/ui/components/networkAgent.js:346
|
||||
#, javascript-format
|
||||
msgid "A password is required to connect to “%s”."
|
||||
msgstr "Se requier una clau ta connectar-se a \"%s\"»."
|
||||
msgstr "Se requier una clau ta connectar-se a \"%s\"."
|
||||
|
||||
#: ../js/ui/components/polkitAgent.js:54
|
||||
msgid "Authentication Required"
|
||||
@ -989,7 +988,7 @@ msgstr "Veyer cuenta"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Razón desconoixida"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Finestras"
|
||||
|
||||
@ -1013,6 +1012,13 @@ msgstr "Ubrir reloches"
|
||||
msgid "Date & Time Settings"
|
||||
msgstr "Achustes de calendata y hora"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:132
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%A, %e de %B de %Y"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:64
|
||||
#, javascript-format
|
||||
msgctxt "title"
|
||||
@ -1153,7 +1159,7 @@ msgstr "Instalar"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Descargar y instalar \"%s\" dende extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:535
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclau"
|
||||
|
||||
@ -1237,11 +1243,11 @@ msgstr "Servilla d'o menú"
|
||||
msgid "No Messages"
|
||||
msgstr "No i hai mensaches"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Servilla de mensaches"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1249,11 +1255,11 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "%d mensache nuevo"
|
||||
msgstr[1] "%d mensaches nuevos"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Informacion d'o sistema"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconoxiu"
|
||||
@ -1272,19 +1278,19 @@ msgstr "Vista cheneral"
|
||||
#. characters. */
|
||||
#: ../js/ui/overview.js:246
|
||||
msgid "Type to search…"
|
||||
msgstr "Tecleyar ta mirar..."
|
||||
msgstr "Tecleyar ta mirar…"
|
||||
|
||||
#: ../js/ui/panel.js:515
|
||||
#: ../js/ui/panel.js:521
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:567
|
||||
#: ../js/ui/panel.js:573
|
||||
msgid "Activities"
|
||||
msgstr "Actividatz"
|
||||
|
||||
#: ../js/ui/panel.js:918
|
||||
#: ../js/ui/panel.js:924
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@ -1304,6 +1310,12 @@ msgstr "Trancar"
|
||||
msgid "Restarting…"
|
||||
msgstr "Reenchegando…"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#: ../js/ui/screenShield.js:88
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d de %B"
|
||||
|
||||
#: ../js/ui/screenShield.js:154
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
@ -1327,11 +1339,11 @@ msgstr "No se podió blocar"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Una aplicación impidió o bloqueyo"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:609
|
||||
msgid "Searching…"
|
||||
msgstr "Mirando..."
|
||||
msgstr "Mirando…"
|
||||
|
||||
#: ../js/ui/search.js:613
|
||||
#: ../js/ui/search.js:611
|
||||
msgid "No results."
|
||||
msgstr "No se troboron resultaus."
|
||||
|
||||
@ -1433,7 +1445,7 @@ msgstr "No connectau"
|
||||
msgid "Brightness"
|
||||
msgstr "Brilo"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:559
|
||||
#: ../js/ui/status/keyboard.js:601
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Amostrar a distribución d'o teclau"
|
||||
|
||||
@ -1464,7 +1476,7 @@ msgstr "<desconoxiu>"
|
||||
#: ../js/ui/status/network.js:457 ../js/ui/status/network.js:1308
|
||||
#: ../js/ui/status/network.js:1512
|
||||
msgid "Off"
|
||||
msgstr "DESENCHEGAU"
|
||||
msgstr "Desenchegau"
|
||||
|
||||
#: ../js/ui/status/network.js:459
|
||||
msgid "Connected"
|
||||
@ -1487,13 +1499,13 @@ msgstr "Connectando"
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:474
|
||||
msgid "Authentication required"
|
||||
msgstr "s'amenista autenticación"
|
||||
msgstr "S'amenista autenticación"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:482
|
||||
msgid "Firmware missing"
|
||||
msgstr "falta o \"firmware\""
|
||||
msgstr "Manca o \"firmware\""
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
@ -1527,7 +1539,7 @@ msgstr "O modo avión ye enchegau"
|
||||
|
||||
#: ../js/ui/status/network.js:814
|
||||
msgid "Wi-Fi is disabled when airplane mode is on."
|
||||
msgstr "O wi-Fi ye desactivau quan o modo avión ye enchegau."
|
||||
msgstr "O Wi-Fi ye desactivau quan o modo avión ye enchegau."
|
||||
|
||||
#: ../js/ui/status/network.js:815
|
||||
msgid "Turn Off Airplane Mode"
|
||||
@ -1535,15 +1547,15 @@ msgstr "Desenchegar o modo avión"
|
||||
|
||||
#: ../js/ui/status/network.js:824
|
||||
msgid "Wi-Fi is Off"
|
||||
msgstr "O wi-fi ye desenchegau"
|
||||
msgstr "O Wi-Fi ye desenchegau"
|
||||
|
||||
#: ../js/ui/status/network.js:825
|
||||
msgid "Wi-Fi needs to be turned on in order to connect to a network."
|
||||
msgstr "O wi-Fi ameniste estar enchegau ta connectar-se a un ret."
|
||||
msgstr "O Wi-Fi ameniste estar enchegau ta connectar-se a un ret."
|
||||
|
||||
#: ../js/ui/status/network.js:826
|
||||
msgid "Turn On Wi-Fi"
|
||||
msgstr "Enchegar o wi-fi"
|
||||
msgstr "Enchegar o Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:851
|
||||
msgid "Wi-Fi Networks"
|
||||
@ -1567,7 +1579,7 @@ msgstr "Selecciona o ret"
|
||||
|
||||
#: ../js/ui/status/network.js:1180
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Opcions inalambricas"
|
||||
msgstr "Opcions d'o Wi-Fi"
|
||||
|
||||
#: ../js/ui/status/network.js:1282
|
||||
msgid "Turn On"
|
||||
@ -1688,18 +1700,18 @@ msgstr "Encetar sesión como unatro usuario"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquiar finestra"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Aplicacions"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Mirar"
|
||||
|
||||
#: ../js/ui/windowAttentionHandler.js:19
|
||||
#, javascript-format
|
||||
msgid "“%s” is ready"
|
||||
msgstr "'%s' ye parau"
|
||||
msgstr "\"%s\" ye parau"
|
||||
|
||||
#: ../js/ui/windowManager.js:65
|
||||
msgid "Do you want to keep these display settings?"
|
||||
@ -1723,6 +1735,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Os cambeos d'as opcions serán revertius en %d segundo"
|
||||
msgstr[1] "Os cambeos d'as opcions serán revertius en %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizar"
|
||||
@ -1807,7 +1826,7 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Listar os modos posibles"
|
||||
|
||||
#: ../src/shell-app.c:666
|
||||
#: ../src/shell-app.c:680
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Ha fallau en aventar \"%s\""
|
||||
@ -1872,12 +1891,6 @@ msgstr "L'usuario refusó o dialogo d'autenticación"
|
||||
#~ msgid "calendar:MY"
|
||||
#~ msgstr "calendar:MY"
|
||||
|
||||
#~ msgid "%A %B %e, %Y"
|
||||
#~ msgstr "%A, %e de %B de %Y"
|
||||
|
||||
#~ msgid "%A, %B %d"
|
||||
#~ msgstr "%A, %d de %B"
|
||||
|
||||
#~ msgid "<b>%A</b>, <b>%H:%M</b>"
|
||||
#~ msgstr "<b>%A</b>, <b>%H:%M</b>"
|
||||
|
||||
|
2231
po/bn_IN.po
119
po/cs.po
@ -4,15 +4,15 @@
|
||||
# Andre Klapper <ak-47@gmx.net>, 2009.
|
||||
# Petr Kovar <pknbe@volny.cz>, 2009, 2010, 2011, 2012, 2014.
|
||||
# Adam Matoušek <adamatousek@gmail.com>, 2012, 2013.
|
||||
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014.
|
||||
# Marek Černocký <marek@manet.cz>, 2012, 2013, 2014, 2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-11-26 08:34+0000\n"
|
||||
"PO-Revision-Date: 2014-11-26 12:05+0100\n"
|
||||
"POT-Creation-Date: 2015-01-06 20:31+0000\n"
|
||||
"PO-Revision-Date: 2015-01-07 08:53+0100\n"
|
||||
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
|
||||
"Language-Team: Czech <gnome-cs-list@gnome.org>\n"
|
||||
"Language: cs\n"
|
||||
@ -29,7 +29,7 @@ msgstr "Systém"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:2
|
||||
msgid "Show the message tray"
|
||||
msgstr "Zobrazit lištu zpráv"
|
||||
msgstr "Zobrazit pořadač zpráv"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:3
|
||||
msgid "Focus the active notification"
|
||||
@ -179,44 +179,44 @@ msgstr "Je-li zapnuto, zobrazovat v kalendáři čísla týdnů dle ISO."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:19
|
||||
msgid "Keybinding to open the application menu"
|
||||
msgstr "Klávesová zkratka na otevření nabídky aplikace"
|
||||
msgstr "Klávesová zkratka otevírající nabidku aplikací"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||
msgid "Keybinding to open the application menu."
|
||||
msgstr "Klávesová zkratka na otevření nabídky aplikace."
|
||||
msgstr "Klávesová zkratka sloužící k otevření nabídky aplikací."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||
msgid "Keybinding to open the \"Show Applications\" view"
|
||||
msgstr "Klávesová zkratka k otevření nabídky aplikací"
|
||||
msgstr "Klávesová zkratka otevírající zobrazení aplikací"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr "Klávesová zkratka k otevření nabídky aplikací v Přehledu aktivit"
|
||||
msgstr "Klávesová zkratka sloužící k otevření nabídky aplikací v Přehledu činností."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the overview"
|
||||
msgstr "Klávesová zkratka k otevření přehledu"
|
||||
msgstr "Klávesová zkratka otevírající přehled"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:24
|
||||
msgid "Keybinding to open the Activities Overview."
|
||||
msgstr "Klávesová zkratka k otevření přehledu činností"
|
||||
msgstr "Klávesová zkratka sloužící k otevření přehledu činností"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:25
|
||||
msgid "Keybinding to toggle the visibility of the message tray"
|
||||
msgstr "Klávesová zkratka k přepnutí viditelnosti lišty zpráv"
|
||||
msgstr "Klávesová zkratka přepínající viditelnost pořadače zpráv"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:26
|
||||
msgid "Keybinding to toggle the visibility of the message tray."
|
||||
msgstr "Klávesová zkratka k přepnutí viditelnosti lišty zpráv."
|
||||
msgstr "Klávesová zkratka sloužící k přepnutí viditelnosti pořadače zpráv."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:27
|
||||
msgid "Keybinding to focus the active notification"
|
||||
msgstr "Klávesová zkratka k zaměření aktivního upozornění"
|
||||
msgstr "Klávesová zkratka zaměřující aktivního upozornění"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:28
|
||||
msgid "Keybinding to focus the active notification."
|
||||
msgstr "Klávesová zkratka k zaměření aktivního upozornění."
|
||||
msgstr "Klávesová zkratka sloužící k zaměření aktivního upozornění."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid ""
|
||||
@ -327,25 +327,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Přihlásit se"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Vybrat sezení"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "Nejste na seznamu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(např. uživatel nebo %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Uživatelské jméno: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:955
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Přihlašovací okno"
|
||||
|
||||
@ -412,7 +412,7 @@ msgstr "%s byl přidán mezi oblíbené."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s byl odstraněn z oblíbených."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Nastavení"
|
||||
@ -455,43 +455,43 @@ msgstr "%l∶%M %p"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:98
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "Ne"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:100
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "Po"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:102
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "Út"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:104
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "St"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:106
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "Čt"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:125
|
||||
#: ../js/ui/calendar.js:108
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "Pá"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:127
|
||||
#: ../js/ui/calendar.js:110
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "So"
|
||||
@ -502,83 +502,83 @@ msgstr "So"
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:140
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Ne"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:142
|
||||
#: ../js/ui/calendar.js:125
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "Po"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:144
|
||||
#: ../js/ui/calendar.js:127
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "Út"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:146
|
||||
#: ../js/ui/calendar.js:129
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "St"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:148
|
||||
#: ../js/ui/calendar.js:131
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "Čt"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:150
|
||||
#: ../js/ui/calendar.js:133
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "Pá"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:152
|
||||
#: ../js/ui/calendar.js:135
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "So"
|
||||
|
||||
#: ../js/ui/calendar.js:461
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Předchozí měsíc"
|
||||
|
||||
#: ../js/ui/calendar.js:471
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Následující měsíc"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:806
|
||||
#: ../js/ui/calendar.js:805
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "nic nenaplánováno"
|
||||
|
||||
#: ../js/ui/calendar.js:825
|
||||
#: ../js/ui/calendar.js:824
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %e. %B"
|
||||
|
||||
#: ../js/ui/calendar.js:829
|
||||
#: ../js/ui/calendar.js:828
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %e. %B %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:841
|
||||
#: ../js/ui/calendar.js:840
|
||||
msgid "Today"
|
||||
msgstr "Dnes"
|
||||
|
||||
#: ../js/ui/calendar.js:845
|
||||
#: ../js/ui/calendar.js:844
|
||||
msgid "Tomorrow"
|
||||
msgstr "Zítra"
|
||||
|
||||
#: ../js/ui/calendar.js:856
|
||||
#: ../js/ui/calendar.js:855
|
||||
msgid "This week"
|
||||
msgstr "Tento týden"
|
||||
|
||||
#: ../js/ui/calendar.js:864
|
||||
#: ../js/ui/calendar.js:863
|
||||
msgid "Next week"
|
||||
msgstr "Následující týden"
|
||||
|
||||
@ -979,7 +979,7 @@ msgstr "Zobrazit účet"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Neznámý důvod"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Okna"
|
||||
|
||||
@ -1236,17 +1236,17 @@ msgstr "Nastavení upozornění"
|
||||
|
||||
#: ../js/ui/messageTray.js:1715
|
||||
msgid "Tray Menu"
|
||||
msgstr "Nabídka lišty zpráv"
|
||||
msgstr "Nabídka pořadače zpráv"
|
||||
|
||||
#: ../js/ui/messageTray.js:1939
|
||||
msgid "No Messages"
|
||||
msgstr "Žádné zprávy"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Lišta zpráv"
|
||||
msgstr "Pořadač zpráv"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1255,11 +1255,11 @@ msgstr[0] "%d nová zpráva"
|
||||
msgstr[1] "%d nové zprávy"
|
||||
msgstr[2] "%d nových zpráv"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Informace o systému"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Neznámé"
|
||||
@ -1280,17 +1280,17 @@ msgstr "Přehled"
|
||||
msgid "Type to search…"
|
||||
msgstr "Vyhledávejte psaním…"
|
||||
|
||||
#: ../js/ui/panel.js:515
|
||||
#: ../js/ui/panel.js:521
|
||||
msgid "Quit"
|
||||
msgstr "Ukončit"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:567
|
||||
#: ../js/ui/panel.js:573
|
||||
msgid "Activities"
|
||||
msgstr "Činnosti"
|
||||
|
||||
#: ../js/ui/panel.js:918
|
||||
#: ../js/ui/panel.js:924
|
||||
msgid "Top Bar"
|
||||
msgstr "Horní lišta"
|
||||
|
||||
@ -1702,11 +1702,11 @@ msgstr "Přihlásit se jako jiný uživatel"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Odemykací okno"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Aplikace"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Hledat"
|
||||
|
||||
@ -1738,6 +1738,13 @@ msgstr[0] "Nastavení se obnoví na původní za %d sekundu"
|
||||
msgstr[1] "Nastavení se obnoví na původní za %d sekundy"
|
||||
msgstr[2] "Nastavení se obnoví na původní za %d sekund"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d × %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizovat"
|
||||
@ -1822,7 +1829,7 @@ msgstr "Použít pro přihlašovací obrazovku zadaný režim, např. „gdm“.
|
||||
msgid "List possible modes"
|
||||
msgstr "Vypsat možné režimy"
|
||||
|
||||
#: ../src/shell-app.c:666
|
||||
#: ../src/shell-app.c:680
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Nelze spustit „%s“"
|
||||
|
96
po/es.po
@ -3,15 +3,15 @@
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Jorge González <jorgegonz@svn.gnome.org>, 2009, 2010, 2011.
|
||||
# Benjamín Valero Espinosa <benjavalero@gmail.com>, 2011.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011, 2012, 2013, 2014.
|
||||
# Daniel Mustieles <daniel.mustieles@gmail.com>, 2010, 2011, 2012, 2013, 2014, 2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell.master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-11-12 08:29+0000\n"
|
||||
"PO-Revision-Date: 2014-11-12 12:29+0100\n"
|
||||
"POT-Creation-Date: 2015-01-12 08:33+0000\n"
|
||||
"PO-Revision-Date: 2015-01-12 12:05+0100\n"
|
||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||
"Language: es\n"
|
||||
@ -304,7 +304,6 @@ msgstr ""
|
||||
"Retardo al cambiar el foco del ratón hasta que el puntero deja de moverse"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
#| msgid "Network error"
|
||||
msgid "Network Login"
|
||||
msgstr "Inicio de sesión de la red"
|
||||
|
||||
@ -338,25 +337,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Iniciar sesión"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Elegir sesión"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "¿No está en la lista?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(ej., usuario o %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Nombre de usuario:"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:953
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Ventana de inicio de sesión"
|
||||
|
||||
@ -423,7 +422,7 @@ msgstr "Se ha añadido %s a sus favoritos."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "Se ha quitado %s de sus favoritos."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Configuración"
|
||||
@ -466,43 +465,43 @@ msgstr "%l∶%M %p"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:98
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "D"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:100
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:102
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:104
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:106
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "J"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:125
|
||||
#: ../js/ui/calendar.js:108
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:127
|
||||
#: ../js/ui/calendar.js:110
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
@ -513,52 +512,52 @@ msgstr "S"
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#. */
|
||||
#: ../js/ui/calendar.js:140
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Dom"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday */
|
||||
#: ../js/ui/calendar.js:142
|
||||
#: ../js/ui/calendar.js:125
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "L"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday */
|
||||
#: ../js/ui/calendar.js:144
|
||||
#: ../js/ui/calendar.js:127
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday */
|
||||
#: ../js/ui/calendar.js:146
|
||||
#: ../js/ui/calendar.js:129
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "X"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday */
|
||||
#: ../js/ui/calendar.js:148
|
||||
#: ../js/ui/calendar.js:131
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "J"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday */
|
||||
#: ../js/ui/calendar.js:150
|
||||
#: ../js/ui/calendar.js:133
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "V"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday */
|
||||
#: ../js/ui/calendar.js:152
|
||||
#: ../js/ui/calendar.js:135
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#: ../js/ui/calendar.js:461
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Mes anterior"
|
||||
|
||||
#: ../js/ui/calendar.js:471
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Siguiente mes"
|
||||
|
||||
@ -993,7 +992,7 @@ msgstr "Ver cuenta"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Razón desconocida"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Ventanas"
|
||||
|
||||
@ -1005,22 +1004,22 @@ msgstr "Mostrar aplicaciones"
|
||||
msgid "Dash"
|
||||
msgstr "Tablero"
|
||||
|
||||
#: ../js/ui/dateMenu.js:99
|
||||
#: ../js/ui/dateMenu.js:97
|
||||
msgid "Open Calendar"
|
||||
msgstr "Abrir calendario"
|
||||
|
||||
#: ../js/ui/dateMenu.js:103
|
||||
#: ../js/ui/dateMenu.js:101
|
||||
msgid "Open Clocks"
|
||||
msgstr "Abrir Relojes"
|
||||
|
||||
#: ../js/ui/dateMenu.js:110
|
||||
#: ../js/ui/dateMenu.js:108
|
||||
msgid "Date & Time Settings"
|
||||
msgstr "Configuración de hora y fecha"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:134
|
||||
#: ../js/ui/dateMenu.js:132
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%A, %e de %B de %Y"
|
||||
|
||||
@ -1164,7 +1163,7 @@ msgstr "Instalar"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:535
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:539
|
||||
msgid "Keyboard"
|
||||
msgstr "Teclado"
|
||||
|
||||
@ -1248,11 +1247,11 @@ msgstr "Bandeja de menú"
|
||||
msgid "No Messages"
|
||||
msgstr "No hay mensajes"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Bandeja de mensajes"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1260,11 +1259,11 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "%d mensaje nuevo"
|
||||
msgstr[1] "%d mensajes nuevos"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Información del sistema"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Desconocido"
|
||||
@ -1285,17 +1284,17 @@ msgstr "Vista general"
|
||||
msgid "Type to search…"
|
||||
msgstr "Escribir para buscar…"
|
||||
|
||||
#: ../js/ui/panel.js:515
|
||||
#: ../js/ui/panel.js:521
|
||||
msgid "Quit"
|
||||
msgstr "Salir"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:567
|
||||
#: ../js/ui/panel.js:573
|
||||
msgid "Activities"
|
||||
msgstr "Actividades"
|
||||
|
||||
#: ../js/ui/panel.js:918
|
||||
#: ../js/ui/panel.js:924
|
||||
msgid "Top Bar"
|
||||
msgstr "Barra superior"
|
||||
|
||||
@ -1344,11 +1343,11 @@ msgstr "No se pudo bloquear"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Una aplicación impidió el bloqueo"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:609
|
||||
msgid "Searching…"
|
||||
msgstr "Buscando…"
|
||||
|
||||
#: ../js/ui/search.js:613
|
||||
#: ../js/ui/search.js:611
|
||||
msgid "No results."
|
||||
msgstr "No se encontraron resultados."
|
||||
|
||||
@ -1450,7 +1449,7 @@ msgstr "No conectado"
|
||||
msgid "Brightness"
|
||||
msgstr "Brillo"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:559
|
||||
#: ../js/ui/status/keyboard.js:563
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Mostrar la distribución del teclado"
|
||||
|
||||
@ -1705,11 +1704,11 @@ msgstr "Iniciar sesión como otro usuario"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desbloquear ventana"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Aplicaciones"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Buscar"
|
||||
|
||||
@ -1740,6 +1739,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "La configuración se revertirá en %d segundo"
|
||||
msgstr[1] "La configuración se revertirá en %d segundos"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizar"
|
||||
@ -1824,7 +1830,7 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Listar los modos posibles"
|
||||
|
||||
#: ../src/shell-app.c:666
|
||||
#: ../src/shell-app.c:680
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Falló al lanzar «%s»"
|
||||
|
55
po/eu.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: eu\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-12-05 08:37+0000\n"
|
||||
"PO-Revision-Date: 2014-12-05 23:45+0100\n"
|
||||
"POT-Creation-Date: 2014-12-30 08:36+0000\n"
|
||||
"PO-Revision-Date: 2014-12-30 15:13+0100\n"
|
||||
"Last-Translator: Iñaki Larrañaga Murgoitio <dooteo@zundan.com>\n"
|
||||
"Language-Team: Basque <librezale@librezale.org>\n"
|
||||
"Language: eu\n"
|
||||
@ -20,7 +20,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Lokalize 1.5\n"
|
||||
"X-Generator: Lokalize 1.4\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
@ -299,7 +299,6 @@ msgstr ""
|
||||
"arte"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
#| msgid "Network error"
|
||||
msgid "Network Login"
|
||||
msgstr "Sareko saio-hasiera"
|
||||
|
||||
@ -334,25 +333,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Hasi saioa"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Aukeratu saioa"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "Ez zaude zerrendan?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(adib., erabiltzailea edo %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Erabiltzaile-izena: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:955
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Saio-hasierako leihoa"
|
||||
|
||||
@ -550,42 +549,42 @@ msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Lr"
|
||||
|
||||
#: ../js/ui/calendar.js:444
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Aurreko hila"
|
||||
|
||||
#: ../js/ui/calendar.js:454
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Hurrengo hila"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:805
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Ezer ez antolatuta"
|
||||
|
||||
#: ../js/ui/calendar.js:808
|
||||
#: ../js/ui/calendar.js:824
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:812
|
||||
#: ../js/ui/calendar.js:828
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %Y(e)ko %Bren %da"
|
||||
|
||||
#: ../js/ui/calendar.js:824
|
||||
#: ../js/ui/calendar.js:840
|
||||
msgid "Today"
|
||||
msgstr "Gaur"
|
||||
|
||||
#: ../js/ui/calendar.js:828
|
||||
#: ../js/ui/calendar.js:844
|
||||
msgid "Tomorrow"
|
||||
msgstr "Bihar"
|
||||
|
||||
#: ../js/ui/calendar.js:839
|
||||
#: ../js/ui/calendar.js:855
|
||||
msgid "This week"
|
||||
msgstr "Aste honetan"
|
||||
|
||||
#: ../js/ui/calendar.js:847
|
||||
#: ../js/ui/calendar.js:863
|
||||
msgid "Next week"
|
||||
msgstr "Hurrengo astea"
|
||||
|
||||
@ -987,7 +986,7 @@ msgstr "Ikusi kontua"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Arrazoi ezezaguna"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Leihoak"
|
||||
|
||||
@ -1242,11 +1241,11 @@ msgstr "Erretiluaren menua"
|
||||
msgid "No Messages"
|
||||
msgstr "Mezurik ez"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Mezuen erretilua"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1254,7 +1253,7 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "Mezu berri %d"
|
||||
msgstr[1] "%d mezu berri"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Sistemaren informazioa"
|
||||
|
||||
@ -1457,7 +1456,6 @@ msgid "Disable"
|
||||
msgstr "Desgaitu"
|
||||
|
||||
#: ../js/ui/status/location.js:73
|
||||
#| msgid "Power Settings"
|
||||
msgid "Privacy Settings"
|
||||
msgstr "Pribatutasunaren ezarpenak"
|
||||
|
||||
@ -1700,11 +1698,11 @@ msgstr "Hasi saioa beste erabiltzaile baten gisan"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Desblokeatu leihoa"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Aplikazioak"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Bilatu"
|
||||
|
||||
@ -1735,6 +1733,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Ezarpenen aldaketak segundo %dean alderantzikatuko dira"
|
||||
msgstr[1] "Ezarpenen aldaketak %d segundotan alderantzikatuko dira"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimizatu"
|
||||
|
85
po/he.po
@ -10,8 +10,8 @@ msgid ""
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-24 20:00+0200\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2015-01-26 21:15+0200\n"
|
||||
"PO-Revision-Date: 2015-01-26 21:15+0200\n"
|
||||
"Last-Translator: Yosef Or Boczko <yoseforb@gmail.com>\n"
|
||||
"Language-Team: עברית <>\n"
|
||||
@ -325,20 +325,20 @@ msgctxt "button"
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "כניסה"
|
||||
|
||||
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "בחירת הפעלה"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
msgid "Not listed?"
|
||||
msgstr "לא רשום?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:822
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
@ -346,12 +346,12 @@ msgstr "(משתמש או %s לדוגמה)"
|
||||
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:827 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "שם משתמש:"
|
||||
|
||||
|
||||
#: ../js/gdm/loginDialog.js:1159
|
||||
msgid "Login Window"
|
||||
msgstr "חלון כניסה"
|
||||
@ -427,7 +427,7 @@ msgstr "%s נוסף למועדפים שלך."
|
||||
#, javascript-format
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s הוסר מהמועדפים שלך."
|
||||
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
@ -470,43 +470,43 @@ msgstr "%l\\u2236%M %p"
|
||||
#. *
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#.
|
||||
#: ../js/ui/calendar.js:98
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "א"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:100
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "ב"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:102
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "ג"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:104
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "ד"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:106
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "ה"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:108
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "ו"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:110
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
@ -517,52 +517,52 @@ msgstr "ש"
|
||||
#. * NOTE: These list abbreviations are normally not shown together
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#.
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "א׳"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:125
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "ב׳"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:127
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "ג׳"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:129
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "ד׳"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:131
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "ה"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:133
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "ו׳"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:135
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "ש׳"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "חודש קודם"
|
||||
|
||||
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "חודש הבא"
|
||||
@ -1004,7 +1004,7 @@ msgstr "צפייה בחשבון"
|
||||
#: ../js/ui/components/telepathyClient.js:1436
|
||||
msgid "Unknown reason"
|
||||
msgstr "סיבה לא ידועה"
|
||||
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "חלונות"
|
||||
@ -1172,7 +1172,7 @@ msgstr "התקנה"
|
||||
#, javascript-format
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "הורדה והתקנה של „%s” מ־extensions.gnome.org?"
|
||||
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
msgid "Keyboard"
|
||||
msgstr "מקלדת"
|
||||
@ -1256,12 +1256,12 @@ msgstr "תפריט מגש"
|
||||
#: ../js/ui/messageTray.js:1939
|
||||
msgid "No Messages"
|
||||
msgstr "אין הודעות"
|
||||
|
||||
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "אזור דיווח ההודעות"
|
||||
|
||||
# javascript-format
|
||||
# javascript-format
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, c-format
|
||||
@ -1269,11 +1269,11 @@ msgid_plural "%d new messages"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "הודעה חדשה אחת"
|
||||
msgstr[1] "%d הודעות חדשות"
|
||||
|
||||
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "פרטי המערכת"
|
||||
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
@ -1294,17 +1294,17 @@ msgstr "סקירה"
|
||||
#: ../js/ui/overview.js:246
|
||||
msgid "Type to search…"
|
||||
msgstr "יש להקליד כדי לחפש…"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:521
|
||||
msgid "Quit"
|
||||
msgstr "יציאה"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:573
|
||||
msgid "Activities"
|
||||
msgstr "פעילויות"
|
||||
|
||||
|
||||
#: ../js/ui/panel.js:924
|
||||
msgid "Top Bar"
|
||||
msgstr "הסרגל העליון"
|
||||
@ -1366,11 +1366,11 @@ msgstr "לא ניתן לנעול"
|
||||
#: ../js/ui/screenShield.js:837 ../js/ui/screenShield.js:1313
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "הנעילה נחסמה ע״י היישום"
|
||||
|
||||
|
||||
#: ../js/ui/search.js:609
|
||||
msgid "Searching…"
|
||||
msgstr "בחיפוש…"
|
||||
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
msgid "No results."
|
||||
msgstr "אין תוצאות."
|
||||
@ -1475,7 +1475,7 @@ msgstr "לא מחובר"
|
||||
#: ../js/ui/status/brightness.js:44
|
||||
msgid "Brightness"
|
||||
msgstr "בהירות"
|
||||
|
||||
|
||||
#: ../js/ui/status/keyboard.js:601
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "הצגת פריסת המקלדת"
|
||||
@ -1737,11 +1737,11 @@ msgstr "כניסה בתור משתמש אחר"
|
||||
#: ../js/ui/unlockDialog.js:84
|
||||
msgid "Unlock Window"
|
||||
msgstr "שחרור החלון"
|
||||
|
||||
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "יישומים"
|
||||
|
||||
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "חיפוש"
|
||||
@ -1773,6 +1773,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "שינויי הגדרות ישוחזרו בעוד שנייה"
|
||||
msgstr[1] "שינויי הגדרות ישוחזרו בעוד %d שניות"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
@ -1855,7 +1862,7 @@ msgstr "שימוש במצב מסוים, לדוגמה: „gdm“ למסך הכנ
|
||||
#: ../src/main.c:391
|
||||
msgid "List possible modes"
|
||||
msgstr "הצגת המצבים האפשריים"
|
||||
|
||||
|
||||
#: ../src/shell-app.c:680
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
|
52
po/hu.po
@ -11,8 +11,8 @@ msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-11-30 08:32+0000\n"
|
||||
"PO-Revision-Date: 2014-11-30 16:24+0100\n"
|
||||
"POT-Creation-Date: 2014-12-31 08:36+0000\n"
|
||||
"PO-Revision-Date: 2014-12-31 11:20+0100\n"
|
||||
"Last-Translator: Balázs Úr <urbalazs@gmail.com>\n"
|
||||
"Language-Team: Hungarian <openscope at googlegroups dot com>\n"
|
||||
"Language: hu\n"
|
||||
@ -300,7 +300,6 @@ msgstr ""
|
||||
"Fókuszváltozások késleltetése a mutató mozgásának megállásáig egér módban"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
#| msgid "Network error"
|
||||
msgid "Network Login"
|
||||
msgstr "Hálózati bejelentkezés"
|
||||
|
||||
@ -334,25 +333,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Bejelentkezés"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Válasszon munkamenetet"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "Nincs a listán?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(például: felhasználó vagy %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Felhasználónév: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:955
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Bejelentkezési ablak"
|
||||
|
||||
@ -550,42 +549,42 @@ msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Szo"
|
||||
|
||||
#: ../js/ui/calendar.js:444
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Előző hónap"
|
||||
|
||||
#: ../js/ui/calendar.js:454
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Következő hónap"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:805
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Semmi sincs ütemezve"
|
||||
|
||||
#: ../js/ui/calendar.js:808
|
||||
#: ../js/ui/calendar.js:824
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d."
|
||||
|
||||
#: ../js/ui/calendar.js:812
|
||||
#: ../js/ui/calendar.js:828
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %Y. %B %d."
|
||||
|
||||
#: ../js/ui/calendar.js:824
|
||||
#: ../js/ui/calendar.js:840
|
||||
msgid "Today"
|
||||
msgstr "Ma"
|
||||
|
||||
#: ../js/ui/calendar.js:828
|
||||
#: ../js/ui/calendar.js:844
|
||||
msgid "Tomorrow"
|
||||
msgstr "Holnap"
|
||||
|
||||
#: ../js/ui/calendar.js:839
|
||||
#: ../js/ui/calendar.js:855
|
||||
msgid "This week"
|
||||
msgstr "Ezen a héten"
|
||||
|
||||
#: ../js/ui/calendar.js:847
|
||||
#: ../js/ui/calendar.js:863
|
||||
msgid "Next week"
|
||||
msgstr "Jövő héten"
|
||||
|
||||
@ -987,7 +986,7 @@ msgstr "Fiók megtekintése"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Ismeretlen ok"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Ablakok"
|
||||
|
||||
@ -1245,11 +1244,11 @@ msgstr "Tálcamenü"
|
||||
msgid "No Messages"
|
||||
msgstr "Nincs üzenet"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Üzenettálca"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1257,7 +1256,7 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "%d új üzenet"
|
||||
msgstr[1] "%d új üzenet"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Rendszerinformációk"
|
||||
|
||||
@ -1702,11 +1701,11 @@ msgstr "Bejelentkezés másik felhasználóként"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Ablak feloldása"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Alkalmazások"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Oldalsáv"
|
||||
|
||||
@ -1737,6 +1736,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "A beállítások módosításai %d másodperc múlva visszavonásra kerülnek"
|
||||
msgstr[1] "A beállítások módosításai %d másodperc múlva visszavonásra kerülnek"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimalizálás"
|
||||
|
91
po/nb.po
@ -9,8 +9,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell 3.15.x\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2014-11-16 12:28+0100\n"
|
||||
"PO-Revision-Date: 2014-11-16 12:29+0100\n"
|
||||
"POT-Creation-Date: 2014-12-31 00:46+0100\n"
|
||||
"PO-Revision-Date: 2014-12-31 00:46+0100\n"
|
||||
"Last-Translator: Åka Sikrom <a4NOSPAMPLEASETHANKYOU@hush.com>\n"
|
||||
"Language-Team: Norwegian bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||
"Language: Norwegian bokmål\n"
|
||||
@ -327,20 +327,20 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logg inn"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Velg økt"
|
||||
|
||||
#. translators: this message is shown below the user list on the
|
||||
#. login screen. It can be activated to reveal an entry for
|
||||
#. manually entering the username.
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:428
|
||||
msgid "Not listed?"
|
||||
msgstr "Ikke listet?"
|
||||
|
||||
#. Translators: this message is shown below the username entry field
|
||||
#. to clue the user in on how to login to the local network realm
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:814
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(f.eks. bruker eller %s)"
|
||||
@ -348,12 +348,12 @@ msgstr "(f.eks. bruker eller %s)"
|
||||
#. TTLS and PEAP are actually much more complicated, but this complication
|
||||
#. is not visible here since we only care about phase2 authentication
|
||||
#. (and don't even care of which one)
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:819 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Brukernavn: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:953
|
||||
#: ../js/gdm/loginDialog.js:1151
|
||||
msgid "Login Window"
|
||||
msgstr "Innloggingsvindu"
|
||||
|
||||
@ -429,7 +429,7 @@ msgstr "%s ble lagt til i dine favoritter."
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ble fjernet fra dine favoritter."
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:813
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:819
|
||||
#: ../js/ui/status/system.js:337
|
||||
msgid "Settings"
|
||||
msgstr "Innstillinger"
|
||||
@ -472,43 +472,43 @@ msgstr "%H.%M"
|
||||
#. * NOTE: These grid abbreviations are always shown together
|
||||
#. * and in order, e.g. "S M T W T F S".
|
||||
#.
|
||||
#: ../js/ui/calendar.js:115
|
||||
#: ../js/ui/calendar.js:98
|
||||
msgctxt "grid sunday"
|
||||
msgid "S"
|
||||
msgstr "S"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:117
|
||||
#: ../js/ui/calendar.js:100
|
||||
msgctxt "grid monday"
|
||||
msgid "M"
|
||||
msgstr "M"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:119
|
||||
#: ../js/ui/calendar.js:102
|
||||
msgctxt "grid tuesday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:121
|
||||
#: ../js/ui/calendar.js:104
|
||||
msgctxt "grid wednesday"
|
||||
msgid "W"
|
||||
msgstr "O"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:123
|
||||
#: ../js/ui/calendar.js:106
|
||||
msgctxt "grid thursday"
|
||||
msgid "T"
|
||||
msgstr "T"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:125
|
||||
#: ../js/ui/calendar.js:108
|
||||
msgctxt "grid friday"
|
||||
msgid "F"
|
||||
msgstr "F"
|
||||
|
||||
#. Translators: Calendar grid abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:127
|
||||
#: ../js/ui/calendar.js:110
|
||||
msgctxt "grid saturday"
|
||||
msgid "S"
|
||||
msgstr "L"
|
||||
@ -519,83 +519,83 @@ msgstr "L"
|
||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
||||
#. * both be 'T').
|
||||
#.
|
||||
#: ../js/ui/calendar.js:140
|
||||
#: ../js/ui/calendar.js:123
|
||||
msgctxt "list sunday"
|
||||
msgid "Su"
|
||||
msgstr "Sø"
|
||||
|
||||
#. Translators: Event list abbreviation for Monday
|
||||
#: ../js/ui/calendar.js:142
|
||||
#: ../js/ui/calendar.js:125
|
||||
msgctxt "list monday"
|
||||
msgid "M"
|
||||
msgstr "Ma"
|
||||
|
||||
#. Translators: Event list abbreviation for Tuesday
|
||||
#: ../js/ui/calendar.js:144
|
||||
#: ../js/ui/calendar.js:127
|
||||
msgctxt "list tuesday"
|
||||
msgid "T"
|
||||
msgstr "Ti"
|
||||
|
||||
#. Translators: Event list abbreviation for Wednesday
|
||||
#: ../js/ui/calendar.js:146
|
||||
#: ../js/ui/calendar.js:129
|
||||
msgctxt "list wednesday"
|
||||
msgid "W"
|
||||
msgstr "On"
|
||||
|
||||
#. Translators: Event list abbreviation for Thursday
|
||||
#: ../js/ui/calendar.js:148
|
||||
#: ../js/ui/calendar.js:131
|
||||
msgctxt "list thursday"
|
||||
msgid "Th"
|
||||
msgstr "To"
|
||||
|
||||
#. Translators: Event list abbreviation for Friday
|
||||
#: ../js/ui/calendar.js:150
|
||||
#: ../js/ui/calendar.js:133
|
||||
msgctxt "list friday"
|
||||
msgid "F"
|
||||
msgstr "Fr"
|
||||
|
||||
#. Translators: Event list abbreviation for Saturday
|
||||
#: ../js/ui/calendar.js:152
|
||||
#: ../js/ui/calendar.js:135
|
||||
msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Lø"
|
||||
|
||||
#: ../js/ui/calendar.js:461
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Forrige måned"
|
||||
|
||||
#: ../js/ui/calendar.js:471
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Neste måned"
|
||||
|
||||
#. Translators: Text to show if there are no events
|
||||
#: ../js/ui/calendar.js:806
|
||||
#: ../js/ui/calendar.js:805
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Ingenting planlagt"
|
||||
|
||||
#: ../js/ui/calendar.js:825
|
||||
#: ../js/ui/calendar.js:824
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A %B %d"
|
||||
|
||||
#: ../js/ui/calendar.js:829
|
||||
#: ../js/ui/calendar.js:828
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A %B %d, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:841
|
||||
#: ../js/ui/calendar.js:840
|
||||
msgid "Today"
|
||||
msgstr "I dag"
|
||||
|
||||
#: ../js/ui/calendar.js:845
|
||||
#: ../js/ui/calendar.js:844
|
||||
msgid "Tomorrow"
|
||||
msgstr "I morgen"
|
||||
|
||||
#: ../js/ui/calendar.js:856
|
||||
#: ../js/ui/calendar.js:855
|
||||
msgid "This week"
|
||||
msgstr "Denne uka"
|
||||
|
||||
#: ../js/ui/calendar.js:864
|
||||
#: ../js/ui/calendar.js:863
|
||||
msgid "Next week"
|
||||
msgstr "Neste uke"
|
||||
|
||||
@ -1010,7 +1010,7 @@ msgstr "Vis konto"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Ukjent årsak"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Vinduer"
|
||||
|
||||
@ -1268,11 +1268,11 @@ msgstr "Meny for varslingsområde"
|
||||
msgid "No Messages"
|
||||
msgstr "Ingen meldinger"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Meldingstrau"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1280,11 +1280,11 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "%d ny melding"
|
||||
msgstr[1] "%d nye meldinger"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformasjon"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:425
|
||||
#: ../js/ui/notificationDaemon.js:513 ../src/shell-app.c:439
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Ukjent"
|
||||
@ -1305,17 +1305,17 @@ msgstr "Oversikt"
|
||||
msgid "Type to search…"
|
||||
msgstr "Skriv for å søke …"
|
||||
|
||||
#: ../js/ui/panel.js:515
|
||||
#: ../js/ui/panel.js:521
|
||||
msgid "Quit"
|
||||
msgstr "Avslutt"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview".
|
||||
#: ../js/ui/panel.js:567
|
||||
#: ../js/ui/panel.js:573
|
||||
msgid "Activities"
|
||||
msgstr "Aktiviteter"
|
||||
|
||||
#: ../js/ui/panel.js:918
|
||||
#: ../js/ui/panel.js:924
|
||||
msgid "Top Bar"
|
||||
msgstr "Topp-panel"
|
||||
|
||||
@ -1746,11 +1746,11 @@ msgstr "Logg inn som en annen bruker"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lås opp vindu"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Programmer"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Søk"
|
||||
|
||||
@ -1781,6 +1781,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Endringer i innstillingene vil forkastes om %d sekund"
|
||||
msgstr[1] "Endringer i innstillingene vil forkastes om %d sekunder"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height.
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimer"
|
||||
@ -1863,7 +1870,7 @@ msgstr "Bruk spesifikt modus, f.eks «gdm» for innloggingsskjerm"
|
||||
msgid "List possible modes"
|
||||
msgstr "Vis mulige modi"
|
||||
|
||||
#: ../src/shell-app.c:666
|
||||
#: ../src/shell-app.c:680
|
||||
#, c-format
|
||||
msgid "Failed to launch “%s”"
|
||||
msgstr "Klarte ikke å starte «%s»"
|
||||
|
356
po/pt_BR.po
772
po/sv.po
@ -1,25 +1,26 @@
|
||||
# Swedish translation for gnome-shell.
|
||||
# Copyright (C) 2009, 2010, 2011, 2012 Free Software Foundation, Inc.
|
||||
# Copyright © 2009-2012, 2014, 2015 Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# Daniel Nylander <po@danielnylander.se>, 2009, 2010, 2011, 2012.
|
||||
# Marcus Lundblad <ml@update.uu.se>, 2014.
|
||||
# Åke Engelbrektson <eson57@gmail.com, 2014.
|
||||
# Anders Jonsson <anders.jonsson@norsjovallen.se>, 2015.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-12-11 08:30+0000\n"
|
||||
"PO-Revision-Date: 2014-12-11 08:57+0100\n"
|
||||
"Last-Translator: Åke Engelbrektson <eson57@gmail.com>\n"
|
||||
"POT-Creation-Date: 2015-01-24 08:33+0000\n"
|
||||
"PO-Revision-Date: 2015-01-25 11:47+0100\n"
|
||||
"Last-Translator: Anders Jonsson <anders.jonsson@norsjovallen.se>\n"
|
||||
"Language-Team: svenska <tp-sv@listor.tp-sv.se>\n"
|
||||
"Language: sv\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
"X-Generator: Poedit 1.7.1\n"
|
||||
"X-Generator: Poedit 1.7.3\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -286,7 +287,7 @@ msgstr "Arbetsytor hanteras dynamiskt"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:41
|
||||
msgid "Workspaces only on primary monitor"
|
||||
msgstr "Arbetsytor endast på primär monitor"
|
||||
msgstr "Arbetsytor endast på primär skärm"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
@ -326,25 +327,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Logga in"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Välj session"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
msgid "Not listed?"
|
||||
msgstr "Inte listad?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:822
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(till exempel användare eller %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:827 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Användarnamn: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:955
|
||||
#: ../js/gdm/loginDialog.js:1159
|
||||
msgid "Login Window"
|
||||
msgstr "Inloggningsfönster"
|
||||
|
||||
@ -371,7 +372,7 @@ msgstr "Körning av ”%s” misslyckades:"
|
||||
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Omdirigering för webautentisering"
|
||||
msgstr "Omdirigering för webbautentisering"
|
||||
|
||||
#: ../js/ui/appDisplay.js:770
|
||||
msgid "Frequently used applications will appear here"
|
||||
@ -424,7 +425,7 @@ msgstr "Ändra bakgrund…"
|
||||
#: ../js/ui/calendar.js:39
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
msgstr ""
|
||||
msgstr "06"
|
||||
|
||||
#. Translators: Shown in calendar event list for all day events
|
||||
#. * Keep it short, best if you can use less then 10 characters
|
||||
@ -542,42 +543,42 @@ msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Lö"
|
||||
|
||||
#: ../js/ui/calendar.js:444
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Föregående månad"
|
||||
|
||||
#: ../js/ui/calendar.js:454
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Nästa månad"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:806
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Ingenting i schemat"
|
||||
|
||||
#: ../js/ui/calendar.js:808
|
||||
#: ../js/ui/calendar.js:825
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:812
|
||||
#: ../js/ui/calendar.js:829
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:824
|
||||
#: ../js/ui/calendar.js:841
|
||||
msgid "Today"
|
||||
msgstr "Idag"
|
||||
|
||||
#: ../js/ui/calendar.js:828
|
||||
#: ../js/ui/calendar.js:845
|
||||
msgid "Tomorrow"
|
||||
msgstr "Imorgon"
|
||||
|
||||
#: ../js/ui/calendar.js:839
|
||||
#: ../js/ui/calendar.js:856
|
||||
msgid "This week"
|
||||
msgstr "Denna vecka"
|
||||
|
||||
#: ../js/ui/calendar.js:847
|
||||
#: ../js/ui/calendar.js:864
|
||||
msgid "Next week"
|
||||
msgstr "Nästa vecka"
|
||||
|
||||
@ -977,7 +978,7 @@ msgstr "Visa konto"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Okänd anledning"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Fönster"
|
||||
|
||||
@ -1118,11 +1119,11 @@ msgstr "Stäng av efter att uppdateringarna har installerats"
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr ""
|
||||
"Kör på batteri: vänligen anslut till en fast strömkälla innan uppdateringar "
|
||||
"installeras. "
|
||||
"installeras."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
msgstr "Några program är upptagna eller innehåller icke sparat arbete. "
|
||||
msgstr "Några program är upptagna eller innehåller icke sparat arbete."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:362
|
||||
msgid "Other users are logged in."
|
||||
@ -1149,7 +1150,7 @@ msgstr "Installera"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "Hämta och installera ”%s” från extensions.gnome.org?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:539
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
msgid "Keyboard"
|
||||
msgstr "Tangentbord"
|
||||
|
||||
@ -1233,11 +1234,11 @@ msgstr "Fältmeny"
|
||||
msgid "No Messages"
|
||||
msgstr "Inga meddelanden"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Meddelandefält"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
@ -1245,7 +1246,7 @@ msgid_plural "%d new messages"
|
||||
msgstr[0] "%d nytt meddelande"
|
||||
msgstr[1] "%d nya meddelanden"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Systeminformation"
|
||||
|
||||
@ -1329,11 +1330,11 @@ msgstr "Kunde inte låsa"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Låsning hindrades av ett program"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:609
|
||||
msgid "Searching…"
|
||||
msgstr "Söker…"
|
||||
|
||||
#: ../js/ui/search.js:613
|
||||
#: ../js/ui/search.js:611
|
||||
msgid "No results."
|
||||
msgstr "Inga sökträffar."
|
||||
|
||||
@ -1435,7 +1436,7 @@ msgstr "Ej ansluten"
|
||||
msgid "Brightness"
|
||||
msgstr "Ljusstyrka"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:563
|
||||
#: ../js/ui/status/keyboard.js:601
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Visa tangentbordslayout"
|
||||
|
||||
@ -1691,11 +1692,11 @@ msgstr "Logga in som en annan användare"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Lås upp fönster"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Program"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Sök"
|
||||
|
||||
@ -1726,6 +1727,13 @@ msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Inställningarna kommer återställas om %d sekund"
|
||||
msgstr[1] "Inställningarna kommer återställas om %d sekunder"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Minimera"
|
||||
@ -1824,699 +1832,3 @@ msgstr "Lösenordet får inte vara blankt"
|
||||
#: ../src/shell-polkit-authentication-agent.c:346
|
||||
msgid "Authentication dialog was dismissed by the user"
|
||||
msgstr "Autentiseringsdialogen stängdes av användaren"
|
||||
|
||||
#~ msgid "Captive Portal"
|
||||
#~ msgstr "Fångstportal"
|
||||
|
||||
#~ msgid "The maximum accuracy level of location."
|
||||
#~ msgstr "Högsta grad av noggrannhet för plats."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Configures the maximum level of location accuracy applications are "
|
||||
#~ "allowed to see. Valid options are 'off' (disable location tracking), "
|
||||
#~ "'country', 'city', 'neighborhood', 'street', and 'exact' (typically "
|
||||
#~ "requires GPS receiver). Please keep in mind that this only controls what "
|
||||
#~ "GeoClue will allow applications to see and they can find user's location "
|
||||
#~ "on their own using network resources (albeit with street-level accuracy "
|
||||
#~ "at best)."
|
||||
#~ msgstr ""
|
||||
#~ "Ställer in den högsta graden av noggrannhet för platser som en "
|
||||
#~ "applikation tillåts se. Giltiga inställningar är 'off' (avstängd, stänger "
|
||||
#~ "av spårning av plats), 'country' (land), 'city' (stad), ' "
|
||||
#~ "neighborhood' (närområde), 'street' (gata), och 'exakt' (kräver normalt "
|
||||
#~ "en GPS-mottagare). Kom ihåg att detta endast reglerar vad GeoClue kommer "
|
||||
#~ "att tillåta program att se och att de på egen hand har möjlighet att ta "
|
||||
#~ "reda på användarens plats genom att använda nätverksresurser (dock med en "
|
||||
#~ "noggrannhet på gatunivå som bäst)."
|
||||
|
||||
#~ msgid "Arrangement of buttons on the titlebar"
|
||||
#~ msgstr "Arrangemang för knappar i titelraden"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||
#~ "running GNOME Shell."
|
||||
#~ msgstr ""
|
||||
#~ "Denna nyckel åsidosätter nyckeln i org.gnome.desktop.wm.preferences när "
|
||||
#~ "GNOME-skalet körs."
|
||||
|
||||
#~ msgid "Extension"
|
||||
#~ msgstr "Tillägg"
|
||||
|
||||
#~ msgid "Select an extension to configure using the combobox above."
|
||||
#~ msgstr "Välj ett tillägg att konfigurera från kombinationsrutan ovan."
|
||||
|
||||
#~ msgid "calendar:MY"
|
||||
#~ msgstr "calendar:MY"
|
||||
|
||||
#~| msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
#~ msgid "<b>%A</b>, <b>%H:%M</b>"
|
||||
#~ msgstr "<b>%A</b>, <b>%H:%M</b>"
|
||||
|
||||
#~| msgid "Sent on <b>%A</b>, <b>%B %d</b>"
|
||||
#~ msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
#~ msgstr "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
|
||||
#~ msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
#~ msgstr "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
|
||||
#~ msgid "unavailable"
|
||||
#~ msgstr "inte tillgänglig"
|
||||
|
||||
#~ msgid "Whether to collect stats about applications usage"
|
||||
#~ msgstr "Huruvida statistik ska samlas in för programanvändning"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The shell normally monitors active applications in order to present the "
|
||||
#~ "most used ones (e.g. in launchers). While this data will be kept private, "
|
||||
#~ "you may want to disable this for privacy reasons. Please note that doing "
|
||||
#~ "so won't remove already saved data."
|
||||
#~ msgstr ""
|
||||
#~ "Skalet övervakar normalt sett aktiva program för att kunna visa de mest "
|
||||
#~ "använda (t.ex. i programstartare). Då denna data kommer att hållas privat "
|
||||
#~ "så kan du inaktivera detta av integritetsskäl. Observera att göra det "
|
||||
#~ "kommer inte ta bort redan sparat data."
|
||||
|
||||
#~ msgid "disabled OpenSearch providers"
|
||||
#~ msgstr "inaktiverade OpenSearch-leverantörer"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Internally used to store the last IM presence explicitly set by the user. "
|
||||
#~ "The value here is from the TpConnectionPresenceType enumeration."
|
||||
#~ msgstr ""
|
||||
#~ "Internt använt för att lagra senaste IM-tillståndet som uttryckligen "
|
||||
#~ "ställts in av användaren. Värdet här är från TpConnectionPresenceType-"
|
||||
#~ "enumerationen."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Internally used to store the last session presence status for the user. "
|
||||
#~ "The value here is from the GsmPresenceStatus enumeration."
|
||||
#~ msgstr ""
|
||||
#~ "Internt använt för att lagra status för senaste sessionstillståndet för "
|
||||
#~ "användaren. Värdet här är från GsmPresenceStatus-enumerationen."
|
||||
|
||||
#~ msgid "Show time with seconds"
|
||||
#~ msgstr "Visa tid med sekunder"
|
||||
|
||||
#~ msgid "If true, display seconds in time."
|
||||
#~ msgstr "Om true, visa sekunder i tiden."
|
||||
|
||||
#~ msgid "Show date in clock"
|
||||
#~ msgstr "Visa datum i klocka"
|
||||
|
||||
#~ msgid "If true, display date in the clock, in addition to time."
|
||||
#~ msgstr "Om true, visa datum i klockan, i tillägg till tiden."
|
||||
|
||||
#~ msgid "Framerate used for recording screencasts."
|
||||
#~ msgstr "Bildfrekvens för inspelade skärminspelningar."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||
#~ "screencast recorder in frames-per-second."
|
||||
#~ msgstr ""
|
||||
#~ "Bildfrekvensen för skärminspelningen som spelats in av GNOME Shells "
|
||||
#~ "skärminspelare i bilder per sekund."
|
||||
|
||||
#~ msgid "The gstreamer pipeline used to encode the screencast"
|
||||
#~ msgstr ""
|
||||
#~ "Den gstreamer-rörledning som användes för att koda skärminspelningen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sets the GStreamer pipeline used to encode recordings. It follows the "
|
||||
#~ "syntax used for gst-launch. The pipeline should have an unconnected sink "
|
||||
#~ "pad where the recorded video is recorded. It will normally have a "
|
||||
#~ "unconnected source pad; output from that pad will be written into the "
|
||||
#~ "output file. However the pipeline can also take care of its own output - "
|
||||
#~ "this might be used to send the output to an icecast server via shout2send "
|
||||
#~ "or similar. When unset or set to an empty value, the default pipeline "
|
||||
#~ "will be used. This is currently 'vp8enc quality=8 speed=6 threads=%T ! "
|
||||
#~ "queue ! webmmux' and records to WEBM using the VP8 codec. %T is used as a "
|
||||
#~ "placeholder for a guess at the optimal thread count on the system."
|
||||
#~ msgstr ""
|
||||
#~ "Ställer in GStreamer-rörledningen som används för att koda inspelningar. "
|
||||
#~ "Den följer det syntax som används för gst-launch. Rörledningen bör ha en "
|
||||
#~ "oansluten sink pad där den inspelade videon spelas in. Den kommer "
|
||||
#~ "vanligtvis har en oansluten source pad; utmatning från denna pad kommer "
|
||||
#~ "att skrivas till utmatningsfilen. Dock kan rörledningen också ta hand om "
|
||||
#~ "sin egna utmatning - detta kan användas för att skicka utmatningen till "
|
||||
#~ "en icecast-server via shout2send eller liknande. När den inte är inställd "
|
||||
#~ "eller inställd till ett tomt värde så kommer standardrörledningen att "
|
||||
#~ "användas. Detta är för närvarande \"vp8enc quality=8 speed=6 threads=%T ! "
|
||||
#~ "queue ! webmmux\" och inspelningar till WEBM använder kodeken VP8. %T "
|
||||
#~ "används som en platshållare för en gissning av det optimala trådantalet "
|
||||
#~ "på systemet."
|
||||
|
||||
#~ msgid "File extension used for storing the screencast"
|
||||
#~ msgstr "Filändelse att använda för lagring av skärminspelningen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "The filename for recorded screencasts will be a unique filename based on "
|
||||
#~ "the current date, and use this extension. It should be changed when "
|
||||
#~ "recording to a different container format."
|
||||
#~ msgstr ""
|
||||
#~ "Filnamnet för skärminspelningar kommer att vara ett unikt filnamn baserat "
|
||||
#~ "på aktuellt datum och använder denna filändelse. Den bör ändras när "
|
||||
#~ "inspelningar sker i andra containerformat."
|
||||
|
||||
#~ msgid "Session..."
|
||||
#~ msgstr "Session..."
|
||||
|
||||
#~ msgctxt "title"
|
||||
#~ msgid "Sign In"
|
||||
#~ msgstr "Logga in"
|
||||
|
||||
#~ msgid "Restart"
|
||||
#~ msgstr "Starta om"
|
||||
|
||||
#~ msgid "APPLICATIONS"
|
||||
#~ msgstr "PROGRAM"
|
||||
|
||||
#~ msgid "SETTINGS"
|
||||
#~ msgstr "INSTÄLLNINGAR"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%H:%M"
|
||||
#~ msgstr "%H.%M"
|
||||
|
||||
#~ msgctxt "event list time"
|
||||
#~ msgid "%l:%M %p"
|
||||
#~ msgstr "%I.%M %p"
|
||||
|
||||
#~ msgid "Available"
|
||||
#~ msgstr "Tillgänglig"
|
||||
|
||||
#~ msgid "Away"
|
||||
#~ msgstr "Borta"
|
||||
|
||||
#~ msgid "Busy"
|
||||
#~ msgstr "Upptagen"
|
||||
|
||||
#~ msgid "CONTACTS"
|
||||
#~ msgstr "KONTAKTER"
|
||||
|
||||
#~ msgid "%a %b %e, %R:%S"
|
||||
#~ msgstr "%a %e %b, %R.%S"
|
||||
|
||||
#~ msgid "%a %b %e, %R"
|
||||
#~ msgstr "%a %e %b, %R"
|
||||
|
||||
#~ msgid "%a %R:%S"
|
||||
#~ msgstr "%a %R.%S"
|
||||
|
||||
#~ msgid "%a %R"
|
||||
#~ msgstr "%a %R"
|
||||
|
||||
#~ msgid "%a %b %e, %l:%M:%S %p"
|
||||
#~ msgstr "%a %e %b, %I.%M.%S %p"
|
||||
|
||||
#~ msgid "%a %l:%M:%S %p"
|
||||
#~ msgstr "%a %I.%M.%S %p"
|
||||
|
||||
#~ msgid "Click Log Out to quit these applications and log out of the system."
|
||||
#~ msgstr ""
|
||||
#~ "Klicka på Logga ut för att avsluta dessa program och logga ut från "
|
||||
#~ "systemet."
|
||||
|
||||
#~ msgid "Logging out of the system."
|
||||
#~ msgstr "Loggar ut från systemet."
|
||||
|
||||
#~ msgid "Click Power Off to quit these applications and power off the system."
|
||||
#~ msgstr ""
|
||||
#~ "Klicka på Stäng av för att avsluta dessa program och stänga av systemet."
|
||||
|
||||
#~ msgid "Powering off the system."
|
||||
#~ msgstr "Stänger av systemet."
|
||||
|
||||
#~ msgid "Click Restart to quit these applications and restart the system."
|
||||
#~ msgstr ""
|
||||
#~ "Klicka på Starta om för att avsluta dessa program och starta om systemet."
|
||||
|
||||
#~ msgid "Restarting the system."
|
||||
#~ msgstr "Starta om systemet."
|
||||
|
||||
#~ msgid "tray"
|
||||
#~ msgstr "bricka"
|
||||
|
||||
#~ msgid "Screencast from %d %t"
|
||||
#~ msgstr "Skärminspelning från %d %t"
|
||||
|
||||
#~ msgid "Failed to unmount '%s'"
|
||||
#~ msgstr "Misslyckades med att avmontera \"%s\""
|
||||
|
||||
#~ msgid "Retry"
|
||||
#~ msgstr "Försök igen"
|
||||
|
||||
#~ msgid "Connect to..."
|
||||
#~ msgstr "Anslut till..."
|
||||
|
||||
#~ msgid "PLACES & DEVICES"
|
||||
#~ msgstr "PLATSER OCH ENHETER"
|
||||
|
||||
#~ msgid "Wrong password, please try again"
|
||||
#~ msgstr "Felaktigt lösenord. Försök igen"
|
||||
|
||||
#~ msgid "Universal Access Settings"
|
||||
#~ msgstr "Inställningar för hjälpmedel"
|
||||
|
||||
#~ msgid "Visibility"
|
||||
#~ msgstr "Synlighet"
|
||||
|
||||
#~ msgid "Send Files to Device..."
|
||||
#~ msgstr "Skicka filer till enhet..."
|
||||
|
||||
#~ msgid "Set up a New Device..."
|
||||
#~ msgstr "Konfigurera en ny enhet..."
|
||||
|
||||
#~ msgid "Send Files..."
|
||||
#~ msgstr "Skicka filer..."
|
||||
|
||||
#~ msgid "Browse Files..."
|
||||
#~ msgstr "Bläddra efter filer..."
|
||||
|
||||
#~ msgid "Error browsing device"
|
||||
#~ msgstr "Fel vid bläddring i enheten"
|
||||
|
||||
#~ msgid "The requested device cannot be browsed, error is '%s'"
|
||||
#~ msgstr "Den begärda enheten kan inte bläddras. Felet är \"%s\""
|
||||
|
||||
#~ msgid "Keyboard Settings"
|
||||
#~ msgstr "Tangentbordsinställningar"
|
||||
|
||||
#~ msgid "Sound Settings"
|
||||
#~ msgstr "Ljudinställningar"
|
||||
|
||||
#~ msgid "Authorization request from %s"
|
||||
#~ msgstr "Auktoriseringsbegäran från %s"
|
||||
|
||||
#~ msgid "Device %s wants access to the service '%s'"
|
||||
#~ msgstr "Enheten %s vill ha åtkomst till tjänsten \"%s\""
|
||||
|
||||
#~ msgid "Always grant access"
|
||||
#~ msgstr "Tillåt alltid åtkomst"
|
||||
|
||||
#~ msgid "Grant this time only"
|
||||
#~ msgstr "Tillåt för denna gång"
|
||||
|
||||
#~ msgid "Reject"
|
||||
#~ msgstr "Neka"
|
||||
|
||||
#~ msgid "Pairing confirmation for %s"
|
||||
#~ msgstr "Bekräftelse av ihopparning för %s"
|
||||
|
||||
#~ msgid "Device %s wants to pair with this computer"
|
||||
#~ msgstr "Enheten %s vill paras ihop med denna dator"
|
||||
|
||||
#~ msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||
#~ msgstr "Bekräfta huruvida PIN-koden \"%s\" stämmer med den på enheten."
|
||||
|
||||
#~ msgid "Matches"
|
||||
#~ msgstr "Stämmer"
|
||||
|
||||
#~ msgid "Does not match"
|
||||
#~ msgstr "Stämmer inte"
|
||||
|
||||
#~ msgid "Pairing request for %s"
|
||||
#~ msgstr "Ihopparningsbegäran för %s"
|
||||
|
||||
#~ msgid "Please enter the PIN mentioned on the device."
|
||||
#~ msgstr "Ange PIN-koden som anges på enheten."
|
||||
|
||||
#~ msgid "OK"
|
||||
#~ msgstr "OK"
|
||||
|
||||
#~ msgid "Region and Language Settings"
|
||||
#~ msgstr "Inställningar för region och språk"
|
||||
|
||||
#~ msgid "disabled"
|
||||
#~ msgstr "inaktiverad"
|
||||
|
||||
#~ msgid "cable unplugged"
|
||||
#~ msgstr "kabeln är inte ansluten"
|
||||
|
||||
#~ msgid "More..."
|
||||
#~ msgstr "Mer..."
|
||||
|
||||
#~ msgid "Auto Ethernet"
|
||||
#~ msgstr "Automatiskt ethernet"
|
||||
|
||||
#~ msgid "Auto broadband"
|
||||
#~ msgstr "Automatiskt bredband"
|
||||
|
||||
#~ msgid "Auto dial-up"
|
||||
#~ msgstr "Automatiskt uppringt nätverk"
|
||||
|
||||
#~ msgid "Auto %s"
|
||||
#~ msgstr "Automatiskt %s"
|
||||
|
||||
#~ msgid "Auto bluetooth"
|
||||
#~ msgstr "Automatisk Bluetooth"
|
||||
|
||||
#~ msgid "Auto wireless"
|
||||
#~ msgstr "Automatiskt trådlöst nätverk"
|
||||
|
||||
#~ msgid "Wired"
|
||||
#~ msgstr "Trådbundet"
|
||||
|
||||
#~ msgid "Wireless"
|
||||
#~ msgstr "Trådlöst"
|
||||
|
||||
#~ msgid "VPN Connections"
|
||||
#~ msgstr "VPN-anslutningar"
|
||||
|
||||
#~ msgid "Networking is disabled"
|
||||
#~ msgstr "Nätverk är inaktiverat"
|
||||
|
||||
#~ msgid "%d hour remaining"
|
||||
#~ msgid_plural "%d hours remaining"
|
||||
#~ msgstr[0] "%d timme återstår"
|
||||
#~ msgstr[1] "%d timmar återstår"
|
||||
|
||||
#~ msgid "%d %s %d %s remaining"
|
||||
#~ msgstr "%d %s %d %s återstår"
|
||||
|
||||
#~ msgid "hour"
|
||||
#~ msgid_plural "hours"
|
||||
#~ msgstr[0] "timme"
|
||||
#~ msgstr[1] "timmar"
|
||||
|
||||
#~ msgid "minute"
|
||||
#~ msgid_plural "minutes"
|
||||
#~ msgstr[0] "minut"
|
||||
#~ msgstr[1] "minuter"
|
||||
|
||||
#~ msgid "%d minute remaining"
|
||||
#~ msgid_plural "%d minutes remaining"
|
||||
#~ msgstr[0] "%d minut återstår"
|
||||
#~ msgstr[1] "%d minuter återstår"
|
||||
|
||||
#~ msgctxt "percent of battery remaining"
|
||||
#~ msgid "%d%%"
|
||||
#~ msgstr "%d%%"
|
||||
|
||||
#~ msgid "AC adapter"
|
||||
#~ msgstr "Extern ström"
|
||||
|
||||
#~ msgid "Laptop battery"
|
||||
#~ msgstr "Batteri i bärbar dator"
|
||||
|
||||
#~ msgid "Monitor"
|
||||
#~ msgstr "Skärm"
|
||||
|
||||
#~ msgid "Mouse"
|
||||
#~ msgstr "Mus"
|
||||
|
||||
#~ msgid "PDA"
|
||||
#~ msgstr "Handdator"
|
||||
|
||||
#~ msgid "Cell phone"
|
||||
#~ msgstr "Mobiltelefon"
|
||||
|
||||
#~ msgid "Media player"
|
||||
#~ msgstr "Mediaspelare"
|
||||
|
||||
#~ msgid "Tablet"
|
||||
#~ msgstr "Pekdator"
|
||||
|
||||
#~ msgid "Computer"
|
||||
#~ msgstr "Dator"
|
||||
|
||||
#~ msgid "Subscription request"
|
||||
#~ msgstr "Auktoriseringsbegäran"
|
||||
|
||||
#~ msgid "Connection error"
|
||||
#~ msgstr "Anslutningsfel"
|
||||
|
||||
#~ msgid "%s is online."
|
||||
#~ msgstr "%s är ansluten."
|
||||
|
||||
#~ msgid "%s is offline."
|
||||
#~ msgstr "%s är frånkopplad."
|
||||
|
||||
#~ msgid "%s is away."
|
||||
#~ msgstr "%s är frånvarande."
|
||||
|
||||
#~ msgid "%s is busy."
|
||||
#~ msgstr "%s är upptagen."
|
||||
|
||||
#~ msgid "Sent at <b>%X</b> on <b>%A</b>"
|
||||
#~ msgstr "Skickades klockan <b>%X</b> den <b>%A</b>"
|
||||
|
||||
#~ msgid "Sent on <b>%A</b>, <b>%B %d</b>, %Y"
|
||||
#~ msgstr "Skickades <b>%A</b> <b>%d %B</b>, %Y"
|
||||
|
||||
#~ msgid "Connection to %s failed"
|
||||
#~ msgstr "Anslutningen till %s misslyckades"
|
||||
|
||||
#~ msgid "Reconnect"
|
||||
#~ msgstr "Återanslut"
|
||||
|
||||
#~ msgid "Hidden"
|
||||
#~ msgstr "Dold"
|
||||
|
||||
#~ msgid "Idle"
|
||||
#~ msgstr "Overksam"
|
||||
|
||||
#~ msgid "Power Off..."
|
||||
#~ msgstr "Stäng av..."
|
||||
|
||||
#~ msgid "Online Accounts"
|
||||
#~ msgstr "Nätkonton"
|
||||
|
||||
#~ msgid "System Settings"
|
||||
#~ msgstr "Systeminställningar"
|
||||
|
||||
#~ msgid "Lock Screen"
|
||||
#~ msgstr "Lås skärmen"
|
||||
|
||||
#~ msgid "Log Out..."
|
||||
#~ msgstr "Logga ut..."
|
||||
|
||||
#~ msgid "Your chat status will be set to busy"
|
||||
#~ msgstr "Din chattstatus kommer att ställas in till upptagen"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Notifications are now disabled, including chat messages. Your online "
|
||||
#~ "status has been adjusted to let others know that you might not see their "
|
||||
#~ "messages."
|
||||
#~ msgstr ""
|
||||
#~ "Notifieringar är nu inaktiverade, inklusive chattmeddelanden. Din "
|
||||
#~ "anslutningsstatus har ändrats till att låta andra veta att du kanske inte "
|
||||
#~ "ser deras meddelanden."
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Sorry, no wisdom for you today:\n"
|
||||
#~ "%s"
|
||||
#~ msgstr ""
|
||||
#~ "Tyvärr, inga visdomsord till dig idag:\n"
|
||||
#~ "%s"
|
||||
|
||||
#~ msgid "%s the Oracle says"
|
||||
#~ msgstr "Oraklet %s säger"
|
||||
|
||||
#~ msgid "Your favorite Easter Egg"
|
||||
#~ msgstr "Ditt favorit-påskägg"
|
||||
|
||||
#~ msgid "United Kingdom"
|
||||
#~ msgstr "Storbritannien"
|
||||
|
||||
#~ msgid "Default"
|
||||
#~ msgstr "Standard"
|
||||
|
||||
#~ msgid "Home"
|
||||
#~ msgstr "Hem"
|
||||
|
||||
#~ msgid "%1$s: %2$s"
|
||||
#~ msgstr "%1$s: %2$s"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "GNOME Shell extensions have a uuid property; this key lists extensions "
|
||||
#~ "which should be loaded. disabled-extensions overrides this setting for "
|
||||
#~ "extensions that appear in both lists."
|
||||
#~ msgstr ""
|
||||
#~ "GNOME Shell-tillägg har en uuid-egenskap; denna nyckel listar tillägg som "
|
||||
#~ "ska läsas in. disabled-extensions åsidosätter denna inställning för "
|
||||
#~ "tillägg som visas i båda listorna."
|
||||
|
||||
#~ msgid "RECENT ITEMS"
|
||||
#~ msgstr "TIDIGARE OBJEKT"
|
||||
|
||||
#~ msgid "Show password"
|
||||
#~ msgstr "Visa lösenord"
|
||||
|
||||
#~ msgid "Home Folder"
|
||||
#~ msgstr "Hemmapp"
|
||||
|
||||
#~ msgid "%s has finished starting"
|
||||
#~ msgstr "%s har startat"
|
||||
|
||||
#~ msgid "If true, display onscreen keyboard."
|
||||
#~ msgstr "Om true, visa skärmtangentbord."
|
||||
|
||||
#~ msgid "Show the onscreen keyboard"
|
||||
#~ msgstr "Visa skärmtangentbordet"
|
||||
|
||||
#~ msgid "Connectivity lost"
|
||||
#~ msgstr "Anslutningen förlorades"
|
||||
|
||||
#~ msgid "You're no longer connected to the network"
|
||||
#~ msgstr "Du är inte längre ansluten till nätverket"
|
||||
|
||||
#~ msgid "Do Not Disturb"
|
||||
#~ msgstr "Stör inte"
|
||||
|
||||
#~ msgid "calendar:week_start:0"
|
||||
#~ msgstr "calendar:week_start:1"
|
||||
|
||||
#~ msgid "Uuids of extensions to disable"
|
||||
#~ msgstr "Uuid:er för tillägg att inaktivera"
|
||||
|
||||
#~ msgid "You're now connected to mobile broadband connection '%s'"
|
||||
#~ msgstr "Du är nu ansluten till mobila bredbandsanslutningen \"%s\""
|
||||
|
||||
#~ msgid "You're now connected to wireless network '%s'"
|
||||
#~ msgstr "Du är nu ansluten till trådlösa nätverket \"%s\""
|
||||
|
||||
#~ msgid "You're now connected to VPN network '%s'"
|
||||
#~ msgstr "Du är nu ansluten till VPN-nätverket \"%s\""
|
||||
|
||||
#~ msgid "Localization Settings"
|
||||
#~ msgstr "Språkinställningar"
|
||||
|
||||
#~ msgid "Less than a minute ago"
|
||||
#~ msgstr "Mindre än en minut sedan"
|
||||
|
||||
#~ msgid "%d minute ago"
|
||||
#~ msgid_plural "%d minutes ago"
|
||||
#~ msgstr[0] "%d minut sedan"
|
||||
#~ msgstr[1] "%d minuter sedan"
|
||||
|
||||
#~ msgid "%d hour ago"
|
||||
#~ msgid_plural "%d hours ago"
|
||||
#~ msgstr[0] "%d timme sedan"
|
||||
#~ msgstr[1] "%d timmar sedan"
|
||||
|
||||
#~ msgid "%d day ago"
|
||||
#~ msgid_plural "%d days ago"
|
||||
#~ msgstr[0] "%d dag sedan"
|
||||
#~ msgstr[1] "%d dagar sedan"
|
||||
|
||||
#~ msgid "%d week ago"
|
||||
#~ msgid_plural "%d weeks ago"
|
||||
#~ msgstr[0] "%d vecka sedan"
|
||||
#~ msgstr[1] "%d veckor sedan"
|
||||
|
||||
#, fuzzy
|
||||
#~ msgid "Shut Down"
|
||||
#~ msgstr "Stäng av..."
|
||||
|
||||
#~ msgid "Customize the panel clock"
|
||||
#~ msgstr "Anpassa panelklockan"
|
||||
|
||||
#~ msgid "Custom format of the clock"
|
||||
#~ msgstr "Anpassat format för klockan"
|
||||
|
||||
#~ msgid "Hour format"
|
||||
#~ msgstr "Timmesformat"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "If true and format is either \"12-hour\" or \"24-hour\", display seconds "
|
||||
#~ "in time."
|
||||
#~ msgstr ""
|
||||
#~ "Om true och formatet antingen är \"12-hour\" eller \"24-hour\", visa "
|
||||
#~ "sekunder i tiden."
|
||||
|
||||
#~ msgid "Enable lens mode"
|
||||
#~ msgstr "Aktivera linsläge"
|
||||
|
||||
#~ msgid "Magnification factor"
|
||||
#~ msgstr "Förstoringsfaktor"
|
||||
|
||||
#~ msgid "Screen position"
|
||||
#~ msgstr "Skärmposition"
|
||||
|
||||
#~ msgid "Clock Format"
|
||||
#~ msgstr "Klockformat"
|
||||
|
||||
#~ msgid "Clock Preferences"
|
||||
#~ msgstr "Klockinställningar"
|
||||
|
||||
#~ msgid "Panel Display"
|
||||
#~ msgstr "Panelvisning"
|
||||
|
||||
#~ msgid "Show seco_nds"
|
||||
#~ msgstr "Visa seku_nder"
|
||||
|
||||
#~ msgid "_12 hour format"
|
||||
#~ msgstr "_12-timmarsformat"
|
||||
|
||||
#~ msgid "_24 hour format"
|
||||
#~ msgstr "_24-timmarsformat"
|
||||
|
||||
#~ msgid "PREFERENCES"
|
||||
#~ msgstr "INSTÄLLNINGAR"
|
||||
|
||||
#~ msgid "Preferences"
|
||||
#~ msgstr "Inställningar"
|
||||
|
||||
#~ msgid "Search your computer"
|
||||
#~ msgstr "Sök i din dator"
|
||||
|
||||
#~ msgid ""
|
||||
#~ "Can't add a new workspace because maximum workspaces limit has been "
|
||||
#~ "reached."
|
||||
#~ msgstr ""
|
||||
#~ "Kan inte lägga till en ny arbetsyta eftersom maximalt antal arbetsytor "
|
||||
#~ "har uppnåtts."
|
||||
|
||||
#~ msgid "Can't remove the first workspace."
|
||||
#~ msgstr "Kan inte ta bort första arbetsytan."
|
||||
|
||||
#~ msgid "Drag here to add favorites"
|
||||
#~ msgstr "Dra hit för att lägga till favorit"
|
||||
|
||||
#~ msgid "Find"
|
||||
#~ msgstr "Sök"
|
||||
|
||||
#~ msgid "ON"
|
||||
#~ msgstr "PÅ"
|
||||
|
||||
#~ msgid "OFF"
|
||||
#~ msgstr "AV"
|
||||
|
||||
#~ msgid "Invisible"
|
||||
#~ msgstr "Osynlig"
|
||||
|
||||
#~ msgid "PLACES"
|
||||
#~ msgstr "PLATSER"
|
||||
|
||||
#~ msgid "SEARCH RESULTS"
|
||||
#~ msgstr "SÖKRESULTAT"
|
||||
|
||||
#~ msgid "Recent Documents"
|
||||
#~ msgstr "Senaste dokument"
|
||||
|
||||
#~ msgid "(see all)"
|
||||
#~ msgstr "(se alla)"
|
||||
|
||||
#~ msgid "Can't lock screen: %s"
|
||||
#~ msgstr "Kan inte låsa skärmen: %s"
|
||||
|
||||
#~ msgid "Can't temporarily set screensaver to blank screen: %s"
|
||||
#~ msgstr "Kan inte temporärt ställa in skärmsläckaren till blank skärm: %s"
|
||||
|
||||
#~ msgid "Can't logout: %s"
|
||||
#~ msgstr "Kan inte logga ut: %s"
|
||||
|
||||
#~ msgid "Sidebar"
|
||||
#~ msgstr "Sidopanel"
|
||||
|
||||
#~ msgid "Browse"
|
||||
#~ msgstr "Bläddra"
|
||||
|
||||
#~ msgid "Find apps or documents"
|
||||
#~ msgstr "Hitta program eller dokument"
|
||||
|
||||
#~ msgid "DOCUMENTS"
|
||||
#~ msgstr "DOKUMENT"
|
||||
|
||||
#~ msgid "The user manager object this user is controlled by."
|
||||
#~ msgstr "Användarhanteringsobjektet som denna användare styrs av."
|
||||
|
235
po/tr.po
@ -1,28 +1,29 @@
|
||||
# Turkish translation of gnome-shell
|
||||
# Copyright (C) 2009, 2011 the Free Software Foundation, Inc.
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# Baris Cicek <baris@teamforce.name.tr>, 2009.
|
||||
# ercin <ercin@linux.org.tr>, 2011.
|
||||
# Osman Karagöz <osmank3@gmail.com>, 2013.
|
||||
# Bayram Güçlü <byrmgcl@yandex.com.tr>, 2014.
|
||||
# sabri ünal <yakushabb@gmail.com>, 2014.
|
||||
# Gökhan Gurbetoğlu <ggurbet@gmail.com>, 2014.
|
||||
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2013, 2014.
|
||||
#
|
||||
# Muhammet Kara <muhammetk@gmail.com>, 2011, 2012, 2013, 2014, 2015.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2014-12-13 08:33+0000\n"
|
||||
"PO-Revision-Date: 2014-12-13 17:43+0000\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2015-02-13 20:42+0000\n"
|
||||
"PO-Revision-Date: 2015-02-14 09:45+0300\n"
|
||||
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||
"Language-Team: gnome-turk@gnome.org\n"
|
||||
"Language: tr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Language: tr_TR\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Virtaal 0.7.1\n"
|
||||
"X-Project-Style: gnome\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -71,13 +72,16 @@ msgstr "GNOME Kabuğu (wayland bestecisi)"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||
msgstr "Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir"
|
||||
msgstr ""
|
||||
"Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||
msgid ""
|
||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||
"dialog."
|
||||
msgstr "Alt-F2 kutucuğu ile bütünleşik hata ayıklama ve izleme uygulamalarına erişim sağlar."
|
||||
msgstr ""
|
||||
"Alt-F2 kutucuğu ile bütünleşik hata ayıklama ve izleme uygulamalarına erişim "
|
||||
"sağlar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||
msgid "UUIDs of extensions to enable"
|
||||
@ -85,11 +89,16 @@ msgstr "Etkinleştirilecek uzantıların UUID'si"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||
msgid ""
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which"
|
||||
" should be loaded. Any extension that wants to be loaded needs to be in this"
|
||||
" list. You can also manipulate this list with the EnableExtension and "
|
||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
||||
"list. You can also manipulate this list with the EnableExtension and "
|
||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||
msgstr "GNOME Kabuğu eklentilerinde UUID adlı bir özellik bulunur; bu anahtar, yüklenmesi gereken uzantıları listeler. Yüklenmesi istenen her tür uzantının bu listede olması gerekir. Ayrıca bu listeyi, org.gnome.Shell üzerindeki EnableExtension ve DisableExtension DBus yöntemleri ile de değiştirebilirsiniz."
|
||||
msgstr ""
|
||||
"GNOME Kabuğu eklentilerinde UUID adlı bir özellik bulunur; bu anahtar, "
|
||||
"yüklenmesi gereken uzantıları listeler. Yüklenmesi istenen her tür uzantının "
|
||||
"bu listede olması gerekir. Ayrıca bu listeyi, org.gnome.Shell üzerindeki "
|
||||
"EnableExtension ve DisableExtension DBus yöntemleri ile de "
|
||||
"değiştirebilirsiniz."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||
msgid "Disables the validation of extension version compatibility"
|
||||
@ -100,7 +109,11 @@ msgid ""
|
||||
"GNOME Shell will only load extensions that claim to support the current "
|
||||
"running version. Enabling this option will disable this check and try to "
|
||||
"load all extensions regardless of the versions they claim to support."
|
||||
msgstr "GNOME Kabuğu sadece mevcut çalışan sürümü desteklediklerini ileri süren uzantıları yükleyecektir. Bu seçeneği etkinleştirmek bu denetimi devre dışı bırakacak ve desteklendiği ileri sürülen sürümleri dikkate almaksızın, tüm uygulamaları yüklemeye çalışacaktır."
|
||||
msgstr ""
|
||||
"GNOME Kabuğu sadece mevcut çalışan sürümü desteklediklerini ileri süren "
|
||||
"uzantıları yükleyecektir. Bu seçeneği etkinleştirmek bu denetimi devre dışı "
|
||||
"bırakacak ve desteklendiği ileri sürülen sürümleri dikkate almaksızın, tüm "
|
||||
"uygulamaları yüklemeye çalışacaktır."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||
msgid "List of desktop file IDs for favorite applications"
|
||||
@ -108,9 +121,10 @@ msgstr "Sık kullanılan uygulamalar için masa üstü dosyalarının ID listesi
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||
msgid ""
|
||||
"The applications corresponding to these identifiers will be displayed in the"
|
||||
" favorites area."
|
||||
msgstr "Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek."
|
||||
"The applications corresponding to these identifiers will be displayed in the "
|
||||
"favorites area."
|
||||
msgstr ""
|
||||
"Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||
msgid "App Picker View"
|
||||
@ -134,14 +148,17 @@ msgstr "Kullanıcı menüsünde 'Oturumu Kapat' menü öğesini daima göster."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
||||
msgid ""
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in "
|
||||
"single-user, single-session situations."
|
||||
msgstr "Bu ayar tek kullanıcı oturum açtığında 'Oturumu Kapat' menü ögesinin gizlenmesini önler."
|
||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
||||
"user, single-session situations."
|
||||
msgstr ""
|
||||
"Bu ayar tek kullanıcı oturum açtığında 'Oturumu Kapat' menü ögesinin "
|
||||
"gizlenmesini önler."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||
msgid ""
|
||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||
msgstr "Şifreli ya da uzak dosya sistemlerini bağlamak için parolanın hatırlanması"
|
||||
msgstr ""
|
||||
"Şifreli ya da uzak dosya sistemlerini bağlamak için parolanın hatırlanması"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:16
|
||||
msgid ""
|
||||
@ -149,7 +166,11 @@ msgid ""
|
||||
"filesystem is mounted. If the password can be saved for future use a "
|
||||
"'Remember Password' checkbox will be present. This key sets the default "
|
||||
"state of the checkbox."
|
||||
msgstr "Kabuk, şifreli bir cihaz ya da uzak dosya sistemi bağlandığında parola isteyecek. Eğer parola gelecekte kullanılmak üzere kaydedilebiliyorsa, 'Parolayı Hatırla' onay kutusu sunulacak. Bu anahtar, onay kutusunun öntanımlı durumunu belirler."
|
||||
msgstr ""
|
||||
"Kabuk, şifreli bir cihaz ya da uzak dosya sistemi bağlandığında parola "
|
||||
"isteyecek. Eğer parola gelecekte kullanılmak üzere kaydedilebiliyorsa, "
|
||||
"'Parolayı Hatırla' onay kutusu sunulacak. Bu anahtar, onay kutusunun "
|
||||
"öntanımlı durumunu belirler."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:17
|
||||
msgid "Show the week date in the calendar"
|
||||
@ -173,9 +194,10 @@ msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:22
|
||||
msgid ""
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities "
|
||||
"Overview."
|
||||
msgstr "Etkinlikler Genel Görünümünün \"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu."
|
||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
||||
msgstr ""
|
||||
"Etkinlikler Genel Görünümünün \"Uygulamaları Göster\" görünümünü açmak için "
|
||||
"klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:23
|
||||
msgid "Keybinding to open the overview"
|
||||
@ -203,9 +225,10 @@ msgstr "Etkin bildirime odaklanmak için klavye kısayolu."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:29
|
||||
msgid ""
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging "
|
||||
"purposes"
|
||||
msgstr "Hata ayıklama amacıyla, çalışmakta olan tüm ara çerçeveleri duraklatan ve devam ettiren tuş bağı."
|
||||
"Keybinding that pauses and resumes all running tweens, for debugging purposes"
|
||||
msgstr ""
|
||||
"Hata ayıklama amacıyla, çalışmakta olan tüm ara çerçeveleri duraklatan ve "
|
||||
"devam ettiren tuş bağı."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:30
|
||||
msgid "Which keyboard to use"
|
||||
@ -223,7 +246,10 @@ msgstr "Geçiş menüsünü geçerli çalışma alanıyla sınırla."
|
||||
msgid ""
|
||||
"If true, only applications that have windows on the current workspace are "
|
||||
"shown in the switcher. Otherwise, all applications are included."
|
||||
msgstr "Eğer bu seçenek etkinse, sadece geçerli çalışma alanında penceresi olan uygulamalar geçiş menüsünde gösterilir. Aksi halde, tüm uygulamalar görünecektir."
|
||||
msgstr ""
|
||||
"Eğer bu seçenek etkinse, sadece geçerli çalışma alanında penceresi olan "
|
||||
"uygulamalar geçiş menüsünde gösterilir. Aksi halde, tüm uygulamalar "
|
||||
"görünecektir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||
msgid "The application icon mode."
|
||||
@ -232,15 +258,21 @@ msgstr "Uygulama simge kipi."
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||
msgid ""
|
||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' "
|
||||
"(shows only the application icon) or 'both'."
|
||||
msgstr "Pencerelerin değiştiricideki gösterim şeklini yapılandırır. Uygun olasılıklar; 'thumbnail-only' (pencerenin küçük bir resmini gösterir), 'app-icon-only' (sadece uygulama simgesini gösterir) ya da 'both' (her ikisi) değerleridir."
|
||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
||||
"only' (shows only the application icon) or 'both'."
|
||||
msgstr ""
|
||||
"Pencerelerin değiştiricideki gösterim şeklini yapılandırır. Uygun "
|
||||
"olasılıklar; 'thumbnail-only' (pencerenin küçük bir resmini gösterir), 'app-"
|
||||
"icon-only' (sadece uygulama simgesini gösterir) ya da 'both' (her ikisi) "
|
||||
"değerleridir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||
msgid ""
|
||||
"If true, only windows from the current workspace are shown in the switcher. "
|
||||
"Otherwise, all windows are included."
|
||||
msgstr "Eğer bu seçenek etkinse, sadece geçerli çalışma alanındaki pencereler geçiş menüsünde gösterilir. Aksi halde, tüm pencereler görünecektir."
|
||||
msgstr ""
|
||||
"Eğer bu seçenek etkinse, sadece geçerli çalışma alanındaki pencereler geçiş "
|
||||
"menüsünde gösterilir. Aksi halde, tüm pencereler görünecektir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||
msgid "Attach modal dialog to the parent window"
|
||||
@ -249,11 +281,14 @@ msgstr "Yardımcı iletişim penceresini üst pencereye iliştir"
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||
msgid ""
|
||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||
msgstr "Bu anahtar, GNOME Shell çalışırken org.gnome.mutter içindeki anahtarı geçersiz kılar."
|
||||
msgstr ""
|
||||
"Bu anahtar, GNOME Shell çalışırken org.gnome.mutter içindeki anahtarı "
|
||||
"geçersiz kılar."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||
msgstr "Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
|
||||
msgstr ""
|
||||
"Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
||||
msgid "Workspaces are managed dynamically"
|
||||
@ -265,7 +300,8 @@ msgstr "Çalışma alanları sadece birincil ekranda"
|
||||
|
||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:42
|
||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||
msgstr "Fare kipinde odak değişikliklerini işaretçi hareketi durana kadar beklet"
|
||||
msgstr ""
|
||||
"Fare kipinde odak değişikliklerini işaretçi hareketi durana kadar beklet"
|
||||
|
||||
#: ../data/org.gnome.Shell.PortalHelper.desktop.in.h:1
|
||||
msgid "Network Login"
|
||||
@ -301,25 +337,25 @@ msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "Giriş"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:275
|
||||
#: ../js/gdm/loginDialog.js:276
|
||||
msgid "Choose Session"
|
||||
msgstr "Oturum Seçin"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:434
|
||||
#: ../js/gdm/loginDialog.js:417
|
||||
msgid "Not listed?"
|
||||
msgstr "Listede yok mu?"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:619
|
||||
#: ../js/gdm/loginDialog.js:822
|
||||
#, javascript-format
|
||||
msgid "(e.g., user or %s)"
|
||||
msgstr "(örneğin, kullanıcı veya %s)"
|
||||
|
||||
#: ../js/gdm/loginDialog.js:624 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/gdm/loginDialog.js:827 ../js/ui/components/networkAgent.js:269
|
||||
#: ../js/ui/components/networkAgent.js:287
|
||||
msgid "Username: "
|
||||
msgstr "Kullanıcı Adı: "
|
||||
|
||||
#: ../js/gdm/loginDialog.js:955
|
||||
#: ../js/gdm/loginDialog.js:1159
|
||||
msgid "Login Window"
|
||||
msgstr "Oturum Açma Penceresi"
|
||||
|
||||
@ -344,35 +380,37 @@ msgstr "Komut işlenemedi:"
|
||||
msgid "Execution of “%s” failed:"
|
||||
msgstr "“%s” çalıştırılması başarısız:"
|
||||
|
||||
#. TRANSLATORS: this is the title of the wifi captive portal login
|
||||
#. * window, until we know the title of the actual login page */
|
||||
#: ../js/portalHelper/main.js:85
|
||||
msgid "Web Authentication Redirect"
|
||||
msgstr "Web Kimlik Doğrulama Yönlendirmesi"
|
||||
|
||||
#: ../js/ui/appDisplay.js:770
|
||||
#: ../js/ui/appDisplay.js:785
|
||||
msgid "Frequently used applications will appear here"
|
||||
msgstr "Sık kullanılan uygulamalar burada yer alacak"
|
||||
|
||||
#: ../js/ui/appDisplay.js:881
|
||||
#: ../js/ui/appDisplay.js:905
|
||||
msgid "Frequent"
|
||||
msgstr "Sık sık"
|
||||
|
||||
#: ../js/ui/appDisplay.js:888
|
||||
#: ../js/ui/appDisplay.js:912
|
||||
msgid "All"
|
||||
msgstr "Hepsi"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1789
|
||||
#: ../js/ui/appDisplay.js:1824
|
||||
msgid "New Window"
|
||||
msgstr "Yeni Pencere"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1815 ../js/ui/dash.js:285
|
||||
#: ../js/ui/appDisplay.js:1854 ../js/ui/dash.js:289
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Sık Kullanılanlardan Çıkar"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1821
|
||||
#: ../js/ui/appDisplay.js:1860
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Sık Kullanılanlara Ekle"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1830
|
||||
#: ../js/ui/appDisplay.js:1870
|
||||
msgid "Show Details"
|
||||
msgstr "Ayrıntıları Göster"
|
||||
|
||||
@ -395,8 +433,7 @@ msgstr "Ayarlar"
|
||||
msgid "Change Background…"
|
||||
msgstr "Arkaplanı Değiştir…"
|
||||
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0"
|
||||
#. (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). */
|
||||
#: ../js/ui/calendar.js:39
|
||||
msgctxt "calendar-no-work"
|
||||
msgid "06"
|
||||
@ -518,42 +555,42 @@ msgctxt "list saturday"
|
||||
msgid "S"
|
||||
msgstr "Ct"
|
||||
|
||||
#: ../js/ui/calendar.js:444
|
||||
#: ../js/ui/calendar.js:460
|
||||
msgid "Previous month"
|
||||
msgstr "Önceki ay"
|
||||
|
||||
#: ../js/ui/calendar.js:454
|
||||
#: ../js/ui/calendar.js:470
|
||||
msgid "Next month"
|
||||
msgstr "Gelecek ay"
|
||||
|
||||
#. Translators: Text to show if there are no events */
|
||||
#: ../js/ui/calendar.js:789
|
||||
#: ../js/ui/calendar.js:806
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Planınız Boş"
|
||||
|
||||
#: ../js/ui/calendar.js:808
|
||||
#: ../js/ui/calendar.js:825
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %d %B"
|
||||
|
||||
#: ../js/ui/calendar.js:812
|
||||
#: ../js/ui/calendar.js:829
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %B, %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:824
|
||||
#: ../js/ui/calendar.js:841
|
||||
msgid "Today"
|
||||
msgstr "Bugün"
|
||||
|
||||
#: ../js/ui/calendar.js:828
|
||||
#: ../js/ui/calendar.js:845
|
||||
msgid "Tomorrow"
|
||||
msgstr "Yarın"
|
||||
|
||||
#: ../js/ui/calendar.js:839
|
||||
#: ../js/ui/calendar.js:856
|
||||
msgid "This week"
|
||||
msgstr "Bu hafta"
|
||||
|
||||
#: ../js/ui/calendar.js:847
|
||||
#: ../js/ui/calendar.js:864
|
||||
msgid "Next week"
|
||||
msgstr "Gelecek hafta"
|
||||
|
||||
@ -624,7 +661,9 @@ msgstr "Kablosuz ağ için kimlik doğrulama gerekiyor"
|
||||
msgid ""
|
||||
"Passwords or encryption keys are required to access the wireless network "
|
||||
"“%s”."
|
||||
msgstr "“%s” kablosuz ağına erişmek için parolalar veya şifreleme anahtarları gerekiyor."
|
||||
msgstr ""
|
||||
"“%s” kablosuz ağına erişmek için parolalar veya şifreleme anahtarları "
|
||||
"gerekiyor."
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:323
|
||||
msgid "Wired 802.1X authentication"
|
||||
@ -765,8 +804,7 @@ msgstr "%d %B, %l∶%M %p"
|
||||
msgid "%B %d %Y, %l∶%M %p"
|
||||
msgstr "%d %B %Y, %l∶%M %p"
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their
|
||||
#. new
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:1047
|
||||
#, javascript-format
|
||||
@ -922,13 +960,17 @@ msgstr "Sertifika hükümsüz kılınmış"
|
||||
#: ../js/ui/components/telepathyClient.js:1380
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr "Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik olarak zayıf"
|
||||
msgstr ""
|
||||
"Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik "
|
||||
"olarak zayıf"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1382
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate"
|
||||
" chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr "Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
msgstr ""
|
||||
"Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin "
|
||||
"derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1384
|
||||
msgid "Internal error"
|
||||
@ -949,15 +991,15 @@ msgstr "Hesabı göster"
|
||||
msgid "Unknown reason"
|
||||
msgstr "Bilinmeyen sebep"
|
||||
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:154
|
||||
#: ../js/ui/ctrlAltTab.js:29 ../js/ui/viewSelector.js:155
|
||||
msgid "Windows"
|
||||
msgstr "Pencereler"
|
||||
|
||||
#: ../js/ui/dash.js:249 ../js/ui/dash.js:287
|
||||
#: ../js/ui/dash.js:250 ../js/ui/dash.js:291
|
||||
msgid "Show Applications"
|
||||
msgstr "Uygulamaları Göster"
|
||||
|
||||
#: ../js/ui/dash.js:445
|
||||
#: ../js/ui/dash.js:451
|
||||
msgid "Dash"
|
||||
msgstr "Konsol"
|
||||
|
||||
@ -974,8 +1016,7 @@ msgid "Date & Time Settings"
|
||||
msgstr "Tarih ve Saat Ayarları"
|
||||
|
||||
#. Translators: This is the date format to use when the calendar popup is
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29
|
||||
#. AM").
|
||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
||||
#. */
|
||||
#: ../js/ui/dateMenu.js:132
|
||||
msgid "%A %B %e, %Y"
|
||||
@ -1058,11 +1099,12 @@ msgstr "Yeniden Başlat ve Güncelleştirmeleri Kur"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:121
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"The system will automatically restart and install updates in %d second."
|
||||
msgid "The system will automatically restart and install updates in %d second."
|
||||
msgid_plural ""
|
||||
"The system will automatically restart and install updates in %d seconds."
|
||||
msgstr[0] "Sistem %d saniye içinde kendiliğinden yeniden başlayacak ve güncelleştirmeleri kuracak."
|
||||
msgstr[0] ""
|
||||
"Sistem %d saniye içinde kendiliğinden yeniden başlayacak ve "
|
||||
"güncelleştirmeleri kuracak."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:127
|
||||
msgctxt "button"
|
||||
@ -1081,7 +1123,8 @@ msgstr "Güncelleştirmeler kurulduktan sonra kapat"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:338
|
||||
msgid "Running on battery power: please plug in before installing updates."
|
||||
msgstr "Pil gücünde çalışıyor: Lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
||||
msgstr ""
|
||||
"Pil gücünde çalışıyor: Lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:355
|
||||
msgid "Some applications are busy or have unsaved work."
|
||||
@ -1112,7 +1155,7 @@ msgstr "Kur"
|
||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||
msgstr "extensions.gnome.org adresinden “%s” indirilip kurulsun mu?"
|
||||
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:539
|
||||
#: ../js/ui/keyboard.js:706 ../js/ui/status/keyboard.js:577
|
||||
msgid "Keyboard"
|
||||
msgstr "Klavye"
|
||||
|
||||
@ -1196,18 +1239,18 @@ msgstr "Tepsi Menüsü"
|
||||
msgid "No Messages"
|
||||
msgstr "Mesaj Yok"
|
||||
|
||||
#: ../js/ui/messageTray.js:1984
|
||||
#: ../js/ui/messageTray.js:1986
|
||||
msgid "Message Tray"
|
||||
msgstr "Mesaj Tepsisi"
|
||||
|
||||
#: ../js/ui/messageTray.js:2441 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/messageTray.js:2443 ../js/ui/overviewControls.js:483
|
||||
#: ../js/ui/screenShield.js:152
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
msgstr[0] "%d yeni mesaj"
|
||||
|
||||
#: ../js/ui/messageTray.js:3011
|
||||
#: ../js/ui/messageTray.js:3013
|
||||
msgid "System Information"
|
||||
msgstr "Sistem Bilgisi"
|
||||
|
||||
@ -1290,11 +1333,11 @@ msgstr "Kilitlenemedi"
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "Kilitleme bir uygulama tarafından engellendi"
|
||||
|
||||
#: ../js/ui/search.js:611
|
||||
#: ../js/ui/search.js:609
|
||||
msgid "Searching…"
|
||||
msgstr "Aranıyor…"
|
||||
|
||||
#: ../js/ui/search.js:613
|
||||
#: ../js/ui/search.js:611
|
||||
msgid "No results."
|
||||
msgstr "Sonuç yok."
|
||||
|
||||
@ -1395,7 +1438,7 @@ msgstr "Bağlı Değil"
|
||||
msgid "Brightness"
|
||||
msgstr "Parlaklık"
|
||||
|
||||
#: ../js/ui/status/keyboard.js:563
|
||||
#: ../js/ui/status/keyboard.js:601
|
||||
msgid "Show Keyboard Layout"
|
||||
msgstr "Klavye Düzenini Göster"
|
||||
|
||||
@ -1432,8 +1475,7 @@ msgstr "Kapalı"
|
||||
msgid "Connected"
|
||||
msgstr "Bağlı"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but
|
||||
#. are not
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
||||
#: ../js/ui/status/network.js:463
|
||||
msgid "Unmanaged"
|
||||
@ -1447,21 +1489,18 @@ msgstr "Bağlantı Kesiliyor"
|
||||
msgid "Connecting"
|
||||
msgstr "Bağlantı Kuruluyor"
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key
|
||||
#. or password */
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:474
|
||||
msgid "Authentication required"
|
||||
msgstr "Kimlik doğrulama gerekir"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or
|
||||
#. kernel
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:482
|
||||
msgid "Firmware missing"
|
||||
msgstr "Ürün Bilgisi eksik"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for
|
||||
#. example it
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:486
|
||||
msgid "Unavailable"
|
||||
@ -1547,8 +1586,7 @@ msgstr "Hotspot Etkin"
|
||||
msgid "connecting..."
|
||||
msgstr "bağlanıyor..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key
|
||||
#. or password */
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:1413
|
||||
msgid "authentication required"
|
||||
msgstr "kimlik doğrulaması gerekli"
|
||||
@ -1655,11 +1693,11 @@ msgstr "Başka kullanıcı olarak oturum aç"
|
||||
msgid "Unlock Window"
|
||||
msgstr "Kilit Açma Penceresi"
|
||||
|
||||
#: ../js/ui/viewSelector.js:158
|
||||
#: ../js/ui/viewSelector.js:159
|
||||
msgid "Applications"
|
||||
msgstr "Uygulamalar"
|
||||
|
||||
#: ../js/ui/viewSelector.js:162
|
||||
#: ../js/ui/viewSelector.js:163
|
||||
msgid "Search"
|
||||
msgstr "Ara"
|
||||
|
||||
@ -1689,6 +1727,13 @@ msgid "Settings changes will revert in %d second"
|
||||
msgid_plural "Settings changes will revert in %d seconds"
|
||||
msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürülecek"
|
||||
|
||||
#. Translators: This represents the size of a window. The first number is
|
||||
#. * the width of the window and the second is the height. */
|
||||
#: ../js/ui/windowManager.js:599
|
||||
#, javascript-format
|
||||
msgid "%d x %d"
|
||||
msgstr "%d x %d"
|
||||
|
||||
#: ../js/ui/windowMenu.js:34
|
||||
msgid "Minimize"
|
||||
msgstr "Simge durumuna küçült"
|
||||
|
@ -103,7 +103,6 @@ shell_public_headers_h = \
|
||||
shell-mount-operation.h \
|
||||
shell-perf-log.h \
|
||||
shell-screenshot.h \
|
||||
shell-slicer.h \
|
||||
shell-stack.h \
|
||||
shell-tp-client.h \
|
||||
shell-tray-icon.h \
|
||||
@ -148,7 +147,6 @@ libgnome_shell_base_la_SOURCES = \
|
||||
shell-polkit-authentication-agent.c \
|
||||
shell-secure-text-buffer.c \
|
||||
shell-secure-text-buffer.h \
|
||||
shell-slicer.c \
|
||||
shell-stack.c \
|
||||
shell-tp-client.c \
|
||||
$(NULL)
|
||||
|
@ -201,7 +201,7 @@ calendar_sources_init (CalendarSources *sources)
|
||||
"/", "org.freedesktop.DBus",
|
||||
"StartServiceByName",
|
||||
g_variant_new ("(su)",
|
||||
"org.gnome.evolution.dataserver.Sources3",
|
||||
"org.gnome.evolution.dataserver.Sources4",
|
||||
0),
|
||||
NULL,
|
||||
G_DBUS_CALL_FLAGS_NONE,
|
||||
|
@ -46,19 +46,6 @@ static GOptionEntry entries[] = {
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
static GdkFilterReturn
|
||||
event_filter (GdkXEvent *xevent,
|
||||
GdkEvent *event,
|
||||
gpointer data)
|
||||
{
|
||||
XEvent *xev = (XEvent *)xevent;
|
||||
|
||||
if (clutter_x11_handle_event (xev) == CLUTTER_X11_FILTER_CONTINUE)
|
||||
return GDK_FILTER_CONTINUE;
|
||||
else
|
||||
return GDK_FILTER_REMOVE;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
@ -75,13 +62,10 @@ main(int argc, char **argv)
|
||||
gtk_init (&argc, &argv);
|
||||
|
||||
clutter_x11_set_display (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()));
|
||||
clutter_x11_disable_event_retrieval ();
|
||||
|
||||
if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
|
||||
return 1;
|
||||
|
||||
gdk_window_add_filter (NULL, event_filter, NULL);
|
||||
|
||||
context = g_option_context_new (NULL);
|
||||
|
||||
/* pass unknown through to the JS script */
|
||||
|
214
src/shell-app.c
@ -189,9 +189,9 @@ window_backed_app_get_icon (ShellApp *app,
|
||||
}
|
||||
|
||||
window = window_backed_app_get_window (app);
|
||||
actor = st_texture_cache_bind_pixbuf_property (st_texture_cache_get_default (),
|
||||
G_OBJECT (window),
|
||||
"icon");
|
||||
actor = st_texture_cache_bind_cairo_surface_property (st_texture_cache_get_default (),
|
||||
G_OBJECT (window),
|
||||
"icon");
|
||||
g_object_set (actor, "width", (float) size, "height", (float) size, NULL);
|
||||
return actor;
|
||||
}
|
||||
@ -240,190 +240,6 @@ typedef struct {
|
||||
StThemeNode *theme_node;
|
||||
} CreateFadedIconData;
|
||||
|
||||
static CoglHandle
|
||||
shell_app_create_faded_icon_cpu (StTextureCache *cache,
|
||||
const char *key,
|
||||
void *datap,
|
||||
GError **error)
|
||||
{
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
CreateFadedIconData *data = datap;
|
||||
ShellApp *app;
|
||||
GdkPixbuf *pixbuf;
|
||||
int size;
|
||||
int scale;
|
||||
CoglHandle texture;
|
||||
gint width, height, rowstride;
|
||||
guint8 n_channels;
|
||||
gboolean have_alpha;
|
||||
gint fade_start;
|
||||
gint fade_end;
|
||||
guint i, j;
|
||||
guint pixbuf_byte_size;
|
||||
guint8 *orig_pixels;
|
||||
guint8 *pixels;
|
||||
GIcon *icon;
|
||||
GtkIconInfo *info;
|
||||
GtkIconLookupFlags lookup_flags;
|
||||
StIconStyle icon_style;
|
||||
|
||||
app = data->app;
|
||||
size = data->size;
|
||||
scale = data->scale;
|
||||
icon_style = st_theme_node_get_icon_style (data->theme_node);
|
||||
|
||||
info = NULL;
|
||||
|
||||
lookup_flags = GTK_ICON_LOOKUP_FORCE_SIZE;
|
||||
if (icon_style == ST_ICON_STYLE_REGULAR)
|
||||
lookup_flags |= GTK_ICON_LOOKUP_FORCE_REGULAR;
|
||||
else if (icon_style == ST_ICON_STYLE_SYMBOLIC)
|
||||
lookup_flags |= GTK_ICON_LOOKUP_FORCE_SYMBOLIC;
|
||||
|
||||
icon = g_app_info_get_icon (G_APP_INFO (app->info));
|
||||
if (icon != NULL)
|
||||
{
|
||||
info = gtk_icon_theme_lookup_by_gicon_for_scale (gtk_icon_theme_get_default (),
|
||||
icon, size, scale,
|
||||
lookup_flags);
|
||||
}
|
||||
|
||||
if (info == NULL)
|
||||
{
|
||||
icon = g_themed_icon_new ("application-x-executable");
|
||||
info = gtk_icon_theme_lookup_by_gicon_for_scale (gtk_icon_theme_get_default (),
|
||||
icon, size, scale,
|
||||
lookup_flags);
|
||||
g_object_unref (icon);
|
||||
}
|
||||
|
||||
if (info == NULL)
|
||||
return COGL_INVALID_HANDLE;
|
||||
|
||||
pixbuf = gtk_icon_info_load_icon (info, NULL);
|
||||
g_object_unref (info);
|
||||
|
||||
if (pixbuf == NULL)
|
||||
return COGL_INVALID_HANDLE;
|
||||
|
||||
width = gdk_pixbuf_get_width (pixbuf);
|
||||
height = gdk_pixbuf_get_height (pixbuf);
|
||||
rowstride = gdk_pixbuf_get_rowstride (pixbuf);
|
||||
n_channels = gdk_pixbuf_get_n_channels (pixbuf);
|
||||
orig_pixels = gdk_pixbuf_get_pixels (pixbuf);
|
||||
have_alpha = gdk_pixbuf_get_has_alpha (pixbuf);
|
||||
|
||||
pixbuf_byte_size = (height - 1) * rowstride +
|
||||
+ width * ((n_channels * gdk_pixbuf_get_bits_per_sample (pixbuf) + 7) / 8);
|
||||
|
||||
pixels = g_malloc0 (rowstride * height);
|
||||
memcpy (pixels, orig_pixels, pixbuf_byte_size);
|
||||
|
||||
/* fade on the right side for LTR, left side for RTL */
|
||||
if (data->direction == CLUTTER_TEXT_DIRECTION_LTR)
|
||||
{
|
||||
fade_start = width / 2;
|
||||
fade_end = width;
|
||||
}
|
||||
else
|
||||
{
|
||||
fade_start = 0;
|
||||
fade_end = width / 2;
|
||||
}
|
||||
|
||||
for (i = fade_start; i < fade_end; i++)
|
||||
{
|
||||
for (j = 0; j < height; j++)
|
||||
{
|
||||
guchar *pixel = &pixels[j * rowstride + i * n_channels];
|
||||
float fade = ((float) i - fade_start) / (fade_end - fade_start);
|
||||
if (data->direction == CLUTTER_TEXT_DIRECTION_LTR)
|
||||
fade = 1.0 - fade;
|
||||
pixel[0] = 0.5 + pixel[0] * fade;
|
||||
pixel[1] = 0.5 + pixel[1] * fade;
|
||||
pixel[2] = 0.5 + pixel[2] * fade;
|
||||
if (have_alpha)
|
||||
pixel[3] = 0.5 + pixel[3] * fade;
|
||||
}
|
||||
}
|
||||
|
||||
texture = COGL_TEXTURE (cogl_texture_2d_new_from_data (ctx, width, height,
|
||||
have_alpha ? COGL_PIXEL_FORMAT_RGBA_8888 : COGL_PIXEL_FORMAT_RGB_888,
|
||||
rowstride,
|
||||
pixels,
|
||||
NULL));
|
||||
g_free (pixels);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
return texture;
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_app_get_faded_icon:
|
||||
* @app: A #ShellApp
|
||||
* @size: Size in pixels
|
||||
* @direction: Whether to fade on the left or right
|
||||
*
|
||||
* Return an actor with a horizontally faded look.
|
||||
*
|
||||
* Return value: (transfer none): A floating #ClutterActor, or %NULL if no icon
|
||||
*/
|
||||
ClutterActor *
|
||||
shell_app_get_faded_icon (ShellApp *app, int size, ClutterTextDirection direction)
|
||||
{
|
||||
CoglHandle texture;
|
||||
ClutterActor *result;
|
||||
char *cache_key;
|
||||
CreateFadedIconData data;
|
||||
gint scale;
|
||||
ShellGlobal *global;
|
||||
StThemeContext *context;
|
||||
|
||||
/* Don't fade for window backed apps for now...easier to reuse the
|
||||
* property tracking bits, and this helps us visually distinguish
|
||||
* app-tracked from not.
|
||||
*/
|
||||
if (!app->info)
|
||||
return window_backed_app_get_icon (app, size);
|
||||
|
||||
global = shell_global_get ();
|
||||
context = st_theme_context_get_for_stage (shell_global_get_stage (global));
|
||||
g_object_get (context, "scale-factor", &scale, NULL);
|
||||
|
||||
/* Use icon: prefix so that we get evicted from the cache on
|
||||
* icon theme changes. */
|
||||
cache_key = g_strdup_printf ("icon:%s,size=%d,scale=%d,faded-%s",
|
||||
shell_app_get_id (app),
|
||||
size, scale,
|
||||
direction == CLUTTER_TEXT_DIRECTION_RTL ? "rtl" : "ltr");
|
||||
data.app = app;
|
||||
data.size = size;
|
||||
data.scale = scale;
|
||||
data.direction = direction;
|
||||
data.theme_node = st_theme_context_get_root_node (context);
|
||||
texture = st_texture_cache_load (st_texture_cache_get_default (),
|
||||
cache_key,
|
||||
ST_TEXTURE_CACHE_POLICY_FOREVER,
|
||||
shell_app_create_faded_icon_cpu,
|
||||
&data,
|
||||
NULL);
|
||||
g_free (cache_key);
|
||||
|
||||
if (texture != COGL_INVALID_HANDLE)
|
||||
{
|
||||
result = clutter_texture_new ();
|
||||
clutter_texture_set_cogl_texture (CLUTTER_TEXTURE (result), texture);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = clutter_texture_new ();
|
||||
g_object_set (result, "opacity", 0, "width", (float) size * scale, "height", (float) size * scale, NULL);
|
||||
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
const char *
|
||||
shell_app_get_name (ShellApp *app)
|
||||
{
|
||||
@ -582,7 +398,7 @@ shell_app_activate_window (ShellApp *app,
|
||||
{
|
||||
MetaWindow *other_window = iter->data;
|
||||
|
||||
if (other_window != window)
|
||||
if (other_window != window && meta_window_get_workspace (other_window) == workspace)
|
||||
meta_window_raise (other_window);
|
||||
}
|
||||
g_slist_free (windows_reversed);
|
||||
@ -1300,24 +1116,6 @@ shell_app_request_quit (ShellApp *app)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
_gather_pid_callback (GDesktopAppInfo *gapp,
|
||||
GPid pid,
|
||||
gpointer data)
|
||||
{
|
||||
ShellApp *app;
|
||||
ShellWindowTracker *tracker;
|
||||
|
||||
g_return_if_fail (data != NULL);
|
||||
|
||||
app = SHELL_APP (data);
|
||||
tracker = shell_window_tracker_get_default ();
|
||||
|
||||
_shell_window_tracker_add_child_process_app (tracker,
|
||||
pid,
|
||||
app);
|
||||
}
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
/* This sets up the launched application to log to the journal
|
||||
* using its own identifier, instead of just "gnome-session".
|
||||
@ -1369,13 +1167,13 @@ shell_app_launch (ShellApp *app,
|
||||
|
||||
ret = g_desktop_app_info_launch_uris_as_manager (app->info, NULL,
|
||||
context,
|
||||
G_SPAWN_SEARCH_PATH | G_SPAWN_DO_NOT_REAP_CHILD,
|
||||
G_SPAWN_SEARCH_PATH,
|
||||
#ifdef HAVE_SYSTEMD
|
||||
app_child_setup, (gpointer)shell_app_get_id (app),
|
||||
#else
|
||||
NULL, NULL,
|
||||
#endif
|
||||
_gather_pid_callback, app,
|
||||
NULL, NULL,
|
||||
error);
|
||||
g_object_unref (context);
|
||||
|
||||
|
@ -40,7 +40,6 @@ const char *shell_app_get_id (ShellApp *app);
|
||||
GDesktopAppInfo *shell_app_get_app_info (ShellApp *app);
|
||||
|
||||
ClutterActor *shell_app_create_icon_texture (ShellApp *app, int size);
|
||||
ClutterActor *shell_app_get_faded_icon (ShellApp *app, int size, ClutterTextDirection direction);
|
||||
const char *shell_app_get_name (ShellApp *app);
|
||||
const char *shell_app_get_description (ShellApp *app);
|
||||
gboolean shell_app_is_window_backed (ShellApp *app);
|
||||
|
@ -225,7 +225,7 @@ shell_generic_container_set_skip_paint (ShellGenericContainer *self,
|
||||
gboolean currently_skipping;
|
||||
|
||||
currently_skipping = g_hash_table_lookup (self->priv->skip_paint, child) != NULL;
|
||||
if (!!skip == currently_skipping)
|
||||
if ((!!skip) == currently_skipping)
|
||||
return;
|
||||
|
||||
if (!skip)
|
||||
|
@ -28,6 +28,12 @@
|
||||
#include <meta/meta-shaped-texture.h>
|
||||
#include <meta/meta-cursor-tracker.h>
|
||||
|
||||
#ifdef HAVE_SYSTEMD
|
||||
#include <systemd/sd-journal.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#endif
|
||||
|
||||
/* Memory report bits */
|
||||
#ifdef HAVE_MALLINFO
|
||||
#include <malloc.h>
|
||||
@ -1298,6 +1304,52 @@ shell_global_reexec_self (ShellGlobal *global)
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_log_structured:
|
||||
* @message: A message to print
|
||||
* @keys: (allow-none) (array zero-terminated=1) (element-type utf8): Optional structured data
|
||||
*
|
||||
* Log structured data in an operating-system specific fashion. The
|
||||
* parameter @opts should be an array of UTF-8 KEY=VALUE strings.
|
||||
* This function does not support binary data. See
|
||||
* http://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html
|
||||
* or more information about fields that can be used on a systemd
|
||||
* system.
|
||||
*
|
||||
*/
|
||||
void
|
||||
shell_global_log_structured (const char *message,
|
||||
const char *const *keys)
|
||||
{
|
||||
#ifdef HAVE_SYSTEMD
|
||||
const char *const*iter;
|
||||
char *msgkey;
|
||||
guint i, n_opts;
|
||||
struct iovec *iovs;
|
||||
|
||||
for (n_opts = 0, iter = keys; *iter; iter++, n_opts++)
|
||||
;
|
||||
|
||||
n_opts++; /* Add one for MESSAGE= */
|
||||
iovs = g_alloca (sizeof (struct iovec) * n_opts);
|
||||
|
||||
for (i = 0, iter = keys; *iter; iter++, i++) {
|
||||
iovs[i].iov_base = (char*)keys[i];
|
||||
iovs[i].iov_len = strlen (keys[i]);
|
||||
}
|
||||
g_assert(i == n_opts-1);
|
||||
msgkey = g_strconcat ("MESSAGE=", message, NULL);
|
||||
iovs[i].iov_base = msgkey;
|
||||
iovs[i].iov_len = strlen (msgkey);
|
||||
|
||||
// The code location isn't useful since we're wrapping
|
||||
sd_journal_sendv (iovs, n_opts);
|
||||
g_free (msgkey);
|
||||
#else
|
||||
g_print ("%s\n", message);
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_global_notify_error:
|
||||
* @global: a #ShellGlobal
|
||||
|
@ -124,6 +124,9 @@ void shell_global_init_xdnd (ShellGlobal *global);
|
||||
|
||||
void shell_global_reexec_self (ShellGlobal *global);
|
||||
|
||||
void shell_global_log_structured (const char *message,
|
||||
const char *const *keys);
|
||||
|
||||
const char * shell_global_get_session_mode (ShellGlobal *global);
|
||||
|
||||
void shell_global_set_runtime_state (ShellGlobal *global,
|
||||
|
@ -43,7 +43,6 @@ shell_recorder_src_init (ShellRecorderSrc *src)
|
||||
{
|
||||
gst_base_src_set_format (GST_BASE_SRC (src), GST_FORMAT_TIME);
|
||||
gst_base_src_set_live (GST_BASE_SRC (src), TRUE);
|
||||
gst_base_src_set_do_timestamp (GST_BASE_SRC (src), TRUE);
|
||||
|
||||
src->queue = g_async_queue_new ();
|
||||
src->mutex = &src->mutex_data;
|
||||
|
@ -61,8 +61,6 @@ struct _ShellRecorder {
|
||||
int pointer_x;
|
||||
int pointer_y;
|
||||
|
||||
int xinput_opcode;
|
||||
|
||||
GSettings *a11y_settings;
|
||||
gboolean draw_cursor;
|
||||
MetaCursorTracker *cursor_tracker;
|
||||
@ -81,7 +79,6 @@ struct _ShellRecorder {
|
||||
RecorderPipeline *current_pipeline; /* current pipeline */
|
||||
GSList *pipelines; /* all pipelines */
|
||||
|
||||
GstClockTime start_time; /* When we started recording */
|
||||
GstClockTime last_frame_time; /* Timestamp for the last frame */
|
||||
|
||||
/* GSource IDs for different timeouts and idles */
|
||||
@ -156,7 +153,7 @@ G_DEFINE_TYPE(ShellRecorder, shell_recorder, G_TYPE_OBJECT);
|
||||
* (Theora does have some support for frames at non-uniform times, but
|
||||
* things seem to break down if there are large gaps.)
|
||||
*/
|
||||
#define DEFAULT_PIPELINE "vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
|
||||
#define DEFAULT_PIPELINE "vp9enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux"
|
||||
|
||||
/* If we can find the amount of memory on the machine, we use half
|
||||
* of that for memory_target, otherwise, we use this value, in kB.
|
||||
@ -390,22 +387,6 @@ recorder_draw_cursor (ShellRecorder *recorder,
|
||||
gst_buffer_unmap (buffer, &info);
|
||||
}
|
||||
|
||||
/* We want to time-stamp each frame based on the actual time it was
|
||||
* recorded. We probably should use the pipeline clock rather than
|
||||
* gettimeofday(): that would be needed to get sync'ed audio correct.
|
||||
* I'm not immediately sure how to handle the adjustment we currently
|
||||
* do when pausing recording - is pausing the pipeline enough?
|
||||
*/
|
||||
static GstClockTime
|
||||
get_wall_time (void)
|
||||
{
|
||||
GTimeVal tv;
|
||||
|
||||
g_get_current_time (&tv);
|
||||
|
||||
return tv.tv_sec * 1000000000LL + tv.tv_usec * 1000LL;
|
||||
}
|
||||
|
||||
/* Retrieve a frame and feed it into the pipeline
|
||||
*/
|
||||
static void
|
||||
@ -414,7 +395,8 @@ recorder_record_frame (ShellRecorder *recorder)
|
||||
GstBuffer *buffer;
|
||||
guint8 *data;
|
||||
guint size;
|
||||
GstClockTime now;
|
||||
GstClock *clock;
|
||||
GstClockTime now, base_time;
|
||||
|
||||
g_return_if_fail (recorder->current_pipeline != NULL);
|
||||
|
||||
@ -429,29 +411,38 @@ recorder_record_frame (ShellRecorder *recorder)
|
||||
* drop frames if the interval since the last frame is less than 75% of the
|
||||
* desired inter-frame interval.
|
||||
*/
|
||||
now = get_wall_time();
|
||||
if (now - recorder->last_frame_time < (3 * 1000000000LL / (4 * recorder->framerate)))
|
||||
clock = gst_element_get_clock (recorder->current_pipeline->src);
|
||||
|
||||
/* If we have no clock yet, the pipeline is not yet in PLAYING */
|
||||
if (!clock)
|
||||
return;
|
||||
|
||||
base_time = gst_element_get_base_time (recorder->current_pipeline->src);
|
||||
now = gst_clock_get_time (clock) - base_time;
|
||||
gst_object_unref (clock);
|
||||
|
||||
if (GST_CLOCK_TIME_IS_VALID (recorder->last_frame_time) &&
|
||||
now - recorder->last_frame_time < gst_util_uint64_scale_int (GST_SECOND, 3, 4 * recorder->framerate))
|
||||
return;
|
||||
recorder->last_frame_time = now;
|
||||
|
||||
size = recorder->area.width * recorder->area.height * 4;
|
||||
|
||||
data = g_malloc (recorder->area.width * 4 * recorder->area.height);
|
||||
cogl_read_pixels (recorder->area.x,
|
||||
recorder->area.y,
|
||||
recorder->area.width,
|
||||
recorder->area.height,
|
||||
COGL_READ_PIXELS_COLOR_BUFFER,
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
data);
|
||||
data = g_malloc (size);
|
||||
cogl_framebuffer_read_pixels (cogl_get_draw_framebuffer (),
|
||||
recorder->area.x,
|
||||
recorder->area.y,
|
||||
recorder->area.width,
|
||||
recorder->area.height,
|
||||
CLUTTER_CAIRO_FORMAT_ARGB32,
|
||||
data);
|
||||
|
||||
buffer = gst_buffer_new();
|
||||
gst_buffer_insert_memory (buffer, -1,
|
||||
gst_memory_new_wrapped (0, data, size, 0,
|
||||
size, data, g_free));
|
||||
|
||||
GST_BUFFER_PTS(buffer) = now - recorder->start_time;
|
||||
GST_BUFFER_PTS(buffer) = now;
|
||||
|
||||
if (recorder->draw_cursor &&
|
||||
!g_settings_get_boolean (recorder->a11y_settings, MAGNIFIER_ACTIVE_KEY))
|
||||
@ -1261,7 +1252,7 @@ recorder_pipeline_closed (RecorderPipeline *pipeline)
|
||||
|
||||
/*
|
||||
* Replaces '%T' in the passed pipeline with the thread count,
|
||||
* the maximum possible value is 64 (limit of what vp8enc supports)
|
||||
* the maximum possible value is 64 (limit of what vp9enc supports)
|
||||
*
|
||||
* It is assumes that %T occurs only once.
|
||||
*/
|
||||
@ -1291,7 +1282,7 @@ substitute_thread_count (const char *pipeline)
|
||||
g_string_append_printf (result, "%d", n_threads);
|
||||
g_string_append (result, tmp + 2);
|
||||
|
||||
return g_string_free (result, FALSE);;
|
||||
return g_string_free (result, FALSE);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
@ -1303,7 +1294,7 @@ recorder_open_pipeline (ShellRecorder *recorder)
|
||||
GError *error = NULL;
|
||||
GstBus *bus;
|
||||
|
||||
pipeline = g_new0(RecorderPipeline, 1);
|
||||
pipeline = g_new0 (RecorderPipeline, 1);
|
||||
pipeline->recorder = g_object_ref (recorder);
|
||||
pipeline->outfile = - 1;
|
||||
|
||||
@ -1459,7 +1450,7 @@ shell_recorder_set_draw_cursor (ShellRecorder *recorder,
|
||||
* might be used to send the output to an icecast server
|
||||
* via shout2send or similar.
|
||||
*
|
||||
* The default value is 'vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'
|
||||
* The default value is 'vp9enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux'
|
||||
*/
|
||||
void
|
||||
shell_recorder_set_pipeline (ShellRecorder *recorder,
|
||||
@ -1530,8 +1521,7 @@ shell_recorder_record (ShellRecorder *recorder,
|
||||
|
||||
recorder_connect_stage_callbacks (recorder);
|
||||
|
||||
recorder->start_time = get_wall_time();
|
||||
recorder->last_frame_time = 0;
|
||||
recorder->last_frame_time = GST_CLOCK_TIME_NONE;
|
||||
|
||||
recorder->state = RECORDER_STATE_RECORDING;
|
||||
recorder_update_pointer (recorder);
|
||||
|
@ -37,6 +37,7 @@ struct _ShellScreenshotPrivate
|
||||
cairo_rectangle_int_t screenshot_area;
|
||||
|
||||
gboolean include_cursor;
|
||||
gboolean include_frame;
|
||||
|
||||
ShellScreenshotCallback callback;
|
||||
};
|
||||
@ -73,6 +74,8 @@ on_screenshot_written (GObject *source,
|
||||
g_clear_pointer (&priv->image, cairo_surface_destroy);
|
||||
g_clear_pointer (&priv->filename, g_free);
|
||||
g_clear_pointer (&priv->filename_used, g_free);
|
||||
|
||||
meta_enable_unredirect_for_screen (shell_global_get_screen (priv->global));
|
||||
}
|
||||
|
||||
/* called in an I/O thread */
|
||||
@ -246,22 +249,6 @@ do_grab_screenshot (ShellScreenshot *screenshot,
|
||||
cogl_object_unref (bitmap);
|
||||
}
|
||||
|
||||
static void
|
||||
get_pointer_coords (int *x,
|
||||
int *y)
|
||||
{
|
||||
ClutterDeviceManager *manager;
|
||||
ClutterInputDevice *device;
|
||||
ClutterPoint point;
|
||||
|
||||
manager = clutter_device_manager_get_default ();
|
||||
device = clutter_device_manager_get_device (manager, META_VIRTUAL_CORE_POINTER_ID);
|
||||
|
||||
clutter_input_device_get_coords (device, NULL, &point);
|
||||
*x = point.x;
|
||||
*y = point.y;
|
||||
}
|
||||
|
||||
static void
|
||||
_draw_cursor_image (MetaCursorTracker *tracker,
|
||||
cairo_surface_t *surface,
|
||||
@ -278,7 +265,7 @@ _draw_cursor_image (MetaCursorTracker *tracker,
|
||||
int xhot, yhot;
|
||||
|
||||
screenshot_region = cairo_region_create_rectangle (&area);
|
||||
get_pointer_coords (&x, &y);
|
||||
meta_cursor_tracker_get_pointer (tracker, &x, &y, NULL);
|
||||
|
||||
if (!cairo_region_contains_point (screenshot_region, x, y))
|
||||
{
|
||||
@ -407,6 +394,56 @@ grab_area_screenshot (ClutterActor *stage,
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
static void
|
||||
grab_window_screenshot (ClutterActor *stage,
|
||||
ShellScreenshot *screenshot)
|
||||
{
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
GSimpleAsyncResult *result;
|
||||
GSettings *settings;
|
||||
MetaScreen *screen = shell_global_get_screen (priv->global);
|
||||
MetaCursorTracker *tracker;
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
MetaWindow *window = meta_display_get_focus_window (display);
|
||||
ClutterActor *window_actor;
|
||||
gfloat actor_x, actor_y;
|
||||
MetaShapedTexture *stex;
|
||||
MetaRectangle rect;
|
||||
cairo_rectangle_int_t clip;
|
||||
|
||||
window_actor = CLUTTER_ACTOR (meta_window_get_compositor_private (window));
|
||||
clutter_actor_get_position (window_actor, &actor_x, &actor_y);
|
||||
|
||||
meta_window_get_frame_rect (window, &rect);
|
||||
|
||||
if (!priv->include_frame)
|
||||
meta_window_frame_rect_to_client_rect (window, &rect, &rect);
|
||||
|
||||
priv->screenshot_area.x = rect.x;
|
||||
priv->screenshot_area.y = rect.y;
|
||||
clip.x = rect.x - (gint) actor_x;
|
||||
clip.y = rect.y - (gint) actor_y;
|
||||
|
||||
clip.width = priv->screenshot_area.width = rect.width;
|
||||
clip.height = priv->screenshot_area.height = rect.height;
|
||||
|
||||
stex = META_SHAPED_TEXTURE (meta_window_actor_get_texture (META_WINDOW_ACTOR (window_actor)));
|
||||
priv->image = meta_shaped_texture_get_image (stex, &clip);
|
||||
|
||||
settings = g_settings_new (A11Y_APPS_SCHEMA);
|
||||
if (priv->include_cursor && !g_settings_get_boolean (settings, MAGNIFIER_ACTIVE_KEY))
|
||||
{
|
||||
tracker = meta_cursor_tracker_get_for_screen (screen);
|
||||
_draw_cursor_image (tracker, priv->image, priv->screenshot_area);
|
||||
}
|
||||
g_object_unref (settings);
|
||||
|
||||
g_signal_handlers_disconnect_by_func (stage, (void *)grab_window_screenshot, (gpointer)screenshot);
|
||||
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, grab_window_screenshot);
|
||||
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
|
||||
g_object_unref (result);
|
||||
}
|
||||
|
||||
/**
|
||||
* shell_screenshot_screenshot:
|
||||
* @screenshot: the #ShellScreenshot
|
||||
@ -440,6 +477,8 @@ shell_screenshot_screenshot (ShellScreenshot *screenshot,
|
||||
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
meta_disable_unredirect_for_screen (shell_global_get_screen (priv->global));
|
||||
|
||||
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_screenshot), (gpointer)screenshot);
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
@ -487,6 +526,8 @@ shell_screenshot_screenshot_area (ShellScreenshot *screenshot,
|
||||
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
meta_disable_unredirect_for_screen (shell_global_get_screen (shell_global_get ()));
|
||||
|
||||
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_area_screenshot), (gpointer)screenshot);
|
||||
|
||||
clutter_actor_queue_redraw (stage);
|
||||
@ -512,19 +553,11 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
|
||||
const char *filename,
|
||||
ShellScreenshotCallback callback)
|
||||
{
|
||||
GSimpleAsyncResult *result;
|
||||
GSettings *settings;
|
||||
ShellScreenshotPrivate *priv = screenshot->priv;
|
||||
|
||||
MetaScreen *screen = shell_global_get_screen (priv->global);
|
||||
MetaCursorTracker *tracker;
|
||||
ClutterActor *stage;
|
||||
MetaDisplay *display = meta_screen_get_display (screen);
|
||||
MetaWindow *window = meta_display_get_focus_window (display);
|
||||
ClutterActor *window_actor;
|
||||
gfloat actor_x, actor_y;
|
||||
MetaShapedTexture *stex;
|
||||
MetaRectangle rect;
|
||||
cairo_rectangle_int_t clip;
|
||||
|
||||
if (priv->filename != NULL || !window) {
|
||||
if (callback)
|
||||
@ -534,37 +567,16 @@ shell_screenshot_screenshot_window (ShellScreenshot *screenshot,
|
||||
|
||||
priv->filename = g_strdup (filename);
|
||||
priv->callback = callback;
|
||||
priv->include_frame = include_frame;
|
||||
priv->include_cursor = include_cursor;
|
||||
|
||||
window_actor = CLUTTER_ACTOR (meta_window_get_compositor_private (window));
|
||||
clutter_actor_get_position (window_actor, &actor_x, &actor_y);
|
||||
stage = CLUTTER_ACTOR (shell_global_get_stage (priv->global));
|
||||
|
||||
meta_window_get_frame_rect (window, &rect);
|
||||
meta_disable_unredirect_for_screen (shell_global_get_screen (shell_global_get ()));
|
||||
|
||||
if (!include_frame)
|
||||
meta_window_frame_rect_to_client_rect (window, &rect, &rect);
|
||||
g_signal_connect_after (stage, "paint", G_CALLBACK (grab_window_screenshot), (gpointer)screenshot);
|
||||
|
||||
priv->screenshot_area.x = rect.x;
|
||||
priv->screenshot_area.y = rect.y;
|
||||
clip.x = rect.x - (gint) actor_x;
|
||||
clip.y = rect.y - (gint) actor_y;
|
||||
|
||||
clip.width = priv->screenshot_area.width = rect.width;
|
||||
clip.height = priv->screenshot_area.height = rect.height;
|
||||
|
||||
stex = META_SHAPED_TEXTURE (meta_window_actor_get_texture (META_WINDOW_ACTOR (window_actor)));
|
||||
priv->image = meta_shaped_texture_get_image (stex, &clip);
|
||||
|
||||
settings = g_settings_new (A11Y_APPS_SCHEMA);
|
||||
if (include_cursor && !g_settings_get_boolean (settings, MAGNIFIER_ACTIVE_KEY))
|
||||
{
|
||||
tracker = meta_cursor_tracker_get_for_screen (screen);
|
||||
_draw_cursor_image (tracker, priv->image, priv->screenshot_area);
|
||||
}
|
||||
g_object_unref (settings);
|
||||
|
||||
result = g_simple_async_result_new (G_OBJECT (screenshot), on_screenshot_written, NULL, shell_screenshot_screenshot_window);
|
||||
g_simple_async_result_run_in_thread (result, write_screenshot_thread, G_PRIORITY_DEFAULT, NULL);
|
||||
g_object_unref (result);
|
||||
clutter_actor_queue_redraw (stage);
|
||||
}
|
||||
|
||||
ShellScreenshot *
|
||||
|
@ -1,162 +0,0 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
|
||||
/**
|
||||
* SECTION:shell-slicer
|
||||
* @short_description: Display only part of another actor
|
||||
*
|
||||
* A #StBin that has 0 minimum size, and will clip its child
|
||||
* in the middle.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "shell-slicer.h"
|
||||
|
||||
G_DEFINE_TYPE (ShellSlicer,
|
||||
shell_slicer,
|
||||
ST_TYPE_BIN);
|
||||
|
||||
static void
|
||||
shell_slicer_get_preferred_width (ClutterActor *self,
|
||||
gfloat for_height,
|
||||
gfloat *min_width_p,
|
||||
gfloat *natural_width_p)
|
||||
{
|
||||
ClutterActor *child = st_bin_get_child (ST_BIN (self));
|
||||
StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self));
|
||||
|
||||
st_theme_node_adjust_for_height (theme_node, &for_height);
|
||||
|
||||
if (min_width_p)
|
||||
*min_width_p = 0;
|
||||
|
||||
if (child == NULL)
|
||||
{
|
||||
if (natural_width_p)
|
||||
*natural_width_p = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_st_actor_get_preferred_width (child, for_height, FALSE,
|
||||
NULL,
|
||||
natural_width_p);
|
||||
}
|
||||
|
||||
st_theme_node_adjust_preferred_width (theme_node, min_width_p, natural_width_p);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_get_preferred_height (ClutterActor *self,
|
||||
gfloat for_width,
|
||||
gfloat *min_height_p,
|
||||
gfloat *natural_height_p)
|
||||
{
|
||||
ClutterActor *child = st_bin_get_child (ST_BIN (self));
|
||||
StThemeNode *theme_node = st_widget_get_theme_node (ST_WIDGET (self));
|
||||
|
||||
st_theme_node_adjust_for_width (theme_node, &for_width);
|
||||
|
||||
if (min_height_p)
|
||||
*min_height_p = 0;
|
||||
|
||||
if (child == NULL)
|
||||
{
|
||||
if (natural_height_p)
|
||||
*natural_height_p = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
_st_actor_get_preferred_height (child, for_width, FALSE,
|
||||
NULL,
|
||||
natural_height_p);
|
||||
}
|
||||
|
||||
st_theme_node_adjust_preferred_height (theme_node, min_height_p, natural_height_p);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_allocate (ClutterActor *self,
|
||||
const ClutterActorBox *box,
|
||||
ClutterAllocationFlags flags)
|
||||
{
|
||||
ClutterActor *child;
|
||||
|
||||
clutter_actor_set_allocation (self, box, flags);
|
||||
|
||||
child = st_bin_get_child (ST_BIN (self));
|
||||
if (child)
|
||||
clutter_actor_allocate_preferred_size (child, flags);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_paint_child (ShellSlicer *self)
|
||||
{
|
||||
ClutterActor *child;
|
||||
ClutterActorBox self_box;
|
||||
ClutterActorBox child_box;
|
||||
float width, height, child_width, child_height;
|
||||
StAlign x_align, y_align;
|
||||
double x_align_factor, y_align_factor;
|
||||
|
||||
child = st_bin_get_child (ST_BIN (self));
|
||||
|
||||
if (!child)
|
||||
return;
|
||||
|
||||
st_bin_get_alignment (ST_BIN (self), &x_align, &y_align);
|
||||
st_get_align_factors (x_align, y_align,
|
||||
&x_align_factor, &y_align_factor);
|
||||
|
||||
clutter_actor_get_allocation_box (CLUTTER_ACTOR (self), &self_box);
|
||||
clutter_actor_get_allocation_box (child, &child_box);
|
||||
|
||||
width = self_box.x2 - self_box.x1;
|
||||
height = self_box.y2 - self_box.y1;
|
||||
child_width = child_box.x2 - child_box.x1;
|
||||
child_height = child_box.y2 - child_box.y1;
|
||||
|
||||
cogl_push_matrix ();
|
||||
|
||||
cogl_clip_push_rectangle (0, 0, width, height);
|
||||
cogl_translate ((int)(0.5 + x_align_factor * (width - child_width)),
|
||||
(int)(0.5 + y_align_factor * (height - child_height)),
|
||||
0);
|
||||
|
||||
clutter_actor_paint (child);
|
||||
|
||||
cogl_clip_pop ();
|
||||
|
||||
cogl_pop_matrix ();
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_paint (ClutterActor *self)
|
||||
{
|
||||
st_widget_paint_background (ST_WIDGET (self));
|
||||
|
||||
shell_slicer_paint_child (SHELL_SLICER (self));
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_pick (ClutterActor *self,
|
||||
const ClutterColor *pick_color)
|
||||
{
|
||||
shell_slicer_paint_child (SHELL_SLICER (self));
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_class_init (ShellSlicerClass *klass)
|
||||
{
|
||||
ClutterActorClass *actor_class = CLUTTER_ACTOR_CLASS (klass);
|
||||
|
||||
actor_class->get_preferred_width = shell_slicer_get_preferred_width;
|
||||
actor_class->get_preferred_height = shell_slicer_get_preferred_height;
|
||||
actor_class->allocate = shell_slicer_allocate;
|
||||
actor_class->paint = shell_slicer_paint;
|
||||
actor_class->pick = shell_slicer_pick;
|
||||
}
|
||||
|
||||
static void
|
||||
shell_slicer_init (ShellSlicer *actor)
|
||||
{
|
||||
}
|
@ -1,33 +0,0 @@
|
||||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
|
||||
#ifndef __SHELL_SLICER_H__
|
||||
#define __SHELL_SLICER_H__
|
||||
|
||||
#include "st.h"
|
||||
|
||||
#define SHELL_TYPE_SLICER (shell_slicer_get_type ())
|
||||
#define SHELL_SLICER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SHELL_TYPE_SLICER, ShellSlicer))
|
||||
#define SHELL_SLICER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SHELL_TYPE_SLICER, ShellSlicerClass))
|
||||
#define SHELL_IS_SLICER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SHELL_TYPE_SLICER))
|
||||
#define SHELL_IS_SLICER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SHELL_TYPE_SLICER))
|
||||
#define SHELL_SLICER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SHELL_TYPE_SLICER, ShellSlicerClass))
|
||||
|
||||
typedef struct _ShellSlicer ShellSlicer;
|
||||
typedef struct _ShellSlicerClass ShellSlicerClass;
|
||||
|
||||
typedef struct _ShellSlicerPrivate ShellSlicerPrivate;
|
||||
|
||||
struct _ShellSlicer
|
||||
{
|
||||
StBin parent;
|
||||
|
||||
ShellSlicerPrivate *priv;
|
||||
};
|
||||
|
||||
struct _ShellSlicerClass
|
||||
{
|
||||
StBinClass parent_class;
|
||||
};
|
||||
|
||||
GType shell_slicer_get_type (void) G_GNUC_CONST;
|
||||
|
||||
#endif /* __SHELL_SLICER_H__ */
|
@ -10,7 +10,6 @@
|
||||
#include <gtk/gtk.h>
|
||||
#include <gdk-pixbuf/gdk-pixbuf.h>
|
||||
#include <gdk/gdkx.h>
|
||||
#include <X11/extensions/XTest.h>
|
||||
|
||||
#include <locale.h>
|
||||
#ifdef HAVE__NL_TIME_FIRST_WEEKDAY
|
||||
|
@ -47,9 +47,6 @@ struct _ShellWindowTracker
|
||||
|
||||
/* <MetaWindow * window, ShellApp *app> */
|
||||
GHashTable *window_to_app;
|
||||
|
||||
/* <int, ShellApp *app> */
|
||||
GHashTable *launched_pid_to_app;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (ShellWindowTracker, shell_window_tracker, G_TYPE_OBJECT);
|
||||
@ -293,7 +290,7 @@ get_app_from_window_group (ShellWindowTracker *tracker,
|
||||
* @window: a #MetaWindow
|
||||
*
|
||||
* Check if the pid associated with @window corresponds to an
|
||||
* application we launched.
|
||||
* application.
|
||||
*
|
||||
* Return value: (transfer full): A newly-referenced #ShellApp, or %NULL
|
||||
*/
|
||||
@ -312,7 +309,7 @@ get_app_from_window_pid (ShellWindowTracker *tracker,
|
||||
if (pid == -1)
|
||||
return NULL;
|
||||
|
||||
result = g_hash_table_lookup (tracker->launched_pid_to_app, GINT_TO_POINTER (pid));
|
||||
result = shell_window_tracker_get_app_from_pid (tracker, pid);
|
||||
if (result != NULL)
|
||||
g_object_ref (result);
|
||||
|
||||
@ -631,8 +628,6 @@ shell_window_tracker_init (ShellWindowTracker *self)
|
||||
self->window_to_app = g_hash_table_new_full (g_direct_hash, g_direct_equal,
|
||||
NULL, (GDestroyNotify) g_object_unref);
|
||||
|
||||
self->launched_pid_to_app = g_hash_table_new_full (NULL, NULL, NULL, (GDestroyNotify) g_object_unref);
|
||||
|
||||
screen = shell_global_get_screen (shell_global_get ());
|
||||
|
||||
g_signal_connect (G_OBJECT (screen), "startup-sequence-changed",
|
||||
@ -648,7 +643,6 @@ shell_window_tracker_finalize (GObject *object)
|
||||
ShellWindowTracker *self = SHELL_WINDOW_TRACKER (object);
|
||||
|
||||
g_hash_table_destroy (self->window_to_app);
|
||||
g_hash_table_destroy (self->launched_pid_to_app);
|
||||
|
||||
G_OBJECT_CLASS (shell_window_tracker_parent_class)->finalize(object);
|
||||
}
|
||||
@ -717,40 +711,6 @@ shell_window_tracker_get_app_from_pid (ShellWindowTracker *tracker,
|
||||
return result;
|
||||
}
|
||||
|
||||
static void
|
||||
on_child_exited (GPid pid,
|
||||
gint status,
|
||||
gpointer unused_data)
|
||||
{
|
||||
ShellWindowTracker *tracker;
|
||||
|
||||
tracker = shell_window_tracker_get_default ();
|
||||
|
||||
g_hash_table_remove (tracker->launched_pid_to_app, GINT_TO_POINTER((gint)pid));
|
||||
}
|
||||
|
||||
void
|
||||
_shell_window_tracker_add_child_process_app (ShellWindowTracker *tracker,
|
||||
GPid pid,
|
||||
ShellApp *app)
|
||||
{
|
||||
gpointer pid_ptr = GINT_TO_POINTER((int)pid);
|
||||
|
||||
if (g_hash_table_lookup (tracker->launched_pid_to_app,
|
||||
&pid_ptr))
|
||||
return;
|
||||
|
||||
g_hash_table_insert (tracker->launched_pid_to_app,
|
||||
pid_ptr,
|
||||
g_object_ref (app));
|
||||
g_child_watch_add (pid, on_child_exited, NULL);
|
||||
/* TODO: rescan unassociated windows
|
||||
* Unlikely in practice that the launched app gets ahead of us
|
||||
* enough to map an X window before we get scheduled after the fork(),
|
||||
* but adding this note for future reference.
|
||||
*/
|
||||
}
|
||||
|
||||
static void
|
||||
set_focus_app (ShellWindowTracker *tracker,
|
||||
ShellApp *new_focus_app)
|
||||
|
@ -628,18 +628,26 @@ static void
|
||||
st_texture_cache_reset_texture (StTextureCachePropertyBind *bind,
|
||||
const char *propname)
|
||||
{
|
||||
GdkPixbuf *pixbuf;
|
||||
cairo_surface_t *surface;
|
||||
CoglTexture *texdata;
|
||||
ClutterBackend *backend = clutter_get_default_backend ();
|
||||
CoglContext *ctx = clutter_backend_get_cogl_context (backend);
|
||||
|
||||
g_object_get (bind->source, propname, &pixbuf, NULL);
|
||||
g_object_get (bind->source, propname, &surface, NULL);
|
||||
|
||||
g_return_if_fail (pixbuf == NULL || GDK_IS_PIXBUF (pixbuf));
|
||||
|
||||
if (pixbuf != NULL)
|
||||
if (surface != NULL &&
|
||||
cairo_surface_get_type (surface) == CAIRO_SURFACE_TYPE_IMAGE &&
|
||||
(cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32 ||
|
||||
cairo_image_surface_get_format (surface) == CAIRO_FORMAT_RGB24))
|
||||
{
|
||||
texdata = pixbuf_to_cogl_texture (pixbuf);
|
||||
g_object_unref (pixbuf);
|
||||
|
||||
texdata = COGL_TEXTURE (cogl_texture_2d_new_from_data (ctx,
|
||||
cairo_image_surface_get_width (surface),
|
||||
cairo_image_surface_get_height (surface),
|
||||
cairo_image_surface_get_format (surface) == CAIRO_FORMAT_ARGB32 ?
|
||||
COGL_PIXEL_FORMAT_BGRA_8888 : COGL_PIXEL_FORMAT_BGR_888,
|
||||
cairo_image_surface_get_stride (surface),
|
||||
cairo_image_surface_get_data (surface),
|
||||
NULL));
|
||||
clutter_texture_set_cogl_texture (bind->texture, texdata);
|
||||
cogl_object_unref (texdata);
|
||||
|
||||
@ -677,12 +685,12 @@ st_texture_cache_free_bind (gpointer data)
|
||||
}
|
||||
|
||||
/**
|
||||
* st_texture_cache_bind_pixbuf_property:
|
||||
* st_texture_cache_bind_cairo_surface_property:
|
||||
* @cache:
|
||||
* @object: A #GObject with a property @property_name of type #GdkPixbuf
|
||||
* @property_name: Name of a property
|
||||
*
|
||||
* Create a #ClutterTexture which tracks the #GdkPixbuf value of a GObject property
|
||||
* Create a #ClutterTexture which tracks the #cairo_surface_t value of a GObject property
|
||||
* named by @property_name. Unlike other methods in StTextureCache, the underlying
|
||||
* #CoglTexture is not shared by default with other invocations to this method.
|
||||
*
|
||||
@ -692,9 +700,9 @@ st_texture_cache_free_bind (gpointer data)
|
||||
* Return value: (transfer none): A new #ClutterActor
|
||||
*/
|
||||
ClutterActor *
|
||||
st_texture_cache_bind_pixbuf_property (StTextureCache *cache,
|
||||
GObject *object,
|
||||
const char *property_name)
|
||||
st_texture_cache_bind_cairo_surface_property (StTextureCache *cache,
|
||||
GObject *object,
|
||||
const char *property_name)
|
||||
{
|
||||
ClutterTexture *texture;
|
||||
gchar *notify_key;
|
||||
@ -975,6 +983,12 @@ ensure_monitor_for_file (StTextureCache *cache,
|
||||
{
|
||||
StTextureCachePrivate *priv = cache->priv;
|
||||
|
||||
/* No point in trying to monitor files that are part of a
|
||||
* GResource, since it does not support file monitoring.
|
||||
*/
|
||||
if (g_file_has_uri_scheme (file, "resource"))
|
||||
return;
|
||||
|
||||
if (g_hash_table_lookup (priv->file_monitors, file) == NULL)
|
||||
{
|
||||
GFileMonitor *monitor = g_file_monitor_file (file, G_FILE_MONITOR_NONE,
|
||||
|