Codebase list gnome-shell-extensions / dc54117
Import Upstream version 43.0 Daniel Ruiz de Alegría 1 year, 7 months ago
53 changed file(s) with 750 addition(s) and 509 deletion(s). Raw diff Collapse all Expand all
00 include:
11 - remote: 'https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/bbe5232986c9b98eb1efe62484e07216f7d1a4df/templates/fedora.yml'
22 - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/6f86b8bcb0cd5168c32779c4fea9a893c4a0c046/templates/ci-fairy.yml"
3
4 image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
53
64 stages:
75 - pre_review
119 - deploy
1210
1311 default:
12 image: registry.gitlab.gnome.org/gnome/gnome-shell/fedora/35:2022-02-18.0
1413 # Cancel jobs if newer commits are pushed to the branch
1514 interruptible: true
1615 # Auto-retry jobs in case of infra failures
132131 stage: build
133132 needs:
134133 - build-fedora-container
135 before_script:
136 - git submodule update --init
134 variables:
135 GIT_SUBMODULE_STRATEGY: normal
137136 script:
138137 - meson setup build --werror -Dextension_set=all -Dclassic_mode=true
139138 - meson compile -C build
150149 stage: deploy
151150 needs:
152151 - fedora-build
153 before_script:
154 - git submodule update --init
152 variables:
153 GIT_SUBMODULE_STRATEGY: normal
155154 script:
156155 - meson dist -C build
157156 rules:
0 43.0
1 ====
2
3 Contributors:
4 Florian Müllner
5
6 Translators:
7 Pawan Chitrakar [ne], Zurab Kargareteli [ka], Aleksandr Melman [ru]
8
9 43.rc
10 =====
11 * Misc. bug fixes and cleanups [Florian; !240]
12
13 Contributors:
14 Florian Müllner
15
16 43.beta
17 =======
18 * Misc. bug fixes and cleanups [Florian; !237, !238]
19
20 Contributors:
21 Florian Müllner
22
23 Translators:
24 Nart Tlisha [ab]
25
26 43.alpha
27 ========
28
29 Contributors:
30 Florian Müllner
31
32 Translators:
33 Marco Ciampa [it]
34
035 42.3
136 ====
237 * screenshot-window-sizer: Fix reported sizes on wayland [Florian; !232]
55 "enabledExtensions": [@CLASSIC_EXTENSIONS@],
66 "panel": { "left": ["appMenu"],
77 "center": [],
8 "right": ["a11y", "keyboard", "dateMenu", "aggregateMenu"]
8 "right": ["a11y", "keyboard", "dateMenu", "quickSettings"]
99 }
1010 }
00 // When color definition differs for dark and light variant,
11 // it gets @if-ed depending on $variant
22
3 //GNOME Color Palette
4 $blue_1: #99c1f1;
5 $blue_2: #62a0ea;
6 $blue_3: #3584e4;
7 $blue_4: #1c71d8;
8 $blue_5: #1a5fb4;
9 $green_1: #8ff0a4;
10 $green_2: #57e389;
11 $green_3: #33d17a;
12 $green_4: #2ec27e;
13 $green_5: #26a269;
14 $yellow_1: #f9f06b;
15 $yellow_2: #f8e45c;
16 $yellow_3: #f6d32d;
17 $yellow_4: #f5c211;
18 $yellow_5: #e5a50a;
19 $orange_1: #ffbe6f;
20 $orange_2: #ffa348;
21 $orange_3: #ff7800;
22 $orange_4: #e66100;
23 $orange_5: #c64600;
24 $red_1: #f66151;
25 $red_2: #ed333b;
26 $red_3: #e01b24;
27 $red_4: #c01c28;
28 $red_5: #a51d2d;
29 $purple_1: #dc8add;
30 $purple_2: #c061cb;
31 $purple_3: #9141ac;
32 $purple_4: #813d9c;
33 $purple_5: #613583;
34 $brown_1: #cdab8f;
35 $brown_2: #b5835a;
36 $brown_3: #986a44;
37 $brown_4: #865e3c;
38 $brown_5: #63452c;
39 $light_1: #ffffff;
40 $light_2: #f6f5f4;
41 $light_3: #deddda;
42 $light_4: #c0bfbc;
43 $light_5: #9a9996;
44 $dark_1: #77767b;
45 $dark_2: #5e5c64;
46 $dark_3: #3d3846;
47 $dark_4: #241f31;
48 $dark_5: #000000;
3 @import '_palette.scss';
494
5 $is_highcontrast: "false";
506
51 $base_color: if($variant == 'light', #fff, darken(desaturate(#241f31, 100%), 2%));
7 $_dark_base_color: darken(desaturate(#241f31, 100%), 2%);
8
9 $base_color: if($variant == 'light', #fff, $_dark_base_color);
5210 $bg_color: if($variant == 'light', #f6f5f4, lighten($base_color, 5%));
5311 $fg_color: if($variant == 'light', transparentize(black, .2), white);
5412
6826 $destructive_color: $error_color;
6927
7028 $osd_fg_color: white;
71 $osd_bg_color: transparentize(desaturate($bg_color, 100%),0.04);
29 $osd_bg_color: $_dark_base_color; //hardcoded for both light & dark
7230 $osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
7331 $osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
7432 $osd_borders_color: transparentize(black, 0.3);
7533 $osd_outer_borders_color: transparentize($osd_fg_color, 0.98);
7634
7735 $shadow_color: if($variant == 'light', rgba(0,0,0,0.1), rgba(0,0,0,0.2));
36
37 // button
38 $button_mix_factor: 5%;
39
40 // cards
41 $card_bg_color: if($variant == 'light', darken($bg_color, 5%), lighten($bg_color, 2%));
42
43 // notifications
44 $bubble_buttons_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 10%));
7845
7946 // overview background color
8047 $system_bg_color: $base_color;
9158 $backdrop_insensitive_color: if($variant =='light', darken($backdrop_bg_color,15%), lighten($backdrop_bg_color,15%));
9259 $backdrop_borders_color: mix($borders_color, $bg_color, 90%);
9360 $backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
61
62
63 // derived checked colors
64 $checked_bg_color: if($variant=='light', darken($bg_color, 7%), lighten($bg_color, 7%));
65 $checked_fg_color: if($variant=='light', darken($fg_color, 7%), lighten($fg_color, 7%));
66
67 // derived hover colors
68 $hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 10%));
69 $hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 10%));
70
71 // derived active colors
72 $active_bg_color: if($variant=='light', darken($bg_color, 5%), lighten($bg_color, 12%));
73 $active_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 12%));
3434 // radii of things that display over other things, e.g. popovers
3535 $modal_radius: $base_border_radius*2; // 24px
3636
37 // derived hover colors
38 $hover_bg_color: if($variant=='light', darken($bg_color, 3%), lighten($bg_color, 4%));
39 $hover_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 4%));
40
41 // derived active colors
42 $active_bg_color: if($variant=='light', darken($bg_color, 5%), lighten($bg_color, 6%));
43 $active_fg_color: if($variant=='light', darken($fg_color, 5%), lighten($fg_color, 6%));
44
45 // derived checked colors
46 $checked_bg_color: if($variant=='light', darken($bg_color, 7%), lighten($bg_color, 9%));
47 $checked_fg_color: if($variant=='light', darken($fg_color, 7%), lighten($fg_color, 9%));
37 // Chroma key to flag when a background-color is always occluded, not visible.
38 // This allows any box-shadow behind it to be rendered more efficiently by
39 // omitting the middle rectangle.
40 $invisible_occluded_bg_color: rgba(3,2,1,0);
4841
4942 // fonts
5043 $base_font_size: 11;
8578 padding: $base_padding;
8679 spacing: $base_padding;
8780 border: 2px solid transparent;
88 transition-duration: 100ms;
81 transition-duration: 200ms;
8982 text-align: center;
9083 }
9184
113106 &:checked { @include button(checked);}
114107 }
115108
109 // normal icon-only button
110 %icon_button {
111 border-radius: 99px;
112 border-style: solid;
113 border-width: 1px;
114 font-weight: bold;
115 padding: $base_padding*2;
116
117 @include button(normal);
118 &:focus { @include button(focus);}
119 &:hover { @include button(hover);}
120 &:insensitive { @include button(insensitive);}
121 &:active { @include button(active);}
122 &:checked { @include button(checked);}
123
124 & > StIcon { icon-size: $base_icon_size; }
125 }
126
116127 // buttons in dialogs/notifications
117128 // lighter in color and have a greater radius
118129
119130 $bubble_button_radius:$base_border_radius*1.25;
120 $bubble_buttons_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 7%));
121131
122132 %bubble_button {
123133 padding: $base_padding * 2;
162172 // that are undecorated by default and use OSD colors
163173 %osd_button {
164174 @include button(undecorated);
165 &:insensitive { @include button(undecorated, $c:$osd_bg_color);}
166 &:focus { @include button(focus, $c:$osd_bg_color);}
167 &:hover { @include button(hover, $c:$osd_bg_color);}
168 &:active { @include button(active, $c:$osd_bg_color);}
169 &:outlined,&:checked { @include button(checked, $c:$osd_bg_color);}
175 &:insensitive { @include button(undecorated, $tc:$osd_fg_color, $c:$osd_bg_color);}
176 &:focus { @include button(focus, $tc:$osd_fg_color, $c:$osd_bg_color);}
177 &:hover { @include button(hover, $tc:$osd_fg_color, $c:$osd_bg_color);}
178 &:active { @include button(active, $tc:$osd_fg_color, $c:$osd_bg_color);}
179 &:outlined,&:checked { @include button(checked, $tc:$osd_fg_color, $c:$osd_bg_color);}
170180 }
171181
172182 /* General Typography */
128128 }
129129 }
130130
131
132 // buttons
133 // since buttons are all flat an borderless now the mixin is simpler
134
135 @mixin button($t, $tc:$fg_color, $c:$bg_color) {
136
137 $button_bg_color: mix($tc, $c, 5%);
138131 //
139132 // Button drawing function
140133 //
147140 // backdrop, backdrop-active, backdrop-insensitive, backdrop-insensitive-active,
148141 // osd, osd-hover, osd-active, osd-insensitive, osd-backdrop, undecorated
149142 //
143 // since buttons are all flat an borderless now the mixin is simpler
144
145 @mixin button($t, $tc:$fg_color, $c:$bg_color) {
146
147 $button_bg_color: mix($tc, $c, $button_mix_factor);
148 transition-duration: 100ms;
150149
151150 // normal button
152151 @if $t==normal {
153152 color: $tc;
154153 background-color: $button_bg_color;
154 @if $is_highcontrast == "true" {
155 box-shadow: inset 0 0 0 1px $button_inset_color;
156 }
155157 }
156158
157159 // focused button
158160 @if $t==focus {
159161 color: $tc;
160162 background-color: mix($button_bg_color, $selected_bg_color, 90%);
161 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
163 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4) !important;
162164 &:hover {
163165 background-color: mix(lighten($button_bg_color, 3%), $selected_bg_color, 90%);
164 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
166 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
165167 }
166168 &:active {
167169 background-color: mix(lighten($button_bg_color, 6%), $selected_bg_color, 90%);
168 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3);
170 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important;
169171 }
170172 }
171173
173175 @else if $t==hover {
174176 color: $tc;
175177 background-color: lighten($button_bg_color, 3%);
178
179 @if $is_highcontrast == "true" {
180 box-shadow: inset 0 0 0 1px lighten($button_inset_color, 3%);
181 background-color: mix(lighten($button_bg_color, 3%), $button_inset_color, 10%);
182 }
176183 }
177184
178185 // active button
179186 @else if $t==active {
180187 color: $tc;
181188 background-color: lighten($button_bg_color, 6%);
189 @if $is_highcontrast == "true" {
190 box-shadow: inset 0 0 0 1px lighten($button_inset_color, 6%);
191 background-color: mix(lighten($button_bg_color, 6%), $button_inset_color, 10%);
192 }
182193 }
183194
184195 // checked button
185196 @else if $t==checked {
186197 color: $tc;
187198 background-color: lighten($button_bg_color, 9%);
199 @if $is_highcontrast == "true" {
200 box-shadow: inset 0 0 0 1px lighten($button_inset_color, 9%);
201 background-color: mix(lighten($button_bg_color, 9%), $button_inset_color, 10%);
202 }
188203 &:hover { background-color: lighten($button_bg_color, 12%);}
189204 &:active { background-color: lighten($button_bg_color, 15%);}
190205 }
193208 @else if $t==insensitive {
194209 color: transparentize($tc, 0.5);
195210 background-color: transparentize($tc, .95);
211 @if $is_highcontrast == "true" {
212 box-shadow: inset 0 0 0 1px transparentize($button_inset_color, 0.5);
213 }
196214 }
197215
198216 // default/suggested button
199217 @else if $t==default {
200218 background-color: $selected_bg_color;
201219 color: $selected_fg_color;
220 box-shadow: none;
202221 &:focus {
203 box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4);
222 box-shadow: inset 0 0 0 2px lighten($selected_bg_color, 10%);
204223 }
205224 &:hover, &:focus {
206225 background-color: lighten($selected_bg_color, 5%);
221240 @else if $t==undecorated {
222241 background-color: transparent;
223242 background-color: none;
243 box-shadow: none;
224244 &:insensitive {
225245 @include button(insensitive);
226246 background-color: transparent;
257277
258278 // overview icon, dash, app grid
259279 @mixin overview_icon($color, $flat: true) {
280 transition-duration: 400ms;
260281 .overview-icon { @extend %tile; }
261282 @if $flat {
262283 .overview-icon { background-color: transparent;}
288309 @mixin card($flat: false) {
289310 border-radius: $base_border_radius;
290311 margin: $base_margin;
291 box-shadow: 0 1px 1px 0 rgba(0,0,0,.1);
312 box-shadow: 0 1px 1px 0 $shadow_color;
292313
293314 @if $flat {
294315 @include button(undecorated);
295316 box-shadow: none !important;
296317 } @else {
297 @include button(normal);
318 @include button(normal, $c:$card_bg_color);
298319 }
299320
300321 &:focus {
301 @include button(focus);
322 @include button(focus, $c:$card_bg_color);
302323 }
303324
304325 &:hover {
305 @include button(hover);
326 @include button(hover, $c:$card_bg_color);
306327 }
307328
308329 &:active {
309 @include button(active);
310 }
311 }
330 @include button(active, $c:$card_bg_color);
331 }
332 }
00 // When color definition differs for dark and light variant,
11 // it gets @if ed depending on $variant
22
3 $base_color: #222;
4 $bg_color: #000;
5 $fg_color: #fff;
3 @import '_palette.scss';
4
5 $is_highcontrast: 'true';
6
7 $base_color: if($variant == 'light', #fff, #000);
8 $bg_color: $base_color;
9 $fg_color: if($variant == 'light', transparentize(black, .2), white);
610
711 $selected_fg_color: #ffffff;
8 $selected_bg_color: darken(#4a90d9,20%);
12 $selected_bg_color: $blue_3;
13
914 $selected_borders_color: darken($selected_bg_color, 20%);
10 $borders_color: darken($bg_color,12%);
11 $borders_edge: transparentize($fg_color, 0.9);
15 $borders_color: lighten($bg_color,17%);
16 $borders_edge: $borders_color;
1217 $link_color: lighten($selected_bg_color,20%);
1318 $link_visited_color: lighten($selected_bg_color,10%);
1419
15 $warning_color: #f57900;
16 $error_color: #cc0000;
17 $success_color: darken(#73d216,10%);
18 $destructive_color: darken(#ef2929,10%);
20 $warning_color: if($variant == 'light', $yellow_5, #cd9309);
21 $error_color: if($variant == 'light', $red_3, $red_4);
22 $success_color: if($variant == 'light', $green_4, $green_5);
23 $destructive_color: $error_color;
1924
20 $osd_fg_color: #eeeeec;
21 $osd_bg_color: #2e3436;
22 $osd_borders_color: rgba(0,0,0, 0.7);
23 $osd_outer_borders_color: rgba(255,255,255, 0.1);
24 $osd_insensitive_bg_color: mix($osd_fg_color, $osd_bg_color, 10%);
25 $osd_fg_color: white;
26 $osd_bg_color: $base_color;
27 $osd_insensitive_bg_color: transparentize(mix($osd_fg_color, opacify($osd_bg_color, 1), 10%), 0.5);
2528 $osd_insensitive_fg_color: if($variant == 'light', mix($osd_fg_color, $osd_bg_color, 80%), mix($osd_fg_color, $osd_bg_color, 70%));
29 $osd_borders_color: $osd_bg_color;
30 $osd_outer_borders_color: $osd_bg_color;
2631
27 $shadow_color: rgba(0,0,0, 0.1);
28 $system_bg_color: desaturate(#241f31,100%); //neutralize the HIG color
32 $shadow_color: transparent;
33
34 // button
35 $button_inset_color: transparentize($fg_color, 0.8);
36 $button_mix_factor: 10%;
37
38 // cards
39 $card_bg_color: if($variant == 'light', darken($bg_color, 12%), lighten($bg_color, 12%));
40
41 // notifications
42 $bubble_buttons_color: if($variant == 'light', darken($bg_color, 22%), lighten($bg_color, 31%));
43
44 // overview background color
45 $system_bg_color: lighten($base_color, 17%);
2946
3047 //insensitive state derived colors
3148 $insensitive_fg_color: mix($fg_color, $bg_color, 50%);
3956 $backdrop_insensitive_color: lighten($backdrop_bg_color,15%);
4057 $backdrop_borders_color: mix($borders_color, $bg_color, 90%);
4158 $backdrop_dark_fill: mix($backdrop_borders_color,$backdrop_bg_color, 35%);
59
60 // derived checked colors
61 $checked_bg_color: if($variant=='light', darken($bg_color, 12%), lighten($bg_color, 18%));
62 $checked_fg_color: if($variant=='light', darken($fg_color, 12%), lighten($fg_color, 18%));
63
64 // derived hover colors
65 $hover_bg_color: if($variant=='light', darken($bg_color, 8%), lighten($bg_color, 20%));
66 $hover_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 20%));
67
68 // derived active colors
69 $active_bg_color: if($variant=='light', darken($bg_color, 10%), lighten($bg_color, 22%));
70 $active_fg_color: if($variant=='light', darken($fg_color, 10%), lighten($fg_color, 22%));
0 //GNOME Color Palette
1 $blue_1: #99c1f1;
2 $blue_2: #62a0ea;
3 $blue_3: #3584e4;
4 $blue_4: #1c71d8;
5 $blue_5: #1a5fb4;
6 $green_1: #8ff0a4;
7 $green_2: #57e389;
8 $green_3: #33d17a;
9 $green_4: #2ec27e;
10 $green_5: #26a269;
11 $yellow_1: #f9f06b;
12 $yellow_2: #f8e45c;
13 $yellow_3: #f6d32d;
14 $yellow_4: #f5c211;
15 $yellow_5: #e5a50a;
16 $orange_1: #ffbe6f;
17 $orange_2: #ffa348;
18 $orange_3: #ff7800;
19 $orange_4: #e66100;
20 $orange_5: #c64600;
21 $red_1: #f66151;
22 $red_2: #ed333b;
23 $red_3: #e01b24;
24 $red_4: #c01c28;
25 $red_5: #a51d2d;
26 $purple_1: #dc8add;
27 $purple_2: #c061cb;
28 $purple_3: #9141ac;
29 $purple_4: #813d9c;
30 $purple_5: #613583;
31 $brown_1: #cdab8f;
32 $brown_2: #b5835a;
33 $brown_3: #986a44;
34 $brown_4: #865e3c;
35 $brown_5: #63452c;
36 $light_1: #ffffff;
37 $light_2: #f6f5f4;
38 $light_3: #deddda;
39 $light_4: #c0bfbc;
40 $light_5: #9a9996;
41 $dark_1: #77767b;
42 $dark_2: #5e5c64;
43 $dark_3: #3d3846;
44 $dark_4: #241f31;
45 $dark_5: #000000;
2323 @import 'widgets/hotplug';
2424 // Dialogs
2525 @import 'widgets/dialogs';
26 @import 'widgets/network-dialog';
2726 // OSDs
2827 @import 'widgets/osd';
2928 @import 'widgets/switcher-popup';
3231 // Panel
3332 @import 'widgets/panel';
3433 @import 'widgets/corner-ripple';
34 @import 'widgets/quick-settings';
3535 // Overview
3636 @import 'widgets/overview';
3737 @import 'widgets/window-picker';
7777
7878 .app-folder-dialog-container {
7979 padding: $base_padding*2;
80 width: 640px;
81 height: 640px;
80 width: 720px;
81 height: 720px;
8282 }
8383
8484 // Running app indicator (also shown in dash)
101101 // App Grid pagination indicators
102102 .page-indicator {
103103 padding: $base_padding $base_padding * 2 0;
104 transition-duration:400ms;
104105
105106 .page-indicator-icon {
106107 width: 10px;
123124 }
124125
125126 .page-navigation-hint {
126 width: 300px;
127
128127 &.dnd {
129128 background: rgba(255, 255, 255, 0.1);
130129 }
147146 }
148147
149148 .page-navigation-arrow {
150 margin: 6px;
151 width: 24px;
152 height: 24px;
149 & > StIcon {
150 margin: 6px;
151 padding: 18px;
152 width: 24px;
153 height: 24px;
154 border-radius: 99px;
155 }
156
157 &:insensitive > StIcon { @include button(undecorated, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
158 &:hover > StIcon { @include button(hover, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
159 &:active > StIcon { @include button(active, $osd_fg_color, transparentize($osd_bg_color, 0.5));}
153160 }
33 @extend %button; // that's it
44 min-height: 22px;
55 }
6
7 .icon-button {
8 @extend %icon_button; // that's it
9 }
6868 height: $calendar_day_size !important;
6969 width: $calendar_day_size !important;
7070 border-radius: 99px;
71 transition-duration: 100ms;
7172 @extend %numeric;
7273 @extend %smaller;
7374
22 $ripple_size: 50px;
33
44 .ripple-box {
5 background-color: lighten(transparentize($selected_bg_color, 0.7), 40%);
6 box-shadow: 0 0 2px 2px lighten($selected_bg_color, 20%);
5 background-color: rgba(255,255,255,0.2);
6 box-shadow: 0 0 2px 2px rgba(255,255,255,0.2);
77 // plus + 2px for the border (box-shadow)
88 width: $ripple_size + 2px;
99 height: $ripple_size + 2px;
164164 height: 300px;
165165 width: 300px;
166166 }
167
168 /* Access portal dialog */
169 .access-dialog {
170 text-align: center;
171 }
2828 .horizontal & { padding-left: $base_padding*2; }
2929 }
3030
31 .candidate-page-button { padding: $base_padding;}
31 .candidate-page-button {
32 padding: $base_padding;
33
34 & StIcon { icon-size: $base_icon_size; }
35 }
3236
3337 .candidate-page-button-previous { border-radius: $base_border_radius 0px 0px $base_border_radius; border-right-width: 0;box-shadow: none;}
3438 .candidate-page-button-next { border-radius: 0px $base_border_radius $base_border_radius 0px;box-shadow: none;}
35 .candidate-page-button-icon { icon-size: $base_icon_size; }
6060 &:active { @include keyboard_key(active, $default_key_bg_color, $osd_fg_color);}
6161 &:checked { @include keyboard_key(checked, $default_key_bg_color, $osd_fg_color);}
6262 border-radius: $key_border_radius;
63
64 // keys that may be latched: ctrl/alt/shift
65 &:latched {
66 border-color: lighten($selected_bg_color, 5%);
67 background-color: $selected_bg_color;
68 }
6369 }
6470
6571 // enter key is suggested-action
129135
130136 // suggestions
131137 .word-suggestions {
132 @include fontsize($base_font_size + 3);
138 @include fontsize($base_font_size + 1);
133139 spacing: 12px;
134 min-height: 20pt;
140 min-height: 17pt;
135141 padding: $base_padding*2;
136142 color: $osd_fg_color;
137143
140146 margin: 0 3px;
141147 min-width: 32px;
142148 border-radius: $base_border_radius - 2px;
143 padding: $base_padding $base_padding*3;
149 padding: 0px $base_padding*3;
144150
145151 @include keyboard_key(undecorated, $key_bg_color, $osd_fg_color);
146152
1515 .modal-dialog-button-box { spacing: 3px; }
1616 .modal-dialog-button {
1717 padding: 4px 18px;
18 box-shadow: 0 1px 3px rgba(0,0,0,0.2);
1918 background-color: darken($system_bg_color, 3%);
2019 border-color: darken($system_bg_color, 3%);
2120 color: $osd_fg_color;
2726 }
2827 &:active {
2928 $_active_c: darken($_gdm_bg, 5%);
30 box-shadow: none;
3129 background-color: $_active_c;
3230 border-color: $_active_c;
3331 }
102100 @include fontsize($base_font_size + 2);
103101 font-weight: bold;
104102 padding-left: 15px;
105
106103 &:ltr { padding-left: 14px; text-align: left; }
107104 &:rtl { padding-right: 14px; text-align: right; }
108105 }
185182 .unlock-dialog {
186183 StEntry {
187184 border:none !important;
188 &:focus {
189 background-color: transparentize($fg_color, 0.9);
185 &:focus {
186 background-color: if($variant == 'light', transparentize(white, 0.9), transparentize($fg_color, 0.9));
190187 }
191188 &:insensitive {
192 color: transparentize($fg_color, 0.5);
193 background-color: transparentize($fg_color, 0.95);
189 color: if($variant == 'light', transparentize(white, 0.5), transparentize($fg_color, 0.5));
190 background-color: if($variant == 'light', transparentize(white, 0.95), transparentize($fg_color, 0.95));
194191 }
195192 }
196193
88 color: $osd_fg_color;
99 padding: $base_padding;
1010 spacing: $base_padding;
11 box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);
11 box-shadow: 0 2px 4px 0 $shadow_color;
1212
1313 & > #Toolbar {
1414 border: none;
7878 color: $insensitive_fg_color;
7979 &:hover { color: lighten($insensitive_fg_color, 20%); }
8080 &:active { color: darken($insensitive_fg_color, 20%); }
81
82 & StIcon { icon-size: 12px; }
8183 }
8284 }
8385
122122 margin: 1px;
123123 &:hover {background-color: transparentize($fg_color, 0.8);}
124124 &:active {background-color: transparentize($fg_color, 0.9);}
125
126 & StIcon { icon-size: $base_icon_size; }
125127 }
126128
127129 // body
156158 // fix margin for last button
157159 &:last-child:ltr { margin-right: $base_margin*3; }
158160 &:last-child:rtl { margin-left: $base_margin*3; }
161
162 & StIcon { icon-size: $base_icon_size; }
159163 }
160164
161165 // album-art
+0
-48
data/gnome-shell-sass/widgets/_network-dialog.scss less more
0 /* Select Network dialogs */
1 .nm-dialog {
2 max-height: 34em;
3 min-height: 31em;
4 min-width: 32em;
5 }
6
7 .nm-dialog-content {
8 spacing: 20px;
9 padding: 24px;
10 }
11
12 .nm-dialog-header { @extend %heading; }
13 .nm-dialog-subheader { color: $insensitive_fg_color;}
14 .nm-dialog-header-icon { icon-size: $large_icon_size;}
15 .nm-dialog-header-hbox { spacing: 10px; }
16
17 .nm-dialog-scroll-view {
18 padding:$base_padding;
19 border-radius: $base_border_radius;
20 background-color: $base_color;
21 }
22
23 .nm-dialog-item {
24 padding: $base_padding * 2;
25
26 &:selected {
27 background-color: $selected_bg_color;
28 border-radius: $base_border_radius - 3px;
29 color: $selected_fg_color;
30 }
31 &:hover { background-color:$hover_bg_color;}
32 }
33
34 .nm-dialog-icon { icon-size: $base_icon_size; }
35 .nm-dialog-icons { spacing: $base_padding * 2; }
36
37 // no networks
38 .no-networks-box { spacing: $base_padding; }
39 .no-networks-label { color: $insensitive_fg_color; }
40
41 // airplane mode
42 .nm-dialog-airplane-box {
43 text-align: center;
44 spacing: 12px;
45 }
46 .nm-dialog-airplane-headline { @extend %title_3;}
47 .nm-dialog-airplane-text { color: $insensitive_fg_color;}
77 .notification-banner {
88 min-height: $notification_banner_height;
99 width: $notification_banner_width;
10 box-shadow: 0 2px 4px 2px rgba(0,0,0,0.1);
10 box-shadow: 0 2px 4px 2px $shadow_color;
1111 border-radius: $notification_banner_radius;
1212 margin: $base_margin;
1313
3939
4040 &.screen-recording-indicator {
4141 box-shadow: inset 0 0 0 100px $screenshot_ui_button_red;
42
42 }
43 &.screen-sharing-indicator {
44 box-shadow: inset 0 0 0 100px $warning_color;
45 StBoxLayout { margin: 0 $base_padding; }
46 }
47
48 &.screen-recording-indicator,
49 &.screen-sharing-indicator {
4350 StBoxLayout {
4451 spacing: $base_padding;
4552 }
6471
6572 &.screen-recording-indicator {
6673 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
74 }
75 &.screen-sharing-indicator {
76 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
6777 }
6878 }
6979
7888
7989 &.screen-recording-indicator {
8090 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
91 }
92 &.screen-sharing-indicator {
93 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
8194 }
8295 }
8396
93106 &.screen-recording-indicator {
94107 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
95108 }
109 &.screen-sharing-indicator {
110 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
111 }
96112 }
97113
98114 // status area icons
135151
136152 &.screen-recording-indicator {
137153 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.15);
154 }
155 &.screen-sharing-indicator {
156 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.15);
138157 }
139158 }
140159
149168
150169 &.screen-recording-indicator {
151170 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.1);
171 }
172 &.screen-sharing-indicator {
173 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.1);
152174 }
153175 }
154176
164186 &.screen-recording-indicator {
165187 box-shadow: inset 0 0 0 100px transparentize($screenshot_ui_button_red, 0.2);
166188 }
189 &.screen-sharing-indicator {
190 box-shadow: inset 0 0 0 100px transparentize($warning_color, 0.2);
191 }
167192 }
168193 }
169194 }
1818 // popover content
1919 .popup-menu-content {
2020 padding: $base_padding;
21 border-radius: $modal_radius - 2px;
21 border-radius: $modal_radius*1.25;
2222 border: 1px solid $borders_edge;
23 box-shadow: 0 2px 4px 0 rgba(0,0,0,0.1);
23 box-shadow: 0 2px 4px 0 $shadow_color;
2424 background-color: $bg_color;
2525 }
2626
2727 // menu items
2828 .popup-menu-item {
2929 padding: $base_padding*1.5 $base_padding*2;
30 border-radius: $base_border_radius;
30 border-radius: $base_border_radius*1.5;
3131 spacing: $base_padding;
32 transition: 0.2s all ease;
32 transition-duration: 100ms;
3333 background-color: transparent;
3434
3535 &:ltr {padding-left: $base_padding;}
3636 &:rtl {padding-right: $base_padding;}
3737
3838 &:focus, &:hover {
39 background-color: $hover_bg_color !important;
40 &:active { background-color: $active_bg_color !important;}
41 }
39 background-color: $hover_bg_color !important;
40 &:active { background-color: $active_bg_color !important;}
41 }
4242
4343 &:checked {background-color: $checked_bg_color !important;}
4444
9999 border-radius: 0 0 $base_border_radius $base_border_radius;
100100 }
101101
102 &:focus,&:hover { background-color: lighten($hover_bg_color, 10%) !important;}
102 &:focus,&:hover { background-color: $hover_bg_color !important;}
103103 &:checked {
104 background-color: lighten($checked_bg_color, 10%) !important;
104 background-color: $checked_bg_color !important;
105105 &:focus,&:hover { background-color: lighten($checked_bg_color, 8%) !important;}
106106 }
107 &:active { background-color: lighten($active_bg_color, 10%) !important;}
107 &:active { background-color: $active_bg_color !important;}
108108 }
109109
110110 .popup-menu-section {
163163 -arrow-rise: 0px; // hide the beak on the menu
164164 }
165165
166 // system status menu
167 .aggregate-menu {
168 min-width: 22em;
169
170 // this is unneeded at the top-level in this menu, hide it
171 .popup-menu-ornament { width: 0 !important; }
172
173 // lock screen, shutdown, etc. buttons
174 .popup-menu-icon {
175 -st-icon-style: symbolic;
176 &:ltr {margin-right: $base_margin*2;}
177 &:rtl {margin-left: $base_margin*2;}
178 }
179
180 // account for ornaments in submenus with padding
181 .popup-sub-menu .popup-menu-item > :first-child {
182 // this value is hardcoded for visual effect
183 &:ltr { margin-left: 1em;}
184 &:rtl { margin-right: 1em;}
185 }
186 }
187
188166 // right-click (and panel) app menu
189167 .app-menu {
190168 max-width: 27.25em;
0 .quick-settings {
1 padding: $base_padding*3;
2 border-radius: $modal_radius*2.25;
3
4 .icon-button, .button {
5 padding: $base_padding*1.75;
6 }
7 }
8
9 .quick-settings-grid {
10 spacing-rows: $base_padding*2;
11 spacing-columns: $base_padding*2;
12 }
13
14 .quick-toggle {
15 border-radius: 99px;
16 min-width: 12em;
17 max-width: 12em;
18 min-height: 40px;
19 border:none;
20
21 &:checked { @include button(default); }
22
23 & > StBoxLayout { spacing: $base_padding; }
24
25 /* Move padding into the box; this is to allow menu arrows
26 to extend to the border */
27 &.button { padding: 0; }
28 & > StBoxLayout { padding: 0 $base_padding*2; }
29 &:ltr > StBoxLayout { padding-left: $base_padding*2.5; }
30 &:rtl > StBoxLayout { padding-right: $base_padding*2.5; }
31
32 .quick-toggle-label { font-weight: bold; }
33 .quick-toggle-icon, .quick-toggle-arrow { icon-size: $base_icon_size; }
34 }
35
36 .quick-menu-toggle {
37 &:ltr > StBoxLayout { padding-right: 0; }
38 &:rtl > StBoxLayout { padding-left: 0; }
39
40 & .quick-toggle-arrow {
41 background-color: transparentize($fg_color, 0.9);
42 padding: $base_padding $base_padding*1.75;
43
44 &:ltr { border-radius: 0 99px 99px 0; }
45 &:rtl { border-radius: 99px 0 0 99px; }
46 }
47 }
48
49 .quick-slider {
50 padding: 0 $base_padding;
51
52 & > StBoxLayout { spacing: $base_padding; }
53
54 .slider-bin {
55 &:focus {@include button(focus);}
56 min-height: 16px; // slider size
57 padding: $base_padding;
58 border-radius: 99px;
59 }
60 .quick-toggle-icon { icon-size: $base_icon_size; }
61 .icon-button { background-color: transparent; }
62 }
63
64 .quick-toggle-menu {
65 background-color: $card_bg_color;
66 border-radius: $base_border_radius*3;
67 padding: $base_padding*2;
68 margin: $base_padding*2 $base_padding*3 0;
69
70 .popup-menu-item > StIcon { -st-icon-style: symbolic; }
71
72 & .header {
73 spacing-rows: 0.5 * $base_padding;
74 spacing-columns: $base_padding*2;
75 padding-bottom: 2 * $base_padding;
76
77 & .icon {
78 icon-size: $base_icon_size*1.5; // a non-standard symbolic size but ok
79 border-radius: 999px;
80 padding: 1.5 * $base_padding;
81 background-color: lighten($bg_color, 10%);
82
83 &.active { background-color: $selected_bg_color; }
84 }
85
86 & .title {
87 @extend %title_3;
88 }
89
90 & .subtitle {
91 @extend %caption_heading;
92 }
93 }
94 }
95
96 .quick-toggle-menu-container {
97 }
98
99 .quick-settings-system-item {
100 & > StBoxLayout { spacing: 2 * $base_padding; }
101
102 .icon-button > StIcon { -st-icon-style: symbolic; }
103
104 & .power-item {
105 min-height: 0;
106 min-width: 0;
107
108 &:insensitive {
109 @include button(normal);
110 background-color: transparent;
111 }
112 }
113 }
114
115 .nm-network-item {
116 .wireless-secure-icon { icon-size: 0.5 * $base_icon_size; }
117 }
4747 }
4848
4949 .unlock-dialog-notification-label {
50 padding: 0 0 0 12px;
50 padding-left: 12px;
51 padding-right: 0;
52 &:rtl { padding-right: 12px; padding-left: 0; }
5153 }
5254
5355 .unlock-dialog-notification-count-text {
2525 .screenshot-ui-close-button {
2626 @extend .window-close; // copy window close button
2727 padding: $base_padding !important; // but with more padding
28 &.left { margin-left: 8px;}
29 &.right { margin-right: 8px;}
28 margin-top: 12px;
29 box-shadow: 0 2px 4px 0 $shadow_color;
30 &.left { margin-left: 12px;}
31 &.right { margin-right: 12px;}
3032 }
3133
3234 .screenshot-ui-type-button {
8082 }
8183
8284 .screenshot-ui-shot-cast-container {
83 background-color: $hover_bg_color;
85 background-color: lighten($osd_bg_color,5%);
8486 border-radius: $modal_radius;
8587 padding: $screenshot_ui_shot_cast_spacing;
8688 spacing: $screenshot_ui_shot_cast_spacing;
9294 .screenshot-ui-shot-cast-button {
9395 padding: $base_padding $base_padding*2;
9496 background-color: transparent;
95 &:hover, &:focus { background-color: lighten($hover_bg_color, 5%);}
97 &:hover, &:focus { background-color: lighten($osd_bg_color, 10%);}
9698 &:active { background-color: lighten($active_bg_color,5%);}
9799 &:checked { background-color: white;color: black;}
100 &:insensitive { color: transparentize($osd_fg_color, 0.5);}
98101
99102 border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing;
100103
44
55 $window_thumbnail_label_color: transparentize($osd_bg_color, 0.4);
66
7 $window_close_button_color: darken(transparentize($osd_bg_color, .05), 3%);
7 $window_close_button_color: transparentize(lighten($osd_bg_color, 7%), .02);
88 $window_close_button_size: 30px;
99 $window_close_button_padding: 3px;
1010
1717 // Window titles
1818 .window-caption {
1919 color: $osd_fg_color;
20 background-color: $osd_bg_color;
20 background-color: lighten($osd_bg_color, 5%);
2121 border-radius: 99px;
2222 padding: $base_padding $base_padding * 2;
2323 }
2727 background-color: $window_close_button_color;
2828 color: $osd_fg_color;
2929 border-radius: 99px;
30 box-shadow: 0 2px 4px 0 $shadow_color;
3031 padding: $window_close_button_padding;
3132 height: $window_close_button_size;
3233 width: $window_close_button_size;
33 transition-duration: 300ms;
34 transition-duration: 100ms;
3435
3536 & StIcon { icon-size: 24px; } // uses non standard icon size
3637
3738 &:hover {
38 background-color: mix($osd_fg_color, $window_close_button_color, 15%);
39 background-color: lighten($window_close_button_color, 7%);
3940 }
4041
4142 &:active {
42 color: transparentize($osd_fg_color, 0.2);
43 background-color: darken($window_close_button_color, 5%);
43 background-color: lighten($window_close_button_color, 13%);
4444 }
4545 }
4646
4747 .workspace-background {
4848 // keep in sync with BACKGROUND_CORNER_RADIUS_PIXELS in workspace.js
4949 border-radius: 30px;
50 background-color: $invisible_occluded_bg_color;
5051 box-shadow: 0 4px 16px 4px transparentize(darken($osd_bg_color, 30%), 0.7);
5152 }
6868 'gnome-shell-sass/widgets/_looking-glass.scss',
6969 'gnome-shell-sass/widgets/_message-list.scss',
7070 'gnome-shell-sass/widgets/_misc.scss',
71 'gnome-shell-sass/widgets/_network-dialog.scss',
7271 'gnome-shell-sass/widgets/_notifications.scss',
7372 'gnome-shell-sass/widgets/_osd.scss',
7473 'gnome-shell-sass/widgets/_overview.scss',
7574 'gnome-shell-sass/widgets/_panel.scss',
7675 'gnome-shell-sass/widgets/_popovers.scss',
76 'gnome-shell-sass/widgets/_quick-settings.scss',
7777 'gnome-shell-sass/widgets/_screen-shield.scss',
7878 'gnome-shell-sass/widgets/_scrollbars.scss',
7979 'gnome-shell-sass/widgets/_search-entry.scss',
33 const {
44 Atk, Clutter, Gio, GLib, GMenu, GObject, Gtk, Meta, Shell, St,
55 } = imports.gi;
6 const Signals = imports.signals;
6 const {EventEmitter} = imports.misc.signals;
77
88 const DND = imports.ui.dnd;
99 const ExtensionUtils = imports.misc.extensionUtils;
116116 else
117117 name = _('Favorites');
118118
119 this.add_child(new St.Label({ text: name }));
119 this.add_child(new St.Label({text: name}));
120120 this.connect('motion-event', this._onMotionEvent.bind(this));
121121 this.connect('notify::active', this._onActiveChanged.bind(this));
122122 }
238238 }
239239 }
240240
241 class DesktopTarget {
241 class DesktopTarget extends EventEmitter {
242242 constructor() {
243 super();
244
243245 this._desktop = null;
244246 this._desktopDestroyedId = 0;
245247
356358 return true;
357359 }
358360 }
359 Signals.addSignalMethods(DesktopTarget.prototype);
360361
361362 class ApplicationsButton extends PanelMenu.Button {
362363 static {
407408 });
408409 });
409410
410 this._tree = new GMenu.Tree({ menu_basename: 'applications.menu' });
411 this._tree = new GMenu.Tree({menu_basename: 'applications.menu'});
411412 this._treeChangedId = this._tree.connect('changed',
412413 this._onTreeChanged.bind(this));
413414
508509 }
509510 let app = appSys.lookup_app(id);
510511 if (!app)
511 app = new Shell.App({ app_info: entry.get_app_info() });
512 app = new Shell.App({app_info: entry.get_app_info()});
512513 if (app.get_app_info().should_show())
513514 this.applicationsByCategory[categoryId].push(app);
514515 } else if (nextType === GMenu.TreeItemType.SEPARATOR) {
554555 _createLayout() {
555556 let section = new PopupMenu.PopupMenuSection();
556557 this.menu.addMenuItem(section);
557 this.mainBox = new St.BoxLayout({ vertical: false });
558 this.leftBox = new St.BoxLayout({ vertical: true });
558 this.mainBox = new St.BoxLayout({vertical: false});
559 this.leftBox = new St.BoxLayout({vertical: true});
559560 this.applicationsScrollBox = new St.ScrollView({
560561 style_class: 'apps-menu vfade',
561562 x_expand: true,
577578 vscroll.connect('scroll-stop', () => (this.menu.passEvents = false));
578579 this.leftBox.add_child(this.categoriesScrollBox);
579580
580 this.applicationsBox = new St.BoxLayout({ vertical: true });
581 this.applicationsBox = new St.BoxLayout({vertical: true});
581582 this.applicationsScrollBox.add_actor(this.applicationsBox);
582 this.categoriesBox = new St.BoxLayout({ vertical: true });
583 this.categoriesBox = new St.BoxLayout({vertical: true});
583584 this.categoriesScrollBox.add_actor(this.categoriesBox);
584585
585586 this.mainBox.add(this.leftBox);
11 // Start apps on custom workspaces
22 /* exported init enable disable */
33
4 const { Shell } = imports.gi;
4 const {Shell} = imports.gi;
55
66 const ExtensionUtils = imports.misc.extensionUtils;
77 const Main = imports.ui.main;
11 // Start apps on custom workspaces
22 /* exported init buildPrefsWidget */
33
4 const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
4 const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
55
66 const ExtensionUtils = imports.misc.extensionUtils;
77
7474 append(appInfo) {
7575 const pos = this.#rules.length;
7676
77 this.#rules.push(new Rule({ appInfo }));
77 this.#rules.push(new Rule({appInfo}));
7878 this.#saveRules();
7979
8080 this.items_changed(pos, 0, 1);
9696 if (pos < 0)
9797 return;
9898
99 this.#rules[pos].set({ workspace });
99 this.#rules[pos].set({workspace});
100100 this.#saveRules();
101101 }
102102
115115 const [id, workspace] = stringRule.split(':');
116116 const appInfo = Gio.DesktopAppInfo.new(id);
117117 if (appInfo)
118 this.#rules.push(new Rule({ appInfo, workspace }));
118 this.#rules.push(new Rule({appInfo, workspace}));
119119 else
120120 log(`Invalid ID ${id}`);
121121 }
153153
154154 this._rules = new RulesList();
155155
156 const store = new Gio.ListStore({ item_type: Gio.ListModel });
157 const listModel = new Gtk.FlattenListModel({ model: store });
156 const store = new Gio.ListStore({item_type: Gio.ListModel});
157 const listModel = new Gtk.FlattenListModel({model: store});
158158 store.append(this._rules);
159159 store.append(new NewItemModel());
160160
247247 }
248248
249249 constructor(rule) {
250 const { appInfo } = rule;
250 const {appInfo} = rule;
251251 const id = appInfo.get_id();
252252
253253 super({
00 /* exported init enable disable */
11 // Drive menu extension
2 const { Clutter, Gio, GObject, Shell, St } = imports.gi;
2 const {Clutter, Gio, GObject, Shell, St} = imports.gi;
33
44 const ExtensionUtils = imports.misc.extensionUtils;
55 const Main = imports.ui.main;
00 // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
11 /* exported enable disable */
2 const { Clutter } = imports.gi;
2 const {Clutter} = imports.gi;
33
44 const ExtensionUtils = imports.misc.extensionUtils;
55 const Main = imports.ui.main;
6 const { WindowPreview } = imports.ui.windowPreview;
6 const {WindowPreview} = imports.ui.windowPreview;
77 const Workspace = imports.ui.workspace;
88
99 // testing settings for natural window placement strategy:
284284 }
285285
286286 /**
287 * @param {Object} object - object that was modified
288 * @param {Object} injection - the map of previous injections
287 * @param {object} object - object that was modified
288 * @param {object} injection - the map of previous injections
289289 * @param {string} name - the @injection key that should be removed
290290 */
291291 function removeInjection(object, injection, name) {
00 /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
11 /* exported init enable disable */
22
3 const { Clutter, GObject, St } = imports.gi;
3 const {Clutter, GObject, St} = imports.gi;
44
55 const ExtensionUtils = imports.misc.extensionUtils;
66 const Main = imports.ui.main;
00 // -*- mode: js; js-indent-level: 4; indent-tabs-mode: nil -*-
1
2 const { Gio, GLib, Shell } = imports.gi;
3 const Signals = imports.signals;
1 /* exported PlacesManager */
2
3 const {Gio, GLib, Shell} = imports.gi;
4 const {EventEmitter} = imports.misc.signals;
45
56 const ExtensionUtils = imports.misc.extensionUtils;
67 const Main = imports.ui.main;
2122 </node>';
2223 const Hostname1 = Gio.DBusProxy.makeProxyWrapper(Hostname1Iface);
2324
24 class PlaceInfo {
25 class PlaceInfo extends EventEmitter {
2526 constructor(...params) {
27 super();
28
2629 this._init(...params);
2730 }
2831
3033 this.kind = kind;
3134 this.file = file;
3235 this.name = name || this._getFileName();
33 this.icon = icon ? new Gio.ThemedIcon({ name: icon }) : this.getIcon();
36 this.icon = icon ? new Gio.ThemedIcon({name: icon}) : this.getIcon();
3437 }
3538
3639 destroy() {
9396 // icon from the query info above
9497 switch (this.kind) {
9598 case 'network':
96 return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
99 return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
97100 case 'devices':
98 return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
101 return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
99102 case 'special':
100103 case 'bookmarks':
101104 default:
102105 if (!this.file.is_native())
103 return new Gio.ThemedIcon({ name: 'folder-remote-symbolic' });
106 return new Gio.ThemedIcon({name: 'folder-remote-symbolic'});
104107 else
105 return new Gio.ThemedIcon({ name: 'folder-symbolic' });
108 return new Gio.ThemedIcon({name: 'folder-symbolic'});
106109 }
107110 }
108111
117120 }
118121 }
119122 }
120 Signals.addSignalMethods(PlaceInfo.prototype);
121123
122124 class RootInfo extends PlaceInfo {
123125 _init() {
137139 }
138140
139141 getIcon() {
140 return new Gio.ThemedIcon({ name: 'drive-harddisk-symbolic' });
142 return new Gio.ThemedIcon({name: 'drive-harddisk-symbolic'});
141143 }
142144
143145 _propertiesChanged(proxy) {
245247 GLib.UserDirectory.DIRECTORY_VIDEOS,
246248 ];
247249
248 var PlacesManager = class {
250 var PlacesManager = class extends EventEmitter {
249251 constructor() {
252 super();
253
250254 this._places = {
251255 special: [],
252256 devices: [],
254258 network: [],
255259 };
256260
257 this._settings = new Gio.Settings({ schema_id: BACKGROUND_SCHEMA });
261 this._settings = new Gio.Settings({schema_id: BACKGROUND_SCHEMA});
258262 this._showDesktopIconsChangedId = this._settings.connect(
259263 'changed::show-desktop-icons', this._updateSpecials.bind(this));
260264 this._updateSpecials();
542546 return this._places[kind];
543547 }
544548 };
545 Signals.addSignalMethods(PlacesManager.prototype);
1818 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
1919 */
2020
21 const { Clutter, Meta, Shell, St } = imports.gi;
21 const {Clutter, Meta, Shell, St} = imports.gi;
2222
2323 const ExtensionUtils = imports.misc.extensionUtils;
2424 const Main = imports.ui.main;
3838 */
3939 function flashMessage(message) {
4040 if (!text) {
41 text = new St.Label({ style_class: 'screenshot-sizer-message' });
41 text = new St.Label({style_class: 'screenshot-sizer-message'});
4242 Main.uiGroup.add_actor(text);
4343 }
4444
131131 * @param {Meta.Window} window - the window whose size changed
132132 */
133133 function _notifySizeChange(window) {
134 const { scaleFactor } = St.ThemeContext.get_for_stage(global.stage);
134 const {scaleFactor} = St.ThemeContext.get_for_stage(global.stage);
135135 let newOuterRect = window.get_frame_rect();
136136 let message = '%d×%d'.format(
137137 newOuterRect.width / scaleFactor,
11 // Load shell theme from ~/.local/share/themes/name/gnome-shell
22 /* exported init */
33
4 const { Gio } = imports.gi;
4 const {Gio} = imports.gi;
55
66 const ExtensionUtils = imports.misc.extensionUtils;
77 const Main = imports.ui.main;
33 // we use async/await here to not block the mainloop, not to parallelize
44 /* eslint-disable no-await-in-loop */
55
6 const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
6 const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
77
88 const ExtensionUtils = imports.misc.extensionUtils;
99
2020 }
2121
2222 constructor() {
23 super({ title: 'Themes' });
23 super({title: 'Themes'});
2424
2525 this._actionGroup = new Gio.SimpleActionGroup();
2626 this.insert_action_group('theme', this._actionGroup);
00 /* exported getThemeDirs getModeThemeDirs */
1 const { GLib } = imports.gi;
1 const {GLib} = imports.gi;
22
33 const fn = (...args) => GLib.build_filenamev(args);
44
00 /* exported init */
1 const { Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St } = imports.gi;
1 const {Clutter, Gio, GLib, GObject, Gtk, Meta, Shell, St} = imports.gi;
22
33 const DND = imports.ui.dnd;
44 const ExtensionUtils = imports.misc.extensionUtils;
77 const PopupMenu = imports.ui.popupMenu;
88
99 const Me = ExtensionUtils.getCurrentExtension();
10 const { WindowPicker, WindowPickerToggle } = Me.imports.windowPicker;
11 const { WorkspaceIndicator } = Me.imports.workspaceIndicator;
10 const {WindowPicker, WindowPickerToggle} = Me.imports.windowPicker;
11 const {WorkspaceIndicator} = Me.imports.workspaceIndicator;
1212
1313 const _ = ExtensionUtils.gettext;
1414
119119
120120 this._metaWindow = metaWindow;
121121
122 this._icon = new St.Bin({ style_class: 'window-button-icon' });
122 this._icon = new St.Bin({style_class: 'window-button-icon'});
123123 this.add(this._icon);
124 this.label_actor = new St.Label({ y_align: Clutter.ActorAlign.CENTER });
124 this.label_actor = new St.Label({y_align: Clutter.ActorAlign.CENTER});
125125 this.label_actor.clutter_text.single_line_mode = true;
126126 this.add(this.label_actor);
127127
249249 if (this._longPressTimeoutId)
250250 return;
251251
252 const { longPressDuration } = Clutter.Settings.get_default();
252 const {longPressDuration} = Clutter.Settings.get_default();
253253 this._longPressTimeoutId =
254254 GLib.timeout_add(GLib.PRIORITY_DEFAULT, longPressDuration, () => {
255255 delete this._longPressTimeoutId;
542542 this.app = app;
543543 this._updateVisibility();
544544
545 let stack = new St.Widget({ layout_manager: new Clutter.BinLayout() });
545 let stack = new St.Widget({layout_manager: new Clutter.BinLayout()});
546546 this.set_child(stack);
547547
548548 this._singleWindowTitle = new St.Bin({
741741 this._perMonitor = perMonitor;
742742 this._monitor = monitor;
743743
744 let box = new St.BoxLayout({ x_expand: true, y_expand: true });
744 let box = new St.BoxLayout({x_expand: true, y_expand: true});
745745 this.add_actor(box);
746746
747747 let toggle = new WindowPickerToggle();
750750 toggle.connect('notify::checked',
751751 this._updateWindowListVisibility.bind(this));
752752
753 let layout = new Clutter.BoxLayout({ homogeneous: true });
753 let layout = new Clutter.BoxLayout({homogeneous: true});
754754 this._windowList = new St.Widget({
755755 style_class: 'window-list',
756756 reactive: true,
768768 });
769769 this._windowList.connect('scroll-event', this._onScrollEvent.bind(this));
770770
771 let indicatorsBox = new St.BoxLayout({ x_align: Clutter.ActorAlign.END });
771 let indicatorsBox = new St.BoxLayout({x_align: Clutter.ActorAlign.END});
772772 box.add(indicatorsBox);
773773
774774 this._workspaceIndicator = new WorkspaceIndicator();
775775 indicatorsBox.add_child(this._workspaceIndicator.container);
776776
777 this._mutterSettings = new Gio.Settings({ schema_id: 'org.gnome.mutter' });
777 this._mutterSettings = new Gio.Settings({schema_id: 'org.gnome.mutter'});
778778 this._workspacesOnlyOnPrimaryChangedId = this._mutterSettings.connect(
779779 'changed::workspaces-only-on-primary',
780780 this._updateWorkspaceIndicatorVisibility.bind(this));
917917
918918 let children = this._windowList.get_children();
919919 let [, childWidth] = children[0].get_preferred_width(-1);
920 let { spacing } = this._windowList.layout_manager;
920 let {spacing} = this._windowList.layout_manager;
921921
922922 let workspace = global.workspace_manager.get_active_workspace();
923923 let windows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
00 // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
11 /* exported init buildPrefsWidget */
22
3 const { Adw, Gio, GLib, GObject, Gtk } = imports.gi;
3 const {Adw, Gio, GLib, GObject, Gtk} = imports.gi;
44
55 const ExtensionUtils = imports.misc.extensionUtils;
66
3636 this.add(groupingGroup);
3737
3838 const modes = [
39 { mode: 'never', title: _('Never group windows') },
40 { mode: 'auto', title: _('Group windows when space is limited') },
41 { mode: 'always', title: _('Always group windows') },
39 {mode: 'never', title: _('Never group windows')},
40 {mode: 'auto', title: _('Group windows when space is limited')},
41 {mode: 'always', title: _('Always group windows')},
4242 ];
4343
44 for (const { mode, title } of modes) {
44 for (const {mode, title} of modes) {
4545 const check = new Gtk.CheckButton({
4646 action_name: 'window-list.grouping-mode',
4747 action_target: new GLib.Variant('s', mode),
00 /* exported WindowPicker, WindowPickerToggle */
1 const { Clutter, GObject, Shell, St } = imports.gi;
1 const {Clutter, GObject, Shell, St} = imports.gi;
22
33 const Layout = imports.ui.layout;
44 const Main = imports.ui.main;
5 const { WorkspacesDisplay } = imports.ui.workspacesView;
5 const {WorkspacesDisplay} = imports.ui.workspacesView;
66 const Workspace = imports.ui.workspace;
77
8 const { VIGNETTE_BRIGHTNESS } = imports.ui.lightbox;
8 const {VIGNETTE_BRIGHTNESS} = imports.ui.lightbox;
99 const {
1010 SIDE_CONTROLS_ANIMATION_TIME,
1111 OverviewAdjustment,
8989
9090 this._adjChangedId =
9191 this._overviewAdjustment.connect('notify::value', () => {
92 const { value: progress } = this._overviewAdjustment;
92 const {value: progress} = this._overviewAdjustment;
9393 const brightness = 1 - (1 - VIGNETTE_BRIGHTNESS) * progress;
9494 for (const bg of this._background?._backgroundGroup ?? []) {
9595 bg.content.set({
150150
151151 var WindowPicker = class WindowPicker extends Clutter.Actor {
152152 static [GObject.signals] = {
153 'open-state-changed': { param_types: [GObject.TYPE_BOOLEAN] },
153 'open-state-changed': {param_types: [GObject.TYPE_BOOLEAN]},
154154 };
155155
156156 static {
158158 }
159159
160160 constructor() {
161 super({ reactive: true });
161 super({reactive: true});
162162
163163 this._visible = false;
164164 this._modal = false;
00 /* exported WorkspaceIndicator */
1 const { Clutter, Gio, GObject, Meta, St } = imports.gi;
1 const {Clutter, Gio, GObject, Meta, St} = imports.gi;
22
33 const DND = imports.ui.dnd;
44 const ExtensionUtils = imports.misc.extensionUtils;
2424 });
2525
2626 this._delegate = this;
27 DND.makeDraggable(this, { restoreOnSuccess: true });
27 DND.makeDraggable(this, {restoreOnSuccess: true});
2828
2929 this._window = window;
3030
273273 let workspaceManager = global.workspace_manager;
274274
275275 this._currentWorkspace = workspaceManager.get_active_workspace_index();
276 this._statusLabel = new St.Label({ text: this._getStatusText() });
276 this._statusLabel = new St.Label({text: this._getStatusText()});
277277
278278 this._statusBin = new St.Bin({
279279 style_class: 'status-label-bin',
308308 this._updateThumbnails();
309309 this._updateThumbnailVisibility();
310310
311 this._settings = new Gio.Settings({ schema_id: 'org.gnome.desktop.wm.preferences' });
311 this._settings = new Gio.Settings({schema_id: 'org.gnome.desktop.wm.preferences'});
312312 this._settingsChangedId = this._settings.connect(
313313 'changed::workspace-names', this._updateMenuLabels.bind(this));
314314 }
326326 }
327327
328328 _updateThumbnailVisibility() {
329 const { workspaceManager } = global;
329 const {workspaceManager} = global;
330330 const vertical = workspaceManager.layout_rows === -1;
331331 const useMenu =
332332 vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
00 /* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
11 /* exported init */
2 const { Clutter, Graphene, GObject, St } = imports.gi;
2 const {Clutter, Graphene, GObject, St} = imports.gi;
33
44 const Main = imports.ui.main;
55 const OverviewControls = imports.ui.overviewControls;
5252 }
5353
5454 getWindowWithTooltip(id) {
55 const { layoutManager } = this._container;
55 const {layoutManager} = this._container;
5656 const slot = layoutManager._windowSlots[id - 1];
5757 return slot ? slot[WINDOW_SLOT].metaWindow : null;
5858 }
5959
6060 showWindowsTooltips() {
61 const { layoutManager } = this._container;
61 const {layoutManager} = this._container;
6262 for (let i = 0; i < layoutManager._windowSlots.length; i++) {
6363 if (layoutManager._windowSlots[i])
6464 layoutManager._windowSlots[i][WINDOW_SLOT].showTooltip(`${i + 1}`);
6666 }
6767
6868 hideWindowsTooltips() {
69 const { layoutManager } = this._container;
69 const {layoutManager} = this._container;
7070 for (let i in layoutManager._windowSlots) {
7171 if (layoutManager._windowSlots[i])
7272 layoutManager._windowSlots[i][WINDOW_SLOT].hideTooltip();
9292 this._text.add_constraint(new Clutter.AlignConstraint({
9393 source: this.windowContainer,
9494 align_axis: Clutter.AlignAxis.X_AXIS,
95 pivot_point: new Graphene.Point({ x: 0.5, y: -1 }),
95 pivot_point: new Graphene.Point({x: 0.5, y: -1}),
9696 factor: this._closeButtonSide === St.Side.LEFT ? 1 : 0,
9797 }));
9898 this._text.add_constraint(new Clutter.AlignConstraint({
9999 source: this.windowContainer,
100100 align_axis: Clutter.AlignAxis.Y_AXIS,
101 pivot_point: new Graphene.Point({ x: -1, y: 0.5 }),
101 pivot_point: new Graphene.Point({x: -1, y: 0.5}),
102102 factor: 0,
103103 }));
104104
106106 }).call(clone);
107107
108108 clone.showTooltip = function (text) {
109 this._text.set({ text });
109 this._text.set({text});
110110 this._text.show();
111111 };
112112
169169 }
170170
171171 _onKeyPress(s, o) {
172 const { ControlsState } = OverviewControls;
172 const {ControlsState} = OverviewControls;
173173 if (this._overviewAdjustment.value !== ControlsState.WINDOW_PICKER)
174174 return false;
175175
00 // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
11 /* exported init enable disable */
22
3 const { Clutter, Gio, GObject, Meta, St } = imports.gi;
3 const {Clutter, Gio, GObject, Meta, St} = imports.gi;
44
55 const DND = imports.ui.dnd;
66 const ExtensionUtils = imports.misc.extensionUtils;
2929 });
3030
3131 this._delegate = this;
32 DND.makeDraggable(this, { restoreOnSuccess: true });
32 DND.makeDraggable(this, {restoreOnSuccess: true});
3333
3434 this._window = window;
3535
309309 this._updateThumbnails();
310310 this._updateThumbnailVisibility();
311311
312 this._settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
312 this._settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
313313 this._settingsChangedId = this._settings.connect(
314314 `changed::${WORKSPACE_KEY}`,
315315 this._updateMenuLabels.bind(this));
330330 }
331331
332332 _updateThumbnailVisibility() {
333 const { workspaceManager } = global;
333 const {workspaceManager} = global;
334334 const vertical = workspaceManager.layout_rows === -1;
335335 const useMenu =
336336 vertical || workspaceManager.n_workspaces > MAX_THUMBNAILS;
00 // -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
11 /* exported init buildPrefsWidget */
22
3 const { Adw, Gio, GLib, GObject, Gtk, Pango } = imports.gi;
3 const {Adw, Gio, GLib, GObject, Gtk, Pango} = imports.gi;
44
55 const ExtensionUtils = imports.misc.extensionUtils;
66
4040 GObject.registerClass(this);
4141 }
4242
43 #settings = new Gio.Settings({ schema_id: WORKSPACE_SCHEMA });
43 #settings = new Gio.Settings({schema_id: WORKSPACE_SCHEMA});
4444 #names = this.#settings.get_strv(WORKSPACE_KEY);
4545 #items = Gtk.StringList.new(this.#names);
4646 #changedId;
130130
131131 this._workspaces = new WorkspacesList();
132132
133 const store = new Gio.ListStore({ item_type: Gio.ListModel });
134 const listModel = new Gtk.FlattenListModel({ model: store });
133 const store = new Gio.ListStore({item_type: Gio.ListModel});
134 const listModel = new Gtk.FlattenListModel({model: store});
135135 store.append(this._workspaces);
136136 store.append(new NewItemModel());
137137
156156 }
157157
158158 constructor(name) {
159 super({ name });
159 super({name});
160160
161161 const box = new Gtk.Box({
162162 spacing: 12,
22 - error
33 - properties: never
44 allow: [^vfunc_, ^on_]
5 object-curly-spacing:
5 consistent-return: error
6 eqeqeq:
67 - error
7 - always
8 - smart
89 prefer-arrow-callback: error
910 globals:
1011 global: readonly
00 project('gnome-shell-extensions',
1 version: '42.3',
1 version: '43.0',
22 meson_version: '>= 0.53.0',
33 license: 'GPL2+'
44 )
55 msgid ""
66 msgstr ""
77 "Project-Id-Version: gnome-shell-extensions main\n"
8 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
9 "issues\n"
10 "POT-Creation-Date: 2022-02-12 02:08+0000\n"
8 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
9 "POT-Creation-Date: 2022-07-10 12:54+0000\n"
1110 "PO-Revision-Date: 2022-02-12 02:08+0000\n"
1211 "Last-Translator: Нанба Наала <[email protected]>, 2022\n"
1312 "Language-Team: Abkhazian <[email protected]>\n"
3332 msgid "GNOME Classic on Xorg"
3433 msgstr "Аклассикатә GNOME Xorg аҟны"
3534
36 #: extensions/apps-menu/extension.js:112
35 #: extensions/apps-menu/extension.js:118
3736 msgid "Favorites"
3837 msgstr "Иалкаау"
3938
40 #: extensions/apps-menu/extension.js:370
39 #: extensions/apps-menu/extension.js:379
4140 msgid "Applications"
4241 msgstr "Аԥшьқәа"
4342
4948 msgid ""
5049 "A list of strings, each containing an application id (desktop file name), "
5150 "followed by a colon and the workspace number"
52 msgstr "Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )"
53 "змоу, зашьҭахь ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
54
55 #: extensions/auto-move-windows/prefs.js:19
51 msgstr ""
52 "Ацәаҳәақәа рыхьӡынҵа аиԥшрагәаҭага аԥшьы (desktop-фаил ахьӡ )змоу, зашьҭахь "
53 "ҩ-кәаԥки аусуратә ҭыԥ аномери гылоу "
54
55 #: extensions/auto-move-windows/prefs.js:152
5656 msgid "Workspace Rules"
5757 msgstr "Аусуратә ҵакыра аԥҟаррақәа"
5858
59 #: extensions/auto-move-windows/prefs.js:245
59 #: extensions/auto-move-windows/prefs.js:306
6060 msgid "Add Rule"
6161 msgstr "Аԥҟара ацҵара"
6262
6363 #. TRANSLATORS: %s is the filesystem name
64 #: extensions/drive-menu/extension.js:123
64 #: extensions/drive-menu/extension.js:126
6565 #: extensions/places-menu/placeDisplay.js:210
6666 #, javascript-format
6767 msgid "Ejecting drive “%s” failed:"
6868 msgstr "Адиск «%s» аҭыгара залымшахеит:"
6969
70 #: extensions/drive-menu/extension.js:139
70 #: extensions/drive-menu/extension.js:145
7171 msgid "Removable devices"
7272 msgstr "Иаҿыҵуа аиҿартәырақәа"
7373
74 #: extensions/drive-menu/extension.js:161
74 #: extensions/drive-menu/extension.js:167
7575 msgid "Open Files"
7676 msgstr "Афаил аартра"
7777
8484 "Try to use more screen for placing window thumbnails by adapting to screen "
8585 "aspect ratio, and consolidating them further to reduce the bounding box. "
8686 "This setting applies only with the natural placement strategy."
87 msgstr "Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразы"
88 "аекран аганқәа реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа архәыҷразы"
89 "ари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра алгоритм ахархәараан"
87 msgstr ""
88 "Шәхы иашәырхәа изыцҵоу аекран аҵакыра аминиатиура атыԥаркразыаекран аганқәа "
89 "реизышәара ԥсахуа аҭыԥыркра шәыржәпала, анаҩс адаԥа ҳәаақәызҵо ашәагаа "
90 "архәыҷразыари ахышәара ахархәара аиуоит аминиатиура «natural» аҭыԥыркра "
91 "алгоритм ахархәараан"
9092
9193 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
9294 msgid "Place window captions on top"
9799 "If true, place window captions on top the respective thumbnail, overriding "
98100 "shell default of placing it at the bottom. Changing this setting requires "
99101 "restarting the shell to have any effect."
100 msgstr "Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит"
101 "(ишыҟоу еиԥш ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,"
102 "уи аус аура иалагарцазы, иаҭахуп Shell аиҭарура."
103
104 #: extensions/places-menu/extension.js:88
105 #: extensions/places-menu/extension.js:91
102 msgstr ""
103 "Иалхзар, ахқәа аминиатиура хыхьтәи ахәҭаҟны аҭыԥ ааныркылалоит(ишыҟоу еиԥш "
104 "ахқәа ҵаҟатәи аҭыԥ ааныркылоит).Ари ахышәара аԥсахраан,уи аус аура "
105 "иалагарцазы, иаҭахуп Shell аиҭарура."
106
107 #: extensions/places-menu/extension.js:94
108 #: extensions/places-menu/extension.js:97
106109 msgid "Places"
107110 msgstr "Аҭыԥқәа"
108111
165168 msgid "Maximize"
166169 msgstr "Аиҵыхра"
167170
168 #: extensions/window-list/extension.js:434
171 #: extensions/window-list/extension.js:483
169172 msgid "Minimize all"
170173 msgstr "Зегьы реиҟәырҳәра"
171174
172 #: extensions/window-list/extension.js:440
175 #: extensions/window-list/extension.js:489
173176 msgid "Unminimize all"
174177 msgstr "Зегьы рырхынҳәра"
175178
176 #: extensions/window-list/extension.js:446
179 #: extensions/window-list/extension.js:495
177180 msgid "Maximize all"
178181 msgstr "Зегьы реиҵыхра"
179182
180 #: extensions/window-list/extension.js:454
183 #: extensions/window-list/extension.js:503
181184 msgid "Unmaximize all"
182185 msgstr "Зегьы реиҭашьақәыргылара"
183186
184 #: extensions/window-list/extension.js:462
187 #: extensions/window-list/extension.js:511
185188 msgid "Close all"
186189 msgstr "Зегьы рыркра"
187190
188 #: extensions/window-list/extension.js:741
191 #: extensions/window-list/extension.js:795
189192 msgid "Window List"
190193 msgstr "Аԥенџьырқәа рыхьӡынҵа"
191194
197200 msgid ""
198201 "Decides when to group windows from the same application on the window list. "
199202 "Possible values are “never”, “auto” and “always”."
200 msgstr "Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, аԥенџьырқәа рыхьӡынҵаҟны"
201 " Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — автоматла; «always» — есқьынгьы"
203 msgstr ""
204 "Иҳәаақәнаҵоит, ианаҭаху ԥшьык иаҵанакуа аԥенџьырқәа реидыргәыԥлара, "
205 "аԥенџьырқәа рыхьӡынҵаҟны Иҟалар зылшо аҵакқәа : «never» — ахаан; «auto» — "
206 "автоматла; «always» — есқьынгьы"
202207
203208 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
204 #: extensions/window-list/prefs.js:76
209 #: extensions/window-list/prefs.js:79
205210 msgid "Show windows from all workspaces"
206211 msgstr "Аҵакырақәа зегьы рҟынтә аԥенџьырқәа раарԥшра"
207212
208213 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
209214 msgid "Whether to show windows from all workspaces or only the current one."
210 msgstr
211 "Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи аҟынтә акәу ишаарԥшлатәу"
215 msgstr ""
216 "Аԥенџьырқәа рыхьӡынҵа аусуратә ҵакырақәа зегь рҟынтә акәу,мамзар уажәтәи "
217 "аҟынтә акәу ишаарԥшлатәу"
212218
213219 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
214220 msgid "Show the window list on all monitors"
218224 msgid ""
219225 "Whether to show the window list on all connected monitors or only on the "
220226 "primary one."
221 msgstr
222 "Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , мамзар ихадоу аҟны акәу."
223
224 #: extensions/window-list/prefs.js:32
227 msgstr ""
228 "Аԥенџьырқәа рыхьӡынҵа иаҿаку амониторқәа зегьы рыҟноума иахьаарԥшлатәу , "
229 "мамзар ихадоу аҟны акәу."
230
231 #: extensions/window-list/prefs.js:35
225232 msgid "Window Grouping"
226233 msgstr "Аԥенџьырқәа реидыргәыԥлара"
227234
228 #: extensions/window-list/prefs.js:37
235 #: extensions/window-list/prefs.js:40
229236 msgid "Never group windows"
230237 msgstr "Ахаангьы аԥенџьырқәа реидмыргәыԥлара"
231238
232 #: extensions/window-list/prefs.js:38
239 #: extensions/window-list/prefs.js:41
233240 msgid "Group windows when space is limited"
234241 msgstr "Аҭыԥ маҷхазар, аԥенџьырқәа еидшәыргәыԥла"
235242
236 #: extensions/window-list/prefs.js:39
243 #: extensions/window-list/prefs.js:42
237244 msgid "Always group windows"
238245 msgstr "Еснагь аԥенџьырқәа реидыргәыԥлара"
239246
240 #: extensions/window-list/prefs.js:63
247 #: extensions/window-list/prefs.js:66
241248 msgid "Show on all monitors"
242249 msgstr "Амониторқәа зегьы рҟны рырбара"
243250
244 #: extensions/window-list/workspaceIndicator.js:249
245 #: extensions/workspace-indicator/extension.js:254
251 #: extensions/window-list/workspaceIndicator.js:261
252 #: extensions/workspace-indicator/extension.js:266
246253 msgid "Workspace Indicator"
247254 msgstr "Аусуратә ҵакыра аиндикатор"
248255
249 #: extensions/workspace-indicator/prefs.js:18
256 #: extensions/workspace-indicator/prefs.js:62
257 #, javascript-format
258 msgid "Workspace %d"
259 msgstr "Аусуратә ҵакыра %d"
260
261 #: extensions/workspace-indicator/prefs.js:129
250262 msgid "Workspace Names"
251263 msgstr "Аусуратә ҵакырақәа рыхьӡқәа"
252264
253 #: extensions/workspace-indicator/prefs.js:39
254 #, javascript-format
255 msgid "Workspace %d"
256 msgstr "Аусуратә ҵакыра %d"
257
258 #: extensions/workspace-indicator/prefs.js:184
265 #: extensions/workspace-indicator/prefs.js:255
259266 msgid "Add Workspace"
260267 msgstr "Аусуратә ҵакыра ацҵара"
7979
8080 #: extensions/drive-menu/extension.js:171
8181 msgid "Open Files"
82 msgstr "Apri file"
82 msgstr "Apri File"
8383
8484 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:5
8585 msgid "Use more screen for windows"
88 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
99 "issues\n"
1010 "POT-Creation-Date: 2022-02-13 10:42+0000\n"
11 "PO-Revision-Date: 2022-02-13 14:35+0100\n"
11 "PO-Revision-Date: 2022-09-14 16:37+0200\n"
1212 "Last-Translator: Temuri Doghonadze <[email protected]>\n"
1313 "Language-Team: \n"
1414 "Language: ka\n"
1515 "MIME-Version: 1.0\n"
1616 "Content-Type: text/plain; charset=UTF-8\n"
1717 "Content-Transfer-Encoding: 8bit\n"
18 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
19 "X-Generator: Poedit 3.0.1\n"
18 "Plural-Forms: nplurals=1; plural=0;\n"
19 "X-Generator: Poedit 3.1.1\n"
2020
2121 #: data/gnome-classic.desktop.in:3
2222 msgid "GNOME Classic"
103103 "shell default of placing it at the bottom. Changing this setting requires "
104104 "restarting the shell to have any effect."
105105 msgstr ""
106 "თუ ჩართულია, ფანჯრის სათაური შესაბამისი მინიატურის თავზე გამოჩნდება, რითიც "
107 "გადაფარავს გარსის ნაგულისხმებ მნიშვნელობას, რომ ის ძირზე იყოს. ამ "
108 "პარამეტრის ძალაში შესასვლელად საჭიროა გარსის გადატვირთვა."
106109
107110 #: extensions/places-menu/extension.js:88
108111 #: extensions/places-menu/extension.js:91
55 msgid ""
66 msgstr ""
77 "Project-Id-Version: gnome-shell-extension gnome 3.14\n"
8 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
9 "issues\n"
10 "POT-Creation-Date: 2020-05-28 00:55+0000\n"
11 "PO-Revision-Date: 2021-05-01 11:32+0545\n"
8 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/issues\n"
9 "POT-Creation-Date: 2022-07-10 12:54+0000\n"
10 "PO-Revision-Date: 2022-09-08 02:59+0545\n"
1211 "Last-Translator: Pawan Chitrakar <[email protected]>\n"
1312 "Language-Team: Nepali Translation Team <[email protected]>\n"
1413 "Language: ne\n"
1514 "MIME-Version: 1.0\n"
1615 "Content-Type: text/plain; charset=UTF-8\n"
1716 "Content-Transfer-Encoding: 8bit\n"
18 "X-Generator: Poedit 2.4.2\n"
1917 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
18 "X-Generator: Poedit 3.0.1\n"
2019 "X-Poedit-SourceCharset: UTF-8\n"
2120
22 #: data/gnome-classic.desktop.in:3 data/gnome-classic.session.desktop.in:3
21 #: data/gnome-classic.desktop.in:3
2322 msgid "GNOME Classic"
2423 msgstr "जिनोम क्लासिक"
2524
26 #: data/gnome-classic.desktop.in:4
25 #: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
26 #: data/gnome-classic-xorg.desktop.in:4
2727 msgid "This session logs you into GNOME Classic"
2828 msgstr "यो सेसन जिनोम क्लासिकमा लगईन हुन्छ"
2929
30 #: extensions/apps-menu/extension.js:113
30 #: data/gnome-classic-wayland.desktop.in:3
31 msgid "GNOME Classic on Wayland"
32 msgstr "वेल्याण्डमा जिनोम क्लासिक"
33
34 #: data/gnome-classic-xorg.desktop.in:3
35 msgid "GNOME Classic on Xorg"
36 msgstr "Xorg मा जिनोम क्लासिक"
37
38 #: extensions/apps-menu/extension.js:118
3139 msgid "Favorites"
3240 msgstr "मनपर्ने"
3341
34 #: extensions/apps-menu/extension.js:369
42 #: extensions/apps-menu/extension.js:379
3543 msgid "Applications"
3644 msgstr "अनुप्रयोग"
3745
4149
4250 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
4351 msgid ""
44 "A list of strings, each containing an application id (desktop file name), "
45 "followed by a colon and the workspace number"
46 msgstr ""
47 "स्ट्रिङहरूको सूची, प्रत्येकमा अनुप्रयोग आईडी (डेस्कटप फाइल नाम) समाविष्ट छ, त्यसपछि "
48 "विराम र कार्यस्थान नम्बरद्वारा अनुगमन गरियो"
49
50 #: extensions/auto-move-windows/prefs.js:35
52 "A list of strings, each containing an application id (desktop file name), followed by a colon "
53 "and the workspace number"
54 msgstr ""
55 "स्ट्रिङहरूको सूची, प्रत्येकमा अनुप्रयोग आईडी (डेस्कटप फाइल नाम) समाविष्ट छ, त्यसपछि विराम र कार्यस्थान "
56 "नम्बरद्वारा अनुगमन गरियो"
57
58 #: extensions/auto-move-windows/prefs.js:152
5159 msgid "Workspace Rules"
5260 msgstr "कार्यस्थान नियम"
5361
54 #: extensions/auto-move-windows/prefs.js:243
62 #: extensions/auto-move-windows/prefs.js:306
5563 msgid "Add Rule"
5664 msgstr "नियम थप्नुहोस्"
5765
5866 #. TRANSLATORS: %s is the filesystem name
59 #: extensions/drive-menu/extension.js:112
60 #: extensions/places-menu/placeDisplay.js:233
67 #: extensions/drive-menu/extension.js:126 extensions/places-menu/placeDisplay.js:210
6168 #, javascript-format
6269 msgid "Ejecting drive “%s” failed:"
6370 msgstr "\"%s\" ड्राइभ निकाल्न असफल भयो:"
6471
65 #: extensions/drive-menu/extension.js:128
72 #: extensions/drive-menu/extension.js:145
6673 msgid "Removable devices"
6774 msgstr "छुट्याउन मिल्ने यन्त्र"
6875
69 #: extensions/drive-menu/extension.js:155
76 #: extensions/drive-menu/extension.js:167
7077 msgid "Open Files"
7178 msgstr "खुला फाइल"
7279
7683
7784 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:6
7885 msgid ""
79 "Try to use more screen for placing window thumbnails by adapting to screen "
80 "aspect ratio, and consolidating them further to reduce the bounding box. "
81 "This setting applies only with the natural placement strategy."
82 msgstr ""
83 "सञ्झ्याल थम्बनेलहरू पर्दा आकार अनुपातमा अनुकूल गरेर राख्नका लागि धेरै पर्दा प्रयोग गर्न "
84 "प्रयास गर्नुहोस्, र तिनीहरूलाई बाउन्डिङ बाकस घटाउन अझ संगठित गर्नुहोस् । यो तरिका "
85 "प्राकृतिक प्लेसमेन्ट रणनीतिमा मात्र लागू हुन्छ।"
86 "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and "
87 "consolidating them further to reduce the bounding box. This setting applies only with the "
88 "natural placement strategy."
89 msgstr ""
90 "सञ्झ्याल थम्बनेलहरू पर्दा आकार अनुपातमा अनुकूल गरेर राख्नका लागि धेरै पर्दा प्रयोग गर्न प्रयास गर्नुहोस्, र "
91 "तिनीहरूलाई बाउन्डिङ बाकस घटाउन अझ संगठित गर्नुहोस् । यो तरिका प्राकृतिक प्लेसमेन्ट रणनीतिमा मात्र लागू हुन्छ।"
8692
8793 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:11
8894 msgid "Place window captions on top"
9096
9197 #: extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml:12
9298 msgid ""
93 "If true, place window captions on top the respective thumbnail, overriding "
94 "shell default of placing it at the bottom. Changing this setting requires "
95 "restarting the shell to have any effect."
96 msgstr ""
97 "ठीक भएमा, सम्बन्धित थम्बनेलको माथि सञ्झ्याल क्याप्सन राख्नुहोस्, यसलाई तल राख्ने "
98 "पूर्वनिर्धारित शेल अधिलेखन गर्नुहोस् । यो सेटिङ परिवर्तन गर्न कुनै प्रभाव पार्न शेल पुन: "
99 "सुरुआत गर्नु आवश्यक हुन्छ ।"
100
101 #: extensions/places-menu/extension.js:89
102 #: extensions/places-menu/extension.js:93
99 "If true, place window captions on top the respective thumbnail, overriding shell default of "
100 "placing it at the bottom. Changing this setting requires restarting the shell to have any "
101 "effect."
102 msgstr ""
103 "ठीक भएमा, सम्बन्धित थम्बनेलको माथि सञ्झ्याल क्याप्सन राख्नुहोस्, यसलाई तल राख्ने पूर्वनिर्धारित शेल अधिलेखन "
104 "गर्नुहोस् । यो सेटिङ परिवर्तन गर्न कुनै प्रभाव पार्न शेल पुन: सुरुआत गर्नु आवश्यक हुन्छ ।"
105
106 #: extensions/places-menu/extension.js:94 extensions/places-menu/extension.js:97
103107 msgid "Places"
104108 msgstr "ठाउँहरू"
105109
106 #: extensions/places-menu/placeDisplay.js:46
110 #: extensions/places-menu/placeDisplay.js:49
107111 #, javascript-format
108112 msgid "Failed to launch “%s”"
109113 msgstr "%s सुरु गर्न असफल"
110114
111 #: extensions/places-menu/placeDisplay.js:61
115 #: extensions/places-menu/placeDisplay.js:64
112116 #, javascript-format
113117 msgid "Failed to mount volume for “%s”"
114118 msgstr "\"%s\" का लागि भोल्युम माउन्ट गर्न असफल"
115119
116 #: extensions/places-menu/placeDisplay.js:148
117 #: extensions/places-menu/placeDisplay.js:171
120 #: extensions/places-menu/placeDisplay.js:125 extensions/places-menu/placeDisplay.js:148
118121 msgid "Computer"
119122 msgstr "कम्प्युटर"
120123
121 #: extensions/places-menu/placeDisplay.js:359
124 #: extensions/places-menu/placeDisplay.js:336
122125 msgid "Home"
123126 msgstr "गृह"
124127
125 #: extensions/places-menu/placeDisplay.js:404
128 #: extensions/places-menu/placeDisplay.js:381
126129 msgid "Browse Network"
127130 msgstr "सञ्जाल ब्राउज गर्नुहोस्"
128131
142145 msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
143146 msgstr "~/.themes/name/gnome-shell बाट लोड गरिनुपर्ने विषयवस्तुको नाम"
144147
145 #: extensions/window-list/extension.js:98
148 #: extensions/window-list/extension.js:72
146149 msgid "Close"
147150 msgstr "बन्द"
148151
149 #: extensions/window-list/extension.js:118
152 #: extensions/window-list/extension.js:92
150153 msgid "Unminimize"
151154 msgstr "न्यूनतम नबनाउनुहोस्"
152155
153 #: extensions/window-list/extension.js:118
156 #: extensions/window-list/extension.js:92
154157 msgid "Minimize"
155158 msgstr "सानो बनाउनुहोस्"
156159
157 #: extensions/window-list/extension.js:125
160 #: extensions/window-list/extension.js:99
158161 msgid "Unmaximize"
159162 msgstr "अघिकतम नबनाउनुहोस्"
160163
161 #: extensions/window-list/extension.js:125
164 #: extensions/window-list/extension.js:99
162165 msgid "Maximize"
163166 msgstr "ठूलो बनाउनुहोस्"
164167
165 #: extensions/window-list/extension.js:428
168 #: extensions/window-list/extension.js:483
166169 msgid "Minimize all"
167170 msgstr "सबै सानो बनाउनुहोस्"
168171
169 #: extensions/window-list/extension.js:434
172 #: extensions/window-list/extension.js:489
170173 msgid "Unminimize all"
171174 msgstr "सबै न्यूनतम नबनाउनुहोस्"
172175
173 #: extensions/window-list/extension.js:440
176 #: extensions/window-list/extension.js:495
174177 msgid "Maximize all"
175178 msgstr "सबै ठूलो बनाउनुहोस्"
176179
177 #: extensions/window-list/extension.js:448
180 #: extensions/window-list/extension.js:503
178181 msgid "Unmaximize all"
179182 msgstr "सबैलाई अघिकतम नबनाउनुहोस्"
180183
181 #: extensions/window-list/extension.js:456
184 #: extensions/window-list/extension.js:511
182185 msgid "Close all"
183186 msgstr "सबै बन्द गर्नुहोस्"
184187
185 #: extensions/window-list/extension.js:734
188 #: extensions/window-list/extension.js:795
186189 msgid "Window List"
187190 msgstr "सञ्झ्याल सूची"
188191
192195
193196 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:13
194197 msgid ""
195 "Decides when to group windows from the same application on the window list. "
196 "Possible values are “never”, “auto” and “always”."
197 msgstr ""
198 "सञ्झ्याल सूचीमा उस्तै अनुप्रयोगबाट कहिले समूह बनाउने निर्णय गर्दछ । सम्भावित मान \"कहिले "
199 "पनि\", \"स्वचालित\" र \"सधैँ\" हुन् ।"
198 "Decides when to group windows from the same application on the window list. Possible values are "
199 "“never”, “auto” and “always”."
200 msgstr ""
201 "सञ्झ्याल सूचीमा उस्तै अनुप्रयोगबाट कहिले समूह बनाउने निर्णय गर्दछ । सम्भावित मान \"कहिले पनि\", \"स्वचालित\" र "
202 "\"सधैँ\" हुन् ।"
200203
201204 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
202 #: extensions/window-list/prefs.js:100
205 #: extensions/window-list/prefs.js:79
203206 msgid "Show windows from all workspaces"
204207 msgstr "सबै कार्यस्थानबाट सन्झ्याल देखाउनुहोस्"
205208
212215 msgstr "सबै मोनिटरमा सञ्झ्याल सूची देखाउनुहोस्"
213216
214217 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:28
215 msgid ""
216 "Whether to show the window list on all connected monitors or only on the "
217 "primary one."
218 msgstr ""
219 "सबै जडान गरिएको मोनिटरमा वा प्राथमिक मोनिटरमा मात्र सञ्झ्याल सूची देखाउने या नदेखाउने "
220 "।"
221
222 #: extensions/window-list/prefs.js:29
218 msgid "Whether to show the window list on all connected monitors or only on the primary one."
219 msgstr "सबै जडान गरिएको मोनिटरमा वा प्राथमिक मोनिटरमा मात्र सञ्झ्याल सूची देखाउने या नदेखाउने ।"
220
221 #: extensions/window-list/prefs.js:35
223222 msgid "Window Grouping"
224223 msgstr "समूहबद्ध सञ्झ्याल"
225224
226 #: extensions/window-list/prefs.js:58
225 #: extensions/window-list/prefs.js:40
227226 msgid "Never group windows"
228227 msgstr "सञ्झ्याल समुहबध्द नगर्ने"
229228
230 #: extensions/window-list/prefs.js:59
229 #: extensions/window-list/prefs.js:41
231230 msgid "Group windows when space is limited"
232231 msgstr "खाली स्थान सिमित भएको बेलामा सञ्झ्यालहरू समूह गर्नुहोस्"
233232
234 #: extensions/window-list/prefs.js:60
233 #: extensions/window-list/prefs.js:42
235234 msgid "Always group windows"
236235 msgstr "सञ्झ्याल सधैँ समुहबध्द गर्ने"
237236
238 #: extensions/window-list/prefs.js:94
237 #: extensions/window-list/prefs.js:66
239238 msgid "Show on all monitors"
240239 msgstr "सबै मोनिटरमा देखाउनुहोस्"
241240
242 #: extensions/window-list/workspaceIndicator.js:207
243 #: extensions/workspace-indicator/extension.js:213
241 #: extensions/window-list/workspaceIndicator.js:261
242 #: extensions/workspace-indicator/extension.js:266
244243 msgid "Workspace Indicator"
245244 msgstr "कार्यस्थान सूचक"
246245
247 #: extensions/workspace-indicator/prefs.js:34
248 msgid "Workspace Names"
249 msgstr "कार्यस्थल नाम"
250
251 #: extensions/workspace-indicator/prefs.js:67
246 #: extensions/workspace-indicator/prefs.js:62
252247 #, javascript-format
253248 msgid "Workspace %d"
254249 msgstr "कार्यस्थल %d"
255250
256 #: extensions/workspace-indicator/prefs.js:218
251 #: extensions/workspace-indicator/prefs.js:129
252 msgid "Workspace Names"
253 msgstr "कार्यस्थल नाम"
254
255 #: extensions/workspace-indicator/prefs.js:255
257256 msgid "Add Workspace"
258257 msgstr "कार्यस्थल थप्नुहोस्"
259258
55 #
66 msgid ""
77 msgstr ""
8 "Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
8 "Project-Id-Version: gnome-shell-extensions\n"
99 "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell-extensions/"
1010 "issues\n"
11 "POT-Creation-Date: 2021-11-06 14:08+0000\n"
12 "PO-Revision-Date: 2021-12-11 15:12+0300\n"
11 "POT-Creation-Date: 2022-07-10 12:54+0000\n"
12 "PO-Revision-Date: 2022-09-14 13:09+0300\n"
1313 "Last-Translator: Aleksandr Melman <[email protected]>\n"
1414 "Language-Team: Русский <[email protected]>\n"
1515 "Language: ru\n"
1616 "MIME-Version: 1.0\n"
1717 "Content-Type: text/plain; charset=UTF-8\n"
1818 "Content-Transfer-Encoding: 8bit\n"
19 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
20 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21 "X-Generator: Poedit 3.0\n"
19 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
20 "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
21 "X-Generator: Poedit 3.1\n"
2222
2323 #: data/gnome-classic.desktop.in:3
2424 msgid "GNOME Classic"
2727 #: data/gnome-classic.desktop.in:4 data/gnome-classic-wayland.desktop.in:4
2828 #: data/gnome-classic-xorg.desktop.in:4
2929 msgid "This session logs you into GNOME Classic"
30 msgstr "Данный сеанс использует классический рабочий стол GNOME"
30 msgstr "Данный сеанс использует классический GNOME"
3131
3232 #: data/gnome-classic-wayland.desktop.in:3
3333 msgid "GNOME Classic on Wayland"
3737 msgid "GNOME Classic on Xorg"
3838 msgstr "Классический GNOME на Xorg"
3939
40 #: extensions/apps-menu/extension.js:112
40 #: extensions/apps-menu/extension.js:118
4141 msgid "Favorites"
4242 msgstr "Избранное"
4343
44 #: extensions/apps-menu/extension.js:366
44 #: extensions/apps-menu/extension.js:379
4545 msgid "Applications"
4646 msgstr "Приложения"
4747
4848 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:6
4949 msgid "Application and workspace list"
50 msgstr "Приложение и список рабочих областей"
50 msgstr "Приложение и список рабочих столов"
5151
5252 #: extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml:7
5353 msgid ""
5555 "followed by a colon and the workspace number"
5656 msgstr ""
5757 "Список строк, содержащих идентификатор приложения (имя desktop-файла), за "
58 "которым следует двоеточие и номер рабочего места"
59
60 #: extensions/auto-move-windows/prefs.js:34
58 "которым следует двоеточие и номер рабочего стола"
59
60 #: extensions/auto-move-windows/prefs.js:152
6161 msgid "Workspace Rules"
62 msgstr "Правила для рабочей области"
63
64 #: extensions/auto-move-windows/prefs.js:236
62 msgstr "Правила для рабочих столов"
63
64 #: extensions/auto-move-windows/prefs.js:306
6565 msgid "Add Rule"
6666 msgstr "Добавить правило"
6767
6868 #. TRANSLATORS: %s is the filesystem name
69 #: extensions/drive-menu/extension.js:133
70 #: extensions/places-menu/placeDisplay.js:233
69 #: extensions/drive-menu/extension.js:126
70 #: extensions/places-menu/placeDisplay.js:210
7171 #, javascript-format
7272 msgid "Ejecting drive “%s” failed:"
7373 msgstr "Не удалось извлечь диск «%s»:"
7474
75 #: extensions/drive-menu/extension.js:149
75 #: extensions/drive-menu/extension.js:145
7676 msgid "Removable devices"
7777 msgstr "Съёмные устройства"
7878
79 #: extensions/drive-menu/extension.js:171
79 #: extensions/drive-menu/extension.js:167
8080 msgid "Open Files"
8181 msgstr "Открыть файлы"
8282
109109 "умолчанию заголовки располагаются снизу). При изменении этого параметра, "
110110 "чтобы оно вступило в силу, необходимо перезапустить Shell."
111111
112 #: extensions/places-menu/extension.js:88
113 #: extensions/places-menu/extension.js:91
112 #: extensions/places-menu/extension.js:94
113 #: extensions/places-menu/extension.js:97
114114 msgid "Places"
115115 msgstr "Места"
116116
117 #: extensions/places-menu/placeDisplay.js:46
117 #: extensions/places-menu/placeDisplay.js:49
118118 #, javascript-format
119119 msgid "Failed to launch “%s”"
120120 msgstr "Не удалось запустить «%s»"
121121
122 #: extensions/places-menu/placeDisplay.js:61
122 #: extensions/places-menu/placeDisplay.js:64
123123 #, javascript-format
124124 msgid "Failed to mount volume for “%s”"
125125 msgstr "Не удалось смонтировать том для «%s»"
126126
127 #: extensions/places-menu/placeDisplay.js:125
127128 #: extensions/places-menu/placeDisplay.js:148
128 #: extensions/places-menu/placeDisplay.js:171
129129 msgid "Computer"
130130 msgstr "Компьютер"
131131
132 #: extensions/places-menu/placeDisplay.js:359
132 #: extensions/places-menu/placeDisplay.js:336
133133 msgid "Home"
134134 msgstr "Домашняя папка"
135135
136 #: extensions/places-menu/placeDisplay.js:404
136 #: extensions/places-menu/placeDisplay.js:381
137137 msgid "Browse Network"
138138 msgstr "Обзор сети"
139139
174174 msgid "Maximize"
175175 msgstr "Развернуть"
176176
177 #: extensions/window-list/extension.js:434
177 #: extensions/window-list/extension.js:483
178178 msgid "Minimize all"
179179 msgstr "Свернуть все"
180180
181181 # ну или "восстановить", правда тогда появляется неоднозначный повтор (unmaximize)
182 #: extensions/window-list/extension.js:440
182 #: extensions/window-list/extension.js:489
183183 msgid "Unminimize all"
184184 msgstr "Вернуть все"
185185
186 #: extensions/window-list/extension.js:446
186 #: extensions/window-list/extension.js:495
187187 msgid "Maximize all"
188188 msgstr "Развернуть все"
189189
190 #: extensions/window-list/extension.js:454
190 #: extensions/window-list/extension.js:503
191191 msgid "Unmaximize all"
192192 msgstr "Восстановить все"
193193
194 #: extensions/window-list/extension.js:462
194 #: extensions/window-list/extension.js:511
195195 msgid "Close all"
196196 msgstr "Закрыть все"
197197
198 #: extensions/window-list/extension.js:741
198 #: extensions/window-list/extension.js:795
199199 msgid "Window List"
200200 msgstr "Список окон"
201201
213213 "«always» — всегда."
214214
215215 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:20
216 #: extensions/window-list/prefs.js:86
216 #: extensions/window-list/prefs.js:79
217217 msgid "Show windows from all workspaces"
218 msgstr "Отображать окна со всех рабочих областей"
218 msgstr "Отображать окна со всех рабочих столов"
219219
220220 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:21
221221 msgid "Whether to show windows from all workspaces or only the current one."
222222 msgstr ""
223 "Показывать ли список окон со всех рабочих областей или только с текущей."
223 "Показывать ли список окон со всех рабочих столов или только с текущего."
224224
225225 #: extensions/window-list/org.gnome.shell.extensions.window-list.gschema.xml:27
226226 msgid "Show the window list on all monitors"
234234 "Показывать ли список окон на всех подключенных мониторах или только на "
235235 "основном."
236236
237 #: extensions/window-list/prefs.js:39
237 #: extensions/window-list/prefs.js:35
238238 msgid "Window Grouping"
239239 msgstr "Группировка окон"
240240
241 #: extensions/window-list/prefs.js:63
241 #: extensions/window-list/prefs.js:40
242242 msgid "Never group windows"
243243 msgstr "Никогда не группировать окна"
244244
245 #: extensions/window-list/prefs.js:64
245 #: extensions/window-list/prefs.js:41
246246 msgid "Group windows when space is limited"
247247 msgstr "Группировать окна, если место ограничено"
248248
249 #: extensions/window-list/prefs.js:65
249 #: extensions/window-list/prefs.js:42
250250 msgid "Always group windows"
251251 msgstr "Всегда группировать окна"
252252
253 #: extensions/window-list/prefs.js:81
253 #: extensions/window-list/prefs.js:66
254254 msgid "Show on all monitors"
255255 msgstr "Показывать на всех мониторах"
256256
257 #: extensions/window-list/workspaceIndicator.js:249
258 #: extensions/workspace-indicator/extension.js:254
257 #: extensions/window-list/workspaceIndicator.js:261
258 #: extensions/workspace-indicator/extension.js:266
259259 msgid "Workspace Indicator"
260 msgstr "Индикатор рабочей области"
261
262 #: extensions/workspace-indicator/prefs.js:33
260 msgstr "Индикатор рабочих столов"
261
262 #: extensions/workspace-indicator/prefs.js:62
263 #, javascript-format
264 msgid "Workspace %d"
265 msgstr "Рабочий стол %d"
266
267 #: extensions/workspace-indicator/prefs.js:129
263268 msgid "Workspace Names"
264 msgstr "Названия рабочих областей"
265
266 #: extensions/workspace-indicator/prefs.js:66
267 #, javascript-format
268 msgid "Workspace %d"
269 msgstr "Рабочая область %d"
270
271 #: extensions/workspace-indicator/prefs.js:207
269 msgstr "Названия рабочих столов"
270
271 #: extensions/workspace-indicator/prefs.js:255
272272 msgid "Add Workspace"
273 msgstr "Добавить рабочую область"
274
273 msgstr "Добавить рабочий стол"