diff -Nru gnome-shell-45.1/NEWS gnome-shell-45.2/NEWS --- gnome-shell-45.1/NEWS 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/NEWS 2023-12-01 19:43:51.000000000 +0000 @@ -1,3 +1,28 @@ +45.2 +==== +* Fix performance degradation due to repeated signal leak [Sebastian; !3001] +* Optimize application search [Sebastian; !3004] +* Fix on-screen keyboard backspace getting stuck [Sebastian; !3009] +* Fix arrow navigation in search results [Sebastian; !3015] +* Support async code in Eval() D-Bus method [Florian; !3021] +* Fix sliders not requesting any size [Florian; !2994] +* Only show prefs dialog after the extension has been loaded [Florian; !3025] +* Improve high-contrast styling [Sam; !3030] +* Fix mapping of tablet rings/strips [Peter; !3029] +* Add support for "version-name" field in extension metainfo + [Aryan, Florian; !2995, !3034] +* Fixed crashes [Carlos, Sebastian, Florian; !2993, !3018, !3011] +* Misc. bug fixes and cleanups [Florian, Barnabás, Jonas, Julian, Charles; + !3005, !3008, !2190, !3023, !2997] + +Contributors: + Jonas Dreßler, Carlos Garnacho, Sam Hewitt, Peter Hutterer, Aryan Kaushik, + Sebastian Keller, Florian Müllner, Barnabás Pőcze, Julian Sparber, + Charles Wong + +Translators: + Ekaterine Papava [ka], Ngọc Quân Trần [vi], Dušan Kazik [sk] + 45.1 ==== * Fix scroll handling on sliders [Carlos; !2967] diff -Nru gnome-shell-45.1/data/dbus-interfaces/org.gnome.Shell.Extensions.xml gnome-shell-45.2/data/dbus-interfaces/org.gnome.Shell.Extensions.xml --- gnome-shell-45.1/data/dbus-interfaces/org.gnome.Shell.Extensions.xml 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/data/dbus-interfaces/org.gnome.Shell.Extensions.xml 2023-12-01 19:43:51.000000000 +0000 @@ -108,6 +108,11 @@ + version-name s + The extension version name + + + url s The URL to the extension homepage or repository diff -Nru gnome-shell-45.1/data/theme/gnome-shell-dark.css gnome-shell-45.2/data/theme/gnome-shell-dark.css --- gnome-shell-45.1/data/theme/gnome-shell-dark.css 2023-10-31 23:48:20.375271600 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-dark.css 2023-12-02 17:30:11.964135000 +0000 @@ -49,10 +49,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:hover, .button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .icon-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .close-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:active, .button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .icon-button:focus:active, .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .close-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:hover, .button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .icon-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .close-button:hover { transition-duration: 100ms; @@ -71,9 +71,9 @@ color: white; background-color: #5e5e5e; } .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .icon-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .close-button:checked:hover { - background-color: #666666; } + background-color: #7d7d7d; } .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .icon-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .close-button:checked:active { - background-color: #6d6d6d; } + background-color: #848484; } .app-folder-dialog .folder-name-container .default.edit-folder-button, .default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -103,10 +103,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:hover, .flat.button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .flat.icon-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .flat.close-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:active, .flat.button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .flat.icon-button:focus:active, .flat.login-dialog-button.cancel-button:focus:active, .flat.login-dialog-button.switch-user-button:focus:active, .flat.login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .flat.close-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:hover, .flat.button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .flat.icon-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .flat.close-button:hover { transition-duration: 100ms; @@ -125,9 +125,9 @@ color: white; background-color: #5e5e5e; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .flat.icon-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .flat.close-button:checked:hover { - background-color: #666666; } + background-color: #7d7d7d; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .flat.icon-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .flat.close-button:checked:active { - background-color: #6d6d6d; } + background-color: #848484; } .app-folder-dialog .folder-name-container .flat.default.edit-folder-button, .flat.default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -192,10 +192,10 @@ background-color: #505862; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .modal-dialog .modal-dialog-linked-button:focus:hover, .hotplug-notification-item:focus:hover, .notification-banner .notification-button:focus:hover { - background-color: #575f68; + background-color: #57606a; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:focus:active, .hotplug-notification-item:focus:active, .notification-banner .notification-button:focus:active { - background-color: #5e666f; + background-color: #5e6773; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner .notification-button:hover { transition-duration: 100ms; @@ -210,9 +210,9 @@ color: white; background-color: #6a6a6a; } .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { - background-color: #727272; } + background-color: #898989; } .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { - background-color: #797979; } + background-color: #909090; } .modal-dialog .modal-dialog-linked-button:first-child:ltr, .hotplug-notification-item:first-child:ltr, .notification-banner .notification-button:first-child:ltr { border-radius: 0 0 0 16px; } .modal-dialog .modal-dialog-linked-button:last-child:ltr, .hotplug-notification-item:last-child:ltr, .notification-banner .notification-button:last-child:ltr { @@ -315,10 +315,10 @@ background-color: rgba(118, 172, 237, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } #LookingGlassDialog .notebook-tab:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(132, 180, 239, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:focus:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:active, .screenshot-ui-show-pointer-button:focus:active, .screenshot-ui-type-button:focus:active { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(145, 188, 241, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover { transition-duration: 100ms; @@ -340,8 +340,7 @@ .screenshot-ui-show-pointer-button, .screenshot-ui-type-button { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); @@ -350,8 +349,7 @@ .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive:insensitive, .screenshot-ui-type-button:insensitive:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); @@ -392,10 +390,10 @@ background-color: #444c56; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover { - background-color: #4b535d; + background-color: #4b545f; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active { - background-color: #525a64; + background-color: #525b67; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover { transition-duration: 100ms; @@ -410,9 +408,9 @@ color: #f6f5f4; background-color: #5d5d5d; } .login-dialog-button.cancel-button:outlined:hover, .login-dialog-button.switch-user-button:outlined:hover, .login-dialog-button.login-dialog-session-list-button:outlined:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover { - background-color: #656565; } + background-color: #7c7c7c; } .login-dialog-button.cancel-button:outlined:active, .login-dialog-button.switch-user-button:outlined:active, .login-dialog-button.login-dialog-session-list-button:outlined:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active { - background-color: #6c6c6c; } + background-color: #838383; } /* WIDGETS */ .shell-link { @@ -544,7 +542,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; border-radius: 12px; } .popup-menu-item:insensitive { @@ -565,9 +562,9 @@ color: white; background-color: #6a6a6a; } .popup-menu-item:checked:hover { - background-color: #727272; } + background-color: #898989; } .popup-menu-item:checked:active { - background-color: #797979; } + background-color: #909090; } .popup-menu-item:checked { border-radius: 12px 12px 0 0 !important; } .popup-menu-item .toggle-switch:ltr { @@ -616,9 +613,9 @@ color: white; background-color: #7a7a7a; } .popup-sub-menu .popup-menu-item:checked:hover { - background-color: #828282; } + background-color: #999999; } .popup-sub-menu .popup-menu-item:checked:active { - background-color: #898989; } + background-color: #a0a0a0; } .popup-sub-menu .popup-menu-item:last-child { border-radius: 0 0 12px 12px; border-bottom-width: 0; } @@ -676,7 +673,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; padding: 9px; } .datemenu-today-button:insensitive { @@ -698,10 +694,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .datemenu-today-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:insensitive { transition-duration: 100ms; @@ -716,7 +712,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; margin-top: 0; } .calendar:insensitive { @@ -738,10 +733,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .calendar:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:insensitive { transition-duration: 100ms; @@ -820,10 +815,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .events-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:insensitive { transition-duration: 100ms; @@ -861,10 +856,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .world-clocks-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:insensitive { transition-duration: 100ms; @@ -908,10 +903,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .weather-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:insensitive { transition-duration: 100ms; @@ -1000,10 +995,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .message:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:insensitive { transition-duration: 100ms; @@ -1333,7 +1328,6 @@ margin-left: 6px; } .osd-window .level { margin-bottom: 4px; - height: 6px; min-width: 10.9em; -barlevel-height: 6px; -barlevel-background-color: rgba(255, 255, 255, 0.1); @@ -1481,7 +1475,7 @@ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus { background-color: #4e4e4e; } .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle { - background-color: #d9d9d9; } + background-color: #cccccc; } .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle { background-color: gray; } .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle { @@ -1505,6 +1499,8 @@ padding: 6px 12px; background-color: transparent; border-radius: 13px; } + .screenshot-ui-shot-cast-button StIcon { + icon-size: 1.09em; } .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus { background-color: rgba(255, 255, 255, 0.2); } .screenshot-ui-shot-cast-button:active { @@ -1514,8 +1510,6 @@ color: #353535; } .screenshot-ui-shot-cast-button:insensitive { color: rgba(255, 255, 255, 0.5); } - .screenshot-ui-shot-cast-button StIcon { - icon-size: 1.09em; } .screenshot-ui-show-pointer-button { border-radius: 99px; @@ -1904,7 +1898,6 @@ padding: 6px; } .quick-slider .slider-bin { - min-height: 16px; padding: 6px; border-radius: 99px; } .quick-slider .slider-bin:focus { @@ -1913,10 +1906,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-slider .slider-bin:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-slider .slider-bin:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu { @@ -1944,10 +1937,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-toggle-menu:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:insensitive { transition-duration: 100ms; @@ -1993,9 +1986,6 @@ .device-subtitle { color: rgba(255, 255, 255, 0.5); } -.keyboard-brightness-item .slider { - min-height: 16px; } - .keyboard-brightness-level { spacing: 6px; } .keyboard-brightness-level .button:checked, .keyboard-brightness-level .icon-button:checked, .keyboard-brightness-level .login-dialog-button.cancel-button:checked, .keyboard-brightness-level .login-dialog-button.switch-user-button:checked, .keyboard-brightness-level .login-dialog-button.login-dialog-session-list-button:checked, .keyboard-brightness-level .background-app-item .close-button:checked, .background-app-item .keyboard-brightness-level .close-button:checked, .keyboard-brightness-level .calendar .calendar-month-header .pager-button:checked, .calendar .calendar-month-header .keyboard-brightness-level .pager-button:checked, .keyboard-brightness-level .calendar .calendar-day:checked, .calendar .keyboard-brightness-level .calendar-day:checked { @@ -2386,8 +2376,7 @@ .page-navigation-arrow:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .page-navigation-arrow:insensitive:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); @@ -2737,10 +2726,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .lg-extension:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:insensitive { transition-duration: 100ms; diff -Nru gnome-shell-45.1/data/theme/gnome-shell-high-contrast.css gnome-shell-45.2/data/theme/gnome-shell-high-contrast.css --- gnome-shell-45.1/data/theme/gnome-shell-high-contrast.css 2023-10-31 23:48:20.289271600 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-high-contrast.css 2023-12-02 17:30:11.936134800 +0000 @@ -51,31 +51,39 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:hover, .button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .icon-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .close-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:active, .button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .icon-button:focus:active, .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .close-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:hover, .button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .icon-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .close-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .app-folder-dialog .folder-name-container .edit-folder-button:insensitive, .button:insensitive, .calendar .calendar-day:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .icon-button:insensitive, .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive, .background-app-item .close-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .app-folder-dialog .folder-name-container .edit-folder-button:selected, .button:selected, .calendar .calendar-day:selected, .calendar .calendar-month-header .pager-button:selected, .icon-button:selected, .login-dialog-button.cancel-button:selected, .login-dialog-button.switch-user-button:selected, .login-dialog-button.login-dialog-session-list-button:selected, .background-app-item .close-button:selected, .app-folder-dialog .folder-name-container .edit-folder-button:active, .button:active, .calendar .calendar-day:active, .calendar .calendar-month-header .pager-button:active, .icon-button:active, .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active, .background-app-item .close-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .app-folder-dialog .folder-name-container .edit-folder-button:checked, .button:checked, .calendar .calendar-day:checked, .calendar .calendar-month-header .pager-button:checked, .icon-button:checked, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked, .background-app-item .close-button:checked { transition-duration: 100ms; color: #ffffff; - background-color: #5e5e5e; } + background-color: #5e5e5e; + background-color: rgba(193, 193, 193, 0.37); } .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .icon-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .close-button:checked:hover { - background-color: #666666; } + background-color: #7d7d7d; } .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .icon-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .close-button:checked:active { - background-color: #6d6d6d; } + background-color: #848484; } + .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .icon-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .close-button:checked:hover { + background-color: rgba(205, 205, 205, 0.37); } + .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .icon-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .close-button:checked:active { + background-color: rgba(208, 208, 208, 0.37); } .app-folder-dialog .folder-name-container .default.edit-folder-button, .default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -92,6 +100,7 @@ transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: rgba(53, 132, 228, 0.5); color: rgba(255, 255, 255, 0.5); } .app-folder-dialog .folder-name-container .flat.edit-folder-button, .calendar .app-folder-dialog .folder-name-container .calendar-day.edit-folder-button, .app-folder-dialog .folder-name-container .calendar .calendar-day.edit-folder-button, .flat.button, .calendar .button.calendar-day, .calendar .calendar-day.calendar-today, .calendar .flat.calendar-day, .calendar .calendar-day, .calendar .calendar-month-header .pager-button, .flat.icon-button, .flat.login-dialog-button.cancel-button, .flat.login-dialog-button.switch-user-button, .flat.login-dialog-button.login-dialog-session-list-button, .background-app-item .flat.close-button, .calendar .icon-button.calendar-day, .calendar .calendar-day.login-dialog-button.cancel-button, .calendar .calendar-day.login-dialog-button.switch-user-button, .calendar .calendar-day.login-dialog-button.login-dialog-session-list-button, .calendar .background-app-item .calendar-day.close-button, .background-app-item .calendar .calendar-day.close-button { @@ -106,31 +115,39 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:hover, .flat.button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .flat.icon-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .flat.close-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:active, .flat.button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .flat.icon-button:focus:active, .flat.login-dialog-button.cancel-button:focus:active, .flat.login-dialog-button.switch-user-button:focus:active, .flat.login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .flat.close-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:hover, .flat.button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .flat.icon-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .flat.close-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .app-folder-dialog .folder-name-container .flat.edit-folder-button:insensitive, .flat.button:insensitive, .calendar .calendar-day:insensitive, .calendar .calendar-month-header .pager-button:insensitive, .flat.icon-button:insensitive, .flat.login-dialog-button.cancel-button:insensitive, .flat.login-dialog-button.switch-user-button:insensitive, .flat.login-dialog-button.login-dialog-session-list-button:insensitive, .background-app-item .flat.close-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:selected, .flat.button:selected, .calendar .calendar-day:selected, .calendar .calendar-month-header .pager-button:selected, .flat.icon-button:selected, .flat.login-dialog-button.cancel-button:selected, .flat.login-dialog-button.switch-user-button:selected, .flat.login-dialog-button.login-dialog-session-list-button:selected, .background-app-item .flat.close-button:selected, .app-folder-dialog .folder-name-container .flat.edit-folder-button:active, .flat.button:active, .calendar .calendar-day:active, .calendar .calendar-month-header .pager-button:active, .flat.icon-button:active, .flat.login-dialog-button.cancel-button:active, .flat.login-dialog-button.switch-user-button:active, .flat.login-dialog-button.login-dialog-session-list-button:active, .background-app-item .flat.close-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked, .flat.button:checked, .calendar .calendar-day:checked, .calendar .calendar-month-header .pager-button:checked, .flat.icon-button:checked, .flat.login-dialog-button.cancel-button:checked, .flat.login-dialog-button.switch-user-button:checked, .flat.login-dialog-button.login-dialog-session-list-button:checked, .background-app-item .flat.close-button:checked { transition-duration: 100ms; color: #ffffff; - background-color: #5e5e5e; } + background-color: #5e5e5e; + background-color: rgba(193, 193, 193, 0.37); } + .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .flat.icon-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .flat.close-button:checked:hover { + background-color: #7d7d7d; } + .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .flat.icon-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .flat.close-button:checked:active { + background-color: #848484; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .flat.icon-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .flat.close-button:checked:hover { - background-color: #666666; } + background-color: rgba(205, 205, 205, 0.37); } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .flat.icon-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .flat.close-button:checked:active { - background-color: #6d6d6d; } + background-color: rgba(208, 208, 208, 0.37); } .app-folder-dialog .folder-name-container .flat.default.edit-folder-button, .flat.default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -147,6 +164,7 @@ transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: rgba(53, 132, 228, 0.5); color: rgba(255, 255, 255, 0.5); } @@ -190,34 +208,42 @@ .modal-dialog .modal-dialog-linked-button:insensitive, .hotplug-notification-item:insensitive, .notification-banner .notification-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .modal-dialog .modal-dialog-linked-button:focus, .hotplug-notification-item:focus, .notification-banner .notification-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #4f5761; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .modal-dialog .modal-dialog-linked-button:focus:hover, .hotplug-notification-item:focus:hover, .notification-banner .notification-button:focus:hover { - background-color: #565e67; + background-color: #565f69; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:focus:active, .hotplug-notification-item:focus:active, .notification-banner .notification-button:focus:active { - background-color: #5d656e; + background-color: #5d6672; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner .notification-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #5a5a5a; } + background-color: #5a5a5a; + background-color: rgba(191, 191, 191, 0.37); } .modal-dialog .modal-dialog-linked-button:active, .hotplug-notification-item:active, .notification-banner .notification-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #616161; } + background-color: #616161; + background-color: rgba(194, 194, 194, 0.37); } .modal-dialog .modal-dialog-linked-button:checked, .hotplug-notification-item:checked, .notification-banner .notification-button:checked { transition-duration: 100ms; color: #ffffff; - background-color: dimgray; } + background-color: dimgray; + background-color: rgba(197, 197, 197, 0.37); } + .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { + background-color: #888888; } + .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { + background-color: #8f8f8f; } .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { - background-color: #717171; } + background-color: rgba(209, 209, 209, 0.37); } .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { - background-color: #787878; } + background-color: rgba(212, 212, 212, 0.37); } .modal-dialog .modal-dialog-linked-button:first-child:ltr, .hotplug-notification-item:first-child:ltr, .notification-banner .notification-button:first-child:ltr { border-radius: 0 0 0 16px; } .modal-dialog .modal-dialog-linked-button:last-child:ltr, .hotplug-notification-item:last-child:ltr, .notification-banner .notification-button:last-child:ltr { @@ -318,54 +344,62 @@ #LookingGlassDialog .notebook-tab:insensitive, #LookingGlassDialog > #Toolbar .lg-toolbar-button:insensitive, .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } #LookingGlassDialog .notebook-tab:focus, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus, .screenshot-ui-show-pointer-button:focus, .screenshot-ui-type-button:focus { transition-duration: 100ms; color: #ffffff; background-color: rgba(118, 172, 237, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } #LookingGlassDialog .notebook-tab:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(132, 180, 239, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:focus:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:active, .screenshot-ui-show-pointer-button:focus:active, .screenshot-ui-type-button:focus:active { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(145, 188, 241, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: rgba(255, 255, 255, 0.1); } + background-color: rgba(255, 255, 255, 0.1); + background-color: rgba(255, 255, 255, 0.28); } #LookingGlassDialog .notebook-tab:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:active, .screenshot-ui-show-pointer-button:active, .screenshot-ui-type-button:active { transition-duration: 100ms; color: #ffffff; - background-color: rgba(255, 255, 255, 0.1); } + background-color: rgba(255, 255, 255, 0.1); + background-color: rgba(255, 255, 255, 0.28); } #LookingGlassDialog .notebook-tab:outlined, #LookingGlassDialog > #Toolbar .lg-toolbar-button:outlined, .screenshot-ui-show-pointer-button:outlined, .screenshot-ui-type-button:outlined, #LookingGlassDialog .notebook-tab:checked, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked, .screenshot-ui-show-pointer-button:checked, .screenshot-ui-type-button:checked { transition-duration: 100ms; color: #ffffff; - background-color: rgba(255, 255, 255, 0.1); } + background-color: rgba(255, 255, 255, 0.1); + background-color: rgba(255, 255, 255, 0.28); } #LookingGlassDialog .notebook-tab:outlined:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:outlined:hover, .screenshot-ui-show-pointer-button:outlined:hover, .screenshot-ui-type-button:outlined:hover, #LookingGlassDialog .notebook-tab:checked:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover { background-color: rgba(255, 255, 255, 0.1); } #LookingGlassDialog .notebook-tab:outlined:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:outlined:active, .screenshot-ui-show-pointer-button:outlined:active, .screenshot-ui-type-button:outlined:active, #LookingGlassDialog .notebook-tab:checked:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active { background-color: rgba(255, 255, 255, 0.1); } + #LookingGlassDialog .notebook-tab:outlined:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:outlined:hover, .screenshot-ui-show-pointer-button:outlined:hover, .screenshot-ui-type-button:outlined:hover, #LookingGlassDialog .notebook-tab:checked:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:hover, .screenshot-ui-show-pointer-button:checked:hover, .screenshot-ui-type-button:checked:hover { + background-color: rgba(255, 255, 255, 0.28); } + #LookingGlassDialog .notebook-tab:outlined:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:outlined:active, .screenshot-ui-show-pointer-button:outlined:active, .screenshot-ui-type-button:outlined:active, #LookingGlassDialog .notebook-tab:checked:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:checked:active, .screenshot-ui-show-pointer-button:checked:active, .screenshot-ui-type-button:checked:active { + background-color: rgba(255, 255, 255, 0.28); } .screenshot-ui-show-pointer-button, .screenshot-ui-type-button { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive:insensitive, .screenshot-ui-type-button:insensitive:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } /* System Elements */ @@ -397,34 +431,42 @@ .login-dialog-button.cancel-button:insensitive, .login-dialog-button.switch-user-button:insensitive, .login-dialog-button.login-dialog-session-list-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .login-dialog-button.cancel-button:focus, .login-dialog-button.switch-user-button:focus, .login-dialog-button.login-dialog-session-list-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #3c444e; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover { - background-color: #434b55; + background-color: #434c57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active { - background-color: #4a525b; + background-color: #49535f; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #454545; } + background-color: #454545; + background-color: rgba(183, 183, 183, 0.37); } .login-dialog-button.cancel-button:active, .login-dialog-button.switch-user-button:active, .login-dialog-button.login-dialog-session-list-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #4c4c4c; } + background-color: #4c4c4c; + background-color: rgba(186, 186, 186, 0.37); } .login-dialog-button.cancel-button:outlined, .login-dialog-button.switch-user-button:outlined, .login-dialog-button.login-dialog-session-list-button:outlined, .login-dialog-button.cancel-button:checked, .login-dialog-button.switch-user-button:checked, .login-dialog-button.login-dialog-session-list-button:checked { transition-duration: 100ms; color: #ffffff; - background-color: #545454; } + background-color: #545454; + background-color: rgba(189, 189, 189, 0.37); } .login-dialog-button.cancel-button:outlined:hover, .login-dialog-button.switch-user-button:outlined:hover, .login-dialog-button.login-dialog-session-list-button:outlined:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover { - background-color: #5c5c5c; } + background-color: #737373; } .login-dialog-button.cancel-button:outlined:active, .login-dialog-button.switch-user-button:outlined:active, .login-dialog-button.login-dialog-session-list-button:outlined:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active { - background-color: #636363; } + background-color: #7a7a7a; } + .login-dialog-button.cancel-button:outlined:hover, .login-dialog-button.switch-user-button:outlined:hover, .login-dialog-button.login-dialog-session-list-button:outlined:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover { + background-color: rgba(201, 201, 201, 0.37); } + .login-dialog-button.cancel-button:outlined:active, .login-dialog-button.switch-user-button:outlined:active, .login-dialog-button.login-dialog-session-list-button:outlined:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active { + background-color: rgba(204, 204, 204, 0.37); } /* WIDGETS */ .shell-link { @@ -556,30 +598,37 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; border-radius: 12px; } .popup-menu-item:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .popup-menu-item:focus, .popup-menu-item:hover { transition-duration: 100ms; color: #ffffff; - background-color: #5a5a5a; } + background-color: #5a5a5a; + background-color: rgba(191, 191, 191, 0.37); } .popup-menu-item:active { transition-duration: 100ms; color: #ffffff; - background-color: #616161; } + background-color: #616161; + background-color: rgba(194, 194, 194, 0.37); } .popup-menu-item:checked { transition-duration: 100ms; color: #ffffff; - background-color: dimgray; } + background-color: dimgray; + background-color: rgba(197, 197, 197, 0.37); } + .popup-menu-item:checked:hover { + background-color: #888888; } + .popup-menu-item:checked:active { + background-color: #8f8f8f; } .popup-menu-item:checked:hover { - background-color: #717171; } + background-color: rgba(209, 209, 209, 0.37); } .popup-menu-item:checked:active { - background-color: #787878; } + background-color: rgba(212, 212, 212, 0.37); } .popup-menu-item:checked { border-radius: 12px 12px 0 0 !important; border: 1px solid rgba(255, 255, 255, 0.3); @@ -622,19 +671,26 @@ .popup-sub-menu .popup-menu-item:focus, .popup-sub-menu .popup-menu-item:hover { transition-duration: 100ms; color: #ffffff; - background-color: #686868; } + background-color: #686868; + background-color: rgba(197, 197, 197, 0.37); } .popup-sub-menu .popup-menu-item:active { transition-duration: 100ms; color: #ffffff; - background-color: #6f6f6f; } + background-color: #6f6f6f; + background-color: rgba(199, 199, 199, 0.37); } .popup-sub-menu .popup-menu-item:checked { transition-duration: 100ms; color: #ffffff; - background-color: #777777; } + background-color: #777777; + background-color: rgba(202, 202, 202, 0.37); } .popup-sub-menu .popup-menu-item:checked:hover { - background-color: #7f7f7f; } + background-color: #969696; } .popup-sub-menu .popup-menu-item:checked:active { - background-color: #868686; } + background-color: #9d9d9d; } + .popup-sub-menu .popup-menu-item:checked:hover { + background-color: rgba(214, 214, 214, 0.37); } + .popup-sub-menu .popup-menu-item:checked:active { + background-color: rgba(217, 217, 217, 0.37); } .popup-sub-menu .popup-menu-item:last-child { border-radius: 0 0 12px 12px; border-bottom-width: 0; } @@ -692,37 +748,40 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; padding: 9px; } .datemenu-today-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .datemenu-today-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .datemenu-today-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .datemenu-today-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .datemenu-today-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } /* Calendar */ @@ -732,37 +791,40 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; margin-top: 0; } .calendar:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .calendar:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .calendar:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .calendar:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .calendar:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .calendar .calendar-month-header .calendar-change-month-back StIcon, .calendar .calendar-month-header .calendar-change-month-forward StIcon { @@ -827,26 +889,29 @@ .events-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .events-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .events-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .events-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .events-button .events-box { spacing: 6px; } .events-button .events-list { @@ -869,26 +934,29 @@ .world-clocks-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .world-clocks-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .world-clocks-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .world-clocks-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .world-clocks-button .world-clocks-grid { spacing-rows: 6px; spacing-columns: 12px; } @@ -917,26 +985,29 @@ .weather-button:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .weather-button:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .weather-button:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .weather-button:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .weather-button .weather-box { spacing: 10px; } .weather-button .weather-header-box { @@ -1010,26 +1081,29 @@ .message:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .message:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .message:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .message:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .message .message-icon-bin { padding: 18px; } .message .message-icon-bin:ltr { @@ -1357,7 +1431,6 @@ margin-left: 6px; } .osd-window .level { margin-bottom: 4px; - height: 6px; min-width: 10.9em; -barlevel-height: 6px; -barlevel-background-color: rgba(255, 255, 255, 0.1); @@ -1506,7 +1579,7 @@ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus { background-color: #4d4d4d; } .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle { - background-color: #d9d9d9; } + background-color: #cccccc; } .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle { background-color: gray; } .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle { @@ -1520,7 +1593,8 @@ background-color: rgba(255, 255, 255, 0.1); border-radius: 16px; padding: 3px; - spacing: 3px; } + spacing: 3px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3); } .screenshot-ui-shot-cast-container:ltr { margin-left: 3px; } .screenshot-ui-shot-cast-container:rtl { @@ -1529,7 +1603,10 @@ .screenshot-ui-shot-cast-button { padding: 6px 12px; background-color: transparent; - border-radius: 13px; } + border-radius: 13px; + box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.3); } + .screenshot-ui-shot-cast-button StIcon { + icon-size: 1.09em; } .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus { background-color: rgba(255, 255, 255, 0.2); } .screenshot-ui-shot-cast-button:active { @@ -1539,8 +1616,6 @@ color: #000000; } .screenshot-ui-shot-cast-button:insensitive { color: rgba(255, 255, 255, 0.5); } - .screenshot-ui-shot-cast-button StIcon { - icon-size: 1.09em; } .screenshot-ui-show-pointer-button { border-radius: 99px; @@ -1856,6 +1931,7 @@ transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: rgba(53, 132, 228, 0.5); color: rgba(255, 255, 255, 0.5); } .quick-toggle > StBoxLayout { @@ -1913,6 +1989,7 @@ transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: rgba(53, 132, 228, 0.5); color: rgba(255, 255, 255, 0.5); } .quick-menu-toggle .quick-toggle-arrow:ltr { @@ -1929,7 +2006,6 @@ padding: 6px; } .quick-slider .slider-bin { - min-height: 16px; padding: 6px; border-radius: 99px; } .quick-slider .slider-bin:focus { @@ -1938,10 +2014,10 @@ background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-slider .slider-bin:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-slider .slider-bin:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu { @@ -1959,26 +2035,29 @@ .quick-toggle-menu:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .quick-toggle-menu:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .quick-toggle-menu:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-toggle-menu:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .quick-toggle-menu .popup-menu-item > StIcon { -st-icon-style: symbolic; } .quick-toggle-menu .header { @@ -2020,9 +2099,6 @@ .device-subtitle { color: rgba(255, 255, 255, 0.5); } -.keyboard-brightness-item .slider { - min-height: 16px; } - .keyboard-brightness-level { spacing: 6px; } .keyboard-brightness-level .button:checked, .keyboard-brightness-level .icon-button:checked, .keyboard-brightness-level .login-dialog-button.cancel-button:checked, .keyboard-brightness-level .login-dialog-button.switch-user-button:checked, .keyboard-brightness-level .login-dialog-button.login-dialog-session-list-button:checked, .keyboard-brightness-level .background-app-item .close-button:checked, .background-app-item .keyboard-brightness-level .close-button:checked, .keyboard-brightness-level .calendar .calendar-month-header .pager-button:checked, .calendar .calendar-month-header .keyboard-brightness-level .pager-button:checked, .keyboard-brightness-level .calendar .calendar-day:checked, .calendar .keyboard-brightness-level .calendar-day:checked { @@ -2041,6 +2117,7 @@ transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: rgba(53, 132, 228, 0.5); color: rgba(255, 255, 255, 0.5); } @@ -2423,21 +2500,23 @@ .page-navigation-arrow:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .page-navigation-arrow:insensitive:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; background-color: transparent; } .page-navigation-arrow:hover { transition-duration: 100ms; color: #ffffff; - background-color: rgba(125, 125, 125, 0.6); } + background-color: rgba(125, 125, 125, 0.6); + background-color: rgba(233, 233, 233, 0.33); } .page-navigation-arrow:active { transition-duration: 100ms; color: #ffffff; - background-color: rgba(132, 132, 132, 0.6); } + background-color: rgba(132, 132, 132, 0.6); + background-color: rgba(234, 234, 234, 0.33); } /* Workspace pager */ .workspace-thumbnails { @@ -2769,26 +2848,29 @@ .lg-extension:hover { transition-duration: 100ms; color: #ffffff; - background-color: #4f4f4f; } + background-color: #4f4f4f; + background-color: rgba(187, 187, 187, 0.37); } .lg-extension:active { transition-duration: 100ms; color: #ffffff; - background-color: #565656; } + background-color: #565656; + background-color: rgba(190, 190, 190, 0.37); } .lg-extension:focus { transition-duration: 100ms; color: #ffffff; background-color: #454d57; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .lg-extension:focus:hover { - background-color: #4c545e; + background-color: #4c5560; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:focus:active { - background-color: #535b64; + background-color: #535c68; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:insensitive { transition-duration: 100ms; color: rgba(255, 255, 255, 0.5); - background-color: rgba(255, 255, 255, 0.05); } + background-color: rgba(255, 255, 255, 0.05); + box-shadow: none; } .lg-extension-meta { spacing: 6px; } diff -Nru gnome-shell-45.1/data/theme/gnome-shell-light.css gnome-shell-45.2/data/theme/gnome-shell-light.css --- gnome-shell-45.1/data/theme/gnome-shell-light.css 2023-10-31 23:48:20.450271800 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-light.css 2023-12-02 17:30:11.992135000 +0000 @@ -49,10 +49,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:hover, .button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .icon-button:focus:hover, .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .close-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:focus:active, .button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .icon-button:focus:active, .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .close-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .edit-folder-button:hover, .button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .icon-button:hover, .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .close-button:hover { transition-duration: 100ms; @@ -71,9 +71,9 @@ color: #282828; background-color: #c6c5c5; } .app-folder-dialog .folder-name-container .edit-folder-button:checked:hover, .button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .icon-button:checked:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .close-button:checked:hover { - background-color: #fbfbfb; } + background-color: #e5e4e4; } .app-folder-dialog .folder-name-container .edit-folder-button:checked:active, .button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .icon-button:checked:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .close-button:checked:active { - background-color: white; } + background-color: #ececec; } .app-folder-dialog .folder-name-container .default.edit-folder-button, .default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -103,10 +103,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:hover, .flat.button:focus:hover, .calendar .calendar-day:focus:hover, .calendar .calendar-month-header .pager-button:focus:hover, .flat.icon-button:focus:hover, .flat.login-dialog-button.cancel-button:focus:hover, .flat.login-dialog-button.switch-user-button:focus:hover, .flat.login-dialog-button.login-dialog-session-list-button:focus:hover, .background-app-item .flat.close-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:focus:active, .flat.button:focus:active, .calendar .calendar-day:focus:active, .calendar .calendar-month-header .pager-button:focus:active, .flat.icon-button:focus:active, .flat.login-dialog-button.cancel-button:focus:active, .flat.login-dialog-button.switch-user-button:focus:active, .flat.login-dialog-button.login-dialog-session-list-button:focus:active, .background-app-item .flat.close-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:hover, .flat.button:hover, .calendar .calendar-day:hover, .calendar .calendar-month-header .pager-button:hover, .flat.icon-button:hover, .flat.login-dialog-button.cancel-button:hover, .flat.login-dialog-button.switch-user-button:hover, .flat.login-dialog-button.login-dialog-session-list-button:hover, .background-app-item .flat.close-button:hover { transition-duration: 100ms; @@ -125,9 +125,9 @@ color: #282828; background-color: #c6c5c5; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:hover, .flat.button:checked:hover, .calendar .calendar-day:checked:hover, .calendar .calendar-month-header .pager-button:checked:hover, .flat.icon-button:checked:hover, .flat.login-dialog-button.cancel-button:checked:hover, .flat.login-dialog-button.switch-user-button:checked:hover, .flat.login-dialog-button.login-dialog-session-list-button:checked:hover, .background-app-item .flat.close-button:checked:hover { - background-color: #fbfbfb; } + background-color: #e5e4e4; } .app-folder-dialog .folder-name-container .flat.edit-folder-button:checked:active, .flat.button:checked:active, .calendar .calendar-day:checked:active, .calendar .calendar-month-header .pager-button:checked:active, .flat.icon-button:checked:active, .flat.login-dialog-button.cancel-button:checked:active, .flat.login-dialog-button.switch-user-button:checked:active, .flat.login-dialog-button.login-dialog-session-list-button:checked:active, .background-app-item .flat.close-button:checked:active { - background-color: white; } + background-color: #ececec; } .app-folder-dialog .folder-name-container .flat.default.edit-folder-button, .flat.default.button, .calendar .default.calendar-day, .calendar .calendar-day.calendar-today, .calendar .calendar-month-header .default.pager-button, .default.icon-button, .default.login-dialog-button.cancel-button, .default.login-dialog-button.switch-user-button, .default.login-dialog-button.login-dialog-session-list-button, .background-app-item .default.close-button { transition-duration: 100ms; background-color: #3584e4; @@ -192,10 +192,10 @@ background-color: #c0c6cd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .modal-dialog .modal-dialog-linked-button:focus:hover, .hotplug-notification-item:focus:hover, .notification-banner .notification-button:focus:hover { - background-color: #c6cdd4; + background-color: #c9ced4; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:focus:active, .hotplug-notification-item:focus:active, .notification-banner .notification-button:focus:active { - background-color: #cdd3db; + background-color: #d1d5db; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .modal-dialog .modal-dialog-linked-button:hover, .hotplug-notification-item:hover, .notification-banner .notification-button:hover { transition-duration: 100ms; @@ -210,9 +210,9 @@ color: #282828; background-color: #b9b6b2; } .modal-dialog .modal-dialog-linked-button:checked:hover, .hotplug-notification-item:checked:hover, .notification-banner .notification-button:checked:hover { - background-color: #ecebea; } + background-color: #d6d5d2; } .modal-dialog .modal-dialog-linked-button:checked:active, .hotplug-notification-item:checked:active, .notification-banner .notification-button:checked:active { - background-color: #f3f3f2; } + background-color: #dedcda; } .modal-dialog .modal-dialog-linked-button:first-child:ltr, .hotplug-notification-item:first-child:ltr, .notification-banner .notification-button:first-child:ltr { border-radius: 0 0 0 16px; } .modal-dialog .modal-dialog-linked-button:last-child:ltr, .hotplug-notification-item:last-child:ltr, .notification-banner .notification-button:last-child:ltr { @@ -315,10 +315,10 @@ background-color: rgba(118, 172, 237, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } #LookingGlassDialog .notebook-tab:focus:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:hover, .screenshot-ui-show-pointer-button:focus:hover, .screenshot-ui-type-button:focus:hover { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(132, 180, 239, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:focus:active, #LookingGlassDialog > #Toolbar .lg-toolbar-button:focus:active, .screenshot-ui-show-pointer-button:focus:active, .screenshot-ui-type-button:focus:active { - background-color: rgba(118, 172, 237, 0.19); + background-color: rgba(145, 188, 241, 0.19); box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } #LookingGlassDialog .notebook-tab:hover, #LookingGlassDialog > #Toolbar .lg-toolbar-button:hover, .screenshot-ui-show-pointer-button:hover, .screenshot-ui-type-button:hover { transition-duration: 100ms; @@ -340,8 +340,7 @@ .screenshot-ui-show-pointer-button, .screenshot-ui-type-button { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; color: rgba(40, 40, 40, 0.4); @@ -350,8 +349,7 @@ .screenshot-ui-show-pointer-button:insensitive, .screenshot-ui-type-button:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .screenshot-ui-show-pointer-button:insensitive:insensitive, .screenshot-ui-type-button:insensitive:insensitive { transition-duration: 100ms; color: rgba(40, 40, 40, 0.4); @@ -392,10 +390,10 @@ background-color: #4a525b; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .login-dialog-button.cancel-button:focus:hover, .login-dialog-button.switch-user-button:focus:hover, .login-dialog-button.login-dialog-session-list-button:focus:hover { - background-color: #515862; + background-color: #515a63; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:focus:active, .login-dialog-button.switch-user-button:focus:active, .login-dialog-button.login-dialog-session-list-button:focus:active { - background-color: #575f69; + background-color: #58616c; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .login-dialog-button.cancel-button:hover, .login-dialog-button.switch-user-button:hover, .login-dialog-button.login-dialog-session-list-button:hover { transition-duration: 100ms; @@ -410,9 +408,9 @@ color: #f6f5f4; background-color: #353535; } .login-dialog-button.cancel-button:outlined:hover, .login-dialog-button.switch-user-button:outlined:hover, .login-dialog-button.login-dialog-session-list-button:outlined:hover, .login-dialog-button.cancel-button:checked:hover, .login-dialog-button.switch-user-button:checked:hover, .login-dialog-button.login-dialog-session-list-button:checked:hover { - background-color: #6b6b6b; } + background-color: #545454; } .login-dialog-button.cancel-button:outlined:active, .login-dialog-button.switch-user-button:outlined:active, .login-dialog-button.login-dialog-session-list-button:outlined:active, .login-dialog-button.cancel-button:checked:active, .login-dialog-button.switch-user-button:checked:active, .login-dialog-button.login-dialog-session-list-button:checked:active { - background-color: #727272; } + background-color: #5b5b5b; } /* WIDGETS */ .shell-link { @@ -544,7 +542,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; border-radius: 12px; } .popup-menu-item:insensitive { @@ -565,9 +562,9 @@ color: #282828; background-color: #cecece; } .popup-menu-item:checked:hover { - background-color: white; } + background-color: #ededed; } .popup-menu-item:checked:active { - background-color: white; } + background-color: #f4f4f4; } .popup-menu-item:checked { border-radius: 12px 12px 0 0 !important; } .popup-menu-item .toggle-switch:ltr { @@ -616,9 +613,9 @@ color: #282828; background-color: #cecece; } .popup-sub-menu .popup-menu-item:checked:hover { - background-color: white; } + background-color: #ededed; } .popup-sub-menu .popup-menu-item:checked:active { - background-color: white; } + background-color: #f4f4f4; } .popup-sub-menu .popup-menu-item:last-child { border-radius: 0 0 12px 12px; border-bottom-width: 0; } @@ -676,7 +673,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; padding: 9px; } .datemenu-today-button:insensitive { @@ -698,10 +694,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .datemenu-today-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .datemenu-today-button:insensitive { transition-duration: 100ms; @@ -716,7 +712,6 @@ transition-duration: 100ms; background-color: transparent; background-color: none; - box-shadow: none; box-shadow: none !important; margin-top: 0; } .calendar:insensitive { @@ -738,10 +733,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .calendar:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .calendar:insensitive { transition-duration: 100ms; @@ -820,10 +815,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .events-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .events-button:insensitive { transition-duration: 100ms; @@ -861,10 +856,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .world-clocks-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .world-clocks-button:insensitive { transition-duration: 100ms; @@ -908,10 +903,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .weather-button:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .weather-button:insensitive { transition-duration: 100ms; @@ -1000,10 +995,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .message:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .message:insensitive { transition-duration: 100ms; @@ -1333,7 +1328,6 @@ margin-left: 6px; } .osd-window .level { margin-bottom: 4px; - height: 6px; min-width: 10.9em; -barlevel-height: 6px; -barlevel-background-color: rgba(255, 255, 255, 0.3); @@ -1481,7 +1475,7 @@ .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:hover, .screenshot-ui-capture-button .screenshot-ui-capture-button-circle:focus { background-color: #e1dedb; } .screenshot-ui-capture-button:hover .screenshot-ui-capture-button-circle, .screenshot-ui-capture-button:focus .screenshot-ui-capture-button-circle { - background-color: #d9d9d9; } + background-color: #cccccc; } .screenshot-ui-capture-button:active .screenshot-ui-capture-button-circle { background-color: gray; } .screenshot-ui-capture-button:cast .screenshot-ui-capture-button-circle { @@ -1505,6 +1499,8 @@ padding: 6px 12px; background-color: transparent; border-radius: 13px; } + .screenshot-ui-shot-cast-button StIcon { + icon-size: 1.09em; } .screenshot-ui-shot-cast-button:hover, .screenshot-ui-shot-cast-button:focus { background-color: rgba(255, 255, 255, 0.2); } .screenshot-ui-shot-cast-button:active { @@ -1514,8 +1510,6 @@ color: #353535; } .screenshot-ui-shot-cast-button:insensitive { color: rgba(255, 255, 255, 0.5); } - .screenshot-ui-shot-cast-button StIcon { - icon-size: 1.09em; } .screenshot-ui-show-pointer-button { border-radius: 99px; @@ -1904,7 +1898,6 @@ padding: 6px; } .quick-slider .slider-bin { - min-height: 16px; padding: 6px; border-radius: 99px; } .quick-slider .slider-bin:focus { @@ -1913,10 +1906,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-slider .slider-bin:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-slider .slider-bin:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu { @@ -1944,10 +1937,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .quick-toggle-menu:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .quick-toggle-menu:insensitive { transition-duration: 100ms; @@ -1993,9 +1986,6 @@ .device-subtitle { color: rgba(40, 40, 40, 0.5); } -.keyboard-brightness-item .slider { - min-height: 16px; } - .keyboard-brightness-level { spacing: 6px; } .keyboard-brightness-level .button:checked, .keyboard-brightness-level .icon-button:checked, .keyboard-brightness-level .login-dialog-button.cancel-button:checked, .keyboard-brightness-level .login-dialog-button.switch-user-button:checked, .keyboard-brightness-level .login-dialog-button.login-dialog-session-list-button:checked, .keyboard-brightness-level .background-app-item .close-button:checked, .background-app-item .keyboard-brightness-level .close-button:checked, .keyboard-brightness-level .calendar .calendar-month-header .pager-button:checked, .calendar .calendar-month-header .keyboard-brightness-level .pager-button:checked, .keyboard-brightness-level .calendar .calendar-day:checked, .calendar .keyboard-brightness-level .calendar-day:checked { @@ -2386,8 +2376,7 @@ .page-navigation-arrow:insensitive { transition-duration: 100ms; background-color: transparent; - background-color: none; - box-shadow: none; } + background-color: none; } .page-navigation-arrow:insensitive:insensitive { transition-duration: 100ms; color: rgba(40, 40, 40, 0.4); @@ -2737,10 +2726,10 @@ background-color: #ccd3dd; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.6) !important; } .lg-extension:focus:hover { - background-color: #d3dae4; + background-color: #d5dbe3; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:focus:active { - background-color: #dae1eb; + background-color: #dee3e9; box-shadow: inset 0 0 0 2px rgba(53, 132, 228, 0.7) !important; } .lg-extension:insensitive { transition-duration: 100ms; diff -Nru gnome-shell-45.1/data/theme/gnome-shell-sass/_drawing.scss gnome-shell-45.2/data/theme/gnome-shell-sass/_drawing.scss --- gnome-shell-45.1/data/theme/gnome-shell-sass/_drawing.scss 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-sass/_drawing.scss 2023-12-01 19:43:51.000000000 +0000 @@ -166,56 +166,67 @@ // focused button @if $t==focus { + $focus_bg_color: mix($button_bg_color, $selected_bg_color, 90%); color: $tc; - background-color: mix($button_bg_color, $selected_bg_color, 90%); + background-color: $focus_bg_color; box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.4) !important; &:hover { - background-color: mix(lighten($button_bg_color, 3%), $selected_bg_color, 90%); + background-color: lighten($focus_bg_color, 3%); box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important; } &:active { - background-color: mix(lighten($button_bg_color, 6%), $selected_bg_color, 90%); + background-color: lighten($focus_bg_color, 6%); box-shadow: inset 0 0 0 2px transparentize($selected_bg_color, 0.3) !important; } } // hover button @else if $t==hover { + $hover_bg_color: if($variant == 'light', darken($button_bg_color, 3%), lighten($button_bg_color, 3%)); color: $tc; - background-color: if($variant == 'light', darken($button_bg_color, 3%), lighten($button_bg_color, 3%)); + background-color: $hover_bg_color; - @if $is_highcontrast == "true" { - box-shadow: inset 0 0 0 1px lighten($button_inset_color, 3%); - background-color: mix(lighten($button_bg_color, 3%), $button_inset_color, 10%); + @if $is_highcontrast { + background-color: mix($hover_bg_color, $hc_inset_color, 10%); } } // active button @else if $t==active { + $active_bg_color: if($variant == 'light', darken($button_bg_color, 6%), lighten($button_bg_color, 6%)); color: $tc; - background-color: if($variant == 'light', darken($button_bg_color, 6%), lighten($button_bg_color, 6%)); - @if $is_highcontrast == "true" { - box-shadow: inset 0 0 0 1px lighten($button_inset_color, 6%); - background-color: mix(lighten($button_bg_color, 6%), $button_inset_color, 10%); + background-color: $active_bg_color; + + @if $is_highcontrast { + background-color: mix($active_bg_color, $hc_inset_color, 10%); } } // checked button @else if $t==checked { + $checked_bg_color:if($variant == 'light', darken($button_bg_color, 9%), lighten($button_bg_color, 9%)); color: $tc; - background-color: if($variant == 'light', darken($button_bg_color, 9%), lighten($button_bg_color, 9%)); - @if $is_highcontrast == "true" { - box-shadow: inset 0 0 0 1px lighten($button_inset_color, 9%); - background-color: mix(lighten($button_bg_color, 9%), $button_inset_color, 10%); + background-color: $checked_bg_color; + + &:hover { background-color: lighten($checked_bg_color, 12%);} + &:active { background-color: lighten($checked_bg_color, 15%);} + + @if $is_highcontrast { + background-color: mix($checked_bg_color, $hc_inset_color, 10%); + &:hover { background-color: mix(lighten($checked_bg_color, 12%), $hc_inset_color, 10%);} + &:active { background-color: mix(lighten($checked_bg_color, 15%), $hc_inset_color, 10%);} } - &:hover { background-color: lighten($button_bg_color, 12%);} - &:active { background-color: lighten($button_bg_color, 15%);} } // insensitive button @else if $t==insensitive { color: if($variant == 'light', transparentize($tc, .6), transparentize($tc, .5)); background-color: if($variant == 'light', transparentize($tc, .9), transparentize($tc, .95)); + + @if $is_highcontrast { + // no border since it isn't sensitive + box-shadow: none; + } } // default/suggested button @@ -245,7 +256,6 @@ @else if $t==undecorated { background-color: transparent; background-color: none; - box-shadow: none; &:insensitive { @include button(insensitive); background-color: transparent; diff -Nru gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_osd.scss gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_osd.scss --- gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_osd.scss 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_osd.scss 2023-12-01 19:43:51.000000000 +0000 @@ -23,7 +23,6 @@ margin-bottom: 4px; &:first-child { margin-bottom: 0px; } - height: $osd_levelbar_height; min-width:$base_icon_size * 10; -barlevel-height: $osd_levelbar_height; -barlevel-background-color: transparentize($osd_fg_color, if($variant=='light', 0.7, 0.9)); diff -Nru gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_quick-settings.scss gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_quick-settings.scss --- gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_quick-settings.scss 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_quick-settings.scss 2023-12-01 19:43:51.000000000 +0000 @@ -84,7 +84,6 @@ .slider-bin { &:focus {@include button(focus);} - min-height: 16px; // slider size padding: $base_padding; border-radius: 99px; } @@ -164,10 +163,6 @@ .device-subtitle { color: transparentize($fg_color, 0.5); } -.keyboard-brightness-item .slider { - min-height: 16px; -} - .keyboard-brightness-level { spacing: $base_padding; diff -Nru gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_screenshot.scss gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_screenshot.scss --- gnome-shell-45.1/data/theme/gnome-shell-sass/widgets/_screenshot.scss 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/data/theme/gnome-shell-sass/widgets/_screenshot.scss 2023-12-01 19:43:51.000000000 +0000 @@ -55,7 +55,7 @@ &:hover, &:focus { .screenshot-ui-capture-button-circle { - background-color: darken($osd_fg_color, 15%); + background-color: darken($osd_fg_color, 20%); } } @@ -88,6 +88,11 @@ padding: $screenshot_ui_shot_cast_spacing; spacing: $screenshot_ui_shot_cast_spacing; + + @if $is_highcontrast { + box-shadow: inset 0 0 0 1px $hc_inset_color; + } + &:ltr { margin-left: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;} &:rtl { margin-right: $screenshot_ui_shot_cast_margin - $screenshot_ui_panel_padding;} } @@ -95,14 +100,17 @@ .screenshot-ui-shot-cast-button { padding: $base_padding $base_padding*2; background-color: transparent; + border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing; + StIcon { icon-size: $base_icon_size;} + + @if $is_highcontrast { + box-shadow: inset 0 0 0 1px $hc_inset_color; + } + &:hover, &:focus { background-color: transparentize($osd_fg_color, 0.8);} &:active { background-color: transparentize($osd_fg_color, .5);} &:checked { background-color: $osd_fg_color; color: $osd_bg_color;} &:insensitive { color: transparentize($osd_fg_color, 0.5);} - - border-radius: $modal_radius - $screenshot_ui_shot_cast_spacing; - - StIcon { icon-size: $base_icon_size;} } .screenshot-ui-show-pointer-button { diff -Nru gnome-shell-45.1/debian/changelog gnome-shell-45.2/debian/changelog --- gnome-shell-45.1/debian/changelog 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/changelog 2023-12-05 18:11:30.000000000 +0000 @@ -1,3 +1,10 @@ +gnome-shell (45.2-0ubuntu1) mantic; urgency=medium + + * New upstream release (LP: #2045667) + * Refresh patches + + -- Jeremy Bícha Tue, 05 Dec 2023 13:11:30 -0500 + gnome-shell (45.1-0ubuntu1) mantic; urgency=medium * New upstream release (LP: #2043015) diff -Nru gnome-shell-45.1/debian/patches/debian/Revert-build-Port-to-gcr4.patch gnome-shell-45.2/debian/patches/debian/Revert-build-Port-to-gcr4.patch --- gnome-shell-45.1/debian/patches/debian/Revert-build-Port-to-gcr4.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/debian/Revert-build-Port-to-gcr4.patch 2023-12-05 18:11:30.000000000 +0000 @@ -27,7 +27,7 @@ import 'gi://Gdm?version=1.0'; import 'gi://Geoclue?version=2.0'; diff --git a/meson.build b/meson.build -index 70ba711..8e1f1f4 100644 +index acb0257..25ab61c 100644 --- a/meson.build +++ b/meson.build @@ -21,7 +21,7 @@ libmutter_test_pc = 'libmutter-test-' + mutter_api_version diff -Nru gnome-shell-45.1/debian/patches/global-make-possible-to-set-debug-flags-dynamically.patch gnome-shell-45.2/debian/patches/global-make-possible-to-set-debug-flags-dynamically.patch --- gnome-shell-45.1/debian/patches/global-make-possible-to-set-debug-flags-dynamically.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/global-make-possible-to-set-debug-flags-dynamically.patch 2023-12-05 18:11:30.000000000 +0000 @@ -21,7 +21,7 @@ 3 files changed, 103 insertions(+), 14 deletions(-) diff --git a/src/main.c b/src/main.c -index dca5f64..aa2f4dc 100644 +index 4dd5d87..78481b6 100644 --- a/src/main.c +++ b/src/main.c @@ -374,14 +374,14 @@ shell_a11y_init (void) @@ -93,8 +93,8 @@ bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR); @@ -649,17 +686,6 @@ main (int argc, char **argv) - g_setenv ("GJS_DEBUG_OUTPUT", "stderr", TRUE); - g_setenv ("GJS_DEBUG_TOPICS", "JS ERROR;JS LOG", TRUE); + if (session_mode == NULL) + session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user"; - dump_gjs_stack_on_signal (SIGABRT); - dump_gjs_stack_on_signal (SIGFPE); diff -Nru gnome-shell-45.1/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch gnome-shell-45.2/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch --- gnome-shell-45.1/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/magnifier-Show-cursor-when-magnifier-is-enabled-and-scale.patch 2023-12-05 18:11:30.000000000 +0000 @@ -16,10 +16,10 @@ 2 files changed, 73 insertions(+), 6 deletions(-) diff --git a/js/ui/layout.js b/js/ui/layout.js -index 3ba9b96..4d5cd5a 100644 +index ff1626e..f80211f 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js -@@ -981,22 +981,38 @@ export const LayoutManager = GObject.registerClass({ +@@ -986,22 +986,38 @@ export const LayoutManager = GObject.registerClass({ return ws.get_work_area_for_monitor(monitorIndex); } diff -Nru gnome-shell-45.1/debian/patches/main-add-backtrace-crashes-all-and-backtrace-all.patch gnome-shell-45.2/debian/patches/main-add-backtrace-crashes-all-and-backtrace-all.patch --- gnome-shell-45.1/debian/patches/main-add-backtrace-crashes-all-and-backtrace-all.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/main-add-backtrace-crashes-all-and-backtrace-all.patch 2023-12-05 18:11:30.000000000 +0000 @@ -15,7 +15,7 @@ 2 files changed, 9 insertions(+) diff --git a/src/main.c b/src/main.c -index 619136a..0aa224b 100644 +index c9894d3..ca963da 100644 --- a/src/main.c +++ b/src/main.c @@ -59,6 +59,13 @@ static const GDebugKey SHELL_DEBUG_KEYS[] = { diff -Nru gnome-shell-45.1/debian/patches/main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch gnome-shell-45.2/debian/patches/main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch --- gnome-shell-45.1/debian/patches/main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/main-increase-the-granularity-of-backtraces-in-SHELL_DEBU.patch 2023-12-05 18:11:30.000000000 +0000 @@ -15,7 +15,7 @@ 2 files changed, 65 insertions(+), 21 deletions(-) diff --git a/src/main.c b/src/main.c -index aa2f4dc..619136a 100644 +index 78481b6..c9894d3 100644 --- a/src/main.c +++ b/src/main.c @@ -43,16 +43,26 @@ static char *session_mode = NULL; diff -Nru gnome-shell-45.1/debian/patches/main-show-an-error-message-on-gnome-shell-crash.patch gnome-shell-45.2/debian/patches/main-show-an-error-message-on-gnome-shell-crash.patch --- gnome-shell-45.1/debian/patches/main-show-an-error-message-on-gnome-shell-crash.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/main-show-an-error-message-on-gnome-shell-crash.patch 2023-12-05 18:11:30.000000000 +0000 @@ -16,7 +16,7 @@ 1 file changed, 2 insertions(+) diff --git a/src/main.c b/src/main.c -index dec0efa..dca5f64 100644 +index 10b5f6e..4dd5d87 100644 --- a/src/main.c +++ b/src/main.c @@ -444,6 +444,8 @@ dump_gjs_stack_on_signal_handler (int signo) diff -Nru gnome-shell-45.1/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch gnome-shell-45.2/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch --- gnome-shell-45.1/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/sessionMode-add-support-for-debugFlags-parameter.patch 2023-12-05 18:11:30.000000000 +0000 @@ -15,10 +15,10 @@ 2 files changed, 8 insertions(+) diff --git a/js/ui/main.js b/js/ui/main.js -index 6240b12..b3fff22 100644 +index ad6d3d6..002753d 100644 --- a/js/ui/main.js +++ b/js/ui/main.js -@@ -136,6 +136,13 @@ function _sessionUpdated() { +@@ -138,6 +138,13 @@ function _sessionUpdated() { _remoteAccessInhibited = true; } } diff -Nru gnome-shell-45.1/debian/patches/ubuntu/configure_login_screen.patch gnome-shell-45.2/debian/patches/ubuntu/configure_login_screen.patch --- gnome-shell-45.1/debian/patches/ubuntu/configure_login_screen.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/configure_login_screen.patch 2023-12-05 18:11:30.000000000 +0000 @@ -136,7 +136,7 @@ backgroundColor = dummyBgActor.get_theme_node().get_background_color(); dummyBgActor.destroy(); diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js -index 993e436..c27f44b 100644 +index 6d42868..525a400 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -33,6 +33,12 @@ const DISABLE_LOCK_KEY = 'disable-lock-screen'; @@ -201,7 +201,7 @@ async _syncInhibitor() { const lockEnabled = this._settings.get_boolean(LOCK_ENABLED_KEY) || this._settings.get_boolean(SUSPEND_LOCK_ENABLED_KEY); -@@ -433,6 +474,7 @@ export class ScreenShield extends Signals.EventEmitter { +@@ -429,6 +470,7 @@ export class ScreenShield extends Signals.EventEmitter { } this._dialog = new constructor(this._lockDialogGroup); diff -Nru gnome-shell-45.1/debian/patches/ubuntu/layout-Try-to-allocate-before-getting-size-of-tracke.patch gnome-shell-45.2/debian/patches/ubuntu/layout-Try-to-allocate-before-getting-size-of-tracke.patch --- gnome-shell-45.1/debian/patches/ubuntu/layout-Try-to-allocate-before-getting-size-of-tracke.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/layout-Try-to-allocate-before-getting-size-of-tracke.patch 2023-12-05 18:11:30.000000000 +0000 @@ -21,10 +21,10 @@ 1 file changed, 1 insertion(+) diff --git a/js/ui/layout.js b/js/ui/layout.js -index 4d5cd5a..06ed440 100644 +index f80211f..95e34f2 100644 --- a/js/ui/layout.js +++ b/js/ui/layout.js -@@ -1058,6 +1058,7 @@ export const LayoutManager = GObject.registerClass({ +@@ -1063,6 +1063,7 @@ export const LayoutManager = GObject.registerClass({ if (!(actorData.affectsInputRegion && wantsInputRegion) && !actorData.affectsStruts) continue; diff -Nru gnome-shell-45.1/debian/patches/ubuntu/lock_on_suspend.patch gnome-shell-45.2/debian/patches/ubuntu/lock_on_suspend.patch --- gnome-shell-45.1/debian/patches/ubuntu/lock_on_suspend.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/lock_on_suspend.patch 2023-12-05 18:11:30.000000000 +0000 @@ -8,7 +8,7 @@ 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js -index f8c59fa..993e436 100644 +index 526aa8b..6d42868 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -26,6 +26,7 @@ import {adjustAnimationTime} from '../misc/animationUtils.js'; diff -Nru gnome-shell-45.1/debian/patches/ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch gnome-shell-45.2/debian/patches/ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch --- gnome-shell-45.1/debian/patches/ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch 2023-12-05 18:11:30.000000000 +0000 @@ -70,10 +70,10 @@ + + diff --git a/js/ui/main.js b/js/ui/main.js -index e5921eb..2c6c580 100644 +index 07b06f7..22674f5 100644 --- a/js/ui/main.js +++ b/js/ui/main.js -@@ -163,6 +163,9 @@ export async function start() { +@@ -165,6 +165,9 @@ export async function start() { St.Settings.get().connect('notify::high-contrast', _loadDefaultStylesheet); St.Settings.get().connect('notify::color-scheme', _loadDefaultStylesheet); @@ -83,7 +83,7 @@ // Initialize ParentalControlsManager before the UI ParentalControlsManager.getDefault(); -@@ -434,6 +437,38 @@ export function getStyleVariant() { +@@ -436,6 +439,38 @@ export function getStyleVariant() { } } @@ -122,7 +122,7 @@ function _getDefaultStylesheet() { let stylesheet = null; let name = sessionMode.stylesheetName; -@@ -442,6 +477,13 @@ function _getDefaultStylesheet() { +@@ -444,6 +479,13 @@ function _getDefaultStylesheet() { if (St.Settings.get().high_contrast) stylesheet = _getStylesheet(name.replace('.css', '-high-contrast.css')); diff -Nru gnome-shell-45.1/debian/patches/ubuntu/resolve_alternate_theme_path.patch gnome-shell-45.2/debian/patches/ubuntu/resolve_alternate_theme_path.patch --- gnome-shell-45.1/debian/patches/ubuntu/resolve_alternate_theme_path.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/resolve_alternate_theme_path.patch 2023-12-05 18:11:30.000000000 +0000 @@ -15,10 +15,10 @@ 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/js/ui/main.js b/js/ui/main.js -index b3fff22..8c0664a 100644 +index 002753d..e39ef6a 100644 --- a/js/ui/main.js +++ b/js/ui/main.js -@@ -385,6 +385,14 @@ async function _handleLockScreenWarning() { +@@ -387,6 +387,14 @@ async function _handleLockScreenWarning() { } } @@ -33,7 +33,7 @@ function _getStylesheet(name) { let stylesheet; -@@ -395,12 +403,12 @@ function _getStylesheet(name) { +@@ -397,12 +405,12 @@ function _getStylesheet(name) { let dataDirs = GLib.get_system_data_dirs(); for (let i = 0; i < dataDirs.length; i++) { let path = GLib.build_filenamev([dataDirs[i], 'gnome-shell', 'theme', name]); diff -Nru gnome-shell-45.1/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch gnome-shell-45.2/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch --- gnome-shell-45.1/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/search-call-XUbuntuCancel-method-on-providers-when-no-dat.patch 2023-12-05 18:11:30.000000000 +0000 @@ -91,7 +91,7 @@ this.proxy.ActivateResultAsync(id).catch(logError); } diff --git a/js/ui/search.js b/js/ui/search.js -index b938b03..4e68bd7 100644 +index 071f633..f443b46 100644 --- a/js/ui/search.js +++ b/js/ui/search.js @@ -224,7 +224,9 @@ const SearchResultsBase = GObject.registerClass({ @@ -104,7 +104,7 @@ if (this._cancellable.is_cancelled()) { if (metas.length > 0) -@@ -602,6 +604,10 @@ export const SearchResultsView = GObject.registerClass({ +@@ -611,6 +613,10 @@ export const SearchResultsView = GObject.registerClass({ this._searchTimeoutId = 0; this._cancellable = new Gio.Cancellable(); @@ -115,7 +115,7 @@ this._registerProvider(new AppDisplay.AppSearchProvider()); -@@ -650,11 +656,31 @@ export const SearchResultsView = GObject.registerClass({ +@@ -659,11 +665,31 @@ export const SearchResultsView = GObject.registerClass({ } } @@ -147,7 +147,7 @@ this._defaultResult = null; this._startingSearch = false; -@@ -726,6 +752,13 @@ export const SearchResultsView = GObject.registerClass({ +@@ -735,6 +761,13 @@ export const SearchResultsView = GObject.registerClass({ if (this._terms.length > 0) isSubSearch = searchString.indexOf(previousSearchString) === 0; diff -Nru gnome-shell-45.1/debian/patches/ubuntu/secure_mode_extension.patch gnome-shell-45.2/debian/patches/ubuntu/secure_mode_extension.patch --- gnome-shell-45.1/debian/patches/ubuntu/secure_mode_extension.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/secure_mode_extension.patch 2023-12-05 18:11:30.000000000 +0000 @@ -54,7 +54,7 @@ version: extension.metadata.version, }; diff --git a/js/ui/extensionSystem.js b/js/ui/extensionSystem.js -index 21b3b19..25260ec 100644 +index 3592e5b..111afaa 100644 --- a/js/ui/extensionSystem.js +++ b/js/ui/extensionSystem.js @@ -8,6 +8,7 @@ import Shell from 'gi://Shell'; @@ -65,7 +65,7 @@ import * as ExtensionDownloader from './extensionDownloader.js'; import {ExtensionState, ExtensionType} from '../misc/extensionUtils.js'; import * as FileUtils from '../misc/fileUtils.js'; -@@ -502,6 +503,10 @@ export class ExtensionManager extends Signals.EventEmitter { +@@ -509,6 +510,10 @@ export class ExtensionManager extends Signals.EventEmitter { await this.loadExtension(newExtension); } @@ -76,7 +76,7 @@ async _callExtensionInit(uuid) { if (!this._extensionSupportsSessionMode(uuid)) return false; -@@ -709,6 +714,10 @@ export class ExtensionManager extends Signals.EventEmitter { +@@ -740,6 +745,10 @@ export class ExtensionManager extends Signals.EventEmitter { let type = dir.has_prefix(perUserDir) ? ExtensionType.PER_USER : ExtensionType.SYSTEM; diff -Nru gnome-shell-45.1/debian/patches/ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch gnome-shell-45.2/debian/patches/ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch --- gnome-shell-45.1/debian/patches/ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch 2023-12-05 18:11:30.000000000 +0000 @@ -12,10 +12,10 @@ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/js/ui/main.js b/js/ui/main.js -index 8c0664a..e5921eb 100644 +index e39ef6a..07b06f7 100644 --- a/js/ui/main.js +++ b/js/ui/main.js -@@ -547,7 +547,7 @@ export function reloadThemeResource() { +@@ -578,7 +578,7 @@ export function reloadThemeResource() { /** @private */ function _loadIcons() { diff -Nru gnome-shell-45.1/debian/patches/ubuntu/shell-global-util-Do-not-move-snap-apps-to-gnome-apps-sco.patch gnome-shell-45.2/debian/patches/ubuntu/shell-global-util-Do-not-move-snap-apps-to-gnome-apps-sco.patch --- gnome-shell-45.1/debian/patches/ubuntu/shell-global-util-Do-not-move-snap-apps-to-gnome-apps-sco.patch 2023-11-08 16:33:02.000000000 +0000 +++ gnome-shell-45.2/debian/patches/ubuntu/shell-global-util-Do-not-move-snap-apps-to-gnome-apps-sco.patch 2023-12-05 18:11:30.000000000 +0000 @@ -11,7 +11,7 @@ 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/js/misc/util.js b/js/misc/util.js -index 0201fd1..22d9a5a 100644 +index de5e6d8..0909172 100644 --- a/js/misc/util.js +++ b/js/misc/util.js @@ -119,6 +119,20 @@ export function spawnApp(argv) { @@ -33,9 +33,9 @@ + } + try { + const launchContext = global.create_app_launch_context(0, -1); [success_, pid] = GLib.spawn_async( - null, argv, null, -@@ -150,8 +164,10 @@ export function trySpawn(argv) { +@@ -151,8 +165,10 @@ export function trySpawn(argv) { } } diff -Nru gnome-shell-45.1/js/dbusServices/extensions/extensionPrefsDialog.js gnome-shell-45.2/js/dbusServices/extensions/extensionPrefsDialog.js --- gnome-shell-45.1/js/dbusServices/extensions/extensionPrefsDialog.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/dbusServices/extensions/extensionPrefsDialog.js 2023-12-01 19:43:51.000000000 +0000 @@ -9,6 +9,9 @@ export const ExtensionPrefsDialog = GObject.registerClass({ GTypeName: 'ExtensionPrefsDialog', + Signals: { + 'loaded': {}, + }, }, class ExtensionPrefsDialog extends Adw.PreferencesWindow { _init(extension) { super._init({ @@ -21,7 +24,7 @@ this._loadPrefs().catch(e => { this._showErrorPage(e); logError(e, 'Failed to open preferences'); - }); + }).finally(() => this.emit('loaded')); } async _loadPrefs() { diff -Nru gnome-shell-45.1/js/dbusServices/extensions/extensionsService.js gnome-shell-45.2/js/dbusServices/extensions/extensionsService.js --- gnome-shell-45.1/js/dbusServices/extensions/extensionsService.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/dbusServices/extensions/extensionsService.js 2023-12-01 19:43:51.000000000 +0000 @@ -137,6 +137,8 @@ const extension = extensionManager.createExtensionObject(serialized); this._prefsDialog = new ExtensionPrefsDialog(extension); + this._prefsDialog.connect('loaded', + () => this._prefsDialog.show()); this._prefsDialog.connect('realize', () => { let externalWindow = null; @@ -157,8 +159,6 @@ }); this.hold(); - this._prefsDialog.show(); - invocation.return_value(null); } catch (error) { this._handleError(invocation, error); diff -Nru gnome-shell-45.1/js/misc/config.js.in gnome-shell-45.2/js/misc/config.js.in --- gnome-shell-45.1/js/misc/config.js.in 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/misc/config.js.in 2023-12-01 19:43:51.000000000 +0000 @@ -18,4 +18,4 @@ export const LIBMUTTER_API_VERSION = '@LIBMUTTER_API_VERSION@'; export const HAVE_BLUETOOTH = pkg.checkSymbol('GnomeBluetooth', '3.0', - 'Client.default_adapter_state') + 'Client.default_adapter_state'); diff -Nru gnome-shell-45.1/js/misc/util.js gnome-shell-45.2/js/misc/util.js --- gnome-shell-45.1/js/misc/util.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/misc/util.js 2023-12-01 19:43:51.000000000 +0000 @@ -120,8 +120,9 @@ export function trySpawn(argv) { let success_, pid; try { + const launchContext = global.create_app_launch_context(0, -1); [success_, pid] = GLib.spawn_async( - null, argv, null, + null, argv, launchContext.get_environment(), GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD, () => { try { diff -Nru gnome-shell-45.1/js/ui/appDisplay.js gnome-shell-45.2/js/ui/appDisplay.js --- gnome-shell-45.1/js/ui/appDisplay.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/appDisplay.js 2023-12-01 19:43:51.000000000 +0000 @@ -1798,6 +1798,7 @@ this.id = 'applications'; this.isRemoteProvider = false; this.canLaunchSearch = false; + this.maxResults = 6; this._systemActions = new SystemActions.getDefault(); diff -Nru gnome-shell-45.1/js/ui/barLevel.js gnome-shell-45.2/js/ui/barLevel.js --- gnome-shell-45.1/js/ui/barLevel.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/barLevel.js 2023-12-01 19:43:51.000000000 +0000 @@ -26,6 +26,17 @@ this._value = 0; this._overdriveStart = 1; this._barLevelWidth = 0; + this._barLevelHeight = 0; + + this._barLevelBorderWidth = 0; + this._overdriveSeparatorWidth = 0; + + this._barLevelColor = null; + this._barLevelActiveColor = null; + this._barLevelOverdriveColor = null; + this._barLevelBorderColor = null; + this._barLevelActiveBorderColor = null; + this._barLevelOverdriveBorderColor = null; let defaultParams = { style_class: 'barlevel', @@ -96,34 +107,45 @@ this.queue_repaint(); } + vfunc_style_changed() { + super.vfunc_style_changed(); + + const themeNode = this.get_theme_node(); + this._barLevelHeight = themeNode.get_length('-barlevel-height'); + this._barLevelBorderWidth = + Math.min(themeNode.get_length('-barlevel-border-width'), this._barLevelHeight); + this._overdriveSeparatorWidth = + themeNode.get_length('-barlevel-overdrive-separator-width'); + + this._barLevelColor = themeNode.get_color('-barlevel-background-color'); + this._barLevelActiveColor = themeNode.get_color('-barlevel-active-background-color'); + this._barLevelOverdriveColor = themeNode.get_color('-barlevel-overdrive-color'); + + const [hasBorderColor, barLevelBorderColor] = + themeNode.lookup_color('-barlevel-border-color', false); + this._barLevelBorderColor = hasBorderColor + ? barLevelBorderColor : this._barLevelColor; + + const [hasActiveBorderColor, barLevelActiveBorderColor] = + themeNode.lookup_color('-barlevel-active-border-color', false); + this._barLevelActiveBorderColor = hasActiveBorderColor + ? barLevelActiveBorderColor : this._barLevelActiveColor; + + const [hasOverdriveBorderColor, barLevelOverdriveBorderColor] = + themeNode.lookup_color('-barlevel-overdrive-border-color', false); + this._barLevelOverdriveBorderColor = hasOverdriveBorderColor + ? barLevelOverdriveBorderColor : this._barLevelOverdriveColor; + } + vfunc_repaint() { let cr = this.get_context(); let themeNode = this.get_theme_node(); let [width, height] = this.get_surface_size(); const rtl = this.get_text_direction() === Clutter.TextDirection.RTL; - let barLevelHeight = themeNode.get_length('-barlevel-height'); - let barLevelBorderRadius = Math.min(width, barLevelHeight) / 2; + const barLevelBorderRadius = Math.min(width, this._barLevelHeight) / 2; let fgColor = themeNode.get_foreground_color(); - let barLevelColor = themeNode.get_color('-barlevel-background-color'); - let barLevelActiveColor = themeNode.get_color('-barlevel-active-background-color'); - let barLevelOverdriveColor = themeNode.get_color('-barlevel-overdrive-color'); - - let barLevelBorderWidth = Math.min(themeNode.get_length('-barlevel-border-width'), 1); - let [hasBorderColor, barLevelBorderColor] = - themeNode.lookup_color('-barlevel-border-color', false); - if (!hasBorderColor) - barLevelBorderColor = barLevelColor; - let [hasActiveBorderColor, barLevelActiveBorderColor] = - themeNode.lookup_color('-barlevel-active-border-color', false); - if (!hasActiveBorderColor) - barLevelActiveBorderColor = barLevelActiveColor; - let [hasOverdriveBorderColor, barLevelOverdriveBorderColor] = - themeNode.lookup_color('-barlevel-overdrive-border-color', false); - if (!hasOverdriveBorderColor) - barLevelOverdriveBorderColor = barLevelOverdriveColor; - const TAU = Math.PI * 2; let endX = 0; @@ -140,11 +162,10 @@ let overdriveSeparatorX = barLevelBorderRadius + (width - 2 * barLevelBorderRadius) * overdriveRatio; let overdriveActive = this._overdriveStart !== this._maxValue; - let overdriveSeparatorWidth = 0; - if (overdriveActive) - overdriveSeparatorWidth = themeNode.get_length('-barlevel-overdrive-separator-width'); + const overdriveSeparatorWidth = overdriveActive + ? this._overdriveSeparatorWidth : 0; - let xcArcStart = barLevelBorderRadius + barLevelBorderWidth; + let xcArcStart = barLevelBorderRadius + this._barLevelBorderWidth; let xcArcEnd = width - xcArcStart; if (rtl) [xcArcStart, xcArcEnd] = [xcArcEnd, xcArcStart]; @@ -154,13 +175,13 @@ cr.arc(xcArcEnd, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4)); else cr.arcNegative(xcArcEnd, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4)); - cr.lineTo(endX, (height + barLevelHeight) / 2); - cr.lineTo(endX, (height - barLevelHeight) / 2); - cr.lineTo(xcArcEnd, (height - barLevelHeight) / 2); - Clutter.cairo_set_source_color(cr, barLevelColor); + cr.lineTo(endX, (height + this._barLevelHeight) / 2); + cr.lineTo(endX, (height - this._barLevelHeight) / 2); + cr.lineTo(xcArcEnd, (height - this._barLevelHeight) / 2); + Clutter.cairo_set_source_color(cr, this._barLevelColor); cr.fillPreserve(); - Clutter.cairo_set_source_color(cr, barLevelBorderColor); - cr.setLineWidth(barLevelBorderWidth); + Clutter.cairo_set_source_color(cr, this._barLevelBorderColor); + cr.setLineWidth(this._barLevelBorderWidth); cr.stroke(); /* normal progress bar */ @@ -172,14 +193,14 @@ x = Math.max(endX, overdriveSeparatorX + overdriveSeparatorWidth / 2); cr.arcNegative(xcArcStart, height / 2, barLevelBorderRadius, TAU * (1 / 4), TAU * (3 / 4)); } - cr.lineTo(x, (height - barLevelHeight) / 2); - cr.lineTo(x, (height + barLevelHeight) / 2); - cr.lineTo(xcArcStart, (height + barLevelHeight) / 2); + cr.lineTo(x, (height - this._barLevelHeight) / 2); + cr.lineTo(x, (height + this._barLevelHeight) / 2); + cr.lineTo(xcArcStart, (height + this._barLevelHeight) / 2); if (this._value > 0) - Clutter.cairo_set_source_color(cr, barLevelActiveColor); + Clutter.cairo_set_source_color(cr, this._barLevelActiveColor); cr.fillPreserve(); - Clutter.cairo_set_source_color(cr, barLevelActiveBorderColor); - cr.setLineWidth(barLevelBorderWidth); + Clutter.cairo_set_source_color(cr, this._barLevelActiveBorderColor); + cr.setLineWidth(this._barLevelBorderWidth); cr.stroke(); /* overdrive progress barLevel */ @@ -188,56 +209,76 @@ else x = Math.max(endX, overdriveSeparatorX) - overdriveSeparatorWidth / 2; if (this._value > this._overdriveStart) { - cr.moveTo(x, (height - barLevelHeight) / 2); - cr.lineTo(endX, (height - barLevelHeight) / 2); - cr.lineTo(endX, (height + barLevelHeight) / 2); - cr.lineTo(x, (height + barLevelHeight) / 2); - cr.lineTo(x, (height - barLevelHeight) / 2); - Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); + cr.moveTo(x, (height - this._barLevelHeight) / 2); + cr.lineTo(endX, (height - this._barLevelHeight) / 2); + cr.lineTo(endX, (height + this._barLevelHeight) / 2); + cr.lineTo(x, (height + this._barLevelHeight) / 2); + cr.lineTo(x, (height - this._barLevelHeight) / 2); + Clutter.cairo_set_source_color(cr, this._barLevelOverdriveColor); cr.fillPreserve(); - Clutter.cairo_set_source_color(cr, barLevelOverdriveBorderColor); - cr.setLineWidth(barLevelBorderWidth); + Clutter.cairo_set_source_color(cr, this._barLevelOverdriveBorderColor); + cr.setLineWidth(this._barLevelBorderWidth); cr.stroke(); } /* end progress bar arc */ if (this._value > 0) { if (this._value <= this._overdriveStart) - Clutter.cairo_set_source_color(cr, barLevelActiveColor); + Clutter.cairo_set_source_color(cr, this._barLevelActiveColor); else - Clutter.cairo_set_source_color(cr, barLevelOverdriveColor); + Clutter.cairo_set_source_color(cr, this._barLevelOverdriveColor); if (!rtl) { cr.arc(endX, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4)); - cr.lineTo(Math.floor(endX), (height + barLevelHeight) / 2); - cr.lineTo(Math.floor(endX), (height - barLevelHeight) / 2); + cr.lineTo(Math.floor(endX), (height + this._barLevelHeight) / 2); + cr.lineTo(Math.floor(endX), (height - this._barLevelHeight) / 2); } else { cr.arcNegative(endX, height / 2, barLevelBorderRadius, TAU * (3 / 4), TAU * (1 / 4)); - cr.lineTo(Math.ceil(endX), (height + barLevelHeight) / 2); - cr.lineTo(Math.ceil(endX), (height - barLevelHeight) / 2); + cr.lineTo(Math.ceil(endX), (height + this._barLevelHeight) / 2); + cr.lineTo(Math.ceil(endX), (height - this._barLevelHeight) / 2); } - cr.lineTo(endX, (height - barLevelHeight) / 2); + cr.lineTo(endX, (height - this._barLevelHeight) / 2); cr.fillPreserve(); - cr.setLineWidth(barLevelBorderWidth); + cr.setLineWidth(this._barLevelBorderWidth); cr.stroke(); } /* draw overdrive separator */ if (overdriveActive) { - cr.moveTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - barLevelHeight) / 2); - cr.lineTo(overdriveSeparatorX + overdriveSeparatorWidth / 2, (height - barLevelHeight) / 2); - cr.lineTo(overdriveSeparatorX + overdriveSeparatorWidth / 2, (height + barLevelHeight) / 2); - cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height + barLevelHeight) / 2); - cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - barLevelHeight) / 2); + cr.moveTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - this._barLevelHeight) / 2); + cr.lineTo(overdriveSeparatorX + overdriveSeparatorWidth / 2, (height - this._barLevelHeight) / 2); + cr.lineTo(overdriveSeparatorX + overdriveSeparatorWidth / 2, (height + this._barLevelHeight) / 2); + cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height + this._barLevelHeight) / 2); + cr.lineTo(overdriveSeparatorX - overdriveSeparatorWidth / 2, (height - this._barLevelHeight) / 2); if (this._value <= this._overdriveStart) Clutter.cairo_set_source_color(cr, fgColor); else - Clutter.cairo_set_source_color(cr, barLevelColor); + Clutter.cairo_set_source_color(cr, this._barLevelColor); cr.fill(); } cr.$dispose(); } + vfunc_get_preferred_height(_forWidth) { + const themeNode = this.get_theme_node(); + const height = this._getPreferredHeight(); + return themeNode.adjust_preferred_height(height, height); + } + + vfunc_get_preferred_width(_forHeight) { + const themeNode = this.get_theme_node(); + const width = this._getPreferredWidth(); + return themeNode.adjust_preferred_width(width, width); + } + + _getPreferredHeight() { + return this._barLevelHeight + this._barLevelBorderWidth; + } + + _getPreferredWidth() { + return this._overdriveSeparatorWidth + this._barLevelBorderWidth; + } + _getCurrentValue() { return this._value; } diff -Nru gnome-shell-45.1/js/ui/components/networkAgent.js gnome-shell-45.2/js/ui/components/networkAgent.js --- gnome-shell-45.1/js/ui/components/networkAgent.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/components/networkAgent.js 2023-12-01 19:43:51.000000000 +0000 @@ -455,11 +455,12 @@ this._newStylePlugin = authHelper.externalUIMode; try { + const launchContext = global.create_app_launch_context(0, -1); let [success_, pid, stdin, stdout, stderr] = GLib.spawn_async_with_pipes( null, /* pwd */ argv, - null, /* envp */ + launchContext.get_environment(), GLib.SpawnFlags.DO_NOT_REAP_CHILD, () => { try { diff -Nru gnome-shell-45.1/js/ui/endSessionDialog.js gnome-shell-45.2/js/ui/endSessionDialog.js --- gnome-shell-45.1/js/ui/endSessionDialog.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/endSessionDialog.js 2023-12-01 19:43:51.000000000 +0000 @@ -223,14 +223,7 @@ } } -export function init() { - // This always returns the same singleton object - // By instantiating it initially, we register the - // bus object, etc. - new EndSessionDialog(); -} - -const EndSessionDialog = GObject.registerClass( +export const EndSessionDialog = GObject.registerClass( class EndSessionDialog extends ModalDialog.ModalDialog { _init() { super._init({ diff -Nru gnome-shell-45.1/js/ui/keyboard.js gnome-shell-45.2/js/ui/keyboard.js --- gnome-shell-45.1/js/ui/keyboard.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/keyboard.js 2023-12-01 19:43:51.000000000 +0000 @@ -1641,15 +1641,20 @@ this._deleteEnabled = enabled; this._timesDeleted = 0; - if (!Main.inputMethod.currentFocus || - Main.inputMethod.hasPreedit() || - Main.inputMethod.terminalMode) { - /* If there is no IM focus or are in the middle of preedit, - * fallback to keypresses */ - if (enabled) - this._keyboardController.keyvalPress(Clutter.KEY_BackSpace); - else - this._keyboardController.keyvalRelease(Clutter.KEY_BackSpace); + /* If there is no IM focus or are in the middle of preedit, fallback to + * keypresses */ + if (enabled && + (!Main.inputMethod.currentFocus || + Main.inputMethod.hasPreedit() || + Main.inputMethod.terminalMode)) { + this._keyboardController.keyvalPress(Clutter.KEY_BackSpace); + this._backspacePressed = true; + return; + } + + if (!enabled && this._backspacePressed) { + this._keyboardController.keyvalRelease(Clutter.KEY_BackSpace); + delete this._backspacePressed; return; } diff -Nru gnome-shell-45.1/js/ui/main.js gnome-shell-45.2/js/ui/main.js --- gnome-shell-45.1/js/ui/main.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/main.js 2023-12-01 19:43:51.000000000 +0000 @@ -90,6 +90,7 @@ export let inputMethod = null; export let introspectService = null; export let locatePointer = null; +export let endSessionDialog = null; let _startDate; let _defaultCssStylesheet = null; @@ -275,7 +276,7 @@ // Provide the bus object for gnome-session to // initiate logouts. - EndSessionDialog.init(); + endSessionDialog = new EndSessionDialog.EndSessionDialog(); // We're ready for the session manager to move to the next phase GLib.idle_add(GLib.PRIORITY_DEFAULT, () => { diff -Nru gnome-shell-45.1/js/ui/padOsd.js gnome-shell-45.2/js/ui/padOsd.js --- gnome-shell-45.1/js/ui/padOsd.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/padOsd.js 2023-12-01 19:43:51.000000000 +0000 @@ -812,13 +812,13 @@ } else if (event.get_source_device() === this.padDevice && event.type() === Clutter.EventType.PAD_STRIP) { if (this._editionMode) { - let [retval_, number, mode] = event.get_pad_event_details(); + let [retval_, number, mode] = event.get_pad_details(); this._startStripActionEdition(number, Meta.PadDirection.UP, mode); } } else if (event.get_source_device() === this.padDevice && event.type() === Clutter.EventType.PAD_RING) { if (this._editionMode) { - let [retval_, number, mode] = event.get_pad_event_details(); + let [retval_, number, mode] = event.get_pad_details(); this._startRingActionEdition(number, Meta.PadDirection.CCW, mode); } } diff -Nru gnome-shell-45.1/js/ui/popupMenu.js gnome-shell-45.2/js/ui/popupMenu.js --- gnome-shell-45.1/js/ui/popupMenu.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/popupMenu.js 2023-12-01 19:43:51.000000000 +0000 @@ -1276,16 +1276,6 @@ constructor(owner, grabParams) { this._grabParams = Params.parse(grabParams, {actionMode: Shell.ActionMode.POPUP}); - global.stage.connect('notify::key-focus', () => { - if (!this.activeMenu) - return; - - let actor = global.stage.get_key_focus(); - let newMenu = this._findMenuForSource(actor); - - if (newMenu) - this._changeMenu(newMenu); - }); this._menus = []; } @@ -1309,6 +1299,11 @@ if (menu === this.activeMenu) { Main.popModal(this._grab); this._grab = null; + + if (this._keyFocusId) { + global.stage.disconnect(this._keyFocusId); + delete this._keyFocusId; + } } const position = this._menus.indexOf(menu); @@ -1336,10 +1331,29 @@ oldMenu?.close(BoxPointer.PopupAnimation.FADE); if (oldGrab) Main.popModal(oldGrab); + + if (!this._keyFocusId) { + this._keyFocusId = + global.stage.connect('notify::key-focus', () => { + if (!this.activeMenu) + return; + + let actor = global.stage.get_key_focus(); + let newMenu = this._findMenuForSource(actor); + + if (newMenu) + this._changeMenu(newMenu); + }); + } } else if (this.activeMenu === menu) { this.activeMenu = null; Main.popModal(this._grab); this._grab = null; + + if (this._keyFocusId) { + global.stage.disconnect(this._keyFocusId); + delete this._keyFocusId; + } } } diff -Nru gnome-shell-45.1/js/ui/search.js gnome-shell-45.2/js/ui/search.js --- gnome-shell-45.1/js/ui/search.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/search.js 2023-12-01 19:43:51.000000000 +0000 @@ -472,6 +472,8 @@ child: this._grid, x_align: Clutter.ActorAlign.CENTER, })); + + this._maxResults = provider.maxResults ?? -1; } _onDestroy() { @@ -510,11 +512,18 @@ } _getMaxDisplayedResults() { - let width = this.allocation.get_width(); + const width = this.allocation.get_width(); if (width === 0) - return -1; + return this._maxResults; + + const nCols = this._grid.layout_manager.columnsForWidth(width); + if (nCols < 0) + return this._maxResults; + + if (this._maxResults < 0) + return nCols; - return this._grid.layout_manager.columnsForWidth(width); + return Math.min(nCols, this._maxResults); } _clearResultDisplay() { diff -Nru gnome-shell-45.1/js/ui/searchController.js gnome-shell-45.2/js/ui/searchController.js --- gnome-shell-45.1/js/ui/searchController.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/searchController.js 2023-12-01 19:43:51.000000000 +0000 @@ -292,7 +292,7 @@ } else if (symbol === Clutter.KEY_Down) { this._searchResults.navigateFocus(St.DirectionType.DOWN); return Clutter.EVENT_STOP; - } else if (symbol === arrowNext && this._text.position === -1) { + } else if (symbol === arrowNext && this._text.cursor_position === -1) { this._searchResults.navigateFocus(nextDirection); return Clutter.EVENT_STOP; } else if (symbol === Clutter.KEY_Return || symbol === Clutter.KEY_KP_Enter) { diff -Nru gnome-shell-45.1/js/ui/shellDBus.js gnome-shell-45.2/js/ui/shellDBus.js --- gnome-shell-45.1/js/ui/shellDBus.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/shellDBus.js 2023-12-01 19:43:51.000000000 +0000 @@ -56,17 +56,22 @@ * If evaluation fails, then the return value will be * [false, JSON.stringify(exception)]; * - * @param {string} code A string containing JavaScript code - * @returns {Array} + * @async + * @param {...any} params - method parameters + * @param {Gio.DBusMethodInvocation} invocation - the invocation + * @returns {void} */ - Eval(code) { - if (!global.context.unsafe_mode) - return [false, '']; + async EvalAsync(params, invocation) { + if (!global.context.unsafe_mode) { + invocation.return_value(new GLib.Variant('(bs)', [false, ''])); + return; + } + const [code] = params; let returnValue; let success; try { - returnValue = JSON.stringify(eval(code)); + returnValue = JSON.stringify(await eval(code)); // A hack; DBus doesn't have null/undefined if (returnValue === undefined) returnValue = ''; @@ -75,7 +80,8 @@ returnValue = `${e}`; success = false; } - return [success, returnValue]; + invocation.return_value( + new GLib.Variant('(bs)', [success, returnValue])); } /** diff -Nru gnome-shell-45.1/js/ui/slider.js gnome-shell-45.2/js/ui/slider.js --- gnome-shell-45.1/js/ui/slider.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/slider.js 2023-12-01 19:43:51.000000000 +0000 @@ -27,9 +27,25 @@ this._releaseId = 0; this._dragging = false; + this._handleRadius = 0; + this._handleBorderWidth = 0; + this._handleBorderColor = null; + this._customAccessible.connect('get-minimum-increment', this._getMinimumIncrement.bind(this)); } + vfunc_style_changed() { + super.vfunc_style_changed(); + + const themeNode = this.get_theme_node(); + this._handleRadius = themeNode.get_length('-slider-handle-radius'); + this._handleBorderWidth = + themeNode.get_length('-slider-handle-border-width'); + const [hasHandleColor, handleBorderColor] = + themeNode.lookup_color('-slider-handle-border-color', false); + this._handleBorderColor = hasHandleColor ? handleBorderColor : null; + } + vfunc_repaint() { super.vfunc_repaint(); @@ -39,13 +55,7 @@ let [width, height] = this.get_surface_size(); const rtl = this.get_text_direction() === Clutter.TextDirection.RTL; - let handleRadius = themeNode.get_length('-slider-handle-radius'); - - let handleBorderWidth = themeNode.get_length('-slider-handle-border-width'); - let [hasHandleColor, handleBorderColor] = - themeNode.lookup_color('-slider-handle-border-color', false); - - const ceiledHandleRadius = Math.ceil(handleRadius + handleBorderWidth); + const ceiledHandleRadius = Math.ceil(this._handleRadius + this._handleBorderWidth); const handleY = height / 2; let handleX = ceiledHandleRadius + @@ -55,16 +65,28 @@ let color = themeNode.get_foreground_color(); Clutter.cairo_set_source_color(cr, color); - cr.arc(handleX, handleY, handleRadius, 0, 2 * Math.PI); + cr.arc(handleX, handleY, this._handleRadius, 0, 2 * Math.PI); cr.fillPreserve(); - if (hasHandleColor && handleBorderWidth) { - Clutter.cairo_set_source_color(cr, handleBorderColor); - cr.setLineWidth(handleBorderWidth); + if (this._handleBorderColor && this._handleBorderWidth) { + Clutter.cairo_set_source_color(cr, this._handleBorderColor); + cr.setLineWidth(this._handleBorderWidth); cr.stroke(); } cr.$dispose(); } + _getPreferredHeight() { + const barHeight = super._getPreferredHeight(); + const handleHeight = 2 * this._handleRadius + this._handleBorderWidth; + return Math.max(barHeight, handleHeight); + } + + _getPreferredWidth() { + const barWidth = super._getPreferredWidth(); + const handleWidth = 2 * this._handleRadius + this._handleBorderWidth; + return Math.max(barWidth, handleWidth); + } + vfunc_button_press_event(event) { return this.startDragging(event); } @@ -200,15 +222,13 @@ if (rtl) relX = width - relX; - let handleRadius = this.get_theme_node().get_length('-slider-handle-radius'); - let newvalue; - if (relX < handleRadius) + if (relX < this._handleRadius) newvalue = 0; - else if (relX > width - handleRadius) + else if (relX > width - this._handleRadius) newvalue = 1; else - newvalue = (relX - handleRadius) / (width - 2 * handleRadius); + newvalue = (relX - this._handleRadius) / (width - 2 * this._handleRadius); this.value = newvalue * this._maxValue; } diff -Nru gnome-shell-45.1/js/ui/status/volume.js gnome-shell-45.2/js/ui/status/volume.js --- gnome-shell-45.1/js/ui/status/volume.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/js/ui/status/volume.js 2023-12-01 19:43:51.000000000 +0000 @@ -138,7 +138,13 @@ ? `${description} – ${origin}` : description; const item = new PopupMenu.PopupImageMenuItem(name, device.get_gicon()); - item.connect('activate', () => this._activateDevice(device)); + item.connect('activate', () => { + const dev = this._lookupDevice(id); + if (dev) + this._activateDevice(dev); + else + console.warn(`Trying to activate invalid device ${id}`); + }); this._deviceSection.addMenuItem(item); this._deviceItems.set(id, item); diff -Nru gnome-shell-45.1/meson.build gnome-shell-45.2/meson.build --- gnome-shell-45.1/meson.build 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/meson.build 2023-12-01 19:43:51.000000000 +0000 @@ -1,5 +1,5 @@ project('gnome-shell', 'c', - version: '45.1', + version: '45.2', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-45.1/po/ka.po gnome-shell-45.2/po/ka.po --- gnome-shell-45.1/po/ka.po 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/po/ka.po 2023-12-01 19:43:51.000000000 +0000 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" -"POT-Creation-Date: 2023-09-22 17:09+0000\n" -"PO-Revision-Date: 2023-09-30 14:44+0200\n" +"POT-Creation-Date: 2023-10-31 23:41+0000\n" +"PO-Revision-Date: 2023-11-05 23:38+0100\n" "Last-Translator: Ekaterine Papava \n" "Language-Team: Georgian <(nothing)>\n" "Language: ka\n" @@ -935,33 +935,33 @@ msgid "%OB %Y" msgstr "%OB %Y" -#: js/ui/calendar.js:500 +#: js/ui/calendar.js:501 msgid "Previous month" msgstr "წინა თვე" -#: js/ui/calendar.js:518 +#: js/ui/calendar.js:519 msgid "Next month" msgstr "შემდეგი თვე" -#: js/ui/calendar.js:669 +#: js/ui/calendar.js:670 #, no-javascript-format msgctxt "date day number format" msgid "%d" msgstr "%d" -#: js/ui/calendar.js:728 +#: js/ui/calendar.js:729 msgid "Week %V" msgstr "%V კვირა" -#: js/ui/calendar.js:907 +#: js/ui/calendar.js:908 msgid "No Notifications" msgstr "შეტყობინებების გარეშე" -#: js/ui/calendar.js:964 +#: js/ui/calendar.js:965 msgid "Do Not Disturb" msgstr "არ შემაწუხო" -#: js/ui/calendar.js:985 +#: js/ui/calendar.js:986 msgid "Clear" msgstr "გასუფთავება" @@ -1550,7 +1550,7 @@ msgid "Screen Locking requires the GNOME display manager." msgstr "ეკრანის ჩაკეტვას GNOME-ის ეკრანის მმართველი სჭირდება." -#: js/ui/messageTray.js:1423 +#: js/ui/messageTray.js:1417 msgid "System Information" msgstr "ინფორმაცის სისტემის შესახებ" @@ -1663,11 +1663,11 @@ msgid "GNOME needs to lock the screen" msgstr "GNOME -ს სჭირდება თქვენი ეკრანის ჩაკეტვა" -#: js/ui/screenShield.js:276 js/ui/screenShield.js:674 +#: js/ui/screenShield.js:276 js/ui/screenShield.js:670 msgid "Unable to lock" msgstr "ჩაკეტვის შეცდომა" -#: js/ui/screenShield.js:277 js/ui/screenShield.js:675 +#: js/ui/screenShield.js:277 js/ui/screenShield.js:671 msgid "Lock was blocked by an app" msgstr "ჩაკეტვა დაბლოკილია აპის მიერ" @@ -2310,7 +2310,7 @@ #: js/ui/unlockDialog.js:375 msgid "Click or press a key to unlock" -msgstr "ბლოკის მოსახსნელად წკაპი ან ღილაკს დააწექით" +msgstr "ბლოკის მოსახსნელად დააწექით ნებისმიერ ღილაკს" #: js/ui/unlockDialog.js:558 msgid "Unlock Window" @@ -2461,7 +2461,7 @@ msgid "Unknown" msgstr "Unknown" -#: src/shell-app.c:556 +#: src/shell-app.c:555 #, c-format msgid "Failed to launch “%s”" msgstr "%s-ის გაშვების შეცდომა" diff -Nru gnome-shell-45.1/po/sk.po gnome-shell-45.2/po/sk.po --- gnome-shell-45.1/po/sk.po 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/po/sk.po 2023-12-01 19:43:51.000000000 +0000 @@ -12,16 +12,16 @@ msgstr "" "Project-Id-Version: gnome-shell\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" -"POT-Creation-Date: 2023-04-25 15:21+0000\n" -"PO-Revision-Date: 2023-06-08 16:07+0200\n" -"Last-Translator: Dušan Kazik \n" +"POT-Creation-Date: 2023-10-19 08:01+0000\n" +"PO-Revision-Date: 2023-11-27 14:42+0100\n" +"Last-Translator: Dušan Kazik\n" "Language-Team: Slovak \n" "Language: sk\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 1 : (n>=2 && n<=4) ? 2 : 0;\n" -"X-Generator: Poedit 3.3.1\n" +"X-Generator: Poedit 3.4.1\n" "X-DamnedLies-Scope: partial\n" "X-Project-Style: gnome\n" @@ -66,7 +66,7 @@ msgstr "Aktivovať obľúbenú aplikáciu č. 9" #. Translators: name of the folder under ~/Pictures for screenshots. -#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2110 +#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2148 msgid "Screenshots" msgstr "Snímky obrazovky" @@ -100,24 +100,26 @@ # nazov klavesovej skratky #: data/50-gnome-shell-system.xml:12 +#, fuzzy +#| msgid "Open the app menu" +msgid "Open the quick settings menu" +msgstr "Otvoriť ponuku aplikácií" + +# nazov klavesovej skratky +#: data/50-gnome-shell-system.xml:15 msgid "Focus the active notification" msgstr "Zamerať aktívne oznámenie" # nazov klavesovej skratky -#: data/50-gnome-shell-system.xml:15 +#: data/50-gnome-shell-system.xml:18 msgid "Show the overview" msgstr "Zobraziť prehľad" # nazov klavesovej skratky -#: data/50-gnome-shell-system.xml:18 +#: data/50-gnome-shell-system.xml:21 msgid "Show all apps" msgstr "Zobraziť všetky aplikácie" -# nazov klavesovej skratky -#: data/50-gnome-shell-system.xml:21 -msgid "Open the app menu" -msgstr "Otvoriť ponuku aplikácií" - #: data/org.gnome.Shell.desktop.in.in:4 msgid "GNOME Shell" msgstr "Shell prostredia GNOME" @@ -309,57 +311,57 @@ "aplikácie na stránke." #: data/org.gnome.shell.gschema.xml.in:152 -msgid "Keybinding to open the application menu" -msgstr "Klávesová skratka na otvorenie ponuky aplikácií" - -#: data/org.gnome.shell.gschema.xml.in:153 -msgid "Keybinding to open the application menu." -msgstr "Klávesová skratka na otvorenie ponuky aplikácií." - #: data/org.gnome.shell.gschema.xml.in:159 -#: data/org.gnome.shell.gschema.xml.in:166 msgid "Keybinding to shift between overview states" msgstr "Kombinácia kláves na prepínanie medzi stavmi prehľadu" -#: data/org.gnome.shell.gschema.xml.in:160 +#: data/org.gnome.shell.gschema.xml.in:153 msgid "Keybinding to shift between session, window picker and app grid" msgstr "" "Klávesová skratka na prepínanie medzi sedením, výberom okna a mriežkou " "aplikácií" -#: data/org.gnome.shell.gschema.xml.in:167 +#: data/org.gnome.shell.gschema.xml.in:160 msgid "Keybinding to shift between app grid, window picker and session" msgstr "" "Klávesová skratka slúži na prepínanie medzi mriežkou aplikácií, výberom okna " "a sedením" -#: data/org.gnome.shell.gschema.xml.in:173 +#: data/org.gnome.shell.gschema.xml.in:166 msgid "Keybinding to open the “Show Applications” view" msgstr "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“" -#: data/org.gnome.shell.gschema.xml.in:174 +#: data/org.gnome.shell.gschema.xml.in:167 msgid "" "Keybinding to open the “Show Applications” view of the Activities Overview." msgstr "" "Klávesová skratka na otvorenie pohľadu „Zobraziť aplikácie“ v prehľade " "aktivít." -#: data/org.gnome.shell.gschema.xml.in:181 +#: data/org.gnome.shell.gschema.xml.in:174 msgid "Keybinding to open the overview" msgstr "Klávesová skratka na otvorenie prehľadu" -#: data/org.gnome.shell.gschema.xml.in:182 +#: data/org.gnome.shell.gschema.xml.in:175 msgid "Keybinding to open the Activities Overview." msgstr "Klávesová skratka na otvorenie prehľadu aktivít." -#: data/org.gnome.shell.gschema.xml.in:188 +#: data/org.gnome.shell.gschema.xml.in:181 msgid "Keybinding to toggle the visibility of the notification list" msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami" -#: data/org.gnome.shell.gschema.xml.in:189 +#: data/org.gnome.shell.gschema.xml.in:182 msgid "Keybinding to toggle the visibility of the notification list." msgstr "Klávesová skratka na prepnutie viditeľnosti zoznamu s oznámeniami." +#: data/org.gnome.shell.gschema.xml.in:188 +msgid "Keybinding to toggle the quick settings menu" +msgstr "Klávesová skratka na prepnutie ponuky rýchlych nastavení" + +#: data/org.gnome.shell.gschema.xml.in:189 +msgid "Keybinding to toggle the quick settings menu." +msgstr "Klávesová skratka na prepnutie ponuky rýchlych nastavení." + #: data/org.gnome.shell.gschema.xml.in:195 msgid "Keybinding to focus the active notification" msgstr "Klávesová skratka na zameranie aktívnych oznámení" @@ -475,12 +477,22 @@ msgid "The location for which to show a forecast" msgstr "Umiestnenie, pre ktoré zobraziť predpoveď" +#. Keep in sync with subprojects/extensions-app +#: data/org.gnome.Shell.Extensions.desktop.in.in:5 +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 +#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 +#: subprojects/extensions-app/js/main.js:218 +#: subprojects/extensions-app/data/ui/extensions-window.ui:18 +#: subprojects/extensions-app/data/ui/extensions-window.ui:82 +msgid "Extensions" +msgstr "Rozšírenia" + #: data/org.gnome.Shell.PortalHelper.desktop.in.in:3 msgid "Network Login" msgstr "Sieťové prihlásenie" #: js/dbusServices/extensions/ui/extension-error-page.ui:15 -#: subprojects/extensions-app/data/ui/extensions-window.ui:144 +#: subprojects/extensions-app/data/ui/extensions-window.ui:143 msgid "Something’s gone wrong" msgstr "Niečo sa pokazilo" @@ -505,179 +517,179 @@ msgid "Visit extension homepage" msgstr "Navštíviť domovskú stránku rozšírenia" -#: js/gdm/authPrompt.js:144 js/ui/audioDeviceSelection.js:61 -#: js/ui/components/networkAgent.js:109 js/ui/components/polkitAgent.js:141 -#: js/ui/endSessionDialog.js:440 js/ui/extensionDownloader.js:250 -#: js/ui/shellMountOperation.js:382 js/ui/shellMountOperation.js:392 -#: subprojects/extensions-app/js/main.js:173 +#: js/gdm/authPrompt.js:151 js/ui/audioDeviceSelection.js:66 +#: js/ui/components/networkAgent.js:115 js/ui/components/polkitAgent.js:146 +#: js/ui/endSessionDialog.js:443 js/ui/extensionDownloader.js:256 +#: js/ui/shellMountOperation.js:387 js/ui/shellMountOperation.js:397 +#: subprojects/extensions-app/js/main.js:179 msgid "Cancel" msgstr "Zrušiť" -#: js/gdm/authPrompt.js:310 js/ui/components/networkAgent.js:209 -#: js/ui/components/networkAgent.js:229 js/ui/components/networkAgent.js:261 -#: js/ui/components/networkAgent.js:294 js/ui/components/networkAgent.js:333 -#: js/ui/components/networkAgent.js:346 js/ui/components/polkitAgent.js:283 -#: js/ui/shellMountOperation.js:332 +#: js/gdm/authPrompt.js:317 js/ui/components/networkAgent.js:215 +#: js/ui/components/networkAgent.js:235 js/ui/components/networkAgent.js:267 +#: js/ui/components/networkAgent.js:300 js/ui/components/networkAgent.js:339 +#: js/ui/components/networkAgent.js:352 js/ui/components/polkitAgent.js:288 +#: js/ui/shellMountOperation.js:337 msgid "Password" msgstr "Heslo" # button -#: js/gdm/loginDialog.js:318 +#: js/gdm/loginDialog.js:326 msgid "Choose Session" msgstr "Vybrať reláciu" # https://bugzilla.gnome.org/show_bug.cgi?id=659972 -#: js/gdm/loginDialog.js:463 +#: js/gdm/loginDialog.js:471 msgid "Not listed?" msgstr "Nie ste v zozname?" #. 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:931 +#: js/gdm/loginDialog.js:941 #, javascript-format msgid "(e.g., user or %s)" msgstr "(napr., používateľ alebo %s)" -#: js/gdm/loginDialog.js:936 js/ui/components/networkAgent.js:253 -#: js/ui/components/networkAgent.js:288 js/ui/components/networkAgent.js:322 +#: js/gdm/loginDialog.js:946 js/ui/components/networkAgent.js:259 +#: js/ui/components/networkAgent.js:294 js/ui/components/networkAgent.js:328 msgid "Username" msgstr "Používateľské meno" -#: js/gdm/loginDialog.js:1259 +#: js/gdm/loginDialog.js:1270 msgid "Login Window" msgstr "Prihlasovacie okno" -#: js/gdm/util.js:442 +#: js/gdm/util.js:402 msgid "Authentication error" msgstr "Chyba pri overovaní totožnosti" #. Translators: this message is shown below the password entry field #. to indicate the user can swipe their finger on the fingerprint reader -#: js/gdm/util.js:624 +#: js/gdm/util.js:584 msgid "(or swipe finger across reader)" msgstr "(alebo prejdite prstom po čítačke)" #. Translators: this message is shown below the password entry field #. to indicate the user can place their finger on the fingerprint reader instead -#: js/gdm/util.js:629 +#: js/gdm/util.js:589 msgid "(or place finger on reader)" msgstr "(alebo priložte prst na čítačku)" #. Translators: The name of the power-off action in search -#: js/misc/systemActions.js:84 +#: js/misc/systemActions.js:91 msgctxt "search-result" msgid "Power Off" msgstr "Vypnúť" #. Translators: A list of keywords that match the power-off action, separated by semicolons -#: js/misc/systemActions.js:87 +#: js/misc/systemActions.js:94 msgid "power off;poweroff;shutdown;halt;stop" msgstr "vypnúť;vypnutie;zastaviť;zastavenie" #. Translators: The name of the restart action in search -#: js/misc/systemActions.js:92 +#: js/misc/systemActions.js:99 msgctxt "search-result" msgid "Restart" msgstr "Reštartovať" #. Translators: A list of keywords that match the restart action, separated by semicolons -#: js/misc/systemActions.js:95 +#: js/misc/systemActions.js:102 msgid "reboot;restart;" msgstr "reštartovať;reštart;" #. Translators: The name of the lock screen action in search -#: js/misc/systemActions.js:100 +#: js/misc/systemActions.js:107 msgctxt "search-result" msgid "Lock Screen" msgstr "Uzamknúť obrazovku" #. Translators: A list of keywords that match the lock screen action, separated by semicolons -#: js/misc/systemActions.js:103 +#: js/misc/systemActions.js:110 msgid "lock screen" msgstr "uzamknúť;zámok;obrazovku;obrazovky" #. Translators: The name of the logout action in search -#: js/misc/systemActions.js:108 +#: js/misc/systemActions.js:115 msgctxt "search-result" msgid "Log Out" msgstr "Odhlásiť sa" #. Translators: A list of keywords that match the logout action, separated by semicolons -#: js/misc/systemActions.js:111 +#: js/misc/systemActions.js:118 msgid "logout;log out;sign off" msgstr "odhlásiť;odhlásenie" #. Translators: The name of the suspend action in search -#: js/misc/systemActions.js:116 +#: js/misc/systemActions.js:123 msgctxt "search-result" msgid "Suspend" msgstr "Uspať" #. Translators: A list of keywords that match the suspend action, separated by semicolons -#: js/misc/systemActions.js:119 +#: js/misc/systemActions.js:126 msgid "suspend;sleep" msgstr "uspať;režim;spánku" #. Translators: The name of the switch user action in search -#: js/misc/systemActions.js:124 +#: js/misc/systemActions.js:131 msgctxt "search-result" msgid "Switch User" msgstr "Prepnúť používateľa" #. Translators: A list of keywords that match the switch user action, separated by semicolons -#: js/misc/systemActions.js:127 +#: js/misc/systemActions.js:134 msgid "switch user" msgstr "prepnúť;prepnutie;používateľa" # action button #. Translators: A list of keywords that match the lock orientation action, separated by semicolons -#: js/misc/systemActions.js:134 +#: js/misc/systemActions.js:141 msgid "lock orientation;unlock orientation;screen;rotation" msgstr "uzamknúť orientáciu;odomknúť orientáciu;obrazovka;otočenie" #. Translators: The name of the screenshot UI action in search -#: js/misc/systemActions.js:139 +#: js/misc/systemActions.js:146 msgctxt "search-result" msgid "Take a Screenshot" msgstr "Zachytiť snímku obrazovky" #. Translators: A list of keywords that match the screenshot UI action, separated by semicolons -#: js/misc/systemActions.js:142 +#: js/misc/systemActions.js:149 msgid "screenshot;screencast;snip;capture;record" msgstr "snímka;obrazovky;záznam;nahrávka;výrez" # action button -#: js/misc/systemActions.js:242 +#: js/misc/systemActions.js:249 msgctxt "search-result" msgid "Unlock Screen Rotation" msgstr "Odomknúť otočenie obrazovky" # action button -#: js/misc/systemActions.js:243 +#: js/misc/systemActions.js:250 msgctxt "search-result" msgid "Lock Screen Rotation" msgstr "Uzamknúť otočenie obrazovky" -#: js/misc/util.js:129 +#: js/misc/util.js:138 msgid "Command not found" msgstr "Príkaz nebol nájdený" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: js/misc/util.js:166 +#: js/misc/util.js:178 msgid "Could not parse command:" msgstr "Nepodarilo sa analyzovať príkaz:" -#: js/misc/util.js:174 +#: js/misc/util.js:186 #, javascript-format msgid "Execution of “%s” failed:" msgstr "Spustenie „%s“ zlyhalo:" -#: js/misc/util.js:191 +#: js/misc/dateUtils.js:69 msgid "Just now" msgstr "Práve teraz" -#: js/misc/util.js:193 +#: js/misc/dateUtils.js:72 #, javascript-format msgid "%d minute ago" msgid_plural "%d minutes ago" @@ -685,7 +697,7 @@ msgstr[1] "Pred %d minútou" msgstr[2] "Pred %d minútami" -#: js/misc/util.js:197 +#: js/misc/dateUtils.js:79 #, javascript-format msgid "%d hour ago" msgid_plural "%d hours ago" @@ -693,11 +705,11 @@ msgstr[1] "Pred %d hodinou" msgstr[2] "Pred %d hodinami" -#: js/misc/util.js:201 js/ui/dateMenu.js:167 +#: js/misc/dateUtils.js:85 js/ui/dateMenu.js:182 msgid "Yesterday" msgstr "Včera" -#: js/misc/util.js:203 +#: js/misc/dateUtils.js:88 #, javascript-format msgid "%d day ago" msgid_plural "%d days ago" @@ -705,7 +717,7 @@ msgstr[1] "Pred %d dňom" msgstr[2] "Pred %d dňami" -#: js/misc/util.js:207 +#: js/misc/dateUtils.js:95 #, javascript-format msgid "%d week ago" msgid_plural "%d weeks ago" @@ -713,7 +725,7 @@ msgstr[1] "Pred %d týždňom" msgstr[2] "Pred %d týždňami" -#: js/misc/util.js:211 +#: js/misc/dateUtils.js:102 #, javascript-format msgid "%d month ago" msgid_plural "%d months ago" @@ -721,7 +733,7 @@ msgstr[1] "Pred %d mesiacom" msgstr[2] "Pred %d mesiacmi" -#: js/misc/util.js:214 +#: js/misc/dateUtils.js:108 #, javascript-format msgid "%d year ago" msgid_plural "%d years ago" @@ -730,20 +742,20 @@ msgstr[2] "Pred %d rokmi" #. Translators: Time in 24h format -#: js/misc/util.js:247 +#: js/misc/dateUtils.js:155 msgid "%H∶%M" msgstr "%H:%M" #. Translators: this is the word "Yesterday" followed by a #. time string in 24h format. i.e. "Yesterday, 14:30" -#: js/misc/util.js:253 +#: js/misc/dateUtils.js:161 #, no-c-format msgid "Yesterday, %H∶%M" msgstr "Včera o %H:%M" #. Translators: this is the week day name followed by a time #. string in 24h format. i.e. "Monday, 14:30" -#: js/misc/util.js:259 +#: js/misc/dateUtils.js:167 #, no-c-format msgid "%A, %H∶%M" msgstr "%A, %H:%M" @@ -751,7 +763,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 24h format. #. i.e. "May 25, 14:30" -#: js/misc/util.js:265 +#: js/misc/dateUtils.js:173 #, no-c-format msgid "%B %-d, %H∶%M" msgstr "%d. %B, %H:%M" @@ -759,7 +771,7 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 24h format. #. i.e. "May 25 2012, 14:30" -#: js/misc/util.js:271 +#: js/misc/dateUtils.js:179 #, no-c-format msgid "%B %-d %Y, %H∶%M" msgstr "%d. %B %Y, %H:%M" @@ -767,13 +779,13 @@ #. Show only the time if date is on today #. eslint-disable-line no-lonely-if #. Translators: Time in 12h format -#: js/misc/util.js:276 +#: js/misc/dateUtils.js:184 msgid "%l∶%M %p" msgstr "%l:%M %p" #. Translators: this is the word "Yesterday" followed by a #. time string in 12h format. i.e. "Yesterday, 2:30 pm" -#: js/misc/util.js:282 +#: js/misc/dateUtils.js:190 #, no-c-format msgid "Yesterday, %l∶%M %p" msgstr "Včera, %l:%M %p" @@ -783,7 +795,7 @@ # v ostatnych retazcoch je pouzite %e, tak to bude asi OK #. Translators: this is the week day name followed by a time #. string in 12h format. i.e. "Monday, 2:30 pm" -#: js/misc/util.js:288 +#: js/misc/dateUtils.js:196 #, no-c-format msgid "%A, %l∶%M %p" msgstr "%A, %l:%M %p" @@ -791,7 +803,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 12h format. #. i.e. "May 25, 2:30 pm" -#: js/misc/util.js:294 +#: js/misc/dateUtils.js:202 #, no-c-format msgid "%B %-d, %l∶%M %p" msgstr "%d. %B, %l:%M %p" @@ -799,16 +811,16 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 12h format. #. i.e. "May 25 2012, 2:30 pm" -#: js/misc/util.js:300 +#: js/misc/dateUtils.js:208 #, no-c-format msgid "%B %-d %Y, %l∶%M %p" msgstr "%d. %B %Y, %l:%M %p" -#: js/portalHelper/main.js:55 -msgid "Hotspot Login" -msgstr "Prihlásenie do aktívneho bodu" +#: js/portalHelper/main.js:98 +msgid "Your connection seems to be secure" +msgstr "Vaše pripojenie sa zdá byť bezpečné" -#: js/portalHelper/main.js:108 +#: js/portalHelper/main.js:104 msgid "" "Your connection to this hotspot login is not secure. Passwords or other " "information you enter on this page can be viewed by people nearby." @@ -817,98 +829,102 @@ "alebo iné informácie, ktoré ste zadali na tejto stránke môžu byť zobrazené " "ľuďmi vo vašom okolí." +#: js/portalHelper/main.js:115 +msgid "Hotspot Login" +msgstr "Prihlásenie do aktívneho bodu" + #. No support for non-modal system dialogs, so ignore the option #. let modal = options['modal'] || true; -#: js/ui/accessDialog.js:39 js/ui/inhibitShortcutsDialog.js:88 +#: js/ui/accessDialog.js:45 js/ui/inhibitShortcutsDialog.js:92 msgid "Deny" msgstr "Odmietnuť" -#: js/ui/accessDialog.js:40 js/ui/inhibitShortcutsDialog.js:97 +#: js/ui/accessDialog.js:46 js/ui/inhibitShortcutsDialog.js:101 msgid "Allow" msgstr "Povoliť" -#: js/ui/appDisplay.js:1768 +#: js/ui/appDisplay.js:1777 msgid "Unnamed Folder" msgstr "Nepomenovaný priečinok" -#: js/ui/appFavorites.js:167 +#: js/ui/appFavorites.js:166 #, javascript-format msgid "%s has been pinned to the dash." msgstr "Aplikácia %s bola pripnutá k doku." -#: js/ui/appFavorites.js:200 +#: js/ui/appFavorites.js:199 #, javascript-format msgid "%s has been unpinned from the dash." msgstr "Aplikácii %s bolo zrušené pripnutie k doku." #. Translators: This is the heading of a list of open windows -#: js/ui/appMenu.js:46 +#: js/ui/appMenu.js:51 msgid "Open Windows" msgstr "Otvorené okná" -#: js/ui/appMenu.js:54 +#: js/ui/appMenu.js:59 msgid "New Window" msgstr "Nové okno" -#: js/ui/appMenu.js:81 +#: js/ui/appMenu.js:86 msgid "App Details" msgstr "Podrobnosti o aplikácii" -#: js/ui/appMenu.js:97 +#: js/ui/appMenu.js:102 msgid "Quit" msgstr "Ukončiť" -#: js/ui/appMenu.js:157 js/ui/dash.js:250 +#: js/ui/appMenu.js:162 js/ui/dash.js:250 msgid "Unpin" msgstr "Zrušiť pripnutie" -#: js/ui/appMenu.js:158 +#: js/ui/appMenu.js:163 msgid "Pin to Dash" msgstr "Pripnúť k doku" -#: js/ui/appMenu.js:175 +#: js/ui/appMenu.js:180 msgid "Launch using Integrated Graphics Card" msgstr "Spustiť pomocou integrovanej grafickej karty" -#: js/ui/appMenu.js:176 +#: js/ui/appMenu.js:181 msgid "Launch using Discrete Graphics Card" msgstr "Spustiť pomocou diskrétnej grafickej karty" -#: js/ui/audioDeviceSelection.js:41 +#: js/ui/audioDeviceSelection.js:46 msgid "Select Audio Device" msgstr "Výber audio zariadenia" -#: js/ui/audioDeviceSelection.js:56 js/ui/status/volume.js:79 +#: js/ui/audioDeviceSelection.js:61 js/ui/status/volume.js:83 msgid "Sound Settings" msgstr "Nastavenia zvuku" -#: js/ui/audioDeviceSelection.js:69 +#: js/ui/audioDeviceSelection.js:74 msgid "Headphones" msgstr "Slúchadlá" -#: js/ui/audioDeviceSelection.js:71 +#: js/ui/audioDeviceSelection.js:76 msgid "Headset" msgstr "Náhlavná súprava" -#: js/ui/audioDeviceSelection.js:73 js/ui/status/volume.js:348 +#: js/ui/audioDeviceSelection.js:78 js/ui/status/volume.js:352 msgid "Microphone" msgstr "Mikrofón" -#: js/ui/backgroundMenu.js:14 +#: js/ui/backgroundMenu.js:15 msgid "Change Background…" msgstr "Zmeniť pozadie…" -#: js/ui/backgroundMenu.js:16 +#: js/ui/backgroundMenu.js:17 msgid "Display Settings" msgstr "Nastavenia displeja" -#: js/ui/backgroundMenu.js:17 +#: js/ui/backgroundMenu.js:18 #: subprojects/extensions-app/data/ui/extension-row.ui:122 msgid "Settings" msgstr "Nastavenia" #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). -#: js/ui/calendar.js:35 +#: js/ui/calendar.js:40 msgctxt "calendar-no-work" msgid "06" msgstr "06" @@ -921,43 +937,43 @@ #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: js/ui/calendar.js:61 +#: js/ui/calendar.js:66 msgctxt "grid sunday" msgid "S" msgstr "N" #. Translators: Calendar grid abbreviation for Monday -#: js/ui/calendar.js:63 +#: js/ui/calendar.js:68 msgctxt "grid monday" msgid "M" msgstr "P" #. Translators: Calendar grid abbreviation for Tuesday -#: js/ui/calendar.js:65 +#: js/ui/calendar.js:70 msgctxt "grid tuesday" msgid "T" msgstr "U" #. Translators: Calendar grid abbreviation for Wednesday -#: js/ui/calendar.js:67 +#: js/ui/calendar.js:72 msgctxt "grid wednesday" msgid "W" msgstr "S" #. Translators: Calendar grid abbreviation for Thursday -#: js/ui/calendar.js:69 +#: js/ui/calendar.js:74 msgctxt "grid thursday" msgid "T" msgstr "Š" #. Translators: Calendar grid abbreviation for Friday -#: js/ui/calendar.js:71 +#: js/ui/calendar.js:76 msgctxt "grid friday" msgid "F" msgstr "P" #. Translators: Calendar grid abbreviation for Saturday -#: js/ui/calendar.js:73 +#: js/ui/calendar.js:78 msgctxt "grid saturday" msgid "S" msgstr "S" @@ -968,7 +984,7 @@ #. * "%OB" is the new format specifier introduced in glibc 2.27, #. * in most cases you should not change it. #. -#: js/ui/calendar.js:414 +#: js/ui/calendar.js:429 msgid "%OB" msgstr "%OB" @@ -981,47 +997,47 @@ #. * in most cases you should not use the old "%B" here unless you #. * absolutely know what you are doing. #. -#: js/ui/calendar.js:424 +#: js/ui/calendar.js:439 msgid "%OB %Y" msgstr "%OB %Y" -#: js/ui/calendar.js:485 +#: js/ui/calendar.js:500 msgid "Previous month" msgstr "Predchádzajúci mesiac" -#: js/ui/calendar.js:503 +#: js/ui/calendar.js:518 msgid "Next month" msgstr "Nasledujúci mesiac" -#: js/ui/calendar.js:654 +#: js/ui/calendar.js:669 #, no-javascript-format msgctxt "date day number format" msgid "%d" msgstr "%d" -#: js/ui/calendar.js:713 +#: js/ui/calendar.js:728 msgid "Week %V" msgstr "%V. týždeň" -#: js/ui/calendar.js:892 +#: js/ui/calendar.js:907 msgid "No Notifications" msgstr "Žiadne oznámenia" -#: js/ui/calendar.js:949 +#: js/ui/calendar.js:964 msgid "Do Not Disturb" msgstr "Nevyrušovať" -#: js/ui/calendar.js:970 +#: js/ui/calendar.js:985 msgid "Clear" msgstr "Vymazať" #. Translators: %s is an application name -#: js/ui/closeDialog.js:40 +#: js/ui/closeDialog.js:44 #, javascript-format msgid "“%s” is not responding." msgstr "Aplikácia „%s“ neodpovedá." -#: js/ui/closeDialog.js:41 +#: js/ui/closeDialog.js:45 msgid "" "You may choose to wait a short while for it to continue or force the app to " "quit entirely." @@ -1029,11 +1045,11 @@ "Môžete chvíľu počkať na pokračovanie aplikácie, alebo vynútiť úplné " "ukončenie aplikácie." -#: js/ui/closeDialog.js:69 +#: js/ui/closeDialog.js:73 msgid "Force Quit" msgstr "Vynútiť ukončenie" -#: js/ui/closeDialog.js:74 +#: js/ui/closeDialog.js:78 msgid "Wait" msgstr "Počkať" @@ -1054,44 +1070,44 @@ msgstr "Nainštalovaná verzia programu udisks nepodporuje nastavenie PIM" # DK: doplnil som slovo "programu", aby to znelo prirodzenejsie. priklad:po pripojeni USB kluca bolo zobrazene "Otvoriť pomocou Súbory" -#: js/ui/components/autorunManager.js:316 +#: js/ui/components/autorunManager.js:319 #, javascript-format msgid "Open with %s" msgstr "Otvoriť pomocou aplikácie %s" -#: js/ui/components/networkAgent.js:91 +#: js/ui/components/networkAgent.js:97 msgid "" "Alternatively you can connect by pushing the “WPS” button on your router." msgstr "" "Pripojiť sa môžete taktiež stlačením tlačidla „WPS“ na vašom smerovači." -#: js/ui/components/networkAgent.js:103 js/ui/status/bluetooth.js:221 -#: js/ui/status/network.js:369 js/ui/status/network.js:451 +#: js/ui/components/networkAgent.js:109 js/ui/status/bluetooth.js:246 +#: js/ui/status/network.js:371 js/ui/status/network.js:455 msgid "Connect" msgstr "Pripojiť" -#: js/ui/components/networkAgent.js:218 +#: js/ui/components/networkAgent.js:224 msgid "Key" msgstr "Kľúč" -#: js/ui/components/networkAgent.js:269 js/ui/components/networkAgent.js:308 +#: js/ui/components/networkAgent.js:275 js/ui/components/networkAgent.js:314 msgid "Private key password" msgstr "Heslo k súkromnému kľúču" -#: js/ui/components/networkAgent.js:302 +#: js/ui/components/networkAgent.js:308 msgid "Identity" msgstr "Identita" -#: js/ui/components/networkAgent.js:328 +#: js/ui/components/networkAgent.js:334 msgid "Service" msgstr "Služba" -#: js/ui/components/networkAgent.js:366 js/ui/components/networkAgent.js:402 -#: js/ui/components/networkAgent.js:747 js/ui/components/networkAgent.js:768 +#: js/ui/components/networkAgent.js:372 js/ui/components/networkAgent.js:408 +#: js/ui/components/networkAgent.js:753 js/ui/components/networkAgent.js:774 msgid "Authentication required" msgstr "Požaduje sa overenie totožnosti" -#: js/ui/components/networkAgent.js:367 js/ui/components/networkAgent.js:748 +#: js/ui/components/networkAgent.js:373 js/ui/components/networkAgent.js:754 #, javascript-format msgid "" "Passwords or encryption keys are required to access the wireless network " @@ -1100,55 +1116,55 @@ "Na prístup do bezdrôtovej siete „%s“ sú vyžadované heslá alebo šifrovacie " "kľúče." -#: js/ui/components/networkAgent.js:371 js/ui/components/networkAgent.js:752 +#: js/ui/components/networkAgent.js:377 js/ui/components/networkAgent.js:758 msgid "Wired 802.1X authentication" msgstr "Overenie totožnosti k drôtovej sieti 802.1X" -#: js/ui/components/networkAgent.js:374 +#: js/ui/components/networkAgent.js:380 msgid "Network name" msgstr "Názov siete" -#: js/ui/components/networkAgent.js:382 js/ui/components/networkAgent.js:756 +#: js/ui/components/networkAgent.js:388 js/ui/components/networkAgent.js:762 msgid "DSL authentication" msgstr "Overenie totožnosti k DSL" -#: js/ui/components/networkAgent.js:389 js/ui/components/networkAgent.js:761 +#: js/ui/components/networkAgent.js:395 js/ui/components/networkAgent.js:767 msgid "PIN code required" msgstr "Požaduje sa kód PIN" -#: js/ui/components/networkAgent.js:390 js/ui/components/networkAgent.js:762 +#: js/ui/components/networkAgent.js:396 js/ui/components/networkAgent.js:768 msgid "PIN code is needed for the mobile broadband device" msgstr "Pre zariadenie mobilnej širokopásmovej siete je potrebný kód PIN" -#: js/ui/components/networkAgent.js:392 +#: js/ui/components/networkAgent.js:398 msgid "PIN" msgstr "PIN" -#: js/ui/components/networkAgent.js:403 js/ui/components/networkAgent.js:753 -#: js/ui/components/networkAgent.js:757 js/ui/components/networkAgent.js:769 -#: js/ui/components/networkAgent.js:773 +#: js/ui/components/networkAgent.js:409 js/ui/components/networkAgent.js:759 +#: js/ui/components/networkAgent.js:763 js/ui/components/networkAgent.js:775 +#: js/ui/components/networkAgent.js:779 #, javascript-format msgid "A password is required to connect to “%s”." msgstr "Na pripojenie k „%s“ sa požaduje heslo." -#: js/ui/components/networkAgent.js:736 js/ui/status/network.js:2020 +#: js/ui/components/networkAgent.js:742 js/ui/status/network.js:2040 msgid "Network Manager" msgstr "Správca siete" -#: js/ui/components/networkAgent.js:772 +#: js/ui/components/networkAgent.js:778 msgid "VPN password" msgstr "Heslo siete VPN" -#: js/ui/components/polkitAgent.js:41 +#: js/ui/components/polkitAgent.js:46 msgid "Authentication Required" msgstr "Požaduje sa overenie totožnosti" # PŠ: ináč toto je riadna hlúposť, keďže sa pýta heslo používateľa "root" -#: js/ui/components/polkitAgent.js:81 +#: js/ui/components/polkitAgent.js:86 msgid "Administrator" msgstr "Správca" -#: js/ui/components/polkitAgent.js:146 +#: js/ui/components/polkitAgent.js:151 msgid "Authenticate" msgstr "Overiť totožnosť" @@ -1156,16 +1172,16 @@ #. * requested authentication was not gained; this can happen #. * because of an authentication error (like invalid password), #. * for instance. -#: js/ui/components/polkitAgent.js:260 js/ui/shellMountOperation.js:415 +#: js/ui/components/polkitAgent.js:265 js/ui/shellMountOperation.js:420 msgid "Sorry, that didn’t work. Please try again." msgstr "Prepáčte, ale nezabralo to. Skúste to, prosím, znova." -#: js/ui/components/telepathyClient.js:828 +#: js/ui/components/telepathyClient.js:831 #, javascript-format msgid "%s is now known as %s" msgstr "Kontakt %s odteraz vystupuje ako %s" -#: js/ui/ctrlAltTab.js:22 js/ui/overviewControls.js:420 +#: js/ui/ctrlAltTab.js:25 js/ui/overviewControls.js:412 msgid "Windows" msgstr "Okná" @@ -1176,7 +1192,7 @@ #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: js/ui/dash.js:400 +#: js/ui/dash.js:410 msgid "Dash" msgstr "Dok" @@ -1185,7 +1201,7 @@ #. * "Tue 9:29 AM"). The string itself should become a full date, e.g., #. * "February 17 2015". #. -#: js/ui/dateMenu.js:83 +#: js/ui/dateMenu.js:98 msgid "%B %-d %Y" msgstr "%-e. %B %Y" @@ -1193,34 +1209,34 @@ #. * below the time in the shell; it should combine the weekday and the #. * date, e.g. "Tuesday February 17 2015". #. -#: js/ui/dateMenu.js:90 +#: js/ui/dateMenu.js:105 msgid "%A %B %e %Y" msgstr "%A, %-e. %B %Y" #. Translators: Shown on calendar heading when selected day occurs on current year -#: js/ui/dateMenu.js:156 +#: js/ui/dateMenu.js:171 msgctxt "calendar heading" msgid "%B %-d" msgstr "%-e. %B" #. Translators: Shown on calendar heading when selected day occurs on different year -#: js/ui/dateMenu.js:159 +#: js/ui/dateMenu.js:174 msgctxt "calendar heading" msgid "%B %-d %Y" msgstr "%-e. %B %Y" -#: js/ui/dateMenu.js:165 +#: js/ui/dateMenu.js:180 msgid "Today" msgstr "Dnes" -#: js/ui/dateMenu.js:169 +#: js/ui/dateMenu.js:184 msgid "Tomorrow" msgstr "Zajtra" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: js/ui/dateMenu.js:200 +#: js/ui/dateMenu.js:215 msgctxt "event list time" msgid "All Day" msgstr "Celý deň" @@ -1228,54 +1244,54 @@ #. Translators: Shown in calendar event list as the start/end of events #. * that only show day and month #. -#: js/ui/dateMenu.js:222 +#: js/ui/dateMenu.js:237 msgid "%m/%d" msgstr "%d.%m" -#: js/ui/dateMenu.js:273 +#: js/ui/dateMenu.js:288 msgid "No Events" msgstr "Žiadne udalosti" -#: js/ui/dateMenu.js:395 +#: js/ui/dateMenu.js:410 msgid "Add world clocks…" msgstr "Pridať svetové časy…" -#: js/ui/dateMenu.js:396 +#: js/ui/dateMenu.js:411 msgid "World Clocks" msgstr "Svetové časy" -#: js/ui/dateMenu.js:680 +#: js/ui/dateMenu.js:695 msgid "Loading…" msgstr "Načítava sa…" -#: js/ui/dateMenu.js:690 +#: js/ui/dateMenu.js:705 msgid "Go online for weather information" msgstr "Aby sa mohli zobraziť informácie o počasí, musíte sa pripojiť" -#: js/ui/dateMenu.js:692 +#: js/ui/dateMenu.js:707 msgid "Weather information is currently unavailable" msgstr "Informácie o počasí nie sú momentálne dostupné" -#: js/ui/dateMenu.js:702 +#: js/ui/dateMenu.js:717 msgid "Weather" msgstr "Počasie" -#: js/ui/dateMenu.js:704 +#: js/ui/dateMenu.js:719 msgid "Select weather location…" msgstr "Vybrať umiestnenie pre počasie…" -#: js/ui/endSessionDialog.js:41 +#: js/ui/endSessionDialog.js:46 #, javascript-format msgctxt "title" msgid "Log Out %s" msgstr "Odhlásenie používateľa %s" -#: js/ui/endSessionDialog.js:42 +#: js/ui/endSessionDialog.js:47 msgctxt "title" msgid "Log Out" msgstr "Odhlásenie" -#: js/ui/endSessionDialog.js:45 +#: js/ui/endSessionDialog.js:50 #, javascript-format msgid "%s will be logged out automatically in %d second." msgid_plural "%s will be logged out automatically in %d seconds." @@ -1283,7 +1299,7 @@ msgstr[1] "Používateľ %s bude automaticky odhlásený o %d sekundu." msgstr[2] "Používateľ %s bude automaticky odhlásený o %d sekundy." -#: js/ui/endSessionDialog.js:51 +#: js/ui/endSessionDialog.js:56 #, javascript-format msgid "You will be logged out automatically in %d second." msgid_plural "You will be logged out automatically in %d seconds." @@ -1291,22 +1307,22 @@ msgstr[1] "Budete automaticky odhlásený o %d sekundu." msgstr[2] "Budete automaticky odhlásený o %d sekundy." -#: js/ui/endSessionDialog.js:58 +#: js/ui/endSessionDialog.js:63 msgctxt "button" msgid "Log Out" msgstr "Odhlásiť sa" -#: js/ui/endSessionDialog.js:64 js/ui/status/system.js:168 +#: js/ui/endSessionDialog.js:69 js/ui/status/system.js:176 msgctxt "title" msgid "Power Off" msgstr "Vypnutie" -#: js/ui/endSessionDialog.js:65 +#: js/ui/endSessionDialog.js:70 msgctxt "title" msgid "Install Updates & Power Off" msgstr "Inštalácia aktualizácií a vypnutie" -#: js/ui/endSessionDialog.js:68 +#: js/ui/endSessionDialog.js:73 #, javascript-format msgid "The system will power off automatically in %d second." msgid_plural "The system will power off automatically in %d seconds." @@ -1314,27 +1330,27 @@ msgstr[1] "Systém sa automaticky vypne o %d sekundu." msgstr[2] "Systém sa automaticky vypne o %d sekundy." -#: js/ui/endSessionDialog.js:72 js/ui/endSessionDialog.js:91 +#: js/ui/endSessionDialog.js:77 js/ui/endSessionDialog.js:96 msgctxt "checkbox" msgid "Install pending software updates" msgstr "Nainštalovať čakajúce aktualizácie softvéru" -#: js/ui/endSessionDialog.js:76 +#: js/ui/endSessionDialog.js:81 msgctxt "button" msgid "Power Off" msgstr "Vypnúť" -#: js/ui/endSessionDialog.js:83 +#: js/ui/endSessionDialog.js:88 msgctxt "title" msgid "Restart" msgstr "Reštart" -#: js/ui/endSessionDialog.js:84 +#: js/ui/endSessionDialog.js:89 msgctxt "title" msgid "Install Updates & Restart" msgstr "Inštalácia aktualizácií a reštart" -#: js/ui/endSessionDialog.js:87 +#: js/ui/endSessionDialog.js:92 #, javascript-format msgid "The system will restart automatically in %d second." msgid_plural "The system will restart automatically in %d seconds." @@ -1342,17 +1358,17 @@ msgstr[1] "Systém sa automaticky reštartuje o %d sekundu." msgstr[2] "Systém sa automaticky reštartuje o %d sekundy." -#: js/ui/endSessionDialog.js:95 +#: js/ui/endSessionDialog.js:100 msgctxt "button" msgid "Restart" msgstr "Reštartovať" -#: js/ui/endSessionDialog.js:103 +#: js/ui/endSessionDialog.js:108 msgctxt "title" msgid "Restart & Install Updates" msgstr "Reštart a inštalácia aktualizácií" -#: js/ui/endSessionDialog.js:106 +#: js/ui/endSessionDialog.js:111 #, javascript-format msgid "The system will automatically restart and install updates in %d second." msgid_plural "" @@ -1364,22 +1380,22 @@ msgstr[2] "" "Systém sa automaticky reštartuje a nainštaluje aktualizácie o %d sekundy." -#: js/ui/endSessionDialog.js:113 js/ui/endSessionDialog.js:134 +#: js/ui/endSessionDialog.js:118 js/ui/endSessionDialog.js:139 msgctxt "button" msgid "Restart & Install" msgstr "Reštartovať a inštalovať" -#: js/ui/endSessionDialog.js:115 +#: js/ui/endSessionDialog.js:120 msgctxt "button" msgid "Install & Power Off" msgstr "Nainštalovať a vypnúť" -#: js/ui/endSessionDialog.js:116 +#: js/ui/endSessionDialog.js:121 msgctxt "checkbox" msgid "Power off after updates are installed" msgstr "Vypnúť po inštalácii aktualizácií" -#: js/ui/endSessionDialog.js:123 +#: js/ui/endSessionDialog.js:128 msgctxt "title" msgid "Restart & Install Upgrade" msgstr "Reštart a inštalácia inovácie" @@ -1387,7 +1403,7 @@ #. Translators: This is the text displayed for system upgrades in the #. shut down dialog. First %s gets replaced with the distro name and #. second %s with the distro version to upgrade to -#: js/ui/endSessionDialog.js:128 +#: js/ui/endSessionDialog.js:133 #, javascript-format msgid "" "%s %s will be installed after restart. Upgrade installation can take a long " @@ -1397,90 +1413,90 @@ "môže trvať dlhšiu dobu: uistite sa, že máte vytvorenú zálohu, a že počítač " "je pripojený k zdroju napájania." -#: js/ui/endSessionDialog.js:285 +#: js/ui/endSessionDialog.js:289 msgid "Low battery power: please plug in before installing updates." msgstr "" "Batéria je vybitá: pred inštaláciou aktualizácií pripojte napájací zdroj." -#: js/ui/endSessionDialog.js:294 +#: js/ui/endSessionDialog.js:298 msgid "Some applications are busy or have unsaved work" msgstr "Niektoré aplikácie sú zaneprázdnené, alebo obsahujú neuloženú prácu" -#: js/ui/endSessionDialog.js:299 +#: js/ui/endSessionDialog.js:303 msgid "Other users are logged in" msgstr "Sú prihlásení iní používatelia" -#: js/ui/endSessionDialog.js:470 +#: js/ui/endSessionDialog.js:473 msgctxt "button" msgid "Boot Options" msgstr "Voľby zavádzania" #. Translators: Remote here refers to a remote session, like a ssh login -#: js/ui/endSessionDialog.js:675 +#: js/ui/endSessionDialog.js:678 #, javascript-format msgid "%s (remote)" msgstr "%s (vzdialená relácia)" #. Translators: Console here refers to a tty like a VT console -#: js/ui/endSessionDialog.js:678 +#: js/ui/endSessionDialog.js:681 #, javascript-format msgid "%s (console)" msgstr "%s (konzola)" -#: js/ui/extensionDownloader.js:254 +#: js/ui/extensionDownloader.js:260 msgid "Install" msgstr "Inštalovať" # dialog title -#: js/ui/extensionDownloader.js:260 +#: js/ui/extensionDownloader.js:266 msgid "Install Extension" msgstr "Inštalácia rozšírenia" -#: js/ui/extensionDownloader.js:261 +#: js/ui/extensionDownloader.js:267 #, javascript-format msgid "Download and install “%s” from extensions.gnome.org?" msgstr "Prevziať a nainštalovať rozšírenie „%s“ z extensions.gnome.org?" -#: js/ui/extensionSystem.js:282 +#: js/ui/extensionSystem.js:340 msgid "Extension Updates Available" msgstr "Sú dostupné aktualizácie rozšírení" -#: js/ui/extensionSystem.js:283 +#: js/ui/extensionSystem.js:341 msgid "Extension updates are ready to be installed." msgstr "Aktualizácie rozšírení sú pripravené na inštaláciu." # dialog title -#: js/ui/inhibitShortcutsDialog.js:66 +#: js/ui/inhibitShortcutsDialog.js:70 msgid "Allow inhibiting shortcuts" msgstr "Umožnenie potlačenia skratiek" #. Translators: %s is an application name like "Settings" -#: js/ui/inhibitShortcutsDialog.js:69 +#: js/ui/inhibitShortcutsDialog.js:73 #, javascript-format msgid "The app %s wants to inhibit shortcuts" msgstr "Aplikácia %s chce potlačiť skratky" -#: js/ui/inhibitShortcutsDialog.js:70 +#: js/ui/inhibitShortcutsDialog.js:74 msgid "An app wants to inhibit shortcuts" msgstr "Aplikácia chce potlačiť skratky" #. Translators: %s is a keyboard shortcut like "Super+x" -#: js/ui/inhibitShortcutsDialog.js:77 +#: js/ui/inhibitShortcutsDialog.js:81 #, javascript-format msgid "You can restore shortcuts by pressing %s." msgstr "Skratky môžete obnoviť stlačením %s." # z gnome control center -#: js/ui/kbdA11yDialog.js:32 +#: js/ui/kbdA11yDialog.js:34 msgid "Slow Keys Turned On" msgstr "Pomalé klávesy zapnuté" # z gnome control center -#: js/ui/kbdA11yDialog.js:33 +#: js/ui/kbdA11yDialog.js:35 msgid "Slow Keys Turned Off" msgstr "Pomalé klávesy vypnuté" -#: js/ui/kbdA11yDialog.js:34 +#: js/ui/kbdA11yDialog.js:36 msgid "" "You just held down the Shift key for 8 seconds. This is the shortcut for the " "Slow Keys feature, which affects the way your keyboard works." @@ -1489,16 +1505,16 @@ "funkcie Pomalé klávesy, ktorá mení spôsob fungovania vašej klávesnice." # z gnome control center -#: js/ui/kbdA11yDialog.js:40 +#: js/ui/kbdA11yDialog.js:42 msgid "Sticky Keys Turned On" msgstr "Lepkavé klávesy zapnuté" # z gnome control center -#: js/ui/kbdA11yDialog.js:41 +#: js/ui/kbdA11yDialog.js:43 msgid "Sticky Keys Turned Off" msgstr "Lepkavé klávesy vypnuté" -#: js/ui/kbdA11yDialog.js:43 +#: js/ui/kbdA11yDialog.js:45 msgid "" "You just pressed the Shift key 5 times in a row. This is the shortcut for " "the Sticky Keys feature, which affects the way your keyboard works." @@ -1506,7 +1522,7 @@ "Práve ste stlačili klávesu Shift 5krát za sebou. je to skratka funkcie " "Lepkavé klávesy, ktorá mení spôsob fungovania vašej klávesnice." -#: js/ui/kbdA11yDialog.js:45 +#: js/ui/kbdA11yDialog.js:47 msgid "" "You just pressed two keys at once, or pressed the Shift key 5 times in a " "row. This turns off the Sticky Keys feature, which affects the way your " @@ -1516,100 +1532,100 @@ "za sebou. Tým sa vypne funkcia Lepkavé klávesy, ktorá mení spôsob fungovania " "vašej klávesnice." -#: js/ui/kbdA11yDialog.js:55 +#: js/ui/kbdA11yDialog.js:57 msgid "Leave On" msgstr "Ponechať zapnuté" -#: js/ui/kbdA11yDialog.js:55 +#: js/ui/kbdA11yDialog.js:57 msgid "Turn On" msgstr "Zapnúť" -#: js/ui/kbdA11yDialog.js:65 js/ui/status/network.js:462 +#: js/ui/kbdA11yDialog.js:67 js/ui/status/network.js:466 msgid "Turn Off" msgstr "Vypnúť" -#: js/ui/kbdA11yDialog.js:65 +#: js/ui/kbdA11yDialog.js:67 msgid "Leave Off" msgstr "Ponechať vypnuté" -#: js/ui/keyboard.js:219 js/ui/status/keyboard.js:860 +#: js/ui/keyboard.js:225 js/ui/status/keyboard.js:871 msgid "Keyboard Settings" msgstr "Nastavenia klávesnice" -#: js/ui/lookingGlass.js:713 +#: js/ui/lookingGlass.js:725 msgid "No extensions installed" msgstr "Žiadne nainštalované rozšírenia" #. Translators: argument is an extension UUID. -#: js/ui/lookingGlass.js:774 +#: js/ui/lookingGlass.js:786 #, javascript-format msgid "%s has not emitted any errors." msgstr "%s nevyslal žiadnu chybu." -#: js/ui/lookingGlass.js:780 +#: js/ui/lookingGlass.js:792 msgid "Hide Errors" msgstr "Skryť chyby" -#: js/ui/lookingGlass.js:784 js/ui/lookingGlass.js:861 +#: js/ui/lookingGlass.js:796 js/ui/lookingGlass.js:873 msgid "Show Errors" msgstr "Zobraziť chyby" -#: js/ui/lookingGlass.js:793 +#: js/ui/lookingGlass.js:805 msgid "Enabled" msgstr "Povolené" #. translators: #. * The device has been disabled -#: js/ui/lookingGlass.js:796 subprojects/gvc/gvc-mixer-control.c:1908 +#: js/ui/lookingGlass.js:808 subprojects/gvc/gvc-mixer-control.c:1908 msgid "Disabled" msgstr "Zakázané" -#: js/ui/lookingGlass.js:798 +#: js/ui/lookingGlass.js:810 msgid "Error" msgstr "Chyba" -#: js/ui/lookingGlass.js:800 +#: js/ui/lookingGlass.js:812 msgid "Out of date" msgstr "Neaktuálne" -#: js/ui/lookingGlass.js:802 +#: js/ui/lookingGlass.js:814 msgid "Downloading" msgstr "Sťahuje sa" -#: js/ui/lookingGlass.js:804 +#: js/ui/lookingGlass.js:816 msgid "Disabling" msgstr "Zakazuje sa" -#: js/ui/lookingGlass.js:806 +#: js/ui/lookingGlass.js:818 msgid "Enabling" msgstr "Povoľuje sa" # PK: ide tu o zdrojovy kod? -#: js/ui/lookingGlass.js:839 +#: js/ui/lookingGlass.js:851 msgid "View Source" msgstr "Zobraziť zdroj" -#: js/ui/lookingGlass.js:850 +#: js/ui/lookingGlass.js:862 msgid "Web Page" msgstr "Webová stránka" -#: js/ui/main.js:288 +#: js/ui/main.js:268 msgid "System was put in unsafe mode" msgstr "Systém prešiel do nezabezpečeného režimu" -#: js/ui/main.js:289 +#: js/ui/main.js:269 msgid "Apps now have unrestricted access" msgstr "Aplikácie teraz majú neobmedzený prístup" -#: js/ui/main.js:290 js/ui/overview.js:58 +#: js/ui/main.js:270 js/ui/overview.js:63 msgid "Undo" msgstr "Vrátiť" -#: js/ui/main.js:346 +#: js/ui/main.js:328 msgid "Logged in as a privileged user" msgstr "Prihlásený ako privilegovaný používateľ" -#: js/ui/main.js:347 +#: js/ui/main.js:329 msgid "" "Running a session as a privileged user should be avoided for security " "reasons. If possible, you should log in as a normal user." @@ -1618,23 +1634,23 @@ "bezpečnostných dôvodov zabrániť. Ak je to možné, mali by ste sa prihlásiť " "ako normálny používateľ." -#: js/ui/main.js:395 +#: js/ui/main.js:377 msgid "Screen Lock disabled" msgstr "Uzamknutie obrazovky je zakázané" -#: js/ui/main.js:396 +#: js/ui/main.js:378 msgid "Screen Locking requires the GNOME display manager." msgstr "Uzamykanie obrazovky vyžaduje správcu displejov prostredia GNOME." -#: js/ui/messageTray.js:1417 +#: js/ui/messageTray.js:1423 msgid "System Information" msgstr "Informácie o systéme" -#: js/ui/mpris.js:202 +#: js/ui/mpris.js:205 msgid "Unknown artist" msgstr "Neznámy interpret" -#: js/ui/mpris.js:212 +#: js/ui/mpris.js:215 msgid "Unknown title" msgstr "Neznámy názov" @@ -1643,17 +1659,17 @@ #. in the search entry when no search is #. active; it should not exceed ~30 #. characters. -#: js/ui/overviewControls.js:330 +#: js/ui/overviewControls.js:336 msgid "Type to search" msgstr "Zadajte text na vyhľadanie" -#: js/ui/overviewControls.js:408 +#: js/ui/overviewControls.js:400 msgid "Apps" msgstr "Aplikácie" #. Translators: This is the main view to select #. activities. See also note for "Activities" string. -#: js/ui/overview.js:71 +#: js/ui/overview.js:76 msgid "Overview" msgstr "Prehľad" @@ -1681,176 +1697,191 @@ msgid "Done" msgstr "Dokončiť" -#: js/ui/padOsd.js:742 +#: js/ui/padOsd.js:728 msgid "Edit…" msgstr "Upraviť…" -#: js/ui/padOsd.js:784 js/ui/padOsd.js:901 +#: js/ui/padOsd.js:775 msgid "None" msgstr "Žiadne" -#: js/ui/padOsd.js:855 +#: js/ui/padOsd.js:846 msgid "Press a button to configure" msgstr "Stlačte kláves na spustenie konfigurácie" -#: js/ui/padOsd.js:856 +#: js/ui/padOsd.js:847 msgid "Press Esc to exit" msgstr "Stlačte kláves Esc na skončenie" -#: js/ui/padOsd.js:859 +#: js/ui/padOsd.js:850 msgid "Press any key to exit" msgstr "Stlačte akýkoľvek kláves na skončenie" -#: js/ui/panel.js:244 +#. Translators: If there is no suitable word for "Activities" +#. in your language, you can use the word for "Overview". +#: js/ui/panel.js:425 msgid "Activities" msgstr "Aktivity" -#: js/ui/panel.js:329 +#: js/ui/panel.js:508 msgctxt "System menu in the top bar" msgid "System" msgstr "Systém" -#: js/ui/panel.js:451 +#: js/ui/panel.js:682 msgid "Top Bar" msgstr "Horná lišta" -#: js/ui/quickSettings.js:181 +#: js/ui/quickSettings.js:187 msgid "Open menu" msgstr "Otvoriť ponuku" # dialog title -#: js/ui/runDialog.js:58 +#: js/ui/runDialog.js:63 msgid "Run a Command" msgstr "Spustenie príkazu" -#: js/ui/runDialog.js:73 +#: js/ui/runDialog.js:78 msgid "Press ESC to close" msgstr "Stlačte kláves ESC na zavretie" -#: js/ui/runDialog.js:238 +#: js/ui/runDialog.js:243 msgid "Restart is not available on Wayland" msgstr "Reštart nie je dostupný s protokolom Wayland" -#: js/ui/runDialog.js:243 +#: js/ui/runDialog.js:248 msgid "Restarting…" msgstr "Reštartuje sa…" -#: js/ui/screenShield.js:231 +#: js/ui/screenShield.js:235 msgid "GNOME needs to lock the screen" msgstr "Prostredie GNOME vyžaduje uzamknutie obrazovky" -#: js/ui/screenShield.js:272 js/ui/screenShield.js:670 +#: js/ui/screenShield.js:276 js/ui/screenShield.js:674 msgid "Unable to lock" msgstr "Nepodarilo sa uzamknúť obrazovku" -#: js/ui/screenShield.js:273 js/ui/screenShield.js:671 +#: js/ui/screenShield.js:277 js/ui/screenShield.js:675 msgid "Lock was blocked by an app" msgstr "Uzamknutie bolo zablokované aplikáciou" -#: js/ui/screenshot.js:1165 +#: js/ui/screenshot.js:1192 msgid "Selection" msgstr "Výber" -#: js/ui/screenshot.js:1175 +#: js/ui/screenshot.js:1202 msgid "Area Selection" msgstr "Výber oblasti" -#: js/ui/screenshot.js:1180 +#: js/ui/screenshot.js:1207 msgid "Screen" msgstr "Obrazovka" -#: js/ui/screenshot.js:1190 +#: js/ui/screenshot.js:1217 msgid "Screen Selection" msgstr "Výber obrazovky" -#: js/ui/screenshot.js:1195 +#: js/ui/screenshot.js:1222 msgid "Window" msgstr "Okno" -#: js/ui/screenshot.js:1205 +#: js/ui/screenshot.js:1232 msgid "Window Selection" msgstr "Výber okna" -#: js/ui/screenshot.js:1243 -msgid "Screenshot / Screencast" -msgstr "Snímka / záznam obrazovky" +#. Translators: entry in the window right click menu. +#: js/ui/screenshot.js:1257 js/ui/status/system.js:113 js/ui/windowMenu.js:30 +msgid "Take Screenshot" +msgstr "Zachytiť snímku obrazovky" + +#: js/ui/screenshot.js:1273 +#, fuzzy +#| msgctxt "search-result" +#| msgid "Lock Screen" +msgid "Record Screen" +msgstr "Uzamknúť obrazovku" #. Translators: since this string refers to an action, #. it needs to be phrased as a verb. -#: js/ui/screenshot.js:1264 +#: js/ui/screenshot.js:1288 msgid "Capture" msgstr "Zachytenie" # tooltip -#: js/ui/screenshot.js:1286 +#: js/ui/screenshot.js:1310 msgid "Show Pointer" msgstr "Zobrazí ukazovateľ" #. Translators: this is the folder where recorded #. screencasts are stored. -#: js/ui/screenshot.js:1877 +#: js/ui/screenshot.js:1906 msgid "Screencasts" msgstr "Záznamy obrazovky" #. Translators: this is a filename used for screencast #. * recording, where "%d" and "%t" date and time, e.g. #. * "Screencast from 07-17-2013 10:00:46 PM.webm" -#: js/ui/screenshot.js:1882 +#: js/ui/screenshot.js:1911 #, no-c-format msgid "Screencast from %d %t.webm" msgstr "Záznam obrazovky zo dňa %d %t.webm" -#. Translators: notification source name. -#: js/ui/screenshot.js:1924 js/ui/screenshot.js:2163 -msgid "Screenshot" -msgstr "Snímka obrazovky" - #. Translators: notification title. -#: js/ui/screenshot.js:1930 +#: js/ui/screenshot.js:1949 msgid "Screencast recorded" msgstr "Záznam obrazovky zaznamenaný" +#. Translators: notification title. +#: js/ui/screenshot.js:1956 +msgid "Screencast ended unexpectedly" +msgstr "Záznam obrazovky neočakávane skončil" + +#. Translators: notification source name. +#: js/ui/screenshot.js:1965 js/ui/screenshot.js:2201 +msgid "Screenshot" +msgstr "Snímka obrazovky" + #. Translators: notification body when a screencast was recorded. -#: js/ui/screenshot.js:1932 +#: js/ui/screenshot.js:1972 msgid "Click here to view the video." msgstr "Kliknutím sem zobrazíte video." #. Translators: button on the screencast notification. #. Translators: button on the screenshot notification. -#: js/ui/screenshot.js:1935 js/ui/screenshot.js:2177 +#: js/ui/screenshot.js:1975 js/ui/screenshot.js:2215 msgid "Show in Files" msgstr "Zobraziť v aplikácii Súbory" #. Translators: this is the name of the file that the screenshot is #. saved to. The placeholder is a timestamp, e.g. "2017-05-21 12-24-03". -#: js/ui/screenshot.js:2123 +#: js/ui/screenshot.js:2161 #, javascript-format msgid "Screenshot from %s" msgstr "Snímka obrazovky zo dňa %s" #. Translators: notification title. -#: js/ui/screenshot.js:2169 +#: js/ui/screenshot.js:2207 msgid "Screenshot captured" msgstr "Snímka obrazovky zachytená" #. Translators: notification body when a screenshot was captured. -#: js/ui/screenshot.js:2171 +#: js/ui/screenshot.js:2209 msgid "You can paste the image from the clipboard." msgstr "Môžete vložiť obrázok zo schránky." -#: js/ui/screenshot.js:2224 js/ui/screenshot.js:2389 +#: js/ui/screenshot.js:2262 js/ui/screenshot.js:2426 msgid "Screenshot taken" msgstr "Snímka obrazovky bola zachytená" -#: js/ui/search.js:812 +#: js/ui/search.js:818 msgid "Searching…" msgstr "Hľadá sa…" -#: js/ui/search.js:814 +#: js/ui/search.js:820 msgid "No results." msgstr "Žiadne výsledky." -#: js/ui/search.js:945 +#: js/ui/search.js:951 #, javascript-format msgid "%d more" msgid_plural "%d more" @@ -1858,50 +1889,50 @@ msgstr[1] "%d ďalší" msgstr[2] "%d ďalšie" -#: js/ui/searchController.js:88 +#: js/ui/searchController.js:89 msgid "Search" msgstr "Hľadať" -#: js/ui/shellEntry.js:20 +#: js/ui/shellEntry.js:23 msgid "Copy" msgstr "Kopírovať" -#: js/ui/shellEntry.js:25 +#: js/ui/shellEntry.js:28 msgid "Paste" msgstr "Prilepiť" -#: js/ui/shellEntry.js:77 +#: js/ui/shellEntry.js:80 msgid "Show Text" msgstr "Zobraziť text" -#: js/ui/shellEntry.js:79 +#: js/ui/shellEntry.js:82 msgid "Hide Text" msgstr "Skryť text" -#: js/ui/shellEntry.js:166 +#: js/ui/shellEntry.js:174 msgid "Caps lock is on." msgstr "Je zapnutá funkcia Caps Lock." -#: js/ui/shellMountOperation.js:286 +#: js/ui/shellMountOperation.js:291 msgid "Hidden Volume" msgstr "Skrytý zväzok" -#: js/ui/shellMountOperation.js:289 +#: js/ui/shellMountOperation.js:294 msgid "Windows System Volume" msgstr "Zväzok so systémom Windows" -#: js/ui/shellMountOperation.js:292 +#: js/ui/shellMountOperation.js:297 msgid "Uses Keyfiles" msgstr "Využíva kľúčové súbory" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:300 +#: js/ui/shellMountOperation.js:305 #, javascript-format msgid "" "To unlock a volume that uses keyfiles, use the %s utility instead." msgstr "Na odomknutie zväzku s kľúčovými súbormi použite nástroj %s." -#: js/ui/shellMountOperation.js:304 +#: js/ui/shellMountOperation.js:309 msgid "" "You need an external utility like Disks to unlock a volume that uses " "keyfiles." @@ -1909,77 +1940,77 @@ "Na odomknutie zväzku, ktorá využíva kľúčové súbory potrebujete externú " "aplikáciu ako Disky." -#: js/ui/shellMountOperation.js:312 +#: js/ui/shellMountOperation.js:317 msgid "PIM Number" msgstr "Číslo PIM" -#: js/ui/shellMountOperation.js:371 +#: js/ui/shellMountOperation.js:376 msgid "Remember Password" msgstr "Zapamätať heslo" -#: js/ui/shellMountOperation.js:386 +#: js/ui/shellMountOperation.js:391 msgid "Unlock" msgstr "Odomknúť" # DK: doplnil som slovo "programu", aby to znelo prirodzenejsie. priklad:po pripojeni USB kluca bolo zobrazene "Otvoriť pomocou Súbory" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:400 +#: js/ui/shellMountOperation.js:405 #, javascript-format msgid "Open %s" msgstr "Otvoriť %s" -#: js/ui/shellMountOperation.js:436 +#: js/ui/shellMountOperation.js:441 msgid "The PIM must be a number or empty." msgstr "PIM musí byť číslo alebo prázdne." -#: js/ui/status/accessibility.js:34 +#: js/ui/status/accessibility.js:36 msgid "Accessibility" msgstr "Zjednodušenie ovládania" -#: js/ui/status/accessibility.js:44 +#: js/ui/status/accessibility.js:46 msgid "High Contrast" msgstr "Vysoký kontrast" -#: js/ui/status/accessibility.js:47 +#: js/ui/status/accessibility.js:49 msgid "Zoom" msgstr "Lupa" -#: js/ui/status/accessibility.js:54 +#: js/ui/status/accessibility.js:56 msgid "Screen Reader" msgstr "Čítačka obrazovky" -#: js/ui/status/accessibility.js:58 +#: js/ui/status/accessibility.js:60 msgid "Screen Keyboard" msgstr "Klávesnica na obrazovke" -#: js/ui/status/accessibility.js:62 +#: js/ui/status/accessibility.js:64 msgid "Visual Alerts" msgstr "Vizuálne varovania" # z gnome control center -#: js/ui/status/accessibility.js:65 +#: js/ui/status/accessibility.js:68 msgid "Sticky Keys" msgstr "Lepkavé klávesy" # z gnome control center -#: js/ui/status/accessibility.js:68 +#: js/ui/status/accessibility.js:72 msgid "Slow Keys" msgstr "Pomalé klávesy" # z gnome control center -#: js/ui/status/accessibility.js:71 +#: js/ui/status/accessibility.js:76 msgid "Bounce Keys" msgstr "Poskakujúce klávesy" -#: js/ui/status/accessibility.js:74 +#: js/ui/status/accessibility.js:80 msgid "Mouse Keys" msgstr "Myš klávesmi" -#: js/ui/status/accessibility.js:78 +#: js/ui/status/accessibility.js:85 msgid "Accessibility Settings" msgstr "Nastavenia zjednodušenia ovládania" -#: js/ui/status/accessibility.js:135 +#: js/ui/status/accessibility.js:142 msgid "Large Text" msgstr "Veľký text" @@ -1987,24 +2018,24 @@ msgid "Auto Rotate" msgstr "Automaticky otáčať" -#: js/ui/status/backgroundApps.js:135 +#: js/ui/status/backgroundApps.js:166 msgctxt "title" msgid "Background Apps" msgstr "Aplikácie na pozadí" -#: js/ui/status/backgroundApps.js:150 +#: js/ui/status/backgroundApps.js:181 msgid "Apps known to be running without a window" msgstr "Známe aplikácie, ktoré sa spúšťajú bez okna" -#: js/ui/status/backgroundApps.js:161 +#: js/ui/status/backgroundApps.js:192 msgid "App Settings" msgstr "Nastavenia aplikácií" -#: js/ui/status/backgroundApps.js:189 +#: js/ui/status/backgroundApps.js:249 msgid "No Background Apps" msgstr "Žiadne aplikácie na pozadí" -#: js/ui/status/backgroundApps.js:191 +#: js/ui/status/backgroundApps.js:251 #, javascript-format msgid "%d Background App" msgid_plural "%d Background Apps" @@ -2012,28 +2043,49 @@ msgstr[1] "%d aplikácia na pozadí" msgstr[2] "%d aplikácie na pozadí" -#: js/ui/status/bluetooth.js:221 js/ui/status/network.js:369 +#: js/ui/status/backlight.js:40 +msgid "Keyboard Brightness" +msgstr "Jas klávesnice" + +# DK: pripojenie, zariadenie +#: js/ui/status/backlight.js:80 +msgid "Off" +msgstr "Vypnuté" + +#: js/ui/status/backlight.js:81 +msgid "Low" +msgstr "" + +#: js/ui/status/backlight.js:82 +msgid "High" +msgstr "" + +#: js/ui/status/backlight.js:148 js/ui/status/keyboard.js:853 +msgid "Keyboard" +msgstr "Klávesnica" + +#: js/ui/status/bluetooth.js:246 js/ui/status/network.js:371 msgid "Disconnect" msgstr "Odpojiť" -#: js/ui/status/bluetooth.js:238 js/ui/status/bluetooth.js:240 +#: js/ui/status/bluetooth.js:263 js/ui/status/bluetooth.js:265 msgid "Bluetooth" msgstr "Bluetooth" -#: js/ui/status/bluetooth.js:264 js/ui/status/network.js:1887 +#: js/ui/status/bluetooth.js:288 js/ui/status/network.js:1907 msgid "Bluetooth Settings" msgstr "Nastavenia Bluetooth" -#: js/ui/status/bluetooth.js:311 +#: js/ui/status/bluetooth.js:335 msgid "No available or connected devices" msgstr "Žiadne dostupné alebo pripojené zariadenia" -#: js/ui/status/bluetooth.js:312 +#: js/ui/status/bluetooth.js:336 msgid "Turn on Bluetooth to connect to devices" msgstr "Zapnutím Bluetooth sa pripojíte k zariadeniam" #. Translators: This is the number of connected bluetooth devices -#: js/ui/status/bluetooth.js:366 +#: js/ui/status/bluetooth.js:390 #, javascript-format msgid "%d Connected" msgid_plural "%d Connected" @@ -2045,105 +2097,101 @@ msgid "Brightness" msgstr "Jas" -#: js/ui/status/darkMode.js:11 +#: js/ui/status/darkMode.js:12 msgid "Dark Style" msgstr "Tmavý štýl" -#: js/ui/status/dwellClick.js:12 +#: js/ui/status/dwellClick.js:15 msgid "Single Click" msgstr "Jednoduché kliknutie" -#: js/ui/status/dwellClick.js:17 +#: js/ui/status/dwellClick.js:20 msgid "Double Click" msgstr "Dvojité kliknutie" -#: js/ui/status/dwellClick.js:22 +#: js/ui/status/dwellClick.js:25 msgid "Drag" msgstr "Ťahanie" -#: js/ui/status/dwellClick.js:27 +#: js/ui/status/dwellClick.js:30 msgid "Secondary Click" msgstr "Druhotné kliknutie" -#: js/ui/status/dwellClick.js:36 +#: js/ui/status/dwellClick.js:39 msgid "Dwell Click" msgstr "Kliknutie zotrvaním" -#: js/ui/status/keyboard.js:842 -msgid "Keyboard" -msgstr "Klávesnica" - # menu item -#: js/ui/status/keyboard.js:859 +#: js/ui/status/keyboard.js:870 msgid "Show Keyboard Layout" msgstr "Zobraziť rozloženie klávesnice" # dialog title -#: js/ui/status/location.js:330 +#: js/ui/status/location.js:339 msgid "Allow location access" msgstr "Umožnenie prístupu k umiestneniu" #. Translators: %s is an application name -#: js/ui/status/location.js:332 +#: js/ui/status/location.js:341 #, javascript-format msgid "The app %s wants to access your location" msgstr "Aplikácia %s chce získať prístup k vášmu umiestneniu" -#: js/ui/status/location.js:342 +#: js/ui/status/location.js:351 msgid "Location access can be changed at any time from the privacy settings." msgstr "Prístup k umiestneniu sa dá kedykoľvek zmeniť v nastaveniach súkromia." -#: js/ui/status/location.js:350 +#: js/ui/status/location.js:359 msgid "Deny Access" msgstr "Odmietnuť prístup" -#: js/ui/status/location.js:355 +#: js/ui/status/location.js:364 msgid "Grant Access" msgstr "Udeliť prístup" # zariadenie -#: js/ui/status/network.js:53 +#: js/ui/status/network.js:61 msgid "" msgstr "" #. Translators: %s is a device name like "MyPhone" -#: js/ui/status/network.js:363 +#: js/ui/status/network.js:365 #, javascript-format msgid "Disconnect %s" msgstr "Odpojiť zariadenie %s" #. Translators: %s is a device name like "MyPhone" -#: js/ui/status/network.js:365 +#: js/ui/status/network.js:367 #, javascript-format msgid "Connect to %s" msgstr "Pripojiť k zariadeniu %s" -#: js/ui/status/network.js:1046 +#: js/ui/status/network.js:1061 msgid "Secure" msgstr "Bezpečná" -#: js/ui/status/network.js:1046 +#: js/ui/status/network.js:1061 msgid "Not secure" msgstr "Nebezpečná" -#: js/ui/status/network.js:1047 +#: js/ui/status/network.js:1062 #, javascript-format msgid "Signal strength %s%%" msgstr "Sila signálu %s%%" #. translators: The first placeholder is the network name, the second and indication whether it is secure, and the last the signal strength indication -#: js/ui/status/network.js:1049 +#: js/ui/status/network.js:1064 #, javascript-format msgid "%s, %s, %s" msgstr "%s, %s, %s" #. Translators: %s is a network identifier -#: js/ui/status/network.js:1151 +#: js/ui/status/network.js:1166 #, javascript-format msgid "%s Hotspot" msgstr "Aktívny bod %s" -#: js/ui/status/network.js:1417 +#: js/ui/status/network.js:1437 #, javascript-format msgid "%d connected" msgid_plural "%d connected" @@ -2151,148 +2199,138 @@ msgstr[1] "%d pripojený" msgstr[2] "%d pripojené" -#: js/ui/status/network.js:1515 js/ui/status/network.js:1531 +#: js/ui/status/network.js:1535 js/ui/status/network.js:1551 msgid "VPN" msgstr "VPN" -#: js/ui/status/network.js:1516 +#: js/ui/status/network.js:1536 msgid "VPN Settings" msgstr "Nastavenia VPN" -#: js/ui/status/network.js:1772 +#: js/ui/status/network.js:1792 msgid "Wi–Fi" msgstr "Wi–Fi" -#: js/ui/status/network.js:1774 +#: js/ui/status/network.js:1794 msgid "All Networks" msgstr "Všetky siete" -#: js/ui/status/network.js:1871 +#: js/ui/status/network.js:1891 msgid "Wired Connections" msgstr "Drôtové pripojenia" -#: js/ui/status/network.js:1872 +#: js/ui/status/network.js:1892 msgid "Wired Settings" msgstr "Nastavenia drôtovej siete" -#: js/ui/status/network.js:1886 +#: js/ui/status/network.js:1906 msgid "Bluetooth Tethers" msgstr "Sprístupnenie cez Bluetooth" #. Translators: "Tether" from "Bluetooth Tether" -#: js/ui/status/network.js:1893 +#: js/ui/status/network.js:1913 msgid "Tether" msgstr "Sprístupnenie" -#: js/ui/status/network.js:1906 +#: js/ui/status/network.js:1926 msgid "Mobile Connections" msgstr "Mobilné pripojenia" -#: js/ui/status/network.js:1908 +#: js/ui/status/network.js:1928 msgid "Mobile Broadband Settings" msgstr "Nastavenia mobilnej širokopásmovej siete" #. Translators: "Mobile" from "Mobile Broadband" -#: js/ui/status/network.js:1917 +#: js/ui/status/network.js:1937 msgid "Mobile" msgstr "Mobilné" -#: js/ui/status/network.js:2025 +#: js/ui/status/network.js:2045 msgid "Connection failed" msgstr "Pripojenie zlyhalo" -#: js/ui/status/network.js:2026 +#: js/ui/status/network.js:2046 msgid "Activation of network connection failed" msgstr "Aktivácia pripojenia k sieti zlyhala" -#: js/ui/status/nightLight.js:20 +#: js/ui/status/nightLight.js:21 msgid "Night Light" msgstr "Nočné osvetlenie" -#: js/ui/status/powerProfiles.js:20 +#: js/ui/status/powerProfiles.js:21 msgctxt "Power profile" msgid "Performance" msgstr "Výkon" -#: js/ui/status/powerProfiles.js:25 +#: js/ui/status/powerProfiles.js:26 msgctxt "Power profile" msgid "Balanced" msgstr "Vyvážený" -#: js/ui/status/powerProfiles.js:30 +#: js/ui/status/powerProfiles.js:31 msgctxt "Power profile" msgid "Power Saver" msgstr "Šetrič energie" -#: js/ui/status/powerProfiles.js:40 js/ui/status/powerProfiles.js:70 +#: js/ui/status/powerProfiles.js:41 js/ui/status/powerProfiles.js:71 msgid "Power Mode" msgstr "Režim napájania" -#: js/ui/status/powerProfiles.js:72 +#: js/ui/status/powerProfiles.js:73 msgid "Power Settings" msgstr "Nastavenia napájania" -#: js/ui/status/remoteAccess.js:72 +#: js/ui/status/remoteAccess.js:76 msgid "Stop Screencast" msgstr "Zastaviť záznam obrazovky" -#: js/ui/status/remoteAccess.js:142 +#: js/ui/status/remoteAccess.js:146 msgid "Stop Screen Sharing" msgstr "Zastaviť sprístupnenie obrazovky" -#: js/ui/status/rfkill.js:96 +#: js/ui/status/rfkill.js:101 msgid "Airplane Mode" msgstr "Režim v lietadle" -#: js/ui/status/system.js:90 -#, javascript-format -msgid "%d %%" -msgstr "%d %%" - -#. Translators: entry in the window right click menu. -#: js/ui/status/system.js:105 js/ui/windowMenu.js:29 -msgid "Take Screenshot" -msgstr "Zachytiť snímku obrazovky" - -#: js/ui/status/system.js:162 +#: js/ui/status/system.js:170 msgid "Power Off Menu" msgstr "Ponuka vypnutia" -#: js/ui/status/system.js:170 +#: js/ui/status/system.js:178 msgid "Suspend" msgstr "Uspať" -#: js/ui/status/system.js:175 +#: js/ui/status/system.js:183 msgid "Restart…" msgstr "Reštartovať…" -#: js/ui/status/system.js:180 +#: js/ui/status/system.js:188 msgid "Power Off…" msgstr "Vypnúť…" -#: js/ui/status/system.js:187 -#: subprojects/extensions-app/data/ui/extensions-window.ui:190 +#: js/ui/status/system.js:195 +#: subprojects/extensions-app/data/ui/extensions-window.ui:189 msgid "Log Out…" msgstr "Odhlásiť sa…" -#: js/ui/status/system.js:192 +#: js/ui/status/system.js:200 msgid "Switch User…" msgstr "Prepnúť používateľa…" -#: js/ui/status/system.js:236 +#: js/ui/status/system.js:244 msgctxt "action" msgid "Lock Screen" msgstr "Uzamknúť obrazovku" -#: js/ui/status/thunderbolt.js:256 +#: js/ui/status/thunderbolt.js:259 msgid "Thunderbolt" msgstr "Thunderbolt" -#: js/ui/status/thunderbolt.js:317 +#: js/ui/status/thunderbolt.js:320 msgid "Unknown Thunderbolt device" msgstr "Neznáme zariadenie Thunderbolt" -#: js/ui/status/thunderbolt.js:318 +#: js/ui/status/thunderbolt.js:321 msgid "" "New device has been detected while you were away. Please disconnect and " "reconnect the device to start using it." @@ -2300,113 +2338,113 @@ "Počas vašej neprítomnosti bolo zistené nové zariadenie. Prosím, odpojte a " "znovu pripojte zariadenie, aby ste ho mohli začať používať." -#: js/ui/status/thunderbolt.js:321 +#: js/ui/status/thunderbolt.js:324 msgid "Unauthorized Thunderbolt device" msgstr "Zariadenie Thunderbolt s neoverenou totožnosťou" -#: js/ui/status/thunderbolt.js:322 +#: js/ui/status/thunderbolt.js:325 msgid "" "New device has been detected and needs to be authorized by an administrator." msgstr "" "Bolo zistené nové zariadenie a vyžaduje overenie totožnosti od správcu." -#: js/ui/status/thunderbolt.js:328 +#: js/ui/status/thunderbolt.js:331 msgid "Thunderbolt authorization error" msgstr "Chyba pri overovaní totožnosti zariadenia Thunderbolt" -#: js/ui/status/thunderbolt.js:329 +#: js/ui/status/thunderbolt.js:332 #, javascript-format msgid "Could not authorize the Thunderbolt device: %s" msgstr "Nepodarilo sa overiť totožnosť zariadenia Thunderbolt: %s" -#: js/ui/status/volume.js:210 +#: js/ui/status/volume.js:214 msgid "Volume changed" msgstr "Hlasitosť bola zmenená" -#: js/ui/status/volume.js:223 +#: js/ui/status/volume.js:227 msgid "Unmute" msgstr "Obnoviť zvuk" -#: js/ui/status/volume.js:223 +#: js/ui/status/volume.js:227 msgid "Mute" msgstr "Stlmiť" -#: js/ui/status/volume.js:278 +#: js/ui/status/volume.js:282 msgid "Volume" msgstr "Hlasitosť" -#: js/ui/status/volume.js:294 +#: js/ui/status/volume.js:298 msgid "Sound Output" msgstr "Zvukový výstup" -#: js/ui/status/volume.js:366 +#: js/ui/status/volume.js:370 msgid "Sound Input" msgstr "Zvukový vstup" #. Translators: this is for display mirroring i.e. cloning. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:20 +#: js/ui/switchMonitor.js:22 msgid "Mirror" msgstr "Zrkadliť" #. Translators: this is for the desktop spanning displays. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:29 +#: js/ui/switchMonitor.js:31 msgid "Join Displays" msgstr "Zlúčiť displeje" #. Translators: this is for using only an external display. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:39 +#: js/ui/switchMonitor.js:41 msgid "External Only" msgstr "Iba externý" #. Translators: this is for using only the laptop display. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:47 +#: js/ui/switchMonitor.js:49 msgid "Built-in Only" msgstr "Iba vstavaný" #. Translators: This is a time format for a date in #. long format -#: js/ui/unlockDialog.js:363 +#: js/ui/unlockDialog.js:368 msgid "%A %B %-d" msgstr "%A, %e. %B" -#: js/ui/unlockDialog.js:369 +#: js/ui/unlockDialog.js:374 msgid "Swipe up to unlock" msgstr "Odomknete potiahnutím nahor" -#: js/ui/unlockDialog.js:370 +#: js/ui/unlockDialog.js:375 msgid "Click or press a key to unlock" msgstr "Odomknete kliknutím alebo stlačením klávesy" -#: js/ui/unlockDialog.js:553 +#: js/ui/unlockDialog.js:558 msgid "Unlock Window" msgstr "Odomykacie okno" -#: js/ui/unlockDialog.js:562 +#: js/ui/unlockDialog.js:567 msgid "Log in as another user" msgstr "Prihlásiť ako iný používateľ" -#: js/ui/welcomeDialog.js:36 +#: js/ui/welcomeDialog.js:39 #, javascript-format msgid "Welcome to GNOME %s" msgstr "Vitajte v prostredí GNOME %s" -#: js/ui/welcomeDialog.js:37 +#: js/ui/welcomeDialog.js:40 msgid "If you want to learn your way around, check out the tour." msgstr "Ak sa chcete zorientovať, vyskúšajte prehliadku." -#: js/ui/welcomeDialog.js:46 +#: js/ui/welcomeDialog.js:49 msgid "No Thanks" msgstr "Nie ďakujem" -#: js/ui/welcomeDialog.js:51 +#: js/ui/welcomeDialog.js:54 msgid "Take Tour" msgstr "Zúčastniť sa prehliadky" @@ -2418,19 +2456,19 @@ msgstr "Aplikácia „%s“ je pripravená" #. Translators: This string should be shorter than 30 characters -#: js/ui/windowManager.js:63 +#: js/ui/windowManager.js:69 msgid "Keep these display settings?" msgstr "Ponechať nastavenia displeja?" -#: js/ui/windowManager.js:73 +#: js/ui/windowManager.js:79 msgid "Revert Settings" msgstr "Vrátiť nastavenia" -#: js/ui/windowManager.js:78 +#: js/ui/windowManager.js:84 msgid "Keep Changes" msgstr "Uchovať zmeny" -#: js/ui/windowManager.js:98 +#: js/ui/windowManager.js:104 #, javascript-format msgid "Settings changes will revert in %d second" msgid_plural "Settings changes will revert in %d seconds" @@ -2440,96 +2478,96 @@ #. 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:544 +#: js/ui/windowManager.js:496 #, javascript-format msgid "%d × %d" msgstr "%d × %d" -#: js/ui/windowMenu.js:41 +#: js/ui/windowMenu.js:42 msgid "Hide" msgstr "Skryť" -#: js/ui/windowMenu.js:48 +#: js/ui/windowMenu.js:49 msgid "Restore" msgstr "Obnoviť" -#: js/ui/windowMenu.js:52 +#: js/ui/windowMenu.js:53 msgid "Maximize" msgstr "Maximalizovať" -#: js/ui/windowMenu.js:59 +#: js/ui/windowMenu.js:60 msgid "Move" msgstr "Presunúť" -#: js/ui/windowMenu.js:78 +#: js/ui/windowMenu.js:79 msgid "Resize" msgstr "Zmeniť veľkosť" -#: js/ui/windowMenu.js:98 +#: js/ui/windowMenu.js:99 msgid "Move Titlebar Onscreen" msgstr "Presunúť titulok okna na obrazovku" -#: js/ui/windowMenu.js:103 +#: js/ui/windowMenu.js:104 msgid "Always on Top" msgstr "Vždy navrchu" -#: js/ui/windowMenu.js:122 +#: js/ui/windowMenu.js:123 msgid "Always on Visible Workspace" msgstr "Vždy vo viditeľnom pracovnom priestore" -#: js/ui/windowMenu.js:136 +#: js/ui/windowMenu.js:137 msgid "Move to Workspace Left" msgstr "Presunúť do ľavého pracovného priestoru" -#: js/ui/windowMenu.js:142 +#: js/ui/windowMenu.js:143 msgid "Move to Workspace Right" msgstr "Presunúť do pravého pracovného priestoru" -#: js/ui/windowMenu.js:148 +#: js/ui/windowMenu.js:149 msgid "Move to Workspace Up" msgstr "Presunúť do vyššieho pracovného priestoru" -#: js/ui/windowMenu.js:154 +#: js/ui/windowMenu.js:155 msgid "Move to Workspace Down" msgstr "Presunúť do nižšieho pracovného priestoru" -#: js/ui/windowMenu.js:172 +#: js/ui/windowMenu.js:173 msgid "Move to Monitor Up" msgstr "Presunúť na monitor vyššie" -#: js/ui/windowMenu.js:181 +#: js/ui/windowMenu.js:182 msgid "Move to Monitor Down" msgstr "Presunúť na monitor nižšie" -#: js/ui/windowMenu.js:190 +#: js/ui/windowMenu.js:191 msgid "Move to Monitor Left" msgstr "Presunúť na monitor vľavo" -#: js/ui/windowMenu.js:199 +#: js/ui/windowMenu.js:200 msgid "Move to Monitor Right" msgstr "Presunúť na monitor vpravo" -#: js/ui/windowMenu.js:207 +#: js/ui/windowMenu.js:208 msgid "Close" msgstr "Zavrieť" -#: src/main.c:508 subprojects/extensions-tool/src/main.c:325 +#: src/main.c:529 subprojects/extensions-tool/src/main.c:325 msgid "Print version" msgstr "Verzia pre tlač" -#: src/main.c:514 +#: src/main.c:535 msgid "Mode used by GDM for login screen" msgstr "Režim používaný správcom GDM pre prihlasovaciu obrazovku" -#: src/main.c:520 +#: src/main.c:541 msgid "Use a specific mode, e.g. “gdm” for login screen" msgstr "Použitie zvláštneho režimu, napr. „gdm“ pre prihlasovaciu obrazovku" -#: src/main.c:526 +#: src/main.c:547 msgid "List possible modes" msgstr "Zoznam možných režimov" -#: src/main.c:532 +#: src/main.c:553 msgid "Force animations to be enabled" msgstr "Vynúti zapnutie animácií" @@ -2556,29 +2594,21 @@ msgid "Authentication dialog was dismissed by the user" msgstr "Dialógové okno overenia totožnosti bolo zatvorené používateľom" -#: src/st/st-icon-theme.c:1884 +#: src/st/st-icon-theme.c:1865 #, c-format msgid "Icon '%s' not present in theme %s" msgstr "Ikona „%s“ nie je prítomná v motíve %s" -#: src/st/st-icon-theme.c:3473 src/st/st-icon-theme.c:3776 +#: src/st/st-icon-theme.c:3454 src/st/st-icon-theme.c:3757 msgid "Failed to load icon" msgstr "Zlyhalo načítanie ikony" -#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 -#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 -#: subprojects/extensions-app/js/main.js:212 -#: subprojects/extensions-app/data/ui/extensions-window.ui:18 -#: subprojects/extensions-app/data/ui/extensions-window.ui:83 -msgid "Extensions" -msgstr "Rozšírenia" - #: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6 msgid "Manage your GNOME Extensions" msgstr "Spravuje vaše rozšírenia prostredia GNOME" #: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:17 -#: subprojects/extensions-app/js/main.js:216 +#: subprojects/extensions-app/js/main.js:222 msgid "The GNOME Project" msgstr "Projekt GNOME" @@ -2594,17 +2624,17 @@ msgid "Configure GNOME Shell Extensions" msgstr "Nastavenie rozšírení pre Shell prostredia GNOME" -#: subprojects/extensions-app/js/main.js:130 -#: subprojects/extensions-app/js/main.js:141 +#: subprojects/extensions-app/js/main.js:136 +#: subprojects/extensions-app/js/main.js:147 msgid "No Matches" msgstr "Žiadne zhody" -#: subprojects/extensions-app/js/main.js:169 +#: subprojects/extensions-app/js/main.js:175 #, javascript-format msgid "Remove “%s”?" msgstr "Odstrániť rozšírenie „%s“?" -#: subprojects/extensions-app/js/main.js:170 +#: subprojects/extensions-app/js/main.js:176 msgid "" "If you remove the extension, you need to return to download it if you want " "to enable it again" @@ -2612,15 +2642,15 @@ "Ak odstránite rozšírenie, budete ho musieť pre jeho opätovné povolenie znovu " "prevziať." -#: subprojects/extensions-app/js/main.js:174 +#: subprojects/extensions-app/js/main.js:180 msgid "Remove" msgstr "Odstrániť" -#: subprojects/extensions-app/js/main.js:211 +#: subprojects/extensions-app/js/main.js:217 msgid "translator-credits" msgstr "Dušan Kazik " -#: subprojects/extensions-app/js/main.js:339 +#: subprojects/extensions-app/js/main.js:345 #, javascript-format msgid "%d extension will be updated on next login." msgid_plural "%d extensions will be updated on next login." @@ -2628,11 +2658,11 @@ msgstr[1] "%d rozšírenie bude aktualizované po najbližšom prihlásení." msgstr[2] "%d rozšírenia budú aktualizované po najbližšom prihlásení." -#: subprojects/extensions-app/js/main.js:481 +#: subprojects/extensions-app/js/main.js:487 msgid "The extension is incompatible with the current GNOME version" msgstr "Rozšírenie nie je kompatibilné s aktuálnou verziou prostredia GNOME" -#: subprojects/extensions-app/js/main.js:484 +#: subprojects/extensions-app/js/main.js:490 #: subprojects/extensions-app/data/ui/extension-row.ui:52 msgid "The extension had an error" msgstr "Rozšírenie narazilo na chybu" @@ -2658,7 +2688,7 @@ msgid "About Extensions" msgstr "O aplikácii Rozšírenia" -#: subprojects/extensions-app/data/ui/extensions-window.ui:84 +#: subprojects/extensions-app/data/ui/extensions-window.ui:83 msgid "" "Extensions can cause performance and stability issues. Disable extensions if " "you encounter problems with your system." @@ -2666,12 +2696,12 @@ "Rozšírenia môžu spôsobiť problémy s výkonom a stabilitou. Ak narazíte na " "problémy s vaším systémom, zakážte rozšírenia." -#: subprojects/extensions-app/data/ui/extensions-window.ui:98 +#: subprojects/extensions-app/data/ui/extensions-window.ui:97 msgid "Manually Installed" msgstr "Ručne nainštalované" -#: subprojects/extensions-app/data/ui/extensions-window.ui:99 -#: subprojects/extensions-app/data/ui/extensions-window.ui:134 +#: subprojects/extensions-app/data/ui/extensions-window.ui:98 +#: subprojects/extensions-app/data/ui/extensions-window.ui:133 msgid "" "To find and add extensions, visit extensions.gnome.org." @@ -2679,16 +2709,16 @@ "Ak chcete nájsť a pridať rozšírenia, navštívte adresu extensions.gnome.org." -#: subprojects/extensions-app/data/ui/extensions-window.ui:112 +#: subprojects/extensions-app/data/ui/extensions-window.ui:111 msgid "Built-In" msgstr "Vstavané" # dialog title -#: subprojects/extensions-app/data/ui/extensions-window.ui:133 +#: subprojects/extensions-app/data/ui/extensions-window.ui:132 msgid "No Installed Extensions" msgstr "Žiadne nainštalované rozšírenia" -#: subprojects/extensions-app/data/ui/extensions-window.ui:145 +#: subprojects/extensions-app/data/ui/extensions-window.ui:144 msgid "" "We’re very sorry, but it was not possible to get the list of installed " "extensions. Make sure you are logged into GNOME and try again." @@ -2697,17 +2727,17 @@ "rozšírení. Uistite sa, že ste prihlásený do prostredia GNOME a skúste to " "znovu." -#: subprojects/extensions-app/data/ui/extensions-window.ui:175 +#: subprojects/extensions-app/data/ui/extensions-window.ui:174 msgid "Extension Updates Ready" msgstr "Sú pripravené aktualizácie rozšírení" #. Translators: a file path to an extension directory -#: subprojects/extensions-tool/src/command-create.c:222 +#: subprojects/extensions-tool/src/command-create.c:284 #, c-format msgid "The new extension was successfully created in %s.\n" msgstr "Nové rozšírenie bolo úspešne vytvorené v %s.\n" -#: subprojects/extensions-tool/src/command-create.c:296 +#: subprojects/extensions-tool/src/command-create.c:376 #, c-format msgid "" "Name should be a very short (ideally descriptive) string.\n" @@ -2716,12 +2746,12 @@ "Názov by mal byť veľmi krátky (ideálne popisný) reťazec.\n" "Príklady: %s" -#: subprojects/extensions-tool/src/command-create.c:302 +#: subprojects/extensions-tool/src/command-create.c:382 #: subprojects/extensions-tool/src/main.c:242 msgid "Name" msgstr "Názov" -#: subprojects/extensions-tool/src/command-create.c:316 +#: subprojects/extensions-tool/src/command-create.c:396 #, c-format msgid "" "Description is a single-sentence explanation of what your extension does.\n" @@ -2730,12 +2760,12 @@ "Popis je jedna veta, popisujúca, čo robí Vaše rozšírenie\n" "Príklady: %s" -#: subprojects/extensions-tool/src/command-create.c:322 +#: subprojects/extensions-tool/src/command-create.c:402 #: subprojects/extensions-tool/src/main.c:245 msgid "Description" msgstr "Popis" -#: subprojects/extensions-tool/src/command-create.c:336 +#: subprojects/extensions-tool/src/command-create.c:416 msgid "" "UUID is a globally-unique identifier for your extension.\n" "This should be in the format of an email address (clicktofocus@janedoe." @@ -2744,57 +2774,83 @@ "UUID je globálne unikátny identifikátor pre Vaše rozšírenie.\n" "Má by vo formáte emailovej adresy (clicktofocus@janedoe.example.com)\n" -#: subprojects/extensions-tool/src/command-create.c:363 +#: subprojects/extensions-tool/src/command-create.c:443 msgid "Choose one of the available templates:\n" msgstr "Zvoľte jednu z dostupných šablón:\n" -#: subprojects/extensions-tool/src/command-create.c:377 +#: subprojects/extensions-tool/src/command-create.c:457 msgid "Template" msgstr "Šablóna" -#: subprojects/extensions-tool/src/command-create.c:432 +#: subprojects/extensions-tool/src/command-create.c:515 msgid "The unique identifier of the new extension" msgstr "Unikátny identifikátor nového rozšírenia" -#: subprojects/extensions-tool/src/command-create.c:435 +#: subprojects/extensions-tool/src/command-create.c:518 msgid "NAME" msgstr "NÁZOV" -#: subprojects/extensions-tool/src/command-create.c:436 +#: subprojects/extensions-tool/src/command-create.c:519 msgid "The user-visible name of the new extension" msgstr "Názov nového rozšírenia viditeľný používateľovi" -#: subprojects/extensions-tool/src/command-create.c:438 +#: subprojects/extensions-tool/src/command-create.c:521 msgid "DESCRIPTION" msgstr "POPIS" -#: subprojects/extensions-tool/src/command-create.c:440 +#: subprojects/extensions-tool/src/command-create.c:523 msgid "A short description of what the extension does" msgstr "Stručný popis toho, čo robí rozšírenie" -#: subprojects/extensions-tool/src/command-create.c:443 +#: subprojects/extensions-tool/src/command-create.c:525 +#: subprojects/extensions-tool/src/command-pack.c:467 +msgid "DOMAIN" +msgstr "DOMÉNA" + +#: subprojects/extensions-tool/src/command-create.c:527 +#, fuzzy +#| msgid "The gettext domain to use for translations" +msgid "The gettext domain used by the extension" +msgstr "Doména gettext použitá pre preklady" + +#: subprojects/extensions-tool/src/command-create.c:529 +#: subprojects/extensions-tool/src/command-pack.c:460 +msgid "SCHEMA" +msgstr "SCHÉMA" + +#: subprojects/extensions-tool/src/command-create.c:531 +#, fuzzy +#| msgid "The template to use for the new extension" +msgid "The GSettings schema used by the extension" +msgstr "Šablóna použitá pre nové rozšírenie" + +#: subprojects/extensions-tool/src/command-create.c:534 msgid "TEMPLATE" msgstr "ŠABLÓNA" -#: subprojects/extensions-tool/src/command-create.c:444 +#: subprojects/extensions-tool/src/command-create.c:535 msgid "The template to use for the new extension" msgstr "Šablóna použitá pre nové rozšírenie" -#: subprojects/extensions-tool/src/command-create.c:450 +#: subprojects/extensions-tool/src/command-create.c:538 +msgid "Include prefs.js template" +msgstr "" + +#: subprojects/extensions-tool/src/command-create.c:544 msgid "Enter extension information interactively" msgstr "Umožní interaktívne zadávanie informácií o rozšírení" # summary -#: subprojects/extensions-tool/src/command-create.c:458 +#: subprojects/extensions-tool/src/command-create.c:552 msgid "Create a new extension" msgstr "Vytvoriť nové rozšírenie" -#: subprojects/extensions-tool/src/command-create.c:476 +#: subprojects/extensions-tool/src/command-create.c:570 #: subprojects/extensions-tool/src/command-list.c:172 msgid "Unknown arguments" msgstr "Neznáme parametre" -#: subprojects/extensions-tool/src/command-create.c:501 +#: subprojects/extensions-tool/src/command-create.c:595 msgid "UUID, name and description are required" msgstr "Vlastnosť UUID, názov a popis sú povinné" @@ -2902,56 +2958,48 @@ msgid "List installed extensions" msgstr "Zoznam nainštalovaných rozšírení" -#: subprojects/extensions-tool/src/command-pack.c:454 +#: subprojects/extensions-tool/src/command-pack.c:456 msgid "FILE" msgstr "SÚBOR" -#: subprojects/extensions-tool/src/command-pack.c:455 +#: subprojects/extensions-tool/src/command-pack.c:457 msgid "Additional source to include in the bundle" msgstr "Dodatočný zdroj, ktorý má byť zahrnutý v balíku" -#: subprojects/extensions-tool/src/command-pack.c:458 -msgid "SCHEMA" -msgstr "SCHÉMA" - -#: subprojects/extensions-tool/src/command-pack.c:459 +#: subprojects/extensions-tool/src/command-pack.c:461 msgid "A GSettings schema that should be included" msgstr "Schéma GSettings, ktorá by mala byť zahrnutá" -#: subprojects/extensions-tool/src/command-pack.c:461 -#: subprojects/extensions-tool/src/command-pack.c:472 +#: subprojects/extensions-tool/src/command-pack.c:463 +#: subprojects/extensions-tool/src/command-pack.c:474 msgid "DIRECTORY" msgstr "ADRESÁR" -#: subprojects/extensions-tool/src/command-pack.c:463 +#: subprojects/extensions-tool/src/command-pack.c:465 msgid "The directory where translations are found" msgstr "Adresár, v ktorom sa nachádzajú preklady" -#: subprojects/extensions-tool/src/command-pack.c:465 -msgid "DOMAIN" -msgstr "DOMÉNA" - -#: subprojects/extensions-tool/src/command-pack.c:467 +#: subprojects/extensions-tool/src/command-pack.c:469 msgid "The gettext domain to use for translations" msgstr "Doména gettext použitá pre preklady" -#: subprojects/extensions-tool/src/command-pack.c:470 +#: subprojects/extensions-tool/src/command-pack.c:472 msgid "Overwrite an existing pack" msgstr "Prepíše existujúci balík" -#: subprojects/extensions-tool/src/command-pack.c:474 +#: subprojects/extensions-tool/src/command-pack.c:476 msgid "The directory where the pack should be created" msgstr "Adresár, kde by mal byť vytvorený balík" -#: subprojects/extensions-tool/src/command-pack.c:476 +#: subprojects/extensions-tool/src/command-pack.c:478 msgid "SOURCE_DIRECTORY" msgstr "ZDROJOVÝ_ADRESÁR" -#: subprojects/extensions-tool/src/command-pack.c:485 +#: subprojects/extensions-tool/src/command-pack.c:487 msgid "Create an extension bundle" msgstr "Vytvorí balík rozšírení" -#: subprojects/extensions-tool/src/command-pack.c:505 +#: subprojects/extensions-tool/src/command-pack.c:507 msgid "More than one source directory specified" msgstr "Bol určený viac ako jeden zdrojový adresár" @@ -3110,6 +3158,14 @@ msgid "Add an icon to the top bar" msgstr "Pridá ikonu do hornej lišty" +#: subprojects/extensions-tool/src/templates/quick-settings.desktop.in:4 +msgid "Quick Settings Item" +msgstr "Položka rýchlych nastavení" + +#: subprojects/extensions-tool/src/templates/quick-settings.desktop.in:5 +msgid "Add an item to quick settings" +msgstr "" + #. translators: #. * The number of sound outputs on a particular device #: subprojects/gvc/gvc-mixer-control.c:1915 @@ -3134,6 +3190,13 @@ msgid "System Sounds" msgstr "Systémové zvuky" +#~ msgid "Screenshot / Screencast" +#~ msgstr "Snímka / záznam obrazovky" + +#, javascript-format +#~ msgid "%d %%" +#~ msgstr "%d %%" + #~ msgid "Attach modal dialog to the parent window" #~ msgstr "Pripojiť modálne dialógové okno k rodičovskému oknu" @@ -3197,9 +3260,6 @@ #~ msgid "Bluetooth Off" #~ msgstr "Bluetooth vypnutý" -#~ msgid "Privacy Settings" -#~ msgstr "Nastavenia súkromia" - #~ msgid "Location In Use" #~ msgstr "Používa sa umiestnenie" @@ -3415,10 +3475,6 @@ #~ msgid "%A, %B %-d, %Y" #~ msgstr "%A, %e. %B %Y" -# DK: pripojenie, zariadenie -#~ msgid "Off" -#~ msgstr "Vypnuté" - # režim v lietadle #~ msgid "On" #~ msgstr "Zapnutý" diff -Nru gnome-shell-45.1/po/vi.po gnome-shell-45.2/po/vi.po --- gnome-shell-45.1/po/vi.po 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/po/vi.po 2023-12-01 19:43:51.000000000 +0000 @@ -4,21 +4,22 @@ # This file is distributed under the same license as the gnome-shell package. # Nguyễn Thái Ngọc Duy , 2010-2013. # Ngô Chin , 2011. -# Trần Ngọc Quân , 2013-2019, 2021-2023. +# Trần Ngọc Quân , 2013-2023. # msgid "" msgstr "" "Project-Id-Version: gnome-shell main\n" "Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-shell/issues\n" -"POT-Creation-Date: 2023-07-20 21:47+0000\n" -"PO-Revision-Date: 2023-07-29 14:47+0700\n" +"POT-Creation-Date: 2023-11-11 06:48+0000\n" +"PO-Revision-Date: 2023-11-11 13:54+0700\n" "Last-Translator: Trần Ngọc Quân \n" -"Language-Team: Vietnamese \n" +"Language-Team: Vietnamese >\n" "Language: vi\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Plural-Forms: nplurals=1; plural=0\n" +"X-Generator: Gtranslator 42.0\n" #: data/50-gnome-shell-launchers.xml:6 msgid "Launchers" @@ -61,7 +62,7 @@ msgstr "Kích hoạt ứng dụng ưa thích 9" #. Translators: name of the folder under ~/Pictures for screenshots. -#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2136 +#: data/50-gnome-shell-screenshots.xml:6 js/ui/screenshot.js:2148 msgid "Screenshots" msgstr "Chụp màn hình" @@ -438,6 +439,16 @@ msgid "The location for which to show a forecast" msgstr "Vị trí muốn hiển thị dự báo" +#. Keep in sync with subprojects/extensions-app +#: data/org.gnome.Shell.Extensions.desktop.in.in:5 +#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 +#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 +#: subprojects/extensions-app/js/main.js:218 +#: subprojects/extensions-app/data/ui/extensions-window.ui:18 +#: subprojects/extensions-app/data/ui/extensions-window.ui:82 +msgid "Extensions" +msgstr "Phần mở rộng" + #: data/org.gnome.Shell.PortalHelper.desktop.in.in:3 msgid "Network Login" msgstr "Đăng nhập mạng" @@ -469,232 +480,232 @@ msgid "Visit extension homepage" msgstr "Đến trang chủ của phần mở rộng" -#: js/gdm/authPrompt.js:149 js/ui/audioDeviceSelection.js:67 -#: js/ui/components/networkAgent.js:116 js/ui/components/polkitAgent.js:146 -#: js/ui/endSessionDialog.js:446 js/ui/extensionDownloader.js:254 -#: js/ui/shellMountOperation.js:388 js/ui/shellMountOperation.js:398 +#: js/gdm/authPrompt.js:151 js/ui/audioDeviceSelection.js:66 +#: js/ui/components/networkAgent.js:115 js/ui/components/polkitAgent.js:146 +#: js/ui/endSessionDialog.js:443 js/ui/extensionDownloader.js:256 +#: js/ui/shellMountOperation.js:387 js/ui/shellMountOperation.js:397 #: subprojects/extensions-app/js/main.js:179 msgid "Cancel" msgstr "Thôi" -#: js/gdm/authPrompt.js:315 js/ui/components/networkAgent.js:216 -#: js/ui/components/networkAgent.js:236 js/ui/components/networkAgent.js:268 -#: js/ui/components/networkAgent.js:301 js/ui/components/networkAgent.js:340 -#: js/ui/components/networkAgent.js:353 js/ui/components/polkitAgent.js:288 -#: js/ui/shellMountOperation.js:338 +#: js/gdm/authPrompt.js:317 js/ui/components/networkAgent.js:215 +#: js/ui/components/networkAgent.js:235 js/ui/components/networkAgent.js:267 +#: js/ui/components/networkAgent.js:300 js/ui/components/networkAgent.js:339 +#: js/ui/components/networkAgent.js:352 js/ui/components/polkitAgent.js:288 +#: js/ui/shellMountOperation.js:337 msgid "Password" msgstr "Mật khẩu" -#: js/gdm/loginDialog.js:325 +#: js/gdm/loginDialog.js:326 msgid "Choose Session" msgstr "Chọn phiên làm việc" -#: js/gdm/loginDialog.js:470 +#: js/gdm/loginDialog.js:471 msgid "Not listed?" msgstr "Không có trong danh sách?" #. 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:938 +#: js/gdm/loginDialog.js:941 #, javascript-format msgid "(e.g., user or %s)" msgstr "(ví dụ: tài khoản hoặc %s)" -#: js/gdm/loginDialog.js:943 js/ui/components/networkAgent.js:260 -#: js/ui/components/networkAgent.js:295 js/ui/components/networkAgent.js:329 +#: js/gdm/loginDialog.js:946 js/ui/components/networkAgent.js:259 +#: js/ui/components/networkAgent.js:294 js/ui/components/networkAgent.js:328 msgid "Username" msgstr "Tài khoản" -#: js/gdm/loginDialog.js:1266 +#: js/gdm/loginDialog.js:1270 msgid "Login Window" msgstr "Cửa sổ đăng nhập" -#: js/gdm/util.js:445 +#: js/gdm/util.js:402 msgid "Authentication error" msgstr "Lỗi xác thực" #. Translators: this message is shown below the password entry field #. to indicate the user can swipe their finger on the fingerprint reader -#: js/gdm/util.js:627 +#: js/gdm/util.js:584 msgid "(or swipe finger across reader)" msgstr "(hoặc quẹt ngón tay xuyên suốt bộ đọc)" #. Translators: this message is shown below the password entry field #. to indicate the user can place their finger on the fingerprint reader instead -#: js/gdm/util.js:632 +#: js/gdm/util.js:589 msgid "(or place finger on reader)" msgstr "(hoặc đặt ngón tay trên bộ đọc)" #. Translators: The name of the power-off action in search -#: js/misc/systemActions.js:89 +#: js/misc/systemActions.js:91 msgctxt "search-result" msgid "Power Off" msgstr "Tắt máy" #. Translators: A list of keywords that match the power-off action, separated by semicolons -#: js/misc/systemActions.js:92 +#: js/misc/systemActions.js:94 msgid "power off;poweroff;shutdown;halt;stop" msgstr "power off;shutdown;halt;stop;tắt máy;tat may;tắt nguồn;tat nguon" #. Translators: The name of the restart action in search -#: js/misc/systemActions.js:97 +#: js/misc/systemActions.js:99 msgctxt "search-result" msgid "Restart" msgstr "Khởi động lại" #. Translators: A list of keywords that match the restart action, separated by semicolons -#: js/misc/systemActions.js:100 +#: js/misc/systemActions.js:102 msgid "reboot;restart;" msgstr "reboot;restart;khởi động lại;khoi dong lai" #. Translators: The name of the lock screen action in search -#: js/misc/systemActions.js:105 +#: js/misc/systemActions.js:107 msgctxt "search-result" msgid "Lock Screen" msgstr "Khóa màn hình" #. Translators: A list of keywords that match the lock screen action, separated by semicolons -#: js/misc/systemActions.js:108 +#: js/misc/systemActions.js:110 msgid "lock screen" msgstr "lock screen;khóa màn hình;khoa man hinh" #. Translators: The name of the logout action in search -#: js/misc/systemActions.js:113 +#: js/misc/systemActions.js:115 msgctxt "search-result" msgid "Log Out" msgstr "Đăng xuất" #. Translators: A list of keywords that match the logout action, separated by semicolons -#: js/misc/systemActions.js:116 +#: js/misc/systemActions.js:118 msgid "logout;log out;sign off" msgstr "logout;sign off;đăng xuất;dang xuat" #. Translators: The name of the suspend action in search -#: js/misc/systemActions.js:121 +#: js/misc/systemActions.js:123 msgctxt "search-result" msgid "Suspend" msgstr "Tạm dừng" #. Translators: A list of keywords that match the suspend action, separated by semicolons -#: js/misc/systemActions.js:124 +#: js/misc/systemActions.js:126 msgid "suspend;sleep" msgstr "suspend;sleep;tạm dừng;tam dung;ngủ;ngu" #. Translators: The name of the switch user action in search -#: js/misc/systemActions.js:129 +#: js/misc/systemActions.js:131 msgctxt "search-result" msgid "Switch User" msgstr "Chuyển người dùng" #. Translators: A list of keywords that match the switch user action, separated by semicolons -#: js/misc/systemActions.js:132 +#: js/misc/systemActions.js:134 msgid "switch user" msgstr "switch user; chuyển người dùng;chuyen nguoi dung" #. Translators: A list of keywords that match the lock orientation action, separated by semicolons -#: js/misc/systemActions.js:139 +#: js/misc/systemActions.js:141 msgid "lock orientation;unlock orientation;screen;rotation" msgstr "" "lock orientation;screen;rotation;khóa hướng;khoa huong;màn hinh;man hinh;" "xoay;quay" #. Translators: The name of the screenshot UI action in search -#: js/misc/systemActions.js:144 +#: js/misc/systemActions.js:146 msgctxt "search-result" msgid "Take a Screenshot" msgstr "Chụp màn hình" #. Translators: A list of keywords that match the screenshot UI action, separated by semicolons -#: js/misc/systemActions.js:147 +#: js/misc/systemActions.js:149 msgid "screenshot;screencast;snip;capture;record" msgstr "" "screenshot;screencast;snip;capture;record;chụp màn hình;chup man hinh;ghi " "hình;ghi hinh;chụp;chup" -#: js/misc/systemActions.js:247 +#: js/misc/systemActions.js:249 msgctxt "search-result" msgid "Unlock Screen Rotation" msgstr "Mở khóa hướng màn hình" -#: js/misc/systemActions.js:248 +#: js/misc/systemActions.js:250 msgctxt "search-result" msgid "Lock Screen Rotation" msgstr "Khóa hướng màn hình" -#: js/misc/util.js:125 +#: js/misc/util.js:138 msgid "Command not found" msgstr "Không tìm thấy lệnh" #. Replace "Error invoking GLib.shell_parse_argv: " with #. something nicer -#: js/misc/util.js:162 +#: js/misc/util.js:178 msgid "Could not parse command:" msgstr "Không thể phân tích lệnh:" -#: js/misc/util.js:170 +#: js/misc/util.js:186 #, javascript-format msgid "Execution of “%s” failed:" msgstr "Gặp lỗi khi thực thi “%s”:" -#: js/misc/dateUtils.js:70 +#: js/misc/dateUtils.js:69 msgid "Just now" msgstr "Vừa xong" -#: js/misc/dateUtils.js:73 +#: js/misc/dateUtils.js:72 #, javascript-format msgid "%d minute ago" msgid_plural "%d minutes ago" msgstr[0] "%d phút trước" -#: js/misc/dateUtils.js:80 +#: js/misc/dateUtils.js:79 #, javascript-format msgid "%d hour ago" msgid_plural "%d hours ago" msgstr[0] "%d giờ trước" -#: js/misc/dateUtils.js:86 js/ui/dateMenu.js:184 +#: js/misc/dateUtils.js:85 js/ui/dateMenu.js:182 msgid "Yesterday" msgstr "Hôm qua" -#: js/misc/dateUtils.js:89 +#: js/misc/dateUtils.js:88 #, javascript-format msgid "%d day ago" msgid_plural "%d days ago" msgstr[0] "%d ngày trước" -#: js/misc/dateUtils.js:96 +#: js/misc/dateUtils.js:95 #, javascript-format msgid "%d week ago" msgid_plural "%d weeks ago" msgstr[0] "%d tuần trước" -#: js/misc/dateUtils.js:103 +#: js/misc/dateUtils.js:102 #, javascript-format msgid "%d month ago" msgid_plural "%d months ago" msgstr[0] "%d tháng trước" -#: js/misc/dateUtils.js:109 +#: js/misc/dateUtils.js:108 #, javascript-format msgid "%d year ago" msgid_plural "%d years ago" msgstr[0] "%d năm trước" #. Translators: Time in 24h format -#: js/misc/dateUtils.js:156 +#: js/misc/dateUtils.js:155 msgid "%H∶%M" msgstr "%H∶%M" #. Translators: this is the word "Yesterday" followed by a #. time string in 24h format. i.e. "Yesterday, 14:30" -#: js/misc/dateUtils.js:162 +#: js/misc/dateUtils.js:161 #, no-c-format msgid "Yesterday, %H∶%M" msgstr "%H:%M, hôm qua" #. Translators: this is the week day name followed by a time #. string in 24h format. i.e. "Monday, 14:30" -#: js/misc/dateUtils.js:168 +#: js/misc/dateUtils.js:167 #, no-c-format msgid "%A, %H∶%M" msgstr "%H∶%M, %A" @@ -702,7 +713,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 24h format. #. i.e. "May 25, 14:30" -#: js/misc/dateUtils.js:174 +#: js/misc/dateUtils.js:173 #, no-c-format msgid "%B %-d, %H∶%M" msgstr "%-d %B, %H∶%M" @@ -710,7 +721,7 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 24h format. #. i.e. "May 25 2012, 14:30" -#: js/misc/dateUtils.js:180 +#: js/misc/dateUtils.js:179 #, no-c-format msgid "%B %-d %Y, %H∶%M" msgstr "%-d %B %Y, %H∶%M" @@ -718,20 +729,20 @@ #. Show only the time if date is on today #. eslint-disable-line no-lonely-if #. Translators: Time in 12h format -#: js/misc/dateUtils.js:185 +#: js/misc/dateUtils.js:184 msgid "%l∶%M %p" msgstr "%l∶%M %p" #. Translators: this is the word "Yesterday" followed by a #. time string in 12h format. i.e. "Yesterday, 2:30 pm" -#: js/misc/dateUtils.js:191 +#: js/misc/dateUtils.js:190 #, no-c-format msgid "Yesterday, %l∶%M %p" msgstr "%l∶%M %p, hôm qua" #. Translators: this is the week day name followed by a time #. string in 12h format. i.e. "Monday, 2:30 pm" -#: js/misc/dateUtils.js:197 +#: js/misc/dateUtils.js:196 #, no-c-format msgid "%A, %l∶%M %p" msgstr "%l∶%M %p, %A" @@ -739,7 +750,7 @@ #. Translators: this is the month name and day number #. followed by a time string in 12h format. #. i.e. "May 25, 2:30 pm" -#: js/misc/dateUtils.js:203 +#: js/misc/dateUtils.js:202 #, no-c-format msgid "%B %-d, %l∶%M %p" msgstr "%-d %B, %l∶%M %p" @@ -747,7 +758,7 @@ #. Translators: this is the month name, day number, year #. number followed by a time string in 12h format. #. i.e. "May 25 2012, 2:30 pm" -#: js/misc/dateUtils.js:209 +#: js/misc/dateUtils.js:208 #, no-c-format msgid "%B %-d %Y, %l∶%M %p" msgstr "%-d %B %Y, %l∶%M %p" @@ -770,24 +781,24 @@ #. No support for non-modal system dialogs, so ignore the option #. let modal = options['modal'] || true; -#: js/ui/accessDialog.js:45 js/ui/inhibitShortcutsDialog.js:93 +#: js/ui/accessDialog.js:45 js/ui/inhibitShortcutsDialog.js:92 msgid "Deny" msgstr "Từ chối" -#: js/ui/accessDialog.js:46 js/ui/inhibitShortcutsDialog.js:102 +#: js/ui/accessDialog.js:46 js/ui/inhibitShortcutsDialog.js:101 msgid "Allow" msgstr "Cho phép" -#: js/ui/appDisplay.js:1773 +#: js/ui/appDisplay.js:1777 msgid "Unnamed Folder" msgstr "Thư mục không tên" -#: js/ui/appFavorites.js:167 +#: js/ui/appFavorites.js:166 #, javascript-format msgid "%s has been pinned to the dash." msgstr "%s đã được gắn vào chỗ gắn ứng dụng." -#: js/ui/appFavorites.js:200 +#: js/ui/appFavorites.js:199 #, javascript-format msgid "%s has been unpinned from the dash." msgstr "%s đã được tháo khỏi chỗ gắn ứng dụng." @@ -809,7 +820,7 @@ msgid "Quit" msgstr "Thoát" -#: js/ui/appMenu.js:162 js/ui/dash.js:256 +#: js/ui/appMenu.js:162 js/ui/dash.js:250 msgid "Unpin" msgstr "Tháo ra" @@ -825,23 +836,23 @@ msgid "Launch using Discrete Graphics Card" msgstr "Khởi chạy sử dụng Card đồ họa rời" -#: js/ui/audioDeviceSelection.js:47 +#: js/ui/audioDeviceSelection.js:46 msgid "Select Audio Device" msgstr "Chọn thiết bị âm thanh" -#: js/ui/audioDeviceSelection.js:62 js/ui/status/volume.js:83 +#: js/ui/audioDeviceSelection.js:61 js/ui/status/volume.js:83 msgid "Sound Settings" msgstr "Cài đặt âm thanh" -#: js/ui/audioDeviceSelection.js:75 +#: js/ui/audioDeviceSelection.js:74 msgid "Headphones" msgstr "Tai nghe" -#: js/ui/audioDeviceSelection.js:77 +#: js/ui/audioDeviceSelection.js:76 msgid "Headset" msgstr "Bộ tai nghe + micrô" -#: js/ui/audioDeviceSelection.js:79 js/ui/status/volume.js:352 +#: js/ui/audioDeviceSelection.js:78 js/ui/status/volume.js:352 msgid "Microphone" msgstr "Micrô" @@ -859,7 +870,7 @@ msgstr "Cài đặt" #. Translators: Enter 0-6 (Sunday-Saturday) for non-work days. Examples: "0" (Sunday) "6" (Saturday) "06" (Sunday and Saturday). -#: js/ui/calendar.js:41 +#: js/ui/calendar.js:40 msgctxt "calendar-no-work" msgid "06" msgstr "06" @@ -869,43 +880,43 @@ #. * NOTE: These grid abbreviations are always shown together #. * and in order, e.g. "S M T W T F S". #. -#: js/ui/calendar.js:67 +#: js/ui/calendar.js:66 msgctxt "grid sunday" msgid "S" msgstr "C" #. Translators: Calendar grid abbreviation for Monday -#: js/ui/calendar.js:69 +#: js/ui/calendar.js:68 msgctxt "grid monday" msgid "M" msgstr "2" #. Translators: Calendar grid abbreviation for Tuesday -#: js/ui/calendar.js:71 +#: js/ui/calendar.js:70 msgctxt "grid tuesday" msgid "T" msgstr "3" #. Translators: Calendar grid abbreviation for Wednesday -#: js/ui/calendar.js:73 +#: js/ui/calendar.js:72 msgctxt "grid wednesday" msgid "W" msgstr "4" #. Translators: Calendar grid abbreviation for Thursday -#: js/ui/calendar.js:75 +#: js/ui/calendar.js:74 msgctxt "grid thursday" msgid "T" msgstr "5" #. Translators: Calendar grid abbreviation for Friday -#: js/ui/calendar.js:77 +#: js/ui/calendar.js:76 msgctxt "grid friday" msgid "F" msgstr "6" #. Translators: Calendar grid abbreviation for Saturday -#: js/ui/calendar.js:79 +#: js/ui/calendar.js:78 msgctxt "grid saturday" msgid "S" msgstr "7" @@ -916,7 +927,7 @@ #. * "%OB" is the new format specifier introduced in glibc 2.27, #. * in most cases you should not change it. #. -#: js/ui/calendar.js:420 +#: js/ui/calendar.js:429 msgid "%OB" msgstr "%OB" @@ -929,47 +940,47 @@ #. * in most cases you should not use the old "%B" here unless you #. * absolutely know what you are doing. #. -#: js/ui/calendar.js:430 +#: js/ui/calendar.js:439 msgid "%OB %Y" msgstr "%OB %Y" -#: js/ui/calendar.js:491 +#: js/ui/calendar.js:501 msgid "Previous month" msgstr "Tháng trước" -#: js/ui/calendar.js:509 +#: js/ui/calendar.js:519 msgid "Next month" msgstr "Tháng tới" -#: js/ui/calendar.js:660 +#: js/ui/calendar.js:670 #, no-javascript-format msgctxt "date day number format" msgid "%d" msgstr "%d" -#: js/ui/calendar.js:719 +#: js/ui/calendar.js:729 msgid "Week %V" msgstr "Tuần %V" -#: js/ui/calendar.js:898 +#: js/ui/calendar.js:908 msgid "No Notifications" msgstr "Không có thông báo" -#: js/ui/calendar.js:955 +#: js/ui/calendar.js:965 msgid "Do Not Disturb" msgstr "Không làm phiền" -#: js/ui/calendar.js:976 +#: js/ui/calendar.js:986 msgid "Clear" msgstr "Xóa" #. Translators: %s is an application name -#: js/ui/closeDialog.js:45 +#: js/ui/closeDialog.js:44 #, javascript-format msgid "“%s” is not responding." msgstr "“%s” hiện đang bị treo." -#: js/ui/closeDialog.js:46 +#: js/ui/closeDialog.js:45 msgid "" "You may choose to wait a short while for it to continue or force the app to " "quit entirely." @@ -977,27 +988,27 @@ "Bạn có thể chọn chờ một lúc cho nó tiếp tục hoặc buộc chấm dứt hoàn toàn ứng " "dụng." -#: js/ui/closeDialog.js:74 +#: js/ui/closeDialog.js:73 msgid "Force Quit" msgstr "Buộc thoát" -#: js/ui/closeDialog.js:79 +#: js/ui/closeDialog.js:78 msgid "Wait" msgstr "Chờ" -#: js/ui/components/automountManager.js:85 +#: js/ui/components/automountManager.js:84 msgid "External drive connected" -msgstr "Ổ ngoài đã kết nối" +msgstr "Ổ đĩa ngoài đã kết nối" -#: js/ui/components/automountManager.js:97 +#: js/ui/components/automountManager.js:96 msgid "External drive disconnected" -msgstr "Ổ ngoài đã ngắt kết nối" +msgstr "Ổ đĩa ngoài đã ngắt kết nối" -#: js/ui/components/automountManager.js:208 +#: js/ui/components/automountManager.js:207 msgid "Unable to unlock volume" msgstr "Không thể mở khóa phân vùng" -#: js/ui/components/automountManager.js:209 +#: js/ui/components/automountManager.js:208 msgid "The installed udisks version does not support the PIM setting" msgstr "Phiên bản udisks đã cài không hỗ trợ cài đặt PIM" @@ -1006,82 +1017,82 @@ msgid "Open with %s" msgstr "Mở bằng %s" -#: js/ui/components/networkAgent.js:98 +#: js/ui/components/networkAgent.js:97 msgid "" "Alternatively you can connect by pushing the “WPS” button on your router." msgstr "" "Hoặc là bạn có thể kết nối bằng cách bấm vào nút “WPS” trên bộ định tuyến " "của bạn." -#: js/ui/components/networkAgent.js:110 js/ui/status/bluetooth.js:226 -#: js/ui/status/network.js:376 js/ui/status/network.js:458 +#: js/ui/components/networkAgent.js:109 js/ui/status/bluetooth.js:246 +#: js/ui/status/network.js:371 js/ui/status/network.js:455 msgid "Connect" msgstr "Kết nối" -#: js/ui/components/networkAgent.js:225 +#: js/ui/components/networkAgent.js:224 msgid "Key" msgstr "Khóa" -#: js/ui/components/networkAgent.js:276 js/ui/components/networkAgent.js:315 +#: js/ui/components/networkAgent.js:275 js/ui/components/networkAgent.js:314 msgid "Private key password" msgstr "Mật khẩu khóa riêng" -#: js/ui/components/networkAgent.js:309 +#: js/ui/components/networkAgent.js:308 msgid "Identity" msgstr "Định danh" -#: js/ui/components/networkAgent.js:335 +#: js/ui/components/networkAgent.js:334 msgid "Service" msgstr "Dịch vụ" -#: js/ui/components/networkAgent.js:373 js/ui/components/networkAgent.js:409 -#: js/ui/components/networkAgent.js:754 js/ui/components/networkAgent.js:775 +#: js/ui/components/networkAgent.js:372 js/ui/components/networkAgent.js:408 +#: js/ui/components/networkAgent.js:753 js/ui/components/networkAgent.js:774 msgid "Authentication required" msgstr "Cần xác thực" -#: js/ui/components/networkAgent.js:374 js/ui/components/networkAgent.js:755 +#: js/ui/components/networkAgent.js:373 js/ui/components/networkAgent.js:754 #, javascript-format msgid "" "Passwords or encryption keys are required to access the wireless network " "“%s”." msgstr "Cần mật mã hoặc khóa mã để truy cập mạng không dây “%s”." -#: js/ui/components/networkAgent.js:378 js/ui/components/networkAgent.js:759 +#: js/ui/components/networkAgent.js:377 js/ui/components/networkAgent.js:758 msgid "Wired 802.1X authentication" msgstr "Xác thực Wired 802.1X" -#: js/ui/components/networkAgent.js:381 +#: js/ui/components/networkAgent.js:380 msgid "Network name" msgstr "Tên mạng" -#: js/ui/components/networkAgent.js:389 js/ui/components/networkAgent.js:763 +#: js/ui/components/networkAgent.js:388 js/ui/components/networkAgent.js:762 msgid "DSL authentication" msgstr "Xác thực DSL" -#: js/ui/components/networkAgent.js:396 js/ui/components/networkAgent.js:768 +#: js/ui/components/networkAgent.js:395 js/ui/components/networkAgent.js:767 msgid "PIN code required" msgstr "Cần mã PIN" -#: js/ui/components/networkAgent.js:397 js/ui/components/networkAgent.js:769 +#: js/ui/components/networkAgent.js:396 js/ui/components/networkAgent.js:768 msgid "PIN code is needed for the mobile broadband device" msgstr "Thiết bị di động băng thông rộng cần mã PIN" -#: js/ui/components/networkAgent.js:399 +#: js/ui/components/networkAgent.js:398 msgid "PIN" msgstr "PIN" -#: js/ui/components/networkAgent.js:410 js/ui/components/networkAgent.js:760 -#: js/ui/components/networkAgent.js:764 js/ui/components/networkAgent.js:776 -#: js/ui/components/networkAgent.js:780 +#: js/ui/components/networkAgent.js:409 js/ui/components/networkAgent.js:759 +#: js/ui/components/networkAgent.js:763 js/ui/components/networkAgent.js:775 +#: js/ui/components/networkAgent.js:779 #, javascript-format msgid "A password is required to connect to “%s”." msgstr "Cần mật khẩu để kết nối đến “%s”." -#: js/ui/components/networkAgent.js:743 js/ui/status/network.js:2027 +#: js/ui/components/networkAgent.js:742 js/ui/status/network.js:2040 msgid "Network Manager" msgstr "Trình quản lý mạng" -#: js/ui/components/networkAgent.js:779 +#: js/ui/components/networkAgent.js:778 msgid "VPN password" msgstr "Mật khẩu VPN" @@ -1101,26 +1112,26 @@ #. * requested authentication was not gained; this can happen #. * because of an authentication error (like invalid password), #. * for instance. -#: js/ui/components/polkitAgent.js:265 js/ui/shellMountOperation.js:421 +#: js/ui/components/polkitAgent.js:265 js/ui/shellMountOperation.js:420 msgid "Sorry, that didn’t work. Please try again." msgstr "Rất tiếc, không được. Vui lòng thử lại." -#: js/ui/components/telepathyClient.js:832 +#: js/ui/components/telepathyClient.js:831 #, javascript-format msgid "%s is now known as %s" msgstr "%s bây giờ đổi thành %s" -#: js/ui/ctrlAltTab.js:26 js/ui/overviewControls.js:426 +#: js/ui/ctrlAltTab.js:25 js/ui/overviewControls.js:412 msgid "Windows" msgstr "Cửa sổ" -#: js/ui/dash.js:212 js/ui/dash.js:258 +#: js/ui/dash.js:206 js/ui/dash.js:252 msgid "Show Apps" msgstr "Hiện các ứng dụng" #. Translators: this is the name of the dock/favorites area on #. the left of the overview -#: js/ui/dash.js:406 +#: js/ui/dash.js:410 msgid "Dash" msgstr "Chỗ gắn ứng dụng" @@ -1129,7 +1140,7 @@ #. * "Tue 9:29 AM"). The string itself should become a full date, e.g., #. * "February 17 2015". #. -#: js/ui/dateMenu.js:100 +#: js/ui/dateMenu.js:98 msgid "%B %-d %Y" msgstr "%-d %B %Y" @@ -1137,34 +1148,34 @@ #. * below the time in the shell; it should combine the weekday and the #. * date, e.g. "Tuesday February 17 2015". #. -#: js/ui/dateMenu.js:107 +#: js/ui/dateMenu.js:105 msgid "%A %B %e %Y" msgstr "%A %e %B %Y" #. Translators: Shown on calendar heading when selected day occurs on current year -#: js/ui/dateMenu.js:173 +#: js/ui/dateMenu.js:171 msgctxt "calendar heading" msgid "%B %-d" msgstr "%-d %B" #. Translators: Shown on calendar heading when selected day occurs on different year -#: js/ui/dateMenu.js:176 +#: js/ui/dateMenu.js:174 msgctxt "calendar heading" msgid "%B %-d %Y" msgstr "%-d %B %Y" -#: js/ui/dateMenu.js:182 +#: js/ui/dateMenu.js:180 msgid "Today" msgstr "Hôm nay" -#: js/ui/dateMenu.js:186 +#: js/ui/dateMenu.js:184 msgid "Tomorrow" msgstr "Ngày mai" #. Translators: Shown in calendar event list for all day events #. * Keep it short, best if you can use less then 10 characters #. -#: js/ui/dateMenu.js:217 +#: js/ui/dateMenu.js:215 msgctxt "event list time" msgid "All Day" msgstr "Cả ngày" @@ -1172,123 +1183,123 @@ #. Translators: Shown in calendar event list as the start/end of events #. * that only show day and month #. -#: js/ui/dateMenu.js:239 +#: js/ui/dateMenu.js:237 msgid "%m/%d" msgstr "%d/%m" -#: js/ui/dateMenu.js:290 +#: js/ui/dateMenu.js:288 msgid "No Events" msgstr "Không có sự kiện" -#: js/ui/dateMenu.js:412 +#: js/ui/dateMenu.js:410 msgid "Add world clocks…" msgstr "Thêm đồng hồ quốc tế…" -#: js/ui/dateMenu.js:413 +#: js/ui/dateMenu.js:411 msgid "World Clocks" msgstr "Đồng hồ quốc tế" -#: js/ui/dateMenu.js:697 +#: js/ui/dateMenu.js:695 msgid "Loading…" msgstr "Đang tải…" -#: js/ui/dateMenu.js:707 +#: js/ui/dateMenu.js:705 msgid "Go online for weather information" msgstr "Lên mạng để biết thông tin thời tiết" -#: js/ui/dateMenu.js:709 +#: js/ui/dateMenu.js:707 msgid "Weather information is currently unavailable" msgstr "Thông tin thời tiết hiện không sẵn có" -#: js/ui/dateMenu.js:719 +#: js/ui/dateMenu.js:717 msgid "Weather" msgstr "Thời tiết" -#: js/ui/dateMenu.js:721 +#: js/ui/dateMenu.js:719 msgid "Select weather location…" msgstr "Chọn địa điểm xem thời tiết…" -#: js/ui/endSessionDialog.js:47 +#: js/ui/endSessionDialog.js:46 #, javascript-format msgctxt "title" msgid "Log Out %s" msgstr "Đăng xuất %s" -#: js/ui/endSessionDialog.js:48 +#: js/ui/endSessionDialog.js:47 msgctxt "title" msgid "Log Out" msgstr "Đăng xuất" -#: js/ui/endSessionDialog.js:51 +#: js/ui/endSessionDialog.js:50 #, javascript-format msgid "%s will be logged out automatically in %d second." msgid_plural "%s will be logged out automatically in %d seconds." msgstr[0] "Sẽ tự động đăng xuất %s sau %d giây nữa." -#: js/ui/endSessionDialog.js:57 +#: js/ui/endSessionDialog.js:56 #, javascript-format msgid "You will be logged out automatically in %d second." msgid_plural "You will be logged out automatically in %d seconds." msgstr[0] "Bạn sẽ tự động đăng xuất sau %d giây nữa." -#: js/ui/endSessionDialog.js:64 +#: js/ui/endSessionDialog.js:63 msgctxt "button" msgid "Log Out" msgstr "Đăng xuất" -#: js/ui/endSessionDialog.js:70 js/ui/status/system.js:176 +#: js/ui/endSessionDialog.js:69 js/ui/status/system.js:176 msgctxt "title" msgid "Power Off" msgstr "Tắt máy" -#: js/ui/endSessionDialog.js:71 +#: js/ui/endSessionDialog.js:70 msgctxt "title" msgid "Install Updates & Power Off" msgstr "Cài đặt bản cập nhật & tắt máy" -#: js/ui/endSessionDialog.js:74 +#: js/ui/endSessionDialog.js:73 #, javascript-format msgid "The system will power off automatically in %d second." msgid_plural "The system will power off automatically in %d seconds." msgstr[0] "Hệ thống sẽ tự động tắt sau %d giây." -#: js/ui/endSessionDialog.js:78 js/ui/endSessionDialog.js:97 +#: js/ui/endSessionDialog.js:77 js/ui/endSessionDialog.js:96 msgctxt "checkbox" msgid "Install pending software updates" msgstr "Cài đặt các cập nhật phần mềm đang chờ" -#: js/ui/endSessionDialog.js:82 +#: js/ui/endSessionDialog.js:81 msgctxt "button" msgid "Power Off" msgstr "Tắt máy" -#: js/ui/endSessionDialog.js:89 +#: js/ui/endSessionDialog.js:88 msgctxt "title" msgid "Restart" msgstr "Khởi động lại máy tính" -#: js/ui/endSessionDialog.js:90 +#: js/ui/endSessionDialog.js:89 msgctxt "title" msgid "Install Updates & Restart" msgstr "Cài đặt bản cập nhật & Khởi động lại" -#: js/ui/endSessionDialog.js:93 +#: js/ui/endSessionDialog.js:92 #, javascript-format msgid "The system will restart automatically in %d second." msgid_plural "The system will restart automatically in %d seconds." msgstr[0] "Hệ thống sẽ tự động khởi động lại sau %d giây." -#: js/ui/endSessionDialog.js:101 +#: js/ui/endSessionDialog.js:100 msgctxt "button" msgid "Restart" msgstr "Khởi động lại" -#: js/ui/endSessionDialog.js:109 +#: js/ui/endSessionDialog.js:108 msgctxt "title" msgid "Restart & Install Updates" msgstr "Khởi động lại & Cài đặt bản cập nhật" -#: js/ui/endSessionDialog.js:112 +#: js/ui/endSessionDialog.js:111 #, javascript-format msgid "The system will automatically restart and install updates in %d second." msgid_plural "" @@ -1296,22 +1307,22 @@ msgstr[0] "" "Hệ thống sẽ tự động khởi động lại và cài đặt các cập nhật sau %d giây." -#: js/ui/endSessionDialog.js:119 js/ui/endSessionDialog.js:140 +#: js/ui/endSessionDialog.js:118 js/ui/endSessionDialog.js:139 msgctxt "button" msgid "Restart & Install" msgstr "Khởi động lại & Cài" -#: js/ui/endSessionDialog.js:121 +#: js/ui/endSessionDialog.js:120 msgctxt "button" msgid "Install & Power Off" msgstr "Cài & Tắt máy" -#: js/ui/endSessionDialog.js:122 +#: js/ui/endSessionDialog.js:121 msgctxt "checkbox" msgid "Power off after updates are installed" msgstr "Tắt máy sau khi các cập nhật được cài đặt" -#: js/ui/endSessionDialog.js:129 +#: js/ui/endSessionDialog.js:128 msgctxt "title" msgid "Restart & Install Upgrade" msgstr "Khởi động lại & Cài đặt nâng cấp" @@ -1319,7 +1330,7 @@ #. Translators: This is the text displayed for system upgrades in the #. shut down dialog. First %s gets replaced with the distro name and #. second %s with the distro version to upgrade to -#: js/ui/endSessionDialog.js:134 +#: js/ui/endSessionDialog.js:133 #, javascript-format msgid "" "%s %s will be installed after restart. Upgrade installation can take a long " @@ -1329,87 +1340,87 @@ "nhiều thời gian: hãy chắn chắn rằng bạn đã sao lưu dự phòng và máy tính được " "cắm điện." -#: js/ui/endSessionDialog.js:291 +#: js/ui/endSessionDialog.js:289 msgid "Low battery power: please plug in before installing updates." msgstr "" "Nguồn pin yếu: vui lòng cắm dây sạc trước khi thực hiện việc cài đặt cập " "nhật." -#: js/ui/endSessionDialog.js:300 +#: js/ui/endSessionDialog.js:298 msgid "Some applications are busy or have unsaved work" msgstr "Một số ứng dụng đang bận hoặc có dữ liệu chưa được lưu lại" -#: js/ui/endSessionDialog.js:305 +#: js/ui/endSessionDialog.js:303 msgid "Other users are logged in" msgstr "Có người dùng khác đang hoạt động" -#: js/ui/endSessionDialog.js:476 +#: js/ui/endSessionDialog.js:473 msgctxt "button" msgid "Boot Options" msgstr "Tùy chọn khởi động" #. Translators: Remote here refers to a remote session, like a ssh login -#: js/ui/endSessionDialog.js:681 +#: js/ui/endSessionDialog.js:678 #, javascript-format msgid "%s (remote)" msgstr "%s (máy chủ)" #. Translators: Console here refers to a tty like a VT console -#: js/ui/endSessionDialog.js:684 +#: js/ui/endSessionDialog.js:681 #, javascript-format msgid "%s (console)" msgstr "%s (bàn điều khiển)" -#: js/ui/extensionDownloader.js:258 +#: js/ui/extensionDownloader.js:260 msgid "Install" msgstr "Cài đặt" -#: js/ui/extensionDownloader.js:264 +#: js/ui/extensionDownloader.js:266 msgid "Install Extension" msgstr "Cài Phần mở rộng" -#: js/ui/extensionDownloader.js:265 +#: js/ui/extensionDownloader.js:267 #, javascript-format msgid "Download and install “%s” from extensions.gnome.org?" msgstr "Tải và cài đặt “%s” từ extensions.gnome.org chứ?" -#: js/ui/extensionSystem.js:337 +#: js/ui/extensionSystem.js:340 msgid "Extension Updates Available" msgstr "Đang có bản cập nhật phần mở rộng mới" -#: js/ui/extensionSystem.js:338 +#: js/ui/extensionSystem.js:341 msgid "Extension updates are ready to be installed." msgstr "Các bản cập nhật phần mở rộng đang chờ để được cài đặt." -#: js/ui/inhibitShortcutsDialog.js:71 +#: js/ui/inhibitShortcutsDialog.js:70 msgid "Allow inhibiting shortcuts" msgstr "Cho phép ngăn cản phím tắt" #. Translators: %s is an application name like "Settings" -#: js/ui/inhibitShortcutsDialog.js:74 +#: js/ui/inhibitShortcutsDialog.js:73 #, javascript-format msgid "The app %s wants to inhibit shortcuts" msgstr "Ứng dụng %s muốn ngăn cản phím tắt" -#: js/ui/inhibitShortcutsDialog.js:75 +#: js/ui/inhibitShortcutsDialog.js:74 msgid "An app wants to inhibit shortcuts" msgstr "Một ứng dụng đang muốn ngăn cản phím tắt" #. Translators: %s is a keyboard shortcut like "Super+x" -#: js/ui/inhibitShortcutsDialog.js:82 +#: js/ui/inhibitShortcutsDialog.js:81 #, javascript-format msgid "You can restore shortcuts by pressing %s." msgstr "Bạn có thể khôi phục lại các phím tắt bằng cách bấm %s." -#: js/ui/kbdA11yDialog.js:35 +#: js/ui/kbdA11yDialog.js:34 msgid "Slow Keys Turned On" msgstr "Phím chậm đã bật" -#: js/ui/kbdA11yDialog.js:36 +#: js/ui/kbdA11yDialog.js:35 msgid "Slow Keys Turned Off" msgstr "Phím chậm đã tắt" -#: js/ui/kbdA11yDialog.js:37 +#: js/ui/kbdA11yDialog.js:36 msgid "" "You just held down the Shift key for 8 seconds. This is the shortcut for the " "Slow Keys feature, which affects the way your keyboard works." @@ -1418,15 +1429,15 @@ "năng Phím Chậm, tính năng có ảnh hưởng đến cách hoạt động của bàn phím của " "bạn." -#: js/ui/kbdA11yDialog.js:43 +#: js/ui/kbdA11yDialog.js:42 msgid "Sticky Keys Turned On" msgstr "Phím dính đã bật" -#: js/ui/kbdA11yDialog.js:44 +#: js/ui/kbdA11yDialog.js:43 msgid "Sticky Keys Turned Off" msgstr "Phím dính đã tắt" -#: js/ui/kbdA11yDialog.js:46 +#: js/ui/kbdA11yDialog.js:45 msgid "" "You just pressed the Shift key 5 times in a row. This is the shortcut for " "the Sticky Keys feature, which affects the way your keyboard works." @@ -1434,7 +1445,7 @@ "Bạn vừa mới ấn phím Shift 5 lần liên tiếp. Đây là phím tắt của tính năng " "Phím Dính, tính năng có ảnh hưởng đến cách hoạt động của bàn phím của bạn." -#: js/ui/kbdA11yDialog.js:48 +#: js/ui/kbdA11yDialog.js:47 msgid "" "You just pressed two keys at once, or pressed the Shift key 5 times in a " "row. This turns off the Sticky Keys feature, which affects the way your " @@ -1444,99 +1455,99 @@ "tắt này tắt tính năng Phím Dính, tính năng có ảnh hưởng đến cách hoạt động " "của bàn phím của bạn." -#: js/ui/kbdA11yDialog.js:58 +#: js/ui/kbdA11yDialog.js:57 msgid "Leave On" msgstr "Để bật" -#: js/ui/kbdA11yDialog.js:58 +#: js/ui/kbdA11yDialog.js:57 msgid "Turn On" msgstr "Bật" -#: js/ui/kbdA11yDialog.js:68 js/ui/status/network.js:469 +#: js/ui/kbdA11yDialog.js:67 js/ui/status/network.js:466 msgid "Turn Off" msgstr "Tắt" -#: js/ui/kbdA11yDialog.js:68 +#: js/ui/kbdA11yDialog.js:67 msgid "Leave Off" msgstr "Để tắt" -#: js/ui/keyboard.js:227 js/ui/status/keyboard.js:867 +#: js/ui/keyboard.js:225 js/ui/status/keyboard.js:871 msgid "Keyboard Settings" msgstr "Cài đặt bàn phím" -#: js/ui/lookingGlass.js:729 +#: js/ui/lookingGlass.js:725 msgid "No extensions installed" msgstr "Chưa cài phần mở rộng nào" #. Translators: argument is an extension UUID. -#: js/ui/lookingGlass.js:790 +#: js/ui/lookingGlass.js:786 #, javascript-format msgid "%s has not emitted any errors." msgstr "%s chưa phát sinh lỗi." -#: js/ui/lookingGlass.js:796 +#: js/ui/lookingGlass.js:792 msgid "Hide Errors" msgstr "Ẩn lỗi" -#: js/ui/lookingGlass.js:800 js/ui/lookingGlass.js:877 +#: js/ui/lookingGlass.js:796 js/ui/lookingGlass.js:873 msgid "Show Errors" msgstr "Hiện lỗi" -#: js/ui/lookingGlass.js:809 +#: js/ui/lookingGlass.js:805 msgid "Enabled" msgstr "Đã được bật" #. translators: #. * The device has been disabled -#: js/ui/lookingGlass.js:812 subprojects/gvc/gvc-mixer-control.c:1908 +#: js/ui/lookingGlass.js:808 subprojects/gvc/gvc-mixer-control.c:1908 msgid "Disabled" msgstr "Đã được tắt" -#: js/ui/lookingGlass.js:814 +#: js/ui/lookingGlass.js:810 msgid "Error" msgstr "Lỗi" -#: js/ui/lookingGlass.js:816 +#: js/ui/lookingGlass.js:812 msgid "Out of date" msgstr "Đã lạc hậu" -#: js/ui/lookingGlass.js:818 +#: js/ui/lookingGlass.js:814 msgid "Downloading" msgstr "Đang tải về" -#: js/ui/lookingGlass.js:820 +#: js/ui/lookingGlass.js:816 msgid "Disabling" msgstr "Đang tắt" -#: js/ui/lookingGlass.js:822 +#: js/ui/lookingGlass.js:818 msgid "Enabling" msgstr "Đang bật" -#: js/ui/lookingGlass.js:855 +#: js/ui/lookingGlass.js:851 msgid "View Source" msgstr "Xem mã nguồn" -#: js/ui/lookingGlass.js:866 +#: js/ui/lookingGlass.js:862 msgid "Web Page" msgstr "Trang thông tin điện tử" -#: js/ui/main.js:274 +#: js/ui/main.js:268 msgid "System was put in unsafe mode" msgstr "Hệ thống được đã được đặt vào chế độ không an toàn" -#: js/ui/main.js:275 +#: js/ui/main.js:269 msgid "Apps now have unrestricted access" msgstr "Ứng dụng giờ có quyền truy cập không hạn chế" -#: js/ui/main.js:276 js/ui/overview.js:64 +#: js/ui/main.js:270 js/ui/overview.js:63 msgid "Undo" msgstr "Hoàn lại" -#: js/ui/main.js:334 +#: js/ui/main.js:328 msgid "Logged in as a privileged user" msgstr "Đăng nhập dưới danh nghĩa người dùng đặc quyền" -#: js/ui/main.js:335 +#: js/ui/main.js:329 msgid "" "Running a session as a privileged user should be avoided for security " "reasons. If possible, you should log in as a normal user." @@ -1544,23 +1555,23 @@ "Không nên chạy phiên với tư cách là người dùng đặc quyền vì lý do bảo mật. " "Nếu có thể, bạn nên đăng nhập như một người dùng bình thường." -#: js/ui/main.js:383 +#: js/ui/main.js:377 msgid "Screen Lock disabled" msgstr "Khóa màn hình bị tắt" -#: js/ui/main.js:384 +#: js/ui/main.js:378 msgid "Screen Locking requires the GNOME display manager." msgstr "Khóa màn hình yêu cầu bộ quản lý màn hình GNOME." -#: js/ui/messageTray.js:1423 +#: js/ui/messageTray.js:1417 msgid "System Information" msgstr "Thông tin hệ thống" -#: js/ui/mpris.js:206 +#: js/ui/mpris.js:205 msgid "Unknown artist" msgstr "Chưa biết nghệ sĩ" -#: js/ui/mpris.js:216 +#: js/ui/mpris.js:215 msgid "Unknown title" msgstr "Chưa biết tiêu đề" @@ -1572,206 +1583,208 @@ msgid "Type to search" msgstr "Gõ để tìm" -#: js/ui/overviewControls.js:414 +#: js/ui/overviewControls.js:400 msgid "Apps" msgstr "Ứng dụng" #. Translators: This is the main view to select #. activities. See also note for "Activities" string. -#: js/ui/overview.js:77 +#: js/ui/overview.js:76 msgid "Overview" msgstr "Tổng quan" -#: js/ui/padOsd.js:107 +#: js/ui/padOsd.js:100 msgid "New shortcut…" msgstr "Phím tắt mới…" -#: js/ui/padOsd.js:160 +#: js/ui/padOsd.js:153 msgid "App defined" msgstr "Ứng dụng đã định nghĩa" -#: js/ui/padOsd.js:161 +#: js/ui/padOsd.js:154 msgid "Show on-screen help" msgstr "Hiển thị trợ giúp trên-màn-hình" -#: js/ui/padOsd.js:162 +#: js/ui/padOsd.js:155 msgid "Switch monitor" msgstr "Chuyển màn hình" -#: js/ui/padOsd.js:163 +#: js/ui/padOsd.js:156 msgid "Assign keystroke" msgstr "Gán phím tắt" -#: js/ui/padOsd.js:232 +#: js/ui/padOsd.js:225 msgid "Done" msgstr "Xong" -#: js/ui/padOsd.js:749 +#: js/ui/padOsd.js:728 msgid "Edit…" msgstr "Sửa…" -#: js/ui/padOsd.js:791 js/ui/padOsd.js:908 +#: js/ui/padOsd.js:775 msgid "None" msgstr "Không" -#: js/ui/padOsd.js:862 +#: js/ui/padOsd.js:846 msgid "Press a button to configure" msgstr "Nhấn một nút để cấu hình" -#: js/ui/padOsd.js:863 +#: js/ui/padOsd.js:847 msgid "Press Esc to exit" msgstr "Nhấn phím Esc để thoát" -#: js/ui/padOsd.js:866 +#: js/ui/padOsd.js:850 msgid "Press any key to exit" msgstr "Hãy nhấn phím bất kỳ để thoát" -#: js/ui/panel.js:269 +#. Translators: If there is no suitable word for "Activities" +#. in your language, you can use the word for "Overview". +#: js/ui/panel.js:425 msgid "Activities" msgstr "Tổng quan" -#: js/ui/panel.js:354 +#: js/ui/panel.js:508 msgctxt "System menu in the top bar" msgid "System" msgstr "Hệ thống" -#: js/ui/panel.js:493 +#: js/ui/panel.js:682 msgid "Top Bar" msgstr "Thanh đỉnh" -#: js/ui/quickSettings.js:189 +#: js/ui/quickSettings.js:187 msgid "Open menu" msgstr "Mở trình đơn" -#: js/ui/runDialog.js:64 +#: js/ui/runDialog.js:63 msgid "Run a Command" msgstr "Chạy một lệnh" -#: js/ui/runDialog.js:79 +#: js/ui/runDialog.js:78 msgid "Press ESC to close" msgstr "Nhấn phím Esc để đóng lại" -#: js/ui/runDialog.js:244 +#: js/ui/runDialog.js:243 msgid "Restart is not available on Wayland" msgstr "Không hỗ trợ khởi động lại trên Wayland" -#: js/ui/runDialog.js:249 +#: js/ui/runDialog.js:248 msgid "Restarting…" msgstr "Đang khởi động lại…" -#: js/ui/screenShield.js:236 +#: js/ui/screenShield.js:235 msgid "GNOME needs to lock the screen" msgstr "GNOME cần khóa màn hình" -#: js/ui/screenShield.js:277 js/ui/screenShield.js:675 +#: js/ui/screenShield.js:276 js/ui/screenShield.js:670 msgid "Unable to lock" msgstr "Không thể khóa" -#: js/ui/screenShield.js:278 js/ui/screenShield.js:676 +#: js/ui/screenShield.js:277 js/ui/screenShield.js:671 msgid "Lock was blocked by an app" msgstr "Khóa bị khóa bởi một ứng dụng" -#: js/ui/screenshot.js:1186 +#: js/ui/screenshot.js:1192 msgid "Selection" msgstr "Chọn" -#: js/ui/screenshot.js:1196 +#: js/ui/screenshot.js:1202 msgid "Area Selection" msgstr "Chọn theo vùng" -#: js/ui/screenshot.js:1201 +#: js/ui/screenshot.js:1207 msgid "Screen" msgstr "Màn hình" -#: js/ui/screenshot.js:1211 +#: js/ui/screenshot.js:1217 msgid "Screen Selection" msgstr "Chọn màn hình" -#: js/ui/screenshot.js:1216 +#: js/ui/screenshot.js:1222 msgid "Window" msgstr "Cửa sổ" -#: js/ui/screenshot.js:1226 +#: js/ui/screenshot.js:1232 msgid "Window Selection" msgstr "Chọn cửa sổ" #. Translators: entry in the window right click menu. -#: js/ui/screenshot.js:1251 js/ui/status/system.js:113 js/ui/windowMenu.js:31 +#: js/ui/screenshot.js:1257 js/ui/status/system.js:113 js/ui/windowMenu.js:30 msgid "Take Screenshot" msgstr "Chụp cửa sổ" -#: js/ui/screenshot.js:1267 +#: js/ui/screenshot.js:1273 msgid "Record Screen" msgstr "Quay màn hình" #. Translators: since this string refers to an action, #. it needs to be phrased as a verb. -#: js/ui/screenshot.js:1282 +#: js/ui/screenshot.js:1288 msgid "Capture" msgstr "Chụp ảnh" -#: js/ui/screenshot.js:1304 +#: js/ui/screenshot.js:1310 msgid "Show Pointer" msgstr "Hiện con trỏ" #. Translators: this is the folder where recorded #. screencasts are stored. -#: js/ui/screenshot.js:1895 +#: js/ui/screenshot.js:1906 msgid "Screencasts" msgstr "Quay phim màn hình" #. Translators: this is a filename used for screencast #. * recording, where "%d" and "%t" date and time, e.g. #. * "Screencast from 07-17-2013 10:00:46 PM.webm" -#: js/ui/screenshot.js:1900 +#: js/ui/screenshot.js:1911 #, no-c-format msgid "Screencast from %d %t.webm" msgstr "Quay phim màn hình từ %d %t.webm" #. Translators: notification title. -#: js/ui/screenshot.js:1938 +#: js/ui/screenshot.js:1949 msgid "Screencast recorded" msgstr "Màn hình đã được quay lại" #. Translators: notification title. -#: js/ui/screenshot.js:1945 +#: js/ui/screenshot.js:1956 msgid "Screencast ended unexpectedly" msgstr "Quay phim màn hình đã kết thúc bất ngờ" #. Translators: notification source name. -#: js/ui/screenshot.js:1954 js/ui/screenshot.js:2189 +#: js/ui/screenshot.js:1965 js/ui/screenshot.js:2201 msgid "Screenshot" msgstr "Chụp màn hình" #. Translators: notification body when a screencast was recorded. -#: js/ui/screenshot.js:1961 +#: js/ui/screenshot.js:1972 msgid "Click here to view the video." msgstr "Bấn vào đây để xem phim." #. Translators: button on the screencast notification. #. Translators: button on the screenshot notification. -#: js/ui/screenshot.js:1964 js/ui/screenshot.js:2203 +#: js/ui/screenshot.js:1975 js/ui/screenshot.js:2215 msgid "Show in Files" msgstr "Hiển thị trong \"Tập tin\"" #. Translators: this is the name of the file that the screenshot is #. saved to. The placeholder is a timestamp, e.g. "2017-05-21 12-24-03". -#: js/ui/screenshot.js:2149 +#: js/ui/screenshot.js:2161 #, javascript-format msgid "Screenshot from %s" msgstr "Chụp màn hình từ %s" #. Translators: notification title. -#: js/ui/screenshot.js:2195 +#: js/ui/screenshot.js:2207 msgid "Screenshot captured" msgstr "Đã chụp màn hình" #. Translators: notification body when a screenshot was captured. -#: js/ui/screenshot.js:2197 +#: js/ui/screenshot.js:2209 msgid "You can paste the image from the clipboard." msgstr "Bạn có thể dán ảnh từ clipboard." -#: js/ui/screenshot.js:2250 js/ui/screenshot.js:2415 +#: js/ui/screenshot.js:2262 js/ui/screenshot.js:2426 msgid "Screenshot taken" msgstr "Chụp màn hình" @@ -1789,44 +1802,44 @@ msgid_plural "%d more" msgstr[0] "%d nữa" -#: js/ui/searchController.js:90 +#: js/ui/searchController.js:89 msgid "Search" msgstr "Tìm" -#: js/ui/shellEntry.js:24 +#: js/ui/shellEntry.js:23 msgid "Copy" msgstr "Chép" -#: js/ui/shellEntry.js:29 +#: js/ui/shellEntry.js:28 msgid "Paste" msgstr "Dán" -#: js/ui/shellEntry.js:81 +#: js/ui/shellEntry.js:80 msgid "Show Text" msgstr "Hiện chữ" -#: js/ui/shellEntry.js:83 +#: js/ui/shellEntry.js:82 msgid "Hide Text" msgstr "Ẩn chữ" -#: js/ui/shellEntry.js:170 +#: js/ui/shellEntry.js:174 msgid "Caps lock is on." msgstr "Phím Caps lock đang bật." -#: js/ui/shellMountOperation.js:292 +#: js/ui/shellMountOperation.js:291 msgid "Hidden Volume" msgstr "Phân vùng Ẩn" -#: js/ui/shellMountOperation.js:295 +#: js/ui/shellMountOperation.js:294 msgid "Windows System Volume" msgstr "Phân vùng hệ thống Windows" -#: js/ui/shellMountOperation.js:298 +#: js/ui/shellMountOperation.js:297 msgid "Uses Keyfiles" msgstr "Dùng tập tin khóa" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:306 +#: js/ui/shellMountOperation.js:305 #, javascript-format msgid "" "To unlock a volume that uses keyfiles, use the %s utility instead." @@ -1834,7 +1847,7 @@ "Để mở khóa một phân vùng đang sử dụng tập tin khóa, dùng tiện ích %s " "để thay thế." -#: js/ui/shellMountOperation.js:310 +#: js/ui/shellMountOperation.js:309 msgid "" "You need an external utility like Disks to unlock a volume that uses " "keyfiles." @@ -1842,49 +1855,49 @@ "Bạn cần một tiện ích ngoài như Đĩa để mở khóa phân vùng đang sử dụng " "tập tin khóa." -#: js/ui/shellMountOperation.js:318 +#: js/ui/shellMountOperation.js:317 msgid "PIM Number" msgstr "Số PIM" -#: js/ui/shellMountOperation.js:377 +#: js/ui/shellMountOperation.js:376 msgid "Remember Password" msgstr "Nhớ mật khẩu" -#: js/ui/shellMountOperation.js:392 +#: js/ui/shellMountOperation.js:391 msgid "Unlock" msgstr "Mở khóa" #. Translators: %s is the Disks application -#: js/ui/shellMountOperation.js:406 +#: js/ui/shellMountOperation.js:405 #, javascript-format msgid "Open %s" msgstr "Mở %s" -#: js/ui/shellMountOperation.js:442 +#: js/ui/shellMountOperation.js:441 msgid "The PIM must be a number or empty." msgstr "PIM phải là dạng con số hoặc để trống." -#: js/ui/status/accessibility.js:37 +#: js/ui/status/accessibility.js:36 msgid "Accessibility" msgstr "Khả năng truy cập" -#: js/ui/status/accessibility.js:47 +#: js/ui/status/accessibility.js:46 msgid "High Contrast" msgstr "Tương phản cao" -#: js/ui/status/accessibility.js:50 +#: js/ui/status/accessibility.js:49 msgid "Zoom" msgstr "Phóng to" -#: js/ui/status/accessibility.js:57 +#: js/ui/status/accessibility.js:56 msgid "Screen Reader" msgstr "Trình đọc màn hình" -#: js/ui/status/accessibility.js:61 +#: js/ui/status/accessibility.js:60 msgid "Screen Keyboard" msgstr "Bàn phím màn hình" -#: js/ui/status/accessibility.js:65 +#: js/ui/status/accessibility.js:64 msgid "Visual Alerts" msgstr "Cảnh báo trực quan" @@ -1892,284 +1905,295 @@ msgid "Sticky Keys" msgstr "Phím dính" -#: js/ui/status/accessibility.js:71 +#: js/ui/status/accessibility.js:72 msgid "Slow Keys" msgstr "Phím chậm" -#: js/ui/status/accessibility.js:74 +#: js/ui/status/accessibility.js:76 msgid "Bounce Keys" msgstr "Phím dội" -#: js/ui/status/accessibility.js:77 +#: js/ui/status/accessibility.js:80 msgid "Mouse Keys" msgstr "Phím chuột" -#: js/ui/status/accessibility.js:81 +#: js/ui/status/accessibility.js:85 msgid "Accessibility Settings" msgstr "Cài đặt hỗ trợ truy cập" -#: js/ui/status/accessibility.js:138 +#: js/ui/status/accessibility.js:142 msgid "Large Text" msgstr "Chữ lớn" -#: js/ui/status/autoRotate.js:16 +#: js/ui/status/autoRotate.js:14 msgid "Auto Rotate" msgstr "Tự động xoay" -#: js/ui/status/backgroundApps.js:163 +#: js/ui/status/backgroundApps.js:166 msgctxt "title" msgid "Background Apps" msgstr "Ứng dụng nền" -#: js/ui/status/backgroundApps.js:178 +#: js/ui/status/backgroundApps.js:181 msgid "Apps known to be running without a window" msgstr "Ứng dụng được biết là đang hoạt động mà không mở cửa sổ" -#: js/ui/status/backgroundApps.js:189 +#: js/ui/status/backgroundApps.js:192 msgid "App Settings" msgstr "Cài đặt ứng dụng" -#: js/ui/status/backgroundApps.js:245 +#: js/ui/status/backgroundApps.js:249 msgid "No Background Apps" msgstr "Không có ứng dụng chạy dưới nền nệ thống" -#: js/ui/status/backgroundApps.js:247 +#: js/ui/status/backgroundApps.js:251 #, javascript-format msgid "%d Background App" msgid_plural "%d Background Apps" msgstr[0] "%d ứng dụng chạy dưới nền hệ thống" -#: js/ui/status/bluetooth.js:226 js/ui/status/network.js:376 +#: js/ui/status/backlight.js:40 +msgid "Keyboard Brightness" +msgstr "Độ sáng bàn phím" + +#: js/ui/status/backlight.js:80 +msgid "Off" +msgstr "Tắt" + +#: js/ui/status/backlight.js:81 +msgid "Low" +msgstr "Thấp" + +#: js/ui/status/backlight.js:82 +msgid "High" +msgstr "Cao" + +#: js/ui/status/backlight.js:148 js/ui/status/keyboard.js:853 +msgid "Keyboard" +msgstr "Bàn phím" + +#: js/ui/status/bluetooth.js:246 js/ui/status/network.js:371 msgid "Disconnect" msgstr "Ngắt kết nối" -#: js/ui/status/bluetooth.js:243 js/ui/status/bluetooth.js:245 +#: js/ui/status/bluetooth.js:263 js/ui/status/bluetooth.js:265 msgid "Bluetooth" msgstr "Bluetooth" -#: js/ui/status/bluetooth.js:269 js/ui/status/network.js:1894 +#: js/ui/status/bluetooth.js:288 js/ui/status/network.js:1907 msgid "Bluetooth Settings" msgstr "Cài đặt Bluetooth" -#: js/ui/status/bluetooth.js:316 +#: js/ui/status/bluetooth.js:335 msgid "No available or connected devices" msgstr "Không tìm thấy thiết bị đang kết nối hay có sẵn" -#: js/ui/status/bluetooth.js:317 +#: js/ui/status/bluetooth.js:336 msgid "Turn on Bluetooth to connect to devices" msgstr "Bật Bluetooth để kết nối đến các thiết bị" #. Translators: This is the number of connected bluetooth devices -#: js/ui/status/bluetooth.js:371 +#: js/ui/status/bluetooth.js:390 #, javascript-format msgid "%d Connected" msgid_plural "%d Connected" msgstr[0] "%d đã được kết nối" -#: js/ui/status/brightness.js:36 +#: js/ui/status/brightness.js:34 msgid "Brightness" msgstr "Độ sáng" -#: js/ui/status/darkMode.js:13 +#: js/ui/status/darkMode.js:12 msgid "Dark Style" msgstr "Chế độ tối" -#: js/ui/status/dwellClick.js:16 +#: js/ui/status/dwellClick.js:15 msgid "Single Click" msgstr "Nhấp đơn" -#: js/ui/status/dwellClick.js:21 +#: js/ui/status/dwellClick.js:20 msgid "Double Click" msgstr "Nhấn đúp" -#: js/ui/status/dwellClick.js:26 +#: js/ui/status/dwellClick.js:25 msgid "Drag" msgstr "Kéo" -#: js/ui/status/dwellClick.js:31 +#: js/ui/status/dwellClick.js:30 msgid "Secondary Click" msgstr "Nhấn phụ" -#: js/ui/status/dwellClick.js:40 +#: js/ui/status/dwellClick.js:39 msgid "Dwell Click" msgstr "Nhấn giữ" -#: js/ui/status/keyboard.js:849 -msgid "Keyboard" -msgstr "Bàn phím" - -#: js/ui/status/keyboard.js:866 +#: js/ui/status/keyboard.js:870 msgid "Show Keyboard Layout" msgstr "Hiện bố cục của bàn phím" -#: js/ui/status/location.js:335 +#: js/ui/status/location.js:339 msgid "Allow location access" msgstr "Cho phép truy cập vị trí" #. Translators: %s is an application name -#: js/ui/status/location.js:337 +#: js/ui/status/location.js:341 #, javascript-format msgid "The app %s wants to access your location" msgstr "Ứng dụng %s muốn truy cập để biết vị trí của bạn" -#: js/ui/status/location.js:347 +#: js/ui/status/location.js:351 msgid "Location access can be changed at any time from the privacy settings." msgstr "" "Quyền cho phép biết vị trí có thể được tùy chỉnh trong các cài đặt riêng tư." -#: js/ui/status/location.js:355 +#: js/ui/status/location.js:359 msgid "Deny Access" msgstr "Từ chối truy cập" -#: js/ui/status/location.js:360 +#: js/ui/status/location.js:364 msgid "Grant Access" msgstr "Cấp quyền truy cập" -#: js/ui/status/network.js:60 +#: js/ui/status/network.js:61 msgid "" msgstr "" #. Translators: %s is a device name like "MyPhone" -#: js/ui/status/network.js:370 +#: js/ui/status/network.js:365 #, javascript-format msgid "Disconnect %s" msgstr "Ngắt kết nối %s" #. Translators: %s is a device name like "MyPhone" -#: js/ui/status/network.js:372 +#: js/ui/status/network.js:367 #, javascript-format msgid "Connect to %s" msgstr "Kết nối đến %s" -#: js/ui/status/network.js:1053 +#: js/ui/status/network.js:1061 msgid "Secure" msgstr "An toàn" -#: js/ui/status/network.js:1053 +#: js/ui/status/network.js:1061 msgid "Not secure" msgstr "Không an toàn" -#: js/ui/status/network.js:1054 +#: js/ui/status/network.js:1062 #, javascript-format msgid "Signal strength %s%%" msgstr "Độ mạnh tín hiệu %s%%" #. translators: The first placeholder is the network name, the second and indication whether it is secure, and the last the signal strength indication -#: js/ui/status/network.js:1056 +#: js/ui/status/network.js:1064 #, javascript-format msgid "%s, %s, %s" msgstr "%s, %s, %s" #. Translators: %s is a network identifier -#: js/ui/status/network.js:1158 +#: js/ui/status/network.js:1166 #, javascript-format msgid "%s Hotspot" msgstr "Điểm truy cập %s" -#: js/ui/status/network.js:1424 +#: js/ui/status/network.js:1437 #, javascript-format msgid "%d connected" msgid_plural "%d connected" msgstr[0] "%d đã được kết nối" -#: js/ui/status/network.js:1522 js/ui/status/network.js:1538 +#: js/ui/status/network.js:1535 js/ui/status/network.js:1551 msgid "VPN" msgstr "VPN" -#: js/ui/status/network.js:1523 +#: js/ui/status/network.js:1536 msgid "VPN Settings" msgstr "Cài đặt VPN" -#: js/ui/status/network.js:1779 +#: js/ui/status/network.js:1792 msgid "Wi–Fi" msgstr "Wi–Fi" -#: js/ui/status/network.js:1781 +#: js/ui/status/network.js:1794 msgid "All Networks" msgstr "Tất cả các mạng" -#: js/ui/status/network.js:1878 +#: js/ui/status/network.js:1891 msgid "Wired Connections" msgstr "Kết nối có dây" -#: js/ui/status/network.js:1879 +#: js/ui/status/network.js:1892 msgid "Wired Settings" msgstr "Cài đặt có dây" -#: js/ui/status/network.js:1893 +#: js/ui/status/network.js:1906 msgid "Bluetooth Tethers" msgstr "Kết nối mạng qua Bluetooth" #. Translators: "Tether" from "Bluetooth Tether" -#: js/ui/status/network.js:1900 +#: js/ui/status/network.js:1913 msgid "Tether" msgstr "Kết nối mạng" -#: js/ui/status/network.js:1913 +#: js/ui/status/network.js:1926 msgid "Mobile Connections" msgstr "Kết nối di động" -#: js/ui/status/network.js:1915 +#: js/ui/status/network.js:1928 msgid "Mobile Broadband Settings" msgstr "Cài đặt mạng không giây băng thông rộng" #. Translators: "Mobile" from "Mobile Broadband" -#: js/ui/status/network.js:1924 +#: js/ui/status/network.js:1937 msgid "Mobile" msgstr "Di động" -#: js/ui/status/network.js:2032 +#: js/ui/status/network.js:2045 msgid "Connection failed" msgstr "Lỗi kết nối" -#: js/ui/status/network.js:2033 +#: js/ui/status/network.js:2046 msgid "Activation of network connection failed" msgstr "Gặp lỗi khi kích hoạt kết nối mạng" -#: js/ui/status/nightLight.js:22 +#: js/ui/status/nightLight.js:21 msgid "Night Light" msgstr "Ánh sáng đêm" -#: js/ui/status/powerProfiles.js:22 +#: js/ui/status/powerProfiles.js:21 msgctxt "Power profile" msgid "Performance" msgstr "Tăng cường hiệu suất" -#: js/ui/status/powerProfiles.js:27 +#: js/ui/status/powerProfiles.js:26 msgctxt "Power profile" msgid "Balanced" msgstr "Cân bằng" -#: js/ui/status/powerProfiles.js:32 +#: js/ui/status/powerProfiles.js:31 msgctxt "Power profile" msgid "Power Saver" msgstr "Tiết kiệm năng lượng" -#: js/ui/status/powerProfiles.js:42 js/ui/status/powerProfiles.js:72 +#: js/ui/status/powerProfiles.js:41 js/ui/status/powerProfiles.js:71 msgid "Power Mode" msgstr "Chế độ nguồn điện" -#: js/ui/status/powerProfiles.js:74 +#: js/ui/status/powerProfiles.js:73 msgid "Power Settings" msgstr "Cài đặt nguồn điện" -#: js/ui/status/remoteAccess.js:77 +#: js/ui/status/remoteAccess.js:76 msgid "Stop Screencast" msgstr "Dừng quay phim màn hình" -#: js/ui/status/remoteAccess.js:147 +#: js/ui/status/remoteAccess.js:146 msgid "Stop Screen Sharing" msgstr "Dừng quay phim màn hình" -#: js/ui/status/rfkill.js:98 +#: js/ui/status/rfkill.js:101 msgid "Airplane Mode" msgstr "Chế độ máy bay" -#: js/ui/status/system.js:98 -#, javascript-format -msgid "%d %%" -msgstr "%d %%" - #: js/ui/status/system.js:170 msgid "Power Off Menu" msgstr "Trình đơn Tắt máy" @@ -2200,15 +2224,15 @@ msgid "Lock Screen" msgstr "Khóa màn hình" -#: js/ui/status/thunderbolt.js:260 +#: js/ui/status/thunderbolt.js:259 msgid "Thunderbolt" msgstr "Thunderbolt" -#: js/ui/status/thunderbolt.js:321 +#: js/ui/status/thunderbolt.js:320 msgid "Unknown Thunderbolt device" msgstr "Thiết bị Thunderbolt chưa biết" -#: js/ui/status/thunderbolt.js:322 +#: js/ui/status/thunderbolt.js:321 msgid "" "New device has been detected while you were away. Please disconnect and " "reconnect the device to start using it." @@ -2216,20 +2240,20 @@ "Thiết bi mới đã được tìm thấy trong khi bạn rời đi. Vui lòng ngắt kết nối và " "kết nối lại thiết bị để có thể sử dụng." -#: js/ui/status/thunderbolt.js:325 +#: js/ui/status/thunderbolt.js:324 msgid "Unauthorized Thunderbolt device" msgstr "Thiết bị Thunderbolt không đủ thẩm quyền" -#: js/ui/status/thunderbolt.js:326 +#: js/ui/status/thunderbolt.js:325 msgid "" "New device has been detected and needs to be authorized by an administrator." msgstr "Đã dò tìm thấy thiết bị mới và cần được cho phép bởi người quản trị." -#: js/ui/status/thunderbolt.js:332 +#: js/ui/status/thunderbolt.js:331 msgid "Thunderbolt authorization error" msgstr "Lỗi xác thực Thunderbolt" -#: js/ui/status/thunderbolt.js:333 +#: js/ui/status/thunderbolt.js:332 #, javascript-format msgid "Could not authorize the Thunderbolt device: %s" msgstr "Không thể cho phép thiết bị Thunderbolt: %s" @@ -2261,50 +2285,50 @@ #. Translators: this is for display mirroring i.e. cloning. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:23 +#: js/ui/switchMonitor.js:22 msgid "Mirror" msgstr "Giống nhau" #. Translators: this is for the desktop spanning displays. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:32 +#: js/ui/switchMonitor.js:31 msgid "Join Displays" msgstr "Ghép màn hình" #. Translators: this is for using only an external display. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:42 +#: js/ui/switchMonitor.js:41 msgid "External Only" msgstr "Chỉ bên ngoài" #. Translators: this is for using only the laptop display. #. * Try to keep it under around 15 characters. #. -#: js/ui/switchMonitor.js:50 +#: js/ui/switchMonitor.js:49 msgid "Built-in Only" msgstr "Chỉ tích-hợp" #. Translators: This is a time format for a date in #. long format -#: js/ui/unlockDialog.js:369 +#: js/ui/unlockDialog.js:368 msgid "%A %B %-d" msgstr "%A, %-d %B" -#: js/ui/unlockDialog.js:375 +#: js/ui/unlockDialog.js:374 msgid "Swipe up to unlock" msgstr "Vuốt lên trên để mở khóa" -#: js/ui/unlockDialog.js:376 +#: js/ui/unlockDialog.js:375 msgid "Click or press a key to unlock" msgstr "Bấm chuột hay nhấn một phím để mở khóa" -#: js/ui/unlockDialog.js:559 +#: js/ui/unlockDialog.js:558 msgid "Unlock Window" msgstr "Bỏ khóa cửa sổ" -#: js/ui/unlockDialog.js:568 +#: js/ui/unlockDialog.js:567 msgid "Log in as another user" msgstr "Đăng nhập dưới dạng người dùng khác" @@ -2325,7 +2349,7 @@ msgid "Take Tour" msgstr "Tham quan" -#: js/ui/windowAttentionHandler.js:21 +#: js/ui/windowAttentionHandler.js:20 #, javascript-format msgid "“%s” is ready" msgstr "“%s” đã sẵn sàng" @@ -2351,98 +2375,98 @@ #. 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:550 +#: js/ui/windowManager.js:496 #, javascript-format msgid "%d × %d" msgstr "%d × %d" -#: js/ui/windowMenu.js:43 +#: js/ui/windowMenu.js:42 msgid "Hide" msgstr "Ẩn" -#: js/ui/windowMenu.js:50 +#: js/ui/windowMenu.js:49 msgid "Restore" msgstr "Khôi phục" -#: js/ui/windowMenu.js:54 +#: js/ui/windowMenu.js:53 msgid "Maximize" msgstr "Phóng to hết cỡ" -#: js/ui/windowMenu.js:61 +#: js/ui/windowMenu.js:60 msgid "Move" msgstr "Di chuyển" -#: js/ui/windowMenu.js:80 +#: js/ui/windowMenu.js:79 msgid "Resize" msgstr "Đổi cỡ" -#: js/ui/windowMenu.js:100 +#: js/ui/windowMenu.js:99 msgid "Move Titlebar Onscreen" msgstr "Di chuyển thanh tiêu đề trên màn hình" -#: js/ui/windowMenu.js:105 +#: js/ui/windowMenu.js:104 msgid "Always on Top" msgstr "Luôn ở trên cùng" # Không gian làm việc nào đang được kích hoạt thì ở trên đó. Khi chuyển không gian làm việc, nó sẽ chuyển theo. -#: js/ui/windowMenu.js:124 +#: js/ui/windowMenu.js:123 msgid "Always on Visible Workspace" msgstr "Luôn trên không gian làm việc nhìn thấy" # Chuyển cửa sổ sang không gian làm việc hay màn hình khác -#: js/ui/windowMenu.js:138 +#: js/ui/windowMenu.js:137 msgid "Move to Workspace Left" msgstr "Chuyển sang không gian làm việc Trái" -#: js/ui/windowMenu.js:144 +#: js/ui/windowMenu.js:143 msgid "Move to Workspace Right" msgstr "Chuyển sang không gian làm việc Phải" -#: js/ui/windowMenu.js:150 +#: js/ui/windowMenu.js:149 msgid "Move to Workspace Up" msgstr "Chuyển sang không gian làm việc Trên" -#: js/ui/windowMenu.js:156 +#: js/ui/windowMenu.js:155 msgid "Move to Workspace Down" msgstr "Chuyển sang không gian làm việc Dưới" -#: js/ui/windowMenu.js:174 +#: js/ui/windowMenu.js:173 msgid "Move to Monitor Up" msgstr "Chuyển sang màn hình Trên" -#: js/ui/windowMenu.js:183 +#: js/ui/windowMenu.js:182 msgid "Move to Monitor Down" msgstr "Chuyển sang màn hình Dưới" -#: js/ui/windowMenu.js:192 +#: js/ui/windowMenu.js:191 msgid "Move to Monitor Left" msgstr "Chuyển sang màn hình Trái" -#: js/ui/windowMenu.js:201 +#: js/ui/windowMenu.js:200 msgid "Move to Monitor Right" msgstr "Chuyển sang màn hình Phải" -#: js/ui/windowMenu.js:209 +#: js/ui/windowMenu.js:208 msgid "Close" msgstr "Đóng" -#: src/main.c:509 subprojects/extensions-tool/src/main.c:325 +#: src/main.c:529 subprojects/extensions-tool/src/main.c:325 msgid "Print version" msgstr "Hiển thị phiên bản" -#: src/main.c:515 +#: src/main.c:535 msgid "Mode used by GDM for login screen" msgstr "Chế độ được dùng bởi GDM cho màn hình đăng nhập" -#: src/main.c:521 +#: src/main.c:541 msgid "Use a specific mode, e.g. “gdm” for login screen" msgstr "Dùng chế độ đặc biệt, ví dụ “gdm” cho màn hình đăng nhập" -#: src/main.c:527 +#: src/main.c:547 msgid "List possible modes" msgstr "Danh sách chế độ có thể" -#: src/main.c:533 +#: src/main.c:553 msgid "Force animations to be enabled" msgstr "Luôn bật hoạt hình" @@ -2451,7 +2475,7 @@ msgid "Unknown" msgstr "Chưa biết" -#: src/shell-app.c:556 +#: src/shell-app.c:555 #, c-format msgid "Failed to launch “%s”" msgstr "Gặp lỗi khi khởi chạy “%s”" @@ -2477,14 +2501,6 @@ msgid "Failed to load icon" msgstr "Gặp lỗi khi tải biểu tượng" -#: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:5 -#: subprojects/extensions-app/data/org.gnome.Extensions.desktop.in.in:4 -#: subprojects/extensions-app/js/main.js:218 -#: subprojects/extensions-app/data/ui/extensions-window.ui:18 -#: subprojects/extensions-app/data/ui/extensions-window.ui:82 -msgid "Extensions" -msgstr "Phần mở rộng" - #: subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in:6 msgid "Manage your GNOME Extensions" msgstr "Quản lý các phần mở rộng GNOME của bạn" @@ -2609,12 +2625,12 @@ msgstr "Bản cập nhật tiện ích mở rộng đã sẵn sàng" #. Translators: a file path to an extension directory -#: subprojects/extensions-tool/src/command-create.c:222 +#: subprojects/extensions-tool/src/command-create.c:284 #, c-format msgid "The new extension was successfully created in %s.\n" msgstr "Phần mở rộng mới đã được tạo thành công trong %s.\n" -#: subprojects/extensions-tool/src/command-create.c:296 +#: subprojects/extensions-tool/src/command-create.c:376 #, c-format msgid "" "Name should be a very short (ideally descriptive) string.\n" @@ -2623,12 +2639,12 @@ "Tên phải là một chuỗi rất ngắn (mô tả lý tưởng).\n" "Ví dụ như: %s" -#: subprojects/extensions-tool/src/command-create.c:302 +#: subprojects/extensions-tool/src/command-create.c:382 #: subprojects/extensions-tool/src/main.c:242 msgid "Name" msgstr "Tên" -#: subprojects/extensions-tool/src/command-create.c:316 +#: subprojects/extensions-tool/src/command-create.c:396 #, c-format msgid "" "Description is a single-sentence explanation of what your extension does.\n" @@ -2637,12 +2653,12 @@ "Phần mô tả bao gồm một câu giải thích về những gì phần mở rộng của bạn làm.\n" "Ví dụ như: %s" -#: subprojects/extensions-tool/src/command-create.c:322 +#: subprojects/extensions-tool/src/command-create.c:402 #: subprojects/extensions-tool/src/main.c:245 msgid "Description" msgstr "Mô tả" -#: subprojects/extensions-tool/src/command-create.c:336 +#: subprojects/extensions-tool/src/command-create.c:416 msgid "" "UUID is a globally-unique identifier for your extension.\n" "This should be in the format of an email address (clicktofocus@janedoe." @@ -2652,56 +2668,78 @@ "Cái này phải ở định dạng của một địa chỉ thư điện tử (clicktofocus@janedoe." "example.com)\n" -#: subprojects/extensions-tool/src/command-create.c:363 +#: subprojects/extensions-tool/src/command-create.c:443 msgid "Choose one of the available templates:\n" msgstr "Chọn một trong các mẫu có sẵn:\n" -#: subprojects/extensions-tool/src/command-create.c:377 +#: subprojects/extensions-tool/src/command-create.c:457 msgid "Template" msgstr "Mẫu" -#: subprojects/extensions-tool/src/command-create.c:432 +#: subprojects/extensions-tool/src/command-create.c:515 msgid "The unique identifier of the new extension" msgstr "Mã định danh duy nhất của tiện ích mở rộng mới" -#: subprojects/extensions-tool/src/command-create.c:435 +#: subprojects/extensions-tool/src/command-create.c:518 msgid "NAME" msgstr "TÊN" -#: subprojects/extensions-tool/src/command-create.c:436 +#: subprojects/extensions-tool/src/command-create.c:519 msgid "The user-visible name of the new extension" msgstr "Tên hiển thị của người dùng của tiện ích mở rộng mới" -#: subprojects/extensions-tool/src/command-create.c:438 +#: subprojects/extensions-tool/src/command-create.c:521 msgid "DESCRIPTION" msgstr "MÔ_TẢ" -#: subprojects/extensions-tool/src/command-create.c:440 +#: subprojects/extensions-tool/src/command-create.c:523 msgid "A short description of what the extension does" msgstr "Mô tả ngắn về những gì tiện ích mở rộng làm" -#: subprojects/extensions-tool/src/command-create.c:443 +#: subprojects/extensions-tool/src/command-create.c:525 +#: subprojects/extensions-tool/src/command-pack.c:467 +msgid "DOMAIN" +msgstr "MIỀN" + +#: subprojects/extensions-tool/src/command-create.c:527 +msgid "The gettext domain used by the extension" +msgstr "Miền gettext để sử dụng cho phần mở rộng" + +#: subprojects/extensions-tool/src/command-create.c:529 +#: subprojects/extensions-tool/src/command-pack.c:460 +msgid "SCHEMA" +msgstr "LƯỢC_ĐỒ" + +#: subprojects/extensions-tool/src/command-create.c:531 +msgid "The GSettings schema used by the extension" +msgstr "Lược đồ GSetting sử dụng bởi tiện ích mở rộng" + +#: subprojects/extensions-tool/src/command-create.c:534 msgid "TEMPLATE" msgstr "MẪU" -#: subprojects/extensions-tool/src/command-create.c:444 +#: subprojects/extensions-tool/src/command-create.c:535 msgid "The template to use for the new extension" msgstr "Mẫu để sử dụng cho tạo tiện ích mở rộng mới" -#: subprojects/extensions-tool/src/command-create.c:450 +#: subprojects/extensions-tool/src/command-create.c:538 +msgid "Include prefs.js template" +msgstr "Bao gồm mẫu prefs.js" + +#: subprojects/extensions-tool/src/command-create.c:544 msgid "Enter extension information interactively" msgstr "Nhập thông tin tiện ích mở rộng bằng tương tác" -#: subprojects/extensions-tool/src/command-create.c:458 +#: subprojects/extensions-tool/src/command-create.c:552 msgid "Create a new extension" msgstr "Tạo phần mở rộng mới" -#: subprojects/extensions-tool/src/command-create.c:476 +#: subprojects/extensions-tool/src/command-create.c:570 #: subprojects/extensions-tool/src/command-list.c:172 msgid "Unknown arguments" msgstr "Chưa biết tham số" -#: subprojects/extensions-tool/src/command-create.c:501 +#: subprojects/extensions-tool/src/command-create.c:595 msgid "UUID, name and description are required" msgstr "Bắt buộc có UUID, tên và mô tả" @@ -2813,10 +2851,6 @@ msgid "Additional source to include in the bundle" msgstr "Nguồn bổ sung để bao gồm vào gói" -#: subprojects/extensions-tool/src/command-pack.c:460 -msgid "SCHEMA" -msgstr "LƯỢC_ĐỒ" - #: subprojects/extensions-tool/src/command-pack.c:461 msgid "A GSettings schema that should be included" msgstr "Nên bao gồm một lược đồ GSettings" @@ -2830,10 +2864,6 @@ msgid "The directory where translations are found" msgstr "Thư mục nơi tìm thấy bản dịch" -#: subprojects/extensions-tool/src/command-pack.c:467 -msgid "DOMAIN" -msgstr "MIỀN" - #: subprojects/extensions-tool/src/command-pack.c:469 msgid "The gettext domain to use for translations" msgstr "Miền gettext để sử dụng cho bản dịch" @@ -2991,7 +3021,7 @@ #: subprojects/extensions-tool/src/templates/00-plain.desktop.in:4 msgid "Plain" -msgstr "Thường" +msgstr "Đơn giản" #: subprojects/extensions-tool/src/templates/00-plain.desktop.in:5 msgid "An empty extension" @@ -3005,6 +3035,14 @@ msgid "Add an icon to the top bar" msgstr "Thêm một biểu tượng vào thanh đỉnh" +#: subprojects/extensions-tool/src/templates/quick-settings.desktop.in:4 +msgid "Quick Settings Item" +msgstr "Mục Cài đặt nhanh" + +#: subprojects/extensions-tool/src/templates/quick-settings.desktop.in:5 +msgid "Add an item to quick settings" +msgstr "Thêm một mục vào cài đặt nhanh" + #. translators: #. * The number of sound outputs on a particular device #: subprojects/gvc/gvc-mixer-control.c:1915 @@ -3025,6 +3063,10 @@ msgid "System Sounds" msgstr "Âm thanh hệ thống" +#, javascript-format +#~ msgid "%d %%" +#~ msgstr "%d %%" + #~ msgid "" #~ "Whether the default Bluetooth adapter had set up devices associated to it" #~ msgstr "" @@ -3085,9 +3127,6 @@ #~ msgid "Bluetooth Off" #~ msgstr "Bluetooth tắt" -#~ msgid "Privacy Settings" -#~ msgstr "Cài đặt chính sách riêng tư" - #~ msgid "Location In Use" #~ msgstr "Vị trí đang dùng" @@ -3358,9 +3397,6 @@ #~ msgid_plural "%d new notifications" #~ msgstr[0] "%d thông báo mới" -#~ msgid "Off" -#~ msgstr "Tắt" - #~ msgid "On" #~ msgstr "Bật" diff -Nru gnome-shell-45.1/src/main.c gnome-shell-45.2/src/main.c --- gnome-shell-45.1/src/main.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/src/main.c 2023-12-01 19:43:51.000000000 +0000 @@ -618,6 +618,12 @@ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8"); textdomain (GETTEXT_PACKAGE); + /* FIXME: Add gjs API to set this stuff and don't depend on the + * environment. These propagate to child processes. + */ + g_setenv ("GJS_DEBUG_OUTPUT", "stderr", TRUE); + g_setenv ("GJS_DEBUG_TOPICS", "JS ERROR;JS LOG", TRUE); + context = meta_create_context (WM_NAME); meta_context_add_option_entries (context, gnome_shell_options, GETTEXT_PACKAGE); @@ -641,12 +647,6 @@ if (session_mode == NULL) session_mode = is_gdm_mode ? (char *)"gdm" : (char *)"user"; - /* FIXME: Add gjs API to set this stuff and don't depend on the - * environment. These propagate to child processes. - */ - g_setenv ("GJS_DEBUG_OUTPUT", "stderr", TRUE); - g_setenv ("GJS_DEBUG_TOPICS", "JS ERROR;JS LOG", TRUE); - dump_gjs_stack_on_signal (SIGABRT); dump_gjs_stack_on_signal (SIGFPE); dump_gjs_stack_on_signal (SIGIOT); diff -Nru gnome-shell-45.1/src/st/st-adjustment.c gnome-shell-45.2/src/st/st-adjustment.c --- gnome-shell-45.1/src/st/st-adjustment.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/src/st/st-adjustment.c 2023-12-01 19:43:51.000000000 +0000 @@ -283,6 +283,34 @@ } static void +st_adjustment_dispatch_properties_changed (GObject *object, + guint n_pspecs, + GParamSpec **pspecs) +{ + gboolean changed = FALSE; + gint i; + + G_OBJECT_CLASS (st_adjustment_parent_class)->dispatch_properties_changed (object, n_pspecs, pspecs); + + for (i = 0; i < n_pspecs; i++) + switch (pspecs[i]->param_id) + { + case PROP_LOWER: + case PROP_UPPER: + case PROP_STEP_INC: + case PROP_PAGE_INC: + case PROP_PAGE_SIZE: + changed = TRUE; + break; + default: + break; + } + + if (changed) + g_signal_emit (object, signals[CHANGED], 0); +} + +static void st_adjustment_class_init (StAdjustmentClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); @@ -291,6 +319,7 @@ object_class->get_property = st_adjustment_get_property; object_class->set_property = st_adjustment_set_property; object_class->dispose = st_adjustment_dispose; + object_class->dispatch_properties_changed = st_adjustment_dispatch_properties_changed; /** * StAdjustment:actor: @@ -544,11 +573,11 @@ * When setting multiple adjustment properties via their individual * setters, multiple #GObject::notify and #StAdjustment::changed * signals will be emitted. However, it’s possible to compress the - * #GObject::notify signals into one by calling - * g_object_freeze_notify() and g_object_thaw_notify() around the + * #GObject::notify and #StAdjustment::changed signals into one of each + * by calling g_object_freeze_notify() and g_object_thaw_notify() around the * calls to the individual setters. * - * Alternatively, using st_adjustment_set_values() will compress both + * Alternatively, st_adjustment_set_values() can be used to compress * #GObject::notify and #StAdjustment::changed emissions. */ static gboolean @@ -561,8 +590,6 @@ { priv->lower = lower; - g_signal_emit (adjustment, signals[CHANGED], 0); - g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_LOWER]); /* Defer clamp until after construction. */ @@ -600,8 +627,6 @@ { priv->upper = upper; - g_signal_emit (adjustment, signals[CHANGED], 0); - g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_UPPER]); /* Defer clamp until after construction. */ @@ -636,8 +661,6 @@ { priv->step_increment = step; - g_signal_emit (adjustment, signals[CHANGED], 0); - g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_STEP_INC]); return TRUE; @@ -668,8 +691,6 @@ { priv->page_increment = page; - g_signal_emit (adjustment, signals[CHANGED], 0); - g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_PAGE_INC]); return TRUE; @@ -700,8 +721,6 @@ { priv->page_size = size; - g_signal_emit (adjustment, signals[CHANGED], 0); - g_object_notify_by_pspec (G_OBJECT (adjustment), props[PROP_PAGE_SIZE]); /* We'll explicitly clamp after construction. */ @@ -728,8 +747,8 @@ * * Use this function to avoid multiple emissions of the #GObject::notify and * #StAdjustment::changed signals. See st_adjustment_set_lower() for an - * alternative way of compressing multiple emissions of #GObject::notify into - * one. + * alternative way of compressing multiple emissions of #GObject::notify and + * #StAdjustmet::changed into one of each. */ void st_adjustment_set_values (StAdjustment *adjustment, @@ -740,34 +759,19 @@ gdouble page_increment, gdouble page_size) { - StAdjustmentPrivate *priv; - gboolean emit_changed = FALSE; - g_return_if_fail (ST_IS_ADJUSTMENT (adjustment)); g_return_if_fail (page_size >= 0 && page_size <= G_MAXDOUBLE); g_return_if_fail (step_increment >= 0 && step_increment <= G_MAXDOUBLE); g_return_if_fail (page_increment >= 0 && page_increment <= G_MAXDOUBLE); - priv = st_adjustment_get_instance_private (adjustment); - - emit_changed = FALSE; - g_object_freeze_notify (G_OBJECT (adjustment)); - emit_changed |= st_adjustment_set_lower (adjustment, lower); - emit_changed |= st_adjustment_set_upper (adjustment, upper); - emit_changed |= st_adjustment_set_step_increment (adjustment, step_increment); - emit_changed |= st_adjustment_set_page_increment (adjustment, page_increment); - emit_changed |= st_adjustment_set_page_size (adjustment, page_size); - - if (value != priv->value) - { - st_adjustment_set_value (adjustment, value); - emit_changed = TRUE; - } - - if (emit_changed) - g_signal_emit (G_OBJECT (adjustment), signals[CHANGED], 0); + st_adjustment_set_lower (adjustment, lower); + st_adjustment_set_upper (adjustment, upper); + st_adjustment_set_step_increment (adjustment, step_increment); + st_adjustment_set_page_increment (adjustment, page_increment); + st_adjustment_set_page_size (adjustment, page_size); + st_adjustment_set_value (adjustment, value); g_object_thaw_notify (G_OBJECT (adjustment)); } diff -Nru gnome-shell-45.1/src/st/st-scroll-view.c gnome-shell-45.2/src/st/st-scroll-view.c --- gnome-shell-45.1/src/st/st-scroll-view.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/src/st/st-scroll-view.c 2023-12-01 19:43:51.000000000 +0000 @@ -272,39 +272,6 @@ G_OBJECT_CLASS (st_scroll_view_parent_class)->dispose (object); } -static void -st_scroll_view_paint (ClutterActor *actor, - ClutterPaintContext *paint_context) -{ - StScrollViewPrivate *priv = ST_SCROLL_VIEW (actor)->priv; - - st_widget_paint_background (ST_WIDGET (actor), paint_context); - - if (priv->child) - clutter_actor_paint (priv->child, paint_context); - if (priv->hscrollbar_visible) - clutter_actor_paint (priv->hscroll, paint_context); - if (priv->vscrollbar_visible) - clutter_actor_paint (priv->vscroll, paint_context); -} - -static void -st_scroll_view_pick (ClutterActor *actor, - ClutterPickContext *pick_context) -{ - StScrollViewPrivate *priv = ST_SCROLL_VIEW (actor)->priv; - - /* Chain up so we get a bounding box pained (if we are reactive) */ - CLUTTER_ACTOR_CLASS (st_scroll_view_parent_class)->pick (actor, pick_context); - - if (priv->child) - clutter_actor_pick (priv->child, pick_context); - if (priv->hscrollbar_visible) - clutter_actor_pick (priv->hscroll, pick_context); - if (priv->vscrollbar_visible) - clutter_actor_pick (priv->vscroll, pick_context); -} - static gboolean st_scroll_view_get_paint_volume (ClutterActor *actor, ClutterPaintVolume *volume) @@ -624,50 +591,61 @@ */ /* Vertical scrollbar */ - if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) + if (vscrollbar_visible) { - child_box.x1 = content_box.x1; - child_box.x2 = content_box.x1 + sb_width; + if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) + { + child_box.x1 = content_box.x1; + child_box.x2 = content_box.x1 + sb_width; + } + else + { + child_box.x1 = content_box.x2 - sb_width; + child_box.x2 = content_box.x2; + } + child_box.y1 = content_box.y1; + child_box.y2 = content_box.y2 - (hscrollbar_visible ? sb_height : 0); + + clutter_actor_allocate (priv->vscroll, &child_box); } else { - child_box.x1 = content_box.x2 - sb_width; - child_box.x2 = content_box.x2; + ClutterActorBox empty_box = { 0, }; + clutter_actor_allocate (priv->vscroll, &empty_box); } - child_box.y1 = content_box.y1; - child_box.y2 = content_box.y2 - (hscrollbar_visible ? sb_height : 0); - - clutter_actor_allocate (priv->vscroll, &child_box); /* Horizontal scrollbar */ - if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) + if (hscrollbar_visible) { - child_box.x1 = content_box.x1 + (vscrollbar_visible ? sb_width : 0); - child_box.x2 = content_box.x2; + if (clutter_actor_get_text_direction (actor) == CLUTTER_TEXT_DIRECTION_RTL) + { + child_box.x1 = content_box.x1 + (vscrollbar_visible ? sb_width : 0); + child_box.x2 = content_box.x2; + } + else + { + child_box.x1 = content_box.x1; + child_box.x2 = content_box.x2 - (vscrollbar_visible ? sb_width : 0); + } + child_box.y1 = content_box.y2 - sb_height; + child_box.y2 = content_box.y2; + + clutter_actor_allocate (priv->hscroll, &child_box); } else { - child_box.x1 = content_box.x1; - child_box.x2 = content_box.x2 - (vscrollbar_visible ? sb_width : 0); + ClutterActorBox empty_box = { 0, }; + clutter_actor_allocate (priv->hscroll, &empty_box); } - child_box.y1 = content_box.y2 - sb_height; - child_box.y2 = content_box.y2; - - clutter_actor_allocate (priv->hscroll, &child_box); - /* In case the scrollbar policy is NEVER or EXTERNAL or scrollbars - * should be overlaid, we don't trim the content box allocation by - * the scrollbar size. + /* In case the scrollbar is hidden or scrollbars should be overlaid, + * we don't trim the content box allocation by the scrollbar size. * Fold this into the scrollbar sizes to simplify the rest of the * computations. */ - if (priv->hscrollbar_policy == ST_POLICY_NEVER || - priv->hscrollbar_policy == ST_POLICY_EXTERNAL || - priv->overlay_scrollbars) + if (!hscrollbar_visible || priv->overlay_scrollbars) sb_height = 0; - if (priv->vscrollbar_policy == ST_POLICY_NEVER || - priv->vscrollbar_policy == ST_POLICY_EXTERNAL || - priv->overlay_scrollbars) + if (!vscrollbar_visible || priv->overlay_scrollbars) sb_width = 0; /* Child */ @@ -829,8 +807,6 @@ object_class->set_property = st_scroll_view_set_property; object_class->dispose = st_scroll_view_dispose; - actor_class->paint = st_scroll_view_paint; - actor_class->pick = st_scroll_view_pick; actor_class->get_paint_volume = st_scroll_view_get_paint_volume; actor_class->get_preferred_width = st_scroll_view_get_preferred_width; actor_class->get_preferred_height = st_scroll_view_get_preferred_height; diff -Nru gnome-shell-45.1/src/st/st-texture-cache.c gnome-shell-45.2/src/st/st-texture-cache.c --- gnome-shell-45.1/src/st/st-texture-cache.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/src/st/st-texture-cache.c 2023-12-01 19:43:51.000000000 +0000 @@ -1381,7 +1381,7 @@ GdkPixbuf *pix; gint width, height, y, x; gint scale_factor; - GdkPixbufLoader *loader; + GdkPixbufLoader *loader = NULL; GError *error = NULL; gchar *buffer = NULL; gsize length; @@ -1391,15 +1391,15 @@ data = task_data; g_assert (data); - loader = gdk_pixbuf_loader_new (); - g_signal_connect (loader, "size-prepared", G_CALLBACK (on_loader_size_prepared), data); - if (!g_file_load_contents (data->gfile, cancellable, &buffer, &length, NULL, &error)) { g_warning ("Failed to open sliced image: %s", error->message); goto out; } + loader = gdk_pixbuf_loader_new (); + g_signal_connect (loader, "size-prepared", G_CALLBACK (on_loader_size_prepared), data); + if (!gdk_pixbuf_loader_write (loader, (const guchar *) buffer, length, &error)) { g_warning ("Failed to load image: %s", error->message); @@ -1428,7 +1428,7 @@ out: /* We don't need the original pixbuf anymore, which is owned by the loader, * though the subpixbufs will hold a reference. */ - g_object_unref (loader); + g_clear_object (&loader); g_free (buffer); g_clear_pointer (&error, g_error_free); g_task_return_pointer (result, res, free_glist_unref_gobjects); diff -Nru gnome-shell-45.1/src/st/st-viewport.c gnome-shell-45.2/src/st/st-viewport.c --- gnome-shell-45.1/src/st/st-viewport.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/src/st/st-viewport.c 2023-12-01 19:43:51.000000000 +0000 @@ -310,32 +310,30 @@ { double prev_value; - g_object_set (G_OBJECT (priv->vadjustment), - "lower", 0.0, - "upper", MAX (min_height, avail_height), - "page-size", avail_height, - "step-increment", avail_height / 6, - "page-increment", avail_height - avail_height / 6, - NULL); - prev_value = st_adjustment_get_value (priv->vadjustment); - st_adjustment_set_value (priv->vadjustment, prev_value); + + st_adjustment_set_values (priv->vadjustment, + prev_value, + 0.0, + MAX (min_height, avail_height), + avail_height / 6, + avail_height - avail_height / 6, + avail_height); } if (priv->hadjustment) { double prev_value; - g_object_set (G_OBJECT (priv->hadjustment), - "lower", 0.0, - "upper", MAX (min_width, avail_width), - "page-size", avail_width, - "step-increment", avail_width / 6, - "page-increment", avail_width - avail_width / 6, - NULL); - prev_value = st_adjustment_get_value (priv->hadjustment); - st_adjustment_set_value (priv->hadjustment, prev_value); + + st_adjustment_set_values (priv->hadjustment, + prev_value, + 0.0, + MAX (min_width, avail_width), + avail_width / 6, + avail_width - avail_width / 6, + avail_width); } } diff -Nru gnome-shell-45.1/subprojects/extensions-app/data/dbus-interfaces/org.gnome.Shell.Extensions.xml gnome-shell-45.2/subprojects/extensions-app/data/dbus-interfaces/org.gnome.Shell.Extensions.xml --- gnome-shell-45.1/subprojects/extensions-app/data/dbus-interfaces/org.gnome.Shell.Extensions.xml 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-app/data/dbus-interfaces/org.gnome.Shell.Extensions.xml 2023-12-01 19:43:51.000000000 +0000 @@ -108,6 +108,11 @@ + version-name s + The extension version name + + + url s The URL to the extension homepage or repository diff -Nru gnome-shell-45.1/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in gnome-shell-45.2/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in --- gnome-shell-45.1/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-app/data/metainfo/org.gnome.Extensions.metainfo.xml.in 2023-12-01 19:43:51.000000000 +0000 @@ -39,6 +39,9 @@ + +

Support version-name field

+

Modernize layout

diff -Nru gnome-shell-45.1/subprojects/extensions-app/js/main.js gnome-shell-45.2/subprojects/extensions-app/js/main.js --- gnome-shell-45.1/subprojects/extensions-app/js/main.js 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-app/js/main.js 2023-12-01 19:43:51.000000000 +0000 @@ -476,7 +476,7 @@ } get version() { - return this._extension.metadata.version || ''; + return this._extension.metadata['version-name'] || this._extension.metadata.version || ''; } get error() { diff -Nru gnome-shell-45.1/subprojects/extensions-app/meson.build gnome-shell-45.2/subprojects/extensions-app/meson.build --- gnome-shell-45.1/subprojects/extensions-app/meson.build 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-app/meson.build 2023-12-01 19:43:51.000000000 +0000 @@ -1,5 +1,5 @@ project('gnome-extensions-app', - version: '45.1', + version: '45.2', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-45.1/subprojects/extensions-app/subprojects/shew/meson.build gnome-shell-45.2/subprojects/extensions-app/subprojects/shew/meson.build --- gnome-shell-45.1/subprojects/extensions-app/subprojects/shew/meson.build 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-app/subprojects/shew/meson.build 2023-12-01 19:43:51.000000000 +0000 @@ -1,5 +1,5 @@ project('shew', 'c', - version: '45.1', + version: '45.2', meson_version: '>= 0.58.0', license: 'LGPLv2+', ) diff -Nru gnome-shell-45.1/subprojects/extensions-tool/meson.build gnome-shell-45.2/subprojects/extensions-tool/meson.build --- gnome-shell-45.1/subprojects/extensions-tool/meson.build 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-tool/meson.build 2023-12-01 19:43:51.000000000 +0000 @@ -1,5 +1,5 @@ project('gnome-extensions-tool', 'c', - version: '45.1', + version: '45.2', meson_version: '>= 0.58.0', license: 'GPLv2+' ) diff -Nru gnome-shell-45.1/subprojects/extensions-tool/src/main.c gnome-shell-45.2/subprojects/extensions-tool/src/main.c --- gnome-shell-45.1/subprojects/extensions-tool/src/main.c 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/extensions-tool/src/main.c 2023-12-01 19:43:51.000000000 +0000 @@ -229,8 +229,9 @@ print_extension_info (GVariantDict *info, DisplayFormat format) { - const char *uuid, *name, *desc, *path, *url, *author; + const char *uuid, *name, *desc, *path, *url, *author, *version_name; double state, version; + gboolean has_version, has_version_name; g_variant_dict_lookup (info, "uuid", "&s", &uuid); g_print ("%s\n", uuid); @@ -253,7 +254,14 @@ if (g_variant_dict_lookup (info, "original-author", "&s", &author)) g_print (" %s: %s\n", _("Original author"), author); - if (g_variant_dict_lookup (info, "version", "d", &version)) + has_version = g_variant_dict_lookup (info, "version", "d", &version); + has_version_name = g_variant_dict_lookup (info, "version-name", "&s", &version_name); + + if (has_version_name && has_version) + g_print (" %s: %s (%.0f)\n", _("Version"), version_name, version); + else if (has_version_name) + g_print (" %s: %s\n", _("Version"), version_name); + else if (has_version) g_print (" %s: %.0f\n", _("Version"), version); g_variant_dict_lookup (info, "state", "d", &state); diff -Nru gnome-shell-45.1/subprojects/shew/meson.build gnome-shell-45.2/subprojects/shew/meson.build --- gnome-shell-45.1/subprojects/shew/meson.build 2023-10-31 23:18:29.000000000 +0000 +++ gnome-shell-45.2/subprojects/shew/meson.build 2023-12-01 19:43:51.000000000 +0000 @@ -1,5 +1,5 @@ project('shew', 'c', - version: '45.1', + version: '45.2', meson_version: '>= 0.58.0', license: 'LGPLv2+', )