Compare commits
54 Commits
3.13.2
...
wip/notif-
Author | SHA1 | Date | |
---|---|---|---|
![]() |
50395cded8 | ||
![]() |
e8ae8f75a0 | ||
![]() |
2b93bcf921 | ||
![]() |
a80b8f7791 | ||
![]() |
62c6563a3a | ||
![]() |
c22068d288 | ||
![]() |
d519a0a181 | ||
![]() |
ef1ab043a3 | ||
![]() |
fa350bf41e | ||
![]() |
ae74dbd1bb | ||
![]() |
afa5a871b3 | ||
![]() |
e13c0ca9e8 | ||
![]() |
f29d1beb3e | ||
![]() |
751a1b5bbe | ||
![]() |
00a32f53f5 | ||
![]() |
94688d354f | ||
![]() |
7f17acd0ea | ||
![]() |
8c74a4fee0 | ||
![]() |
234b90ac86 | ||
![]() |
ce46b06f36 | ||
![]() |
585930123d | ||
![]() |
5d00c1a5ee | ||
![]() |
f288c43e6e | ||
![]() |
b981a591c7 | ||
![]() |
3b7756b610 | ||
![]() |
292f87caf7 | ||
![]() |
ae2751a68b | ||
![]() |
589becbc79 | ||
![]() |
4c7fcf272c | ||
![]() |
e51aecee03 | ||
![]() |
d98e7dbd4a | ||
![]() |
1b97778925 | ||
![]() |
829e7623df | ||
![]() |
89675c9061 | ||
![]() |
f9df83802d | ||
![]() |
e51eb723fc | ||
![]() |
5b61f2d642 | ||
![]() |
094669baee | ||
![]() |
f6b5385495 | ||
![]() |
524e2df708 | ||
![]() |
9f887d9a28 | ||
![]() |
214a41793f | ||
![]() |
2e40ffc558 | ||
![]() |
3584887938 | ||
![]() |
0d6c002b8e | ||
![]() |
ec714864f2 | ||
![]() |
1b77149ec9 | ||
![]() |
93c9e031e3 | ||
![]() |
3ff4277f86 | ||
![]() |
2a63267be0 | ||
![]() |
2b365627ed | ||
![]() |
b8f0d0f0dc | ||
![]() |
df1bed941d | ||
![]() |
604085fdb9 |
@@ -1,5 +1,4 @@
|
|||||||
[org.gnome.shell.overrides]
|
[org.gnome.shell.overrides]
|
||||||
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
attach-modal-dialogs = /desktop/gnome/shell/windows/attach_modal_dialogs
|
||||||
button-layout = /desktop/gnome/shell/windows/button_layout
|
|
||||||
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
edge-tiling = /desktop/gnome/shell/windows/edge_tiling
|
||||||
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
workspaces-only-on-primary = /desktop/gnome/shell/windows/workspaces_only_on_primary
|
||||||
|
@@ -403,13 +403,18 @@ StScrollBar StButton#vhandle:active {
|
|||||||
icon-size: 16px;
|
icon-size: 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.no-networks-label {
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.no-networks-box {
|
||||||
|
spacing: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
/* Buttons */
|
/* Buttons */
|
||||||
|
|
||||||
.candidate-page-button,
|
.candidate-page-button,
|
||||||
.notification-button,
|
|
||||||
.notification-icon-button,
|
|
||||||
.hotplug-notification-item,
|
.hotplug-notification-item,
|
||||||
.hotplug-resident-eject-button,
|
|
||||||
.modal-dialog-button,
|
.modal-dialog-button,
|
||||||
.app-view-control {
|
.app-view-control {
|
||||||
border: 1px solid #8b8b8b;
|
border: 1px solid #8b8b8b;
|
||||||
@@ -423,17 +428,12 @@ StScrollBar StButton#vhandle:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.candidate-page-button:hover,
|
.candidate-page-button:hover,
|
||||||
.notification-button:hover,
|
|
||||||
.notification-icon-button:hover,
|
|
||||||
.hotplug-notification-item:hover,
|
.hotplug-notification-item:hover,
|
||||||
.hotplug-resident-eject-button:hover,
|
|
||||||
.modal-dialog-button:hover {
|
.modal-dialog-button:hover {
|
||||||
background-gradient-start: rgba(255, 255, 255, 0.3);
|
background-gradient-start: rgba(255, 255, 255, 0.3);
|
||||||
background-gradient-end: rgba(255, 255, 255, 0.1);
|
background-gradient-end: rgba(255, 255, 255, 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-button:focus,
|
|
||||||
.notification-icon-button:focus,
|
|
||||||
.hotplug-notification-item:focus,
|
.hotplug-notification-item:focus,
|
||||||
.modal-dialog-button:focus,
|
.modal-dialog-button:focus,
|
||||||
.app-view-control:focus {
|
.app-view-control:focus {
|
||||||
@@ -447,10 +447,7 @@ StScrollBar StButton#vhandle:active {
|
|||||||
|
|
||||||
.candidate-page-button:active,
|
.candidate-page-button:active,
|
||||||
.candidate-page-button:pressed,
|
.candidate-page-button:pressed,
|
||||||
.notification-button:active,
|
|
||||||
.notification-icon-button:active,
|
|
||||||
.hotplug-notification-item:active,
|
.hotplug-notification-item:active,
|
||||||
.hotplug-resident-eject-button:active,
|
|
||||||
.modal-dialog-button:active,
|
.modal-dialog-button:active,
|
||||||
.modal-dialog-button:pressed,
|
.modal-dialog-button:pressed,
|
||||||
.app-view-control:checked {
|
.app-view-control:checked {
|
||||||
@@ -459,8 +456,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.candidate-page-button:insensitive,
|
.candidate-page-button:insensitive,
|
||||||
.notification-button:insensitive,
|
|
||||||
.notification-icon-button:insensitive,
|
|
||||||
.modal-dialog-button:insensitive {
|
.modal-dialog-button:insensitive {
|
||||||
border-color: #666666;
|
border-color: #666666;
|
||||||
color: #9f9f9f;
|
color: #9f9f9f;
|
||||||
@@ -472,7 +467,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
|
|
||||||
#searchEntry,
|
#searchEntry,
|
||||||
.modal-dialog-button,
|
.modal-dialog-button,
|
||||||
.notification-button,
|
|
||||||
.hotplug-notification-item,
|
.hotplug-notification-item,
|
||||||
.app-view-controls,
|
.app-view-controls,
|
||||||
#screenShieldNotifications {
|
#screenShieldNotifications {
|
||||||
@@ -1300,8 +1294,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
|
|
||||||
.calendar {
|
.calendar {
|
||||||
padding: .4em 1.75em .8em 1.75em;
|
padding: .4em 1.75em .8em 1.75em;
|
||||||
spacing-rows: 0px;
|
|
||||||
spacing-columns: 0px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.calendar-month-label {
|
.calendar-month-label {
|
||||||
@@ -1497,48 +1489,16 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding-right: 8pt;
|
padding-right: 8pt;
|
||||||
}
|
}
|
||||||
|
|
||||||
.url-highlighter {
|
|
||||||
link-color: #ccccff;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Message Tray */
|
/* Message Tray */
|
||||||
|
|
||||||
#message-tray {
|
#message-tray {
|
||||||
background: #2e3436 url(message-tray-background.png);
|
background: #2e3436 url(message-tray-background.png);
|
||||||
background-repeat: repeat;
|
background-repeat: repeat;
|
||||||
height: 72px;
|
height: 72px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.message-tray-summary {
|
.url-highlighter {
|
||||||
height: 72px;
|
link-color: #ccccff;
|
||||||
}
|
|
||||||
|
|
||||||
.message-tray-menu-button StIcon {
|
|
||||||
padding: 0 20px;
|
|
||||||
color: #aaaaaa;
|
|
||||||
icon-size: 24px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.message-tray-menu-button:hover StIcon,
|
|
||||||
.message-tray-menu-button:active StIcon,
|
|
||||||
.message-tray-menu-button:focus StIcon {
|
|
||||||
color: #eeeeee;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-messages-label,
|
|
||||||
.no-networks-label {
|
|
||||||
color: #999999;
|
|
||||||
}
|
|
||||||
|
|
||||||
.no-networks-box {
|
|
||||||
spacing: 12px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification {
|
|
||||||
border-radius: 10px 10px 0px 0px;
|
|
||||||
background: rgba(0,0,0,0.9);
|
|
||||||
padding: 8px 8px 4px 8px;
|
|
||||||
spacing-rows: 4px;
|
|
||||||
spacing-columns: 10px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification, #notification-container {
|
.notification, #notification-container {
|
||||||
@@ -1546,62 +1506,56 @@ StScrollBar StButton#vhandle:active {
|
|||||||
width: 34em;
|
width: 34em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification.multi-line-notification {
|
.notification-main-button,
|
||||||
padding-bottom: 8px;
|
.notification-button {
|
||||||
|
background: rgba(0,0,0,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-unexpanded {
|
.notification-main-button {
|
||||||
/* We want to force the actor at a specific size, irrespective
|
border-radius: 10px 10px 0px 0px;
|
||||||
of its minimum and preferred size, so we override both */
|
|
||||||
min-height: 36px;
|
|
||||||
height: 36px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* We use row-span = 2 for the image cell, which prevents its height preferences to be
|
.notification-main-content {
|
||||||
taken into account during allocation, so its height ends up being limited by the height
|
padding: 8px;
|
||||||
of the content in the other rows. To avoid showing a stretched image, we set the minimum
|
spacing: 8px;
|
||||||
height of the table to be ICON_SIZE + IMAGE_SIZE + spacing-rows = 24 + 125 + 10 = 159 */
|
|
||||||
.notification-with-image {
|
|
||||||
min-height: 159px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-boxpointer {
|
.notification-close-button {
|
||||||
-arrow-border-radius: 15px;
|
padding: 8px;
|
||||||
-arrow-background-color: rgba(0,0,0,0.9);
|
border-radius: 4px;
|
||||||
-arrow-base: 36px;
|
|
||||||
-arrow-rise: 18px;
|
|
||||||
color: white;
|
|
||||||
-boxpointer-gap: 4px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-boxpointer .notification {
|
.notification-action-area {
|
||||||
border-radius: 9px;
|
padding: 8px;
|
||||||
background: rgba(0,0,0,0) !important;
|
|
||||||
padding-bottom: 12px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-boxpointer #summary-right-click-menu {
|
.notification-action-area,
|
||||||
padding-top: 12px;
|
.notification-button {
|
||||||
padding-bottom: 12px;
|
border-top: 1px solid #666;
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-notification-stack-scrollview {
|
.notification-button {
|
||||||
max-height: 18em;
|
padding: 8px 0px;
|
||||||
padding-top: 8px;
|
border-right: 1px solid #666;
|
||||||
padding-bottom: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-notification-stack-scrollview:ltr {
|
.notification-main-button:hover,
|
||||||
padding-right: 8px;
|
.notification-button:hover,
|
||||||
|
.notification-close-button:hover {
|
||||||
|
background: rgba(100,100,100,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.summary-notification-stack-scrollview:rtl {
|
.notification-main-button:active,
|
||||||
padding-left: 8px;
|
.notification-button:active {
|
||||||
|
background: rgba(255,255,255,0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-scrollview {
|
.notification-button:last-child {
|
||||||
max-height: 10em;
|
border-right-width: 0px;
|
||||||
-st-vfade-offset: 24px;
|
}
|
||||||
|
|
||||||
|
.notification-title-box {
|
||||||
|
spacing: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-scrollview:ltr > StScrollBar {
|
.notification-scrollview:ltr > StScrollBar {
|
||||||
@@ -1612,37 +1566,9 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding-right: 6px;
|
padding-right: 6px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-body {
|
.notification-scrollview {
|
||||||
spacing: 5px;
|
max-height: 10em;
|
||||||
}
|
-st-vfade-offset: 24px;
|
||||||
|
|
||||||
.notification-actions {
|
|
||||||
padding-top: 18px;
|
|
||||||
spacing: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-button {
|
|
||||||
-st-natural-width: 140px;
|
|
||||||
padding: 4px 4px 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-button:focus {
|
|
||||||
-st-natural-width: 138px;
|
|
||||||
padding: 3px 4px 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-icon-button {
|
|
||||||
border-radius: 5px;
|
|
||||||
padding: 5px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-icon-button:focus {
|
|
||||||
padding: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-icon-button > StIcon {
|
|
||||||
icon-size: 16px;
|
|
||||||
padding: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.secondary-icon {
|
.secondary-icon {
|
||||||
@@ -1667,45 +1593,6 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hotplug-resident-box {
|
|
||||||
spacing: 8px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-mount {
|
|
||||||
spacing: 8px;
|
|
||||||
border-radius: 4px;
|
|
||||||
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-mount:hover {
|
|
||||||
background-gradient-direction: horizontal;
|
|
||||||
background-gradient-start: rgba(255, 255, 255, 0.1);
|
|
||||||
background-gradient-end: rgba(255, 255, 255, 0);
|
|
||||||
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-mount-label {
|
|
||||||
color: inherit;
|
|
||||||
padding-left: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-mount-icon {
|
|
||||||
icon-size: 24px;
|
|
||||||
padding-left: 6px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-eject-icon {
|
|
||||||
icon-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hotplug-resident-eject-button {
|
|
||||||
padding: 7px;
|
|
||||||
border-radius: 5px;
|
|
||||||
color: #ccc;
|
|
||||||
}
|
|
||||||
|
|
||||||
.chat-log-message {
|
.chat-log-message {
|
||||||
color: #888888;
|
color: #888888;
|
||||||
}
|
}
|
||||||
@@ -1745,7 +1632,11 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding-right: 4px;
|
padding-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-notification-scrollview{
|
.chat-notification-body-box {
|
||||||
|
spacing: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-notification-scrollview {
|
||||||
max-height: 22em;
|
max-height: 22em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2664,8 +2555,7 @@ StScrollBar StButton#vhandle:active {
|
|||||||
padding-bottom: 0px;
|
padding-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#screenShieldNotifications .notification-button,
|
#screenShieldNotifications .notification-button {
|
||||||
#screenShieldNotifications .notification-icon-button {
|
|
||||||
border: 1px rgba(255,255,255,0.5);
|
border: 1px rgba(255,255,255,0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2701,3 +2591,7 @@ StScrollBar StButton#vhandle:active {
|
|||||||
-boxpointer-gap: 4px;
|
-boxpointer-gap: 4px;
|
||||||
-arrow-rise: 0px;
|
-arrow-rise: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.top-bar-notification-preview {
|
||||||
|
font-weight: normal;
|
||||||
|
}
|
||||||
|
@@ -66,6 +66,7 @@ IGNORE_HFILES= \
|
|||||||
gactionmuxer.h \
|
gactionmuxer.h \
|
||||||
gactionobservable.h \
|
gactionobservable.h \
|
||||||
gactionobserver.h \
|
gactionobserver.h \
|
||||||
|
shell-network-agent.h \
|
||||||
shell-recorder-src.h
|
shell-recorder-src.h
|
||||||
|
|
||||||
if !BUILD_RECORDER
|
if !BUILD_RECORDER
|
||||||
|
@@ -50,7 +50,6 @@
|
|||||||
<xi:include href="xml/shell-wm.xml"/>
|
<xi:include href="xml/shell-wm.xml"/>
|
||||||
<xi:include href="xml/shell-util.xml"/>
|
<xi:include href="xml/shell-util.xml"/>
|
||||||
<xi:include href="xml/shell-mount-operation.xml"/>
|
<xi:include href="xml/shell-mount-operation.xml"/>
|
||||||
<xi:include href="xml/shell-network-agent.xml"/>
|
|
||||||
<xi:include href="xml/shell-polkit-authentication-agent.xml"/>
|
<xi:include href="xml/shell-polkit-authentication-agent.xml"/>
|
||||||
<xi:include href="xml/shell-tp-client.xml"/>
|
<xi:include href="xml/shell-tp-client.xml"/>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@@ -48,8 +48,6 @@ const _SCROLL_ANIMATION_TIME = 0.5;
|
|||||||
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
const _TIMED_LOGIN_IDLE_THRESHOLD = 5.0;
|
||||||
const _LOGO_ICON_HEIGHT = 48;
|
const _LOGO_ICON_HEIGHT = 48;
|
||||||
|
|
||||||
let _loginDialog = null;
|
|
||||||
|
|
||||||
const UserListItem = new Lang.Class({
|
const UserListItem = new Lang.Class({
|
||||||
Name: 'UserListItem',
|
Name: 'UserListItem',
|
||||||
|
|
||||||
|
@@ -372,7 +372,7 @@ const WindowSwitcherPopup = new Lang.Class({
|
|||||||
|
|
||||||
_getWindowList: function() {
|
_getWindowList: function() {
|
||||||
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
let workspace = this._settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace() : null;
|
||||||
return global.display.get_tab_list(Meta.TabList.NORMAL, global.screen, workspace);
|
return global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||||
},
|
},
|
||||||
|
|
||||||
_createSwitcher: function() {
|
_createSwitcher: function() {
|
||||||
@@ -459,8 +459,7 @@ const AppSwitcher = new Lang.Class({
|
|||||||
let settings = new Gio.Settings({ schema: 'org.gnome.shell.app-switcher' });
|
let settings = new Gio.Settings({ schema: 'org.gnome.shell.app-switcher' });
|
||||||
let workspace = settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace()
|
let workspace = settings.get_boolean('current-workspace-only') ? global.screen.get_active_workspace()
|
||||||
: null;
|
: null;
|
||||||
let allWindows = global.display.get_tab_list(Meta.TabList.NORMAL,
|
let allWindows = global.display.get_tab_list(Meta.TabList.NORMAL, workspace);
|
||||||
global.screen, workspace);
|
|
||||||
|
|
||||||
// Construct the AppIcons, add to the popup
|
// Construct the AppIcons, add to the popup
|
||||||
for (let i = 0; i < apps.length; i++) {
|
for (let i = 0; i < apps.length; i++) {
|
||||||
|
@@ -16,6 +16,7 @@ const Atk = imports.gi.Atk;
|
|||||||
const AppFavorites = imports.ui.appFavorites;
|
const AppFavorites = imports.ui.appFavorites;
|
||||||
const BoxPointer = imports.ui.boxpointer;
|
const BoxPointer = imports.ui.boxpointer;
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
|
const GrabHelper = imports.ui.grabHelper;
|
||||||
const IconGrid = imports.ui.iconGrid;
|
const IconGrid = imports.ui.iconGrid;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const Overview = imports.ui.overview;
|
const Overview = imports.ui.overview;
|
||||||
@@ -1249,18 +1250,7 @@ const AppFolderPopup = new Lang.Class({
|
|||||||
function() {
|
function() {
|
||||||
this.actor.destroy();
|
this.actor.destroy();
|
||||||
}));
|
}));
|
||||||
this.actor.connect('key-press-event', Lang.bind(this, this._onKeyPress));
|
this._grabHelper = new GrabHelper.GrabHelper(this.actor);
|
||||||
},
|
|
||||||
|
|
||||||
_onKeyPress: function(actor, event) {
|
|
||||||
if (!this._isOpen)
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
|
|
||||||
if (event.get_key_symbol() != Clutter.KEY_Escape)
|
|
||||||
return Clutter.EVENT_PROPAGATE;
|
|
||||||
|
|
||||||
this.popdown();
|
|
||||||
return Clutter.EVENT_STOP;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
toggle: function() {
|
toggle: function() {
|
||||||
@@ -1274,6 +1264,12 @@ const AppFolderPopup = new Lang.Class({
|
|||||||
if (this._isOpen)
|
if (this._isOpen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this._isOpen = this._grabHelper.grab({ actor: this.actor,
|
||||||
|
onUngrab: Lang.bind(this, this.popdown) });
|
||||||
|
|
||||||
|
if (!this._isOpen)
|
||||||
|
return;
|
||||||
|
|
||||||
this.actor.show();
|
this.actor.show();
|
||||||
|
|
||||||
this._boxPointer.setArrowActor(this._source.actor);
|
this._boxPointer.setArrowActor(this._source.actor);
|
||||||
@@ -1282,7 +1278,6 @@ const AppFolderPopup = new Lang.Class({
|
|||||||
|
|
||||||
this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
this.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||||
|
|
||||||
this._isOpen = true;
|
|
||||||
this.emit('open-state-changed', true);
|
this.emit('open-state-changed', true);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1290,6 +1285,8 @@ const AppFolderPopup = new Lang.Class({
|
|||||||
if (!this._isOpen)
|
if (!this._isOpen)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
this._grabHelper.ungrab({ actor: this.actor });
|
||||||
|
|
||||||
this._boxPointer.hide(BoxPointer.PopupAnimation.FADE |
|
this._boxPointer.hide(BoxPointer.PopupAnimation.FADE |
|
||||||
BoxPointer.PopupAnimation.SLIDE);
|
BoxPointer.PopupAnimation.SLIDE);
|
||||||
this._isOpen = false;
|
this._isOpen = false;
|
||||||
|
@@ -408,9 +408,9 @@ const Calendar = new Lang.Class({
|
|||||||
|
|
||||||
this._shouldDateGrabFocus = false;
|
this._shouldDateGrabFocus = false;
|
||||||
|
|
||||||
this.actor = new St.Table({ homogeneous: false,
|
this.actor = new St.Widget({ style_class: 'calendar',
|
||||||
style_class: 'calendar',
|
layout_manager: new Clutter.TableLayout(),
|
||||||
reactive: true });
|
reactive: true });
|
||||||
|
|
||||||
this.actor.connect('scroll-event',
|
this.actor.connect('scroll-event',
|
||||||
Lang.bind(this, this._onScroll));
|
Lang.bind(this, this._onScroll));
|
||||||
@@ -441,13 +441,14 @@ const Calendar = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_buildHeader: function() {
|
_buildHeader: function() {
|
||||||
|
let layout = this.actor.layout_manager;
|
||||||
let offsetCols = this._useWeekdate ? 1 : 0;
|
let offsetCols = this._useWeekdate ? 1 : 0;
|
||||||
this.actor.destroy_all_children();
|
this.actor.destroy_all_children();
|
||||||
|
|
||||||
// Top line of the calendar '<| September 2009 |>'
|
// Top line of the calendar '<| September 2009 |>'
|
||||||
this._topBox = new St.BoxLayout();
|
this._topBox = new St.BoxLayout();
|
||||||
this.actor.add(this._topBox,
|
layout.pack(this._topBox, 0, 0);
|
||||||
{ row: 0, col: 0, col_span: offsetCols + 7 });
|
layout.set_span(this._topBox, offsetCols + 7, 1);
|
||||||
|
|
||||||
this._backButton = new St.Button({ style_class: 'calendar-change-month-back',
|
this._backButton = new St.Button({ style_class: 'calendar-change-month-back',
|
||||||
accessible_name: _("Previous month"),
|
accessible_name: _("Previous month"),
|
||||||
@@ -479,10 +480,8 @@ const Calendar = new Lang.Class({
|
|||||||
let customDayAbbrev = _getCalendarDayAbbreviation(iter.getDay());
|
let customDayAbbrev = _getCalendarDayAbbreviation(iter.getDay());
|
||||||
let label = new St.Label({ style_class: 'calendar-day-base calendar-day-heading',
|
let label = new St.Label({ style_class: 'calendar-day-base calendar-day-heading',
|
||||||
text: customDayAbbrev });
|
text: customDayAbbrev });
|
||||||
this.actor.add(label,
|
let col = offsetCols + (7 + iter.getDay() - this._weekStart) % 7;
|
||||||
{ row: 1,
|
layout.pack(label, col, 1);
|
||||||
col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7,
|
|
||||||
x_fill: false, x_align: St.Align.MIDDLE });
|
|
||||||
iter.setTime(iter.getTime() + MSECS_IN_DAY);
|
iter.setTime(iter.getTime() + MSECS_IN_DAY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -601,6 +600,7 @@ const Calendar = new Lang.Class({
|
|||||||
|
|
||||||
beginDate.setTime(beginDate.getTime() - (weekPadding + daysToWeekStart) * MSECS_IN_DAY);
|
beginDate.setTime(beginDate.getTime() - (weekPadding + daysToWeekStart) * MSECS_IN_DAY);
|
||||||
|
|
||||||
|
let layout = this.actor.layout_manager;
|
||||||
let iter = new Date(beginDate);
|
let iter = new Date(beginDate);
|
||||||
let row = 2;
|
let row = 2;
|
||||||
// nRows here means 6 weeks + one header + one navbar
|
// nRows here means 6 weeks + one header + one navbar
|
||||||
@@ -648,16 +648,15 @@ const Calendar = new Lang.Class({
|
|||||||
button.style_class = styleClass;
|
button.style_class = styleClass;
|
||||||
|
|
||||||
let offsetCols = this._useWeekdate ? 1 : 0;
|
let offsetCols = this._useWeekdate ? 1 : 0;
|
||||||
this.actor.add(button,
|
let col = offsetCols + (7 + iter.getDay() - this._weekStart) % 7;
|
||||||
{ row: row, col: offsetCols + (7 + iter.getDay() - this._weekStart) % 7 });
|
layout.pack(button, col, row);
|
||||||
|
|
||||||
this._buttons.push(button);
|
this._buttons.push(button);
|
||||||
|
|
||||||
if (this._useWeekdate && iter.getDay() == 4) {
|
if (this._useWeekdate && iter.getDay() == 4) {
|
||||||
let label = new St.Label({ text: _getCalendarWeekForDate(iter).toString(),
|
let label = new St.Label({ text: _getCalendarWeekForDate(iter).toString(),
|
||||||
style_class: 'calendar-day-base calendar-week-number'});
|
style_class: 'calendar-day-base calendar-week-number'});
|
||||||
this.actor.add(label,
|
layout.pack(label, 0, row);
|
||||||
{ row: row, col: 0, y_align: St.Align.MIDDLE });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
iter.setTime(iter.getTime() + MSECS_IN_DAY);
|
iter.setTime(iter.getTime() + MSECS_IN_DAY);
|
||||||
@@ -700,7 +699,10 @@ const EventsList = new Lang.Class({
|
|||||||
Name: 'EventsList',
|
Name: 'EventsList',
|
||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
this.actor = new St.Table({ style_class: 'events-table' });
|
let layout = new Clutter.TableLayout();
|
||||||
|
this.actor = new St.Widget({ style_class: 'events-table',
|
||||||
|
layout_manager: layout });
|
||||||
|
layout.hookup_style(this.actor);
|
||||||
this._date = new Date();
|
this._date = new Date();
|
||||||
this._desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
this._desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
||||||
this._desktopSettings.connect('changed', Lang.bind(this, this._update));
|
this._desktopSettings.connect('changed', Lang.bind(this, this._update));
|
||||||
@@ -724,9 +726,11 @@ const EventsList = new Lang.Class({
|
|||||||
dayLabel.clutter_text.line_wrap = false;
|
dayLabel.clutter_text.line_wrap = false;
|
||||||
dayLabel.clutter_text.ellipsize = false;
|
dayLabel.clutter_text.ellipsize = false;
|
||||||
|
|
||||||
this.actor.add(dayLabel, { row: index, col: 0,
|
let layout = this.actor.layout_manager;
|
||||||
x_expand: false, x_align: St.Align.END,
|
layout.pack(dayLabel, 0, index);
|
||||||
y_fill: false, y_align: St.Align.START });
|
layout.child_set(dayLabel, { x_expand: false,
|
||||||
|
x_align: Clutter.TableAlignment.END,
|
||||||
|
y_align: Clutter.TableAlignment.START });
|
||||||
|
|
||||||
let clockFormat = this._desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
let clockFormat = this._desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
||||||
let timeString = _formatEventTime(event, clockFormat);
|
let timeString = _formatEventTime(event, clockFormat);
|
||||||
@@ -735,18 +739,17 @@ const EventsList = new Lang.Class({
|
|||||||
timeLabel.clutter_text.line_wrap = false;
|
timeLabel.clutter_text.line_wrap = false;
|
||||||
timeLabel.clutter_text.ellipsize = false;
|
timeLabel.clutter_text.ellipsize = false;
|
||||||
|
|
||||||
this.actor.add(timeLabel, { row: index, col: 1,
|
layout.pack(timeLabel, 1, index);
|
||||||
x_expand: false, x_align: St.Align.MIDDLE,
|
layout.child_set(timeLabel, { x_expand: false,
|
||||||
y_fill: false, y_align: St.Align.START });
|
y_align: Clutter.TableAlignment.START });
|
||||||
|
|
||||||
let titleLabel = new St.Label({ style_class: 'events-day-task',
|
let titleLabel = new St.Label({ style_class: 'events-day-task',
|
||||||
text: event.summary });
|
text: event.summary });
|
||||||
titleLabel.clutter_text.line_wrap = true;
|
titleLabel.clutter_text.line_wrap = true;
|
||||||
titleLabel.clutter_text.ellipsize = false;
|
titleLabel.clutter_text.ellipsize = false;
|
||||||
|
|
||||||
this.actor.add(titleLabel, { row: index, col: 2,
|
layout.pack(titleLabel, 2, index);
|
||||||
x_expand: true, x_align: St.Align.START,
|
layout.child_set(titleLabel, { x_expand: true });
|
||||||
y_fill: false, y_align: St.Align.START });
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_addPeriod: function(header, index, begin, end, includeDayName, showNothingScheduled) {
|
_addPeriod: function(header, index, begin, end, includeDayName, showNothingScheduled) {
|
||||||
@@ -755,13 +758,10 @@ const EventsList = new Lang.Class({
|
|||||||
if (events.length == 0 && !showNothingScheduled)
|
if (events.length == 0 && !showNothingScheduled)
|
||||||
return index;
|
return index;
|
||||||
|
|
||||||
this.actor.add(new St.Label({ style_class: 'events-day-header', text: header }),
|
let label = new St.Label({ style_class: 'events-day-header', text: header });
|
||||||
{ row: index, col: 0, col_span: 3,
|
let layout = this.actor.layout_manager;
|
||||||
// In theory, x_expand should be true here, but x_expand
|
layout.pack(label, 0, index);
|
||||||
// is a property of the column for StTable, ie all day cells
|
layout.child_set(label, { column_span: 3, x_expand: false });
|
||||||
// get it too
|
|
||||||
x_expand: false, x_align: St.Align.START,
|
|
||||||
y_fill: false, y_align: St.Align.START });
|
|
||||||
index++;
|
index++;
|
||||||
|
|
||||||
for (let n = 0; n < events.length; n++) {
|
for (let n = 0; n < events.length; n++) {
|
||||||
|
@@ -170,17 +170,6 @@ const AutorunManager = new Lang.Class({
|
|||||||
this._transDispatcher = new AutorunTransientDispatcher(this);
|
this._transDispatcher = new AutorunTransientDispatcher(this);
|
||||||
},
|
},
|
||||||
|
|
||||||
_ensureResidentSource: function() {
|
|
||||||
if (this._residentSource)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._residentSource = new AutorunResidentSource(this);
|
|
||||||
let destroyId = this._residentSource.connect('destroy', Lang.bind(this, function() {
|
|
||||||
this._residentSource.disconnect(destroyId);
|
|
||||||
this._residentSource = null;
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
enable: function() {
|
enable: function() {
|
||||||
this._scanMounts();
|
this._scanMounts();
|
||||||
|
|
||||||
@@ -189,17 +178,12 @@ const AutorunManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
disable: function() {
|
disable: function() {
|
||||||
if (this._residentSource)
|
|
||||||
this._residentSource.destroy();
|
|
||||||
this._volumeMonitor.disconnect(this._mountAddedId);
|
this._volumeMonitor.disconnect(this._mountAddedId);
|
||||||
this._volumeMonitor.disconnect(this._mountRemovedId);
|
this._volumeMonitor.disconnect(this._mountRemovedId);
|
||||||
},
|
},
|
||||||
|
|
||||||
_processMount: function(mount, hotplug) {
|
_processMount: function(mount, hotplug) {
|
||||||
let discoverer = new ContentTypeDiscoverer(Lang.bind(this, function(mount, apps, contentTypes) {
|
let discoverer = new ContentTypeDiscoverer(Lang.bind(this, function(mount, apps, contentTypes) {
|
||||||
this._ensureResidentSource();
|
|
||||||
this._residentSource.addMount(mount, apps);
|
|
||||||
|
|
||||||
if (hotplug)
|
if (hotplug)
|
||||||
this._transDispatcher.addMount(mount, apps, contentTypes);
|
this._transDispatcher.addMount(mount, apps, contentTypes);
|
||||||
}));
|
}));
|
||||||
@@ -224,8 +208,6 @@ const AutorunManager = new Lang.Class({
|
|||||||
|
|
||||||
_onMountRemoved: function(monitor, mount) {
|
_onMountRemoved: function(monitor, mount) {
|
||||||
this._transDispatcher.removeMount(mount);
|
this._transDispatcher.removeMount(mount);
|
||||||
if (this._residentSource)
|
|
||||||
this._residentSource.removeMount(mount);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
ejectMount: function(mount) {
|
ejectMount: function(mount) {
|
||||||
@@ -288,153 +270,6 @@ const AutorunManager = new Lang.Class({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const AutorunResidentSource = new Lang.Class({
|
|
||||||
Name: 'AutorunResidentSource',
|
|
||||||
Extends: MessageTray.Source,
|
|
||||||
|
|
||||||
_init: function(manager) {
|
|
||||||
this.parent(_("Removable Devices"), 'media-removable');
|
|
||||||
this.resident = true;
|
|
||||||
|
|
||||||
this._mounts = [];
|
|
||||||
|
|
||||||
this._manager = manager;
|
|
||||||
this._notification = new AutorunResidentNotification(this._manager, this);
|
|
||||||
},
|
|
||||||
|
|
||||||
_createPolicy: function() {
|
|
||||||
return new MessageTray.NotificationPolicy({ showInLockScreen: false });
|
|
||||||
},
|
|
||||||
|
|
||||||
buildRightClickMenu: function() {
|
|
||||||
return null;
|
|
||||||
},
|
|
||||||
|
|
||||||
addMount: function(mount, apps) {
|
|
||||||
if (!shouldAutorunMount(mount, false))
|
|
||||||
return;
|
|
||||||
|
|
||||||
let filtered = this._mounts.filter(function (element) {
|
|
||||||
return (element.mount == mount);
|
|
||||||
});
|
|
||||||
|
|
||||||
if (filtered.length != 0)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let element = { mount: mount, apps: apps };
|
|
||||||
this._mounts.push(element);
|
|
||||||
this._redisplay();
|
|
||||||
},
|
|
||||||
|
|
||||||
removeMount: function(mount) {
|
|
||||||
this._mounts =
|
|
||||||
this._mounts.filter(function (element) {
|
|
||||||
return (element.mount != mount);
|
|
||||||
});
|
|
||||||
|
|
||||||
this._redisplay();
|
|
||||||
},
|
|
||||||
|
|
||||||
_redisplay: function() {
|
|
||||||
if (this._mounts.length == 0) {
|
|
||||||
this._notification.destroy();
|
|
||||||
this.destroy();
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._notification.updateForMounts(this._mounts);
|
|
||||||
|
|
||||||
// add ourselves as a source, and push the notification
|
|
||||||
if (!Main.messageTray.contains(this)) {
|
|
||||||
Main.messageTray.add(this);
|
|
||||||
this.pushNotification(this._notification);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const AutorunResidentNotification = new Lang.Class({
|
|
||||||
Name: 'AutorunResidentNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(manager, source) {
|
|
||||||
this.parent(source, source.title, null, { customContent: true });
|
|
||||||
|
|
||||||
// set the notification as resident
|
|
||||||
this.setResident(true);
|
|
||||||
|
|
||||||
this._layout = new St.BoxLayout ({ style_class: 'hotplug-resident-box',
|
|
||||||
vertical: true });
|
|
||||||
this._manager = manager;
|
|
||||||
|
|
||||||
this.addActor(this._layout,
|
|
||||||
{ x_expand: true,
|
|
||||||
x_fill: true });
|
|
||||||
},
|
|
||||||
|
|
||||||
updateForMounts: function(mounts) {
|
|
||||||
// remove all the layout content
|
|
||||||
this._layout.destroy_all_children();
|
|
||||||
|
|
||||||
for (let idx = 0; idx < mounts.length; idx++) {
|
|
||||||
let element = mounts[idx];
|
|
||||||
|
|
||||||
let actor = this._itemForMount(element.mount, element.apps);
|
|
||||||
this._layout.add(actor, { x_fill: true,
|
|
||||||
expand: true });
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_itemForMount: function(mount, apps) {
|
|
||||||
let item = new St.BoxLayout();
|
|
||||||
|
|
||||||
// prepare the mount button content
|
|
||||||
let mountLayout = new St.BoxLayout();
|
|
||||||
|
|
||||||
let mountIcon = new St.Icon({ gicon: mount.get_icon(),
|
|
||||||
style_class: 'hotplug-resident-mount-icon' });
|
|
||||||
mountLayout.add_actor(mountIcon);
|
|
||||||
|
|
||||||
let labelBin = new St.Bin({ y_align: St.Align.MIDDLE });
|
|
||||||
let mountLabel =
|
|
||||||
new St.Label({ text: mount.get_name(),
|
|
||||||
style_class: 'hotplug-resident-mount-label',
|
|
||||||
track_hover: true,
|
|
||||||
reactive: true });
|
|
||||||
labelBin.add_actor(mountLabel);
|
|
||||||
mountLayout.add_actor(labelBin);
|
|
||||||
|
|
||||||
let mountButton = new St.Button({ child: mountLayout,
|
|
||||||
x_align: St.Align.START,
|
|
||||||
x_fill: true,
|
|
||||||
style_class: 'hotplug-resident-mount',
|
|
||||||
button_mask: St.ButtonMask.ONE });
|
|
||||||
item.add(mountButton, { x_align: St.Align.START,
|
|
||||||
expand: true });
|
|
||||||
|
|
||||||
let ejectIcon =
|
|
||||||
new St.Icon({ icon_name: 'media-eject-symbolic',
|
|
||||||
style_class: 'hotplug-resident-eject-icon' });
|
|
||||||
|
|
||||||
let ejectButton =
|
|
||||||
new St.Button({ style_class: 'hotplug-resident-eject-button',
|
|
||||||
button_mask: St.ButtonMask.ONE,
|
|
||||||
child: ejectIcon });
|
|
||||||
item.add(ejectButton, { x_align: St.Align.END });
|
|
||||||
|
|
||||||
// now connect signals
|
|
||||||
mountButton.connect('clicked', Lang.bind(this, function(actor, event) {
|
|
||||||
startAppForMount(apps[0], mount);
|
|
||||||
}));
|
|
||||||
|
|
||||||
ejectButton.connect('clicked', Lang.bind(this, function() {
|
|
||||||
this._manager.ejectMount(mount);
|
|
||||||
}));
|
|
||||||
|
|
||||||
return item;
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const AutorunTransientDispatcher = new Lang.Class({
|
const AutorunTransientDispatcher = new Lang.Class({
|
||||||
Name: 'AutorunTransientDispatcher',
|
Name: 'AutorunTransientDispatcher',
|
||||||
|
|
||||||
@@ -559,12 +394,12 @@ const AutorunTransientNotification = new Lang.Class({
|
|||||||
Extends: MessageTray.Notification,
|
Extends: MessageTray.Notification,
|
||||||
|
|
||||||
_init: function(manager, source) {
|
_init: function(manager, source) {
|
||||||
this.parent(source, source.title, null, { customContent: true });
|
this.parent(source, source.title);
|
||||||
|
|
||||||
this._manager = manager;
|
this._manager = manager;
|
||||||
this._box = new St.BoxLayout({ style_class: 'hotplug-transient-box',
|
this._box = new St.BoxLayout({ style_class: 'hotplug-transient-box',
|
||||||
vertical: true });
|
vertical: true });
|
||||||
this.addActor(this._box);
|
this._bodyBin.child = this._box;
|
||||||
|
|
||||||
this._mount = source.mount;
|
this._mount = source.mount;
|
||||||
|
|
||||||
@@ -581,7 +416,6 @@ const AutorunTransientNotification = new Lang.Class({
|
|||||||
|
|
||||||
// set the notification to transient and urgent, so that it
|
// set the notification to transient and urgent, so that it
|
||||||
// expands out
|
// expands out
|
||||||
this.setTransient(true);
|
|
||||||
this.setUrgency(MessageTray.Urgency.CRITICAL);
|
this.setUrgency(MessageTray.Urgency.CRITICAL);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@@ -102,15 +102,6 @@ const TelepathyClient = new Lang.Class({
|
|||||||
this._tpClient.set_handle_channels_func(
|
this._tpClient.set_handle_channels_func(
|
||||||
Lang.bind(this, this._handleChannels));
|
Lang.bind(this, this._handleChannels));
|
||||||
|
|
||||||
// Watch subscription requests and connection errors
|
|
||||||
this._subscriptionSource = null;
|
|
||||||
this._accountSource = null;
|
|
||||||
|
|
||||||
// Workaround for gjs not supporting GPtrArray in signals.
|
|
||||||
// See BGO bug #653941 for context.
|
|
||||||
this._tpClient.set_contact_list_changed_func(
|
|
||||||
Lang.bind(this, this._contactListChanged));
|
|
||||||
|
|
||||||
// Allow other clients (such as Empathy) to pre-empt our channels if
|
// Allow other clients (such as Empathy) to pre-empt our channels if
|
||||||
// needed
|
// needed
|
||||||
this._tpClient.set_delegated_channels_callback(
|
this._tpClient.set_delegated_channels_callback(
|
||||||
@@ -124,17 +115,12 @@ const TelepathyClient = new Lang.Class({
|
|||||||
throw new Error('Couldn\'t register Telepathy client. Error: \n' + e);
|
throw new Error('Couldn\'t register Telepathy client. Error: \n' + e);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._accountManagerValidityChangedId = this._accountManager.connect('account-validity-changed',
|
|
||||||
Lang.bind(this, this._accountValidityChanged));
|
|
||||||
|
|
||||||
if (!this._accountManager.is_prepared(Tp.AccountManager.get_feature_quark_core()))
|
if (!this._accountManager.is_prepared(Tp.AccountManager.get_feature_quark_core()))
|
||||||
this._accountManager.prepare_async(null, Lang.bind(this, this._accountManagerPrepared));
|
this._accountManager.prepare_async(null, Lang.bind(this, this._accountManagerPrepared));
|
||||||
},
|
},
|
||||||
|
|
||||||
disable: function() {
|
disable: function() {
|
||||||
this._tpClient.unregister();
|
this._tpClient.unregister();
|
||||||
this._accountManager.disconnect(this._accountManagerValidityChangedId);
|
|
||||||
this._accountManagerValidityChangedId = 0;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_observeChannels: function(observer, account, conn, channels,
|
_observeChannels: function(observer, account, conn, channels,
|
||||||
@@ -219,33 +205,6 @@ const TelepathyClient = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_displayRoomInvitation: function(conn, channel, dispatchOp, context) {
|
|
||||||
// We can only approve the rooms if we have been invited to it
|
|
||||||
let selfContact = channel.group_get_self_contact();
|
|
||||||
if (selfContact == null) {
|
|
||||||
context.fail(new Tp.Error({ code: Tp.Error.INVALID_ARGUMENT,
|
|
||||||
message: 'Not invited to the room' }));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let [invited, inviter, reason, msg] = channel.group_get_local_pending_contact_info(selfContact);
|
|
||||||
if (!invited) {
|
|
||||||
context.fail(new Tp.Error({ code: Tp.Error.INVALID_ARGUMENT,
|
|
||||||
message: 'Not invited to the room' }));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME: We don't have a 'chat room' icon (bgo #653737) use
|
|
||||||
// system-users for now as Empathy does.
|
|
||||||
let source = new ApproverSource(dispatchOp, _("Invitation"),
|
|
||||||
Gio.icon_new_for_string('system-users'));
|
|
||||||
Main.messageTray.add(source);
|
|
||||||
|
|
||||||
let notif = new RoomInviteNotification(source, dispatchOp, channel, inviter);
|
|
||||||
source.notify(notif);
|
|
||||||
context.accept();
|
|
||||||
},
|
|
||||||
|
|
||||||
_approveChannels: function(approver, account, conn, channels,
|
_approveChannels: function(approver, account, conn, channels,
|
||||||
dispatchOp, context) {
|
dispatchOp, context) {
|
||||||
let channel = channels[0];
|
let channel = channels[0];
|
||||||
@@ -259,10 +218,6 @@ const TelepathyClient = new Lang.Class({
|
|||||||
|
|
||||||
if (chanType == Tp.IFACE_CHANNEL_TYPE_TEXT)
|
if (chanType == Tp.IFACE_CHANNEL_TYPE_TEXT)
|
||||||
this._approveTextChannel(account, conn, channel, dispatchOp, context);
|
this._approveTextChannel(account, conn, channel, dispatchOp, context);
|
||||||
else if (chanType == Tp.IFACE_CHANNEL_TYPE_CALL)
|
|
||||||
this._approveCall(account, conn, channel, dispatchOp, context);
|
|
||||||
else if (chanType == Tp.IFACE_CHANNEL_TYPE_FILE_TRANSFER)
|
|
||||||
this._approveFileTransfer(account, conn, channel, dispatchOp, context);
|
|
||||||
else
|
else
|
||||||
context.fail(new Tp.Error({ code: Tp.Error.INVALID_ARGUMENT,
|
context.fail(new Tp.Error({ code: Tp.Error.INVALID_ARGUMENT,
|
||||||
message: 'Unsupported channel type' }));
|
message: 'Unsupported channel type' }));
|
||||||
@@ -283,45 +238,9 @@ const TelepathyClient = new Lang.Class({
|
|||||||
}}));
|
}}));
|
||||||
|
|
||||||
context.accept();
|
context.accept();
|
||||||
} else {
|
|
||||||
this._displayRoomInvitation(conn, channel, dispatchOp, context);
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_approveCall: function(account, conn, channel, dispatchOp, context) {
|
|
||||||
let isVideo = false;
|
|
||||||
|
|
||||||
let props = channel.borrow_immutable_properties();
|
|
||||||
|
|
||||||
if (props[Tp.PROP_CHANNEL_TYPE_CALL_INITIAL_VIDEO])
|
|
||||||
isVideo = true;
|
|
||||||
|
|
||||||
// We got the TpContact
|
|
||||||
let source = new ApproverSource(dispatchOp, _("Call"), isVideo ?
|
|
||||||
Gio.icon_new_for_string('camera-web') :
|
|
||||||
Gio.icon_new_for_string('audio-input-microphone'));
|
|
||||||
Main.messageTray.add(source);
|
|
||||||
|
|
||||||
let notif = new AudioVideoNotification(source, dispatchOp, channel,
|
|
||||||
channel.get_target_contact(), isVideo);
|
|
||||||
source.notify(notif);
|
|
||||||
context.accept();
|
|
||||||
},
|
|
||||||
|
|
||||||
_approveFileTransfer: function(account, conn, channel, dispatchOp, context) {
|
|
||||||
// Use the icon of the file being transferred
|
|
||||||
let gicon = Gio.content_type_get_icon(channel.get_mime_type());
|
|
||||||
|
|
||||||
// We got the TpContact
|
|
||||||
let source = new ApproverSource(dispatchOp, _("File Transfer"), gicon);
|
|
||||||
Main.messageTray.add(source);
|
|
||||||
|
|
||||||
let notif = new FileTransferNotification(source, dispatchOp, channel,
|
|
||||||
channel.get_target_contact());
|
|
||||||
source.notify(notif);
|
|
||||||
context.accept();
|
|
||||||
},
|
|
||||||
|
|
||||||
_delegatedChannelsCb: function(client, channels) {
|
_delegatedChannelsCb: function(client, channels) {
|
||||||
// Nothing to do as we don't make a distinction between observed and
|
// Nothing to do as we don't make a distinction between observed and
|
||||||
// handled channels.
|
// handled channels.
|
||||||
@@ -329,105 +248,7 @@ const TelepathyClient = new Lang.Class({
|
|||||||
|
|
||||||
_accountManagerPrepared: function(am, result) {
|
_accountManagerPrepared: function(am, result) {
|
||||||
am.prepare_finish(result);
|
am.prepare_finish(result);
|
||||||
|
|
||||||
let accounts = am.get_valid_accounts();
|
|
||||||
for (let i = 0; i < accounts.length; i++) {
|
|
||||||
this._accountValidityChanged(am, accounts[i], true);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_accountValidityChanged: function(am, account, valid) {
|
|
||||||
if (!valid)
|
|
||||||
return;
|
|
||||||
|
|
||||||
// It would be better to connect to "status-changed" but we cannot.
|
|
||||||
// See discussion in https://bugzilla.gnome.org/show_bug.cgi?id=654159
|
|
||||||
account.connect("notify::connection-status",
|
|
||||||
Lang.bind(this, this._accountConnectionStatusNotifyCb));
|
|
||||||
|
|
||||||
account.connect('notify::connection',
|
|
||||||
Lang.bind(this, this._connectionChanged));
|
|
||||||
this._connectionChanged(account);
|
|
||||||
},
|
|
||||||
|
|
||||||
_connectionChanged: function(account) {
|
|
||||||
let conn = account.get_connection();
|
|
||||||
if (conn == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
this._tpClient.grab_contact_list_changed(conn);
|
|
||||||
if (conn.get_contact_list_state() == Tp.ContactListState.SUCCESS) {
|
|
||||||
this._contactListChanged(conn, conn.dup_contact_list(), []);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_contactListChanged: function(conn, added, removed) {
|
|
||||||
for (let i = 0; i < added.length; i++) {
|
|
||||||
let contact = added[i];
|
|
||||||
|
|
||||||
contact.connect('subscription-states-changed',
|
|
||||||
Lang.bind(this, this._subscriptionStateChanged));
|
|
||||||
this._subscriptionStateChanged(contact);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_subscriptionStateChanged: function(contact) {
|
|
||||||
if (contact.get_publish_state() != Tp.SubscriptionState.ASK)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Implicitly accept publish requests if contact is already subscribed */
|
|
||||||
if (contact.get_subscribe_state() == Tp.SubscriptionState.YES ||
|
|
||||||
contact.get_subscribe_state() == Tp.SubscriptionState.ASK) {
|
|
||||||
|
|
||||||
contact.authorize_publication_async(function(src, result) {
|
|
||||||
src.authorize_publication_finish(result)});
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Display notification to ask user to accept/reject request */
|
|
||||||
let source = this._ensureAppSource();
|
|
||||||
|
|
||||||
let notif = new SubscriptionRequestNotification(source, contact);
|
|
||||||
source.notify(notif);
|
|
||||||
},
|
|
||||||
|
|
||||||
_accountConnectionStatusNotifyCb: function(account) {
|
|
||||||
let connectionError = account.connection_error;
|
|
||||||
|
|
||||||
if (account.connection_status != Tp.ConnectionStatus.DISCONNECTED ||
|
|
||||||
connectionError == Tp.error_get_dbus_name(Tp.Error.CANCELLED)) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let notif = this._accountNotifications[account.get_object_path()];
|
|
||||||
if (notif)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* Display notification that account failed to connect */
|
|
||||||
let source = this._ensureAppSource();
|
|
||||||
|
|
||||||
notif = new AccountNotification(source, account, connectionError);
|
|
||||||
this._accountNotifications[account.get_object_path()] = notif;
|
|
||||||
notif.connect('destroy', Lang.bind(this, function() {
|
|
||||||
delete this._accountNotifications[account.get_object_path()];
|
|
||||||
}));
|
|
||||||
source.notify(notif);
|
|
||||||
},
|
|
||||||
|
|
||||||
_ensureAppSource: function() {
|
|
||||||
if (this._appSource == null) {
|
|
||||||
this._appSource = new MessageTray.Source(_("Chat"), 'empathy');
|
|
||||||
this._appSource.policy = new MessageTray.NotificationApplicationPolicy('empathy');
|
|
||||||
|
|
||||||
Main.messageTray.add(this._appSource);
|
|
||||||
this._appSource.connect('destroy', Lang.bind(this, function () {
|
|
||||||
this._appSource = null;
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
|
|
||||||
return this._appSource;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const ChatSource = new Lang.Class({
|
const ChatSource = new Lang.Class({
|
||||||
@@ -545,7 +366,7 @@ const ChatSource = new Lang.Class({
|
|||||||
|
|
||||||
_updateAvatarIcon: function() {
|
_updateAvatarIcon: function() {
|
||||||
this.iconUpdated();
|
this.iconUpdated();
|
||||||
this._notification.update(this._notification.title, null, { customContent: true });
|
this._notification.update(this._notification.title);
|
||||||
},
|
},
|
||||||
|
|
||||||
open: function() {
|
open: function() {
|
||||||
@@ -737,7 +558,7 @@ const ChatSource = new Lang.Class({
|
|||||||
|
|
||||||
title = GLib.markup_escape_text(this.title, -1);
|
title = GLib.markup_escape_text(this.title, -1);
|
||||||
|
|
||||||
this._notification.update(this._notification.title, null, { customContent: true, secondaryGIcon: this.getSecondaryIcon() });
|
this._notification.update(this._notification.title, null, { secondaryGIcon: this.getSecondaryIcon() });
|
||||||
|
|
||||||
if (message)
|
if (message)
|
||||||
msg += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
|
msg += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
|
||||||
@@ -764,8 +585,7 @@ const ChatNotification = new Lang.Class({
|
|||||||
Extends: MessageTray.Notification,
|
Extends: MessageTray.Notification,
|
||||||
|
|
||||||
_init: function(source) {
|
_init: function(source) {
|
||||||
this.parent(source, source.title, null, { customContent: true, secondaryGIcon: source.getSecondaryIcon() });
|
this.parent(source, source.title, null, { secondaryGIcon: source.getSecondaryIcon() });
|
||||||
this.setResident(true);
|
|
||||||
|
|
||||||
this._responseEntry = new St.Entry({ style_class: 'chat-response',
|
this._responseEntry = new St.Entry({ style_class: 'chat-response',
|
||||||
can_focus: true });
|
can_focus: true });
|
||||||
@@ -781,16 +601,17 @@ const ChatNotification = new Lang.Class({
|
|||||||
this.emit('unfocused');
|
this.emit('unfocused');
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this._createScrollArea();
|
|
||||||
this._lastGroup = null;
|
this._lastGroup = null;
|
||||||
this._lastGroupActor = null;
|
|
||||||
|
this._bodyBox = new St.BoxLayout({ style_class: 'chat-notification-body-box' });
|
||||||
|
this._bodyBin.child = this._bodyBox;
|
||||||
|
|
||||||
// Keep track of the bottom position for the current adjustment and
|
// Keep track of the bottom position for the current adjustment and
|
||||||
// force a scroll to the bottom if things change while we were at the
|
// force a scroll to the bottom if things change while we were at the
|
||||||
// bottom
|
// bottom
|
||||||
this._oldMaxScrollValue = this._scrollArea.vscroll.adjustment.value;
|
this._oldMaxScrollValue = this._bodyScrollArea.vscroll.adjustment.value;
|
||||||
this._scrollArea.add_style_class_name('chat-notification-scrollview');
|
this._bodyScrollArea.add_style_class_name('chat-notification-scrollview');
|
||||||
this._scrollArea.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) {
|
this._bodyScrollArea.vscroll.adjustment.connect('changed', Lang.bind(this, function(adjustment) {
|
||||||
if (adjustment.value == this._oldMaxScrollValue)
|
if (adjustment.value == this._oldMaxScrollValue)
|
||||||
this.scrollTo(St.Side.BOTTOM);
|
this.scrollTo(St.Side.BOTTOM);
|
||||||
this._oldMaxScrollValue = Math.max(adjustment.lower, adjustment.upper - adjustment.page_size);
|
this._oldMaxScrollValue = Math.max(adjustment.lower, adjustment.upper - adjustment.page_size);
|
||||||
@@ -827,8 +648,7 @@ const ChatNotification = new Lang.Class({
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (message.direction == NotificationDirection.RECEIVED) {
|
if (message.direction == NotificationDirection.RECEIVED) {
|
||||||
this.update(this.source.title, messageBody, { customContent: true,
|
this.update(this.source.title, messageBody, { bannerMarkup: true });
|
||||||
bannerMarkup: true });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
let group = (message.direction == NotificationDirection.RECEIVED ?
|
let group = (message.direction == NotificationDirection.RECEIVED ?
|
||||||
@@ -865,7 +685,7 @@ const ChatNotification = new Lang.Class({
|
|||||||
expired[i].actor.destroy();
|
expired[i].actor.destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
let groups = this._contentArea.get_children();
|
let groups = this._bodyBox.get_children();
|
||||||
for (let i = 0; i < groups.length; i++) {
|
for (let i = 0; i < groups.length; i++) {
|
||||||
let group = groups[i];
|
let group = groups[i];
|
||||||
if (group.get_n_children() == 0)
|
if (group.get_n_children() == 0)
|
||||||
@@ -897,9 +717,9 @@ const ChatNotification = new Lang.Class({
|
|||||||
if (this._timestampTimeoutId)
|
if (this._timestampTimeoutId)
|
||||||
Mainloop.source_remove(this._timestampTimeoutId);
|
Mainloop.source_remove(this._timestampTimeoutId);
|
||||||
|
|
||||||
let highlighter = new MessageTray.URLHighlighter(props.body,
|
let highlighter = new MessageTray.URLHighlighter();
|
||||||
true, // line wrap?
|
highlighter.actor.clutter_text.line_wrap = true;
|
||||||
true); // allow markup?
|
highlighter.setMarkup(props.body, true);
|
||||||
|
|
||||||
let body = highlighter.actor;
|
let body = highlighter.actor;
|
||||||
|
|
||||||
@@ -911,14 +731,12 @@ const ChatNotification = new Lang.Class({
|
|||||||
if (group != this._lastGroup) {
|
if (group != this._lastGroup) {
|
||||||
this._lastGroup = group;
|
this._lastGroup = group;
|
||||||
let emptyLine = new St.Label({ style_class: 'chat-empty-line' });
|
let emptyLine = new St.Label({ style_class: 'chat-empty-line' });
|
||||||
this.addActor(emptyLine);
|
this._bodyBox.add_child(emptyLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
this._lastMessageBox = new St.BoxLayout({ vertical: false });
|
this._lastMessageBox = new St.BoxLayout({ vertical: false });
|
||||||
this._lastMessageBox.add(body, props.childProps);
|
this._lastMessageBox.add(body, props.childProps);
|
||||||
this.addActor(this._lastMessageBox);
|
this._bodyBox.add_child(this._lastMessageBox);
|
||||||
|
|
||||||
this.updated();
|
|
||||||
|
|
||||||
let timestamp = props.timestamp;
|
let timestamp = props.timestamp;
|
||||||
this._history.unshift({ actor: body, time: timestamp,
|
this._history.unshift({ actor: body, time: timestamp,
|
||||||
@@ -949,78 +767,74 @@ const ChatNotification = new Lang.Class({
|
|||||||
|
|
||||||
let desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
let desktopSettings = new Gio.Settings({ schema: 'org.gnome.desktop.interface' });
|
||||||
let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
let clockFormat = desktopSettings.get_string(CLOCK_FORMAT_KEY);
|
||||||
|
let hasAmPm = date.toLocaleFormat('%p') != '';
|
||||||
|
|
||||||
switch (clockFormat) {
|
if (clockFormat == '24h' || !hasAmPm) {
|
||||||
case '24h':
|
// Show only the time if date is on today
|
||||||
// Show only the time if date is on today
|
if(daysAgo < 1){
|
||||||
if(daysAgo < 1){
|
/* Translators: Time in 24h format */
|
||||||
/* Translators: Time in 24h format */
|
format = _("%H\u2236%M");
|
||||||
format = _("%H\u2236%M");
|
}
|
||||||
}
|
// Show the word "Yesterday" and time if date is on yesterday
|
||||||
// Show the word "Yesterday" and time if date is on yesterday
|
else if(daysAgo <2){
|
||||||
else if(daysAgo <2){
|
/* Translators: this is the word "Yesterday" followed by a
|
||||||
/* Translators: this is the word "Yesterday" followed by a
|
time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
time string in 24h format. i.e. "Yesterday, 14:30" */
|
// xgettext:no-c-format
|
||||||
// xgettext:no-c-format
|
format = _("Yesterday, %H\u2236%M");
|
||||||
format = _("Yesterday, %H\u2236%M");
|
}
|
||||||
}
|
// Show a week day and time if date is in the last week
|
||||||
// Show a week day and time if date is in the last week
|
else if (daysAgo < 7) {
|
||||||
else if (daysAgo < 7) {
|
/* Translators: this is the week day name followed by a time
|
||||||
/* Translators: this is the week day name followed by a time
|
string in 24h format. i.e. "Monday, 14:30" */
|
||||||
string in 24h format. i.e. "Monday, 14:30" */
|
// xgettext:no-c-format
|
||||||
// xgettext:no-c-format
|
format = _("%A, %H\u2236%M");
|
||||||
format = _("%A, %H\u2236%M");
|
|
||||||
|
|
||||||
} else if (date.getYear() == now.getYear()) {
|
} else if (date.getYear() == now.getYear()) {
|
||||||
/* Translators: this is the month name and day number
|
/* Translators: this is the month name and day number
|
||||||
followed by a time string in 24h format.
|
followed by a time string in 24h format.
|
||||||
i.e. "May 25, 14:30" */
|
i.e. "May 25, 14:30" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d, %H\u2236%M");
|
format = _("%B %d, %H\u2236%M");
|
||||||
} else {
|
} else {
|
||||||
/* Translators: this is the month name, day number, year
|
/* Translators: this is the month name, day number, year
|
||||||
number followed by a time string in 24h format.
|
number followed by a time string in 24h format.
|
||||||
i.e. "May 25 2012, 14:30" */
|
i.e. "May 25 2012, 14:30" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d %Y, %H\u2236%M");
|
format = _("%B %d %Y, %H\u2236%M");
|
||||||
}
|
}
|
||||||
break;
|
} else {
|
||||||
default:
|
// Show only the time if date is on today
|
||||||
/* explicit fall-through */
|
if(daysAgo < 1){
|
||||||
case '12h':
|
/* Translators: Time in 24h format */
|
||||||
// Show only the time if date is on today
|
format = _("%l\u2236%M %p");
|
||||||
if(daysAgo < 1){
|
}
|
||||||
/* Translators: Time in 24h format */
|
// Show the word "Yesterday" and time if date is on yesterday
|
||||||
format = _("%l\u2236%M %p");
|
else if(daysAgo <2){
|
||||||
}
|
/* Translators: this is the word "Yesterday" followed by a
|
||||||
// Show the word "Yesterday" and time if date is on yesterday
|
time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
else if(daysAgo <2){
|
// xgettext:no-c-format
|
||||||
/* Translators: this is the word "Yesterday" followed by a
|
format = _("Yesterday, %l\u2236%M %p");
|
||||||
time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
}
|
||||||
// xgettext:no-c-format
|
// Show a week day and time if date is in the last week
|
||||||
format = _("Yesterday, %l\u2236%M %p");
|
else if (daysAgo < 7) {
|
||||||
}
|
/* Translators: this is the week day name followed by a time
|
||||||
// Show a week day and time if date is in the last week
|
string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
else if (daysAgo < 7) {
|
// xgettext:no-c-format
|
||||||
/* Translators: this is the week day name followed by a time
|
format = _("%A, %l\u2236%M %p");
|
||||||
string in 12h format. i.e. "Monday, 2:30 pm" */
|
|
||||||
// xgettext:no-c-format
|
|
||||||
format = _("%A, %l\u2236%M %p");
|
|
||||||
|
|
||||||
} else if (date.getYear() == now.getYear()) {
|
} else if (date.getYear() == now.getYear()) {
|
||||||
/* Translators: this is the month name and day number
|
/* Translators: this is the month name and day number
|
||||||
followed by a time string in 12h format.
|
followed by a time string in 12h format.
|
||||||
i.e. "May 25, 2:30 pm" */
|
i.e. "May 25, 2:30 pm" */
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d, %l\u2236%M %p");
|
format = _("%B %d, %l\u2236%M %p");
|
||||||
} else {
|
} else {
|
||||||
/* Translators: this is the month name, day number, year
|
/* Translators: this is the month name, day number, year
|
||||||
number followed by a time string in 12h format.
|
number followed by a time string in 12h format.
|
||||||
i.e. "May 25 2012, 2:30 pm"*/
|
i.e. "May 25 2012, 2:30 pm"*/
|
||||||
// xgettext:no-c-format
|
// xgettext:no-c-format
|
||||||
format = _("%B %d %Y, %l\u2236%M %p");
|
format = _("%B %d %Y, %l\u2236%M %p");
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
return date.toLocaleFormat(format);
|
return date.toLocaleFormat(format);
|
||||||
},
|
},
|
||||||
@@ -1057,7 +871,7 @@ const ChatNotification = new Lang.Class({
|
|||||||
group: 'meta',
|
group: 'meta',
|
||||||
styles: ['chat-meta-message'] });
|
styles: ['chat-meta-message'] });
|
||||||
|
|
||||||
this.update(newAlias, null, { customContent: true });
|
this.update(newAlias);
|
||||||
|
|
||||||
this._filterMessages();
|
this._filterMessages();
|
||||||
},
|
},
|
||||||
@@ -1110,359 +924,4 @@ const ChatNotification = new Lang.Class({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
const ApproverSource = new Lang.Class({
|
|
||||||
Name: 'ApproverSource',
|
|
||||||
Extends: MessageTray.Source,
|
|
||||||
|
|
||||||
_init: function(dispatchOp, text, gicon) {
|
|
||||||
this._gicon = gicon;
|
|
||||||
|
|
||||||
this.parent(text);
|
|
||||||
|
|
||||||
this._dispatchOp = dispatchOp;
|
|
||||||
|
|
||||||
// Destroy the source if the channel dispatch operation is invalidated
|
|
||||||
// as we can't approve any more.
|
|
||||||
this._invalidId = dispatchOp.connect('invalidated',
|
|
||||||
Lang.bind(this, function(domain, code, msg) {
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
_createPolicy: function() {
|
|
||||||
return new MessageTray.NotificationApplicationPolicy('empathy');
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function() {
|
|
||||||
if (this._invalidId != 0) {
|
|
||||||
this._dispatchOp.disconnect(this._invalidId);
|
|
||||||
this._invalidId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.parent();
|
|
||||||
},
|
|
||||||
|
|
||||||
getIcon: function() {
|
|
||||||
return this._gicon;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
const RoomInviteNotification = new Lang.Class({
|
|
||||||
Name: 'RoomInviteNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(source, dispatchOp, channel, inviter) {
|
|
||||||
this.parent(source,
|
|
||||||
/* translators: argument is a room name like
|
|
||||||
* room@jabber.org for example. */
|
|
||||||
_("Invitation to %s").format(channel.get_identifier()),
|
|
||||||
null,
|
|
||||||
{ customContent: true });
|
|
||||||
this.setResident(true);
|
|
||||||
|
|
||||||
/* translators: first argument is the name of a contact and the second
|
|
||||||
* one the name of a room. "Alice is inviting you to join room@jabber.org
|
|
||||||
* for example. */
|
|
||||||
this.addBody(_("%s is inviting you to join %s").format(inviter.get_alias(), channel.get_identifier()));
|
|
||||||
|
|
||||||
this.addAction(_("Decline"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.leave_channels_async(Tp.ChannelGroupChangeReason.NONE, '', function(src, result) {
|
|
||||||
src.leave_channels_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
this.addAction(_("Accept"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.handle_with_time_async('', global.get_current_time(), function(src, result) {
|
|
||||||
src.handle_with_time_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Audio Video
|
|
||||||
const AudioVideoNotification = new Lang.Class({
|
|
||||||
Name: 'AudioVideoNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(source, dispatchOp, channel, contact, isVideo) {
|
|
||||||
let title = '';
|
|
||||||
|
|
||||||
if (isVideo)
|
|
||||||
/* translators: argument is a contact name like Alice for example. */
|
|
||||||
title = _("Video call from %s").format(contact.get_alias());
|
|
||||||
else
|
|
||||||
/* translators: argument is a contact name like Alice for example. */
|
|
||||||
title = _("Call from %s").format(contact.get_alias());
|
|
||||||
|
|
||||||
this.parent(source, title, null, { customContent: true });
|
|
||||||
this.setResident(true);
|
|
||||||
|
|
||||||
this.setUrgency(MessageTray.Urgency.CRITICAL);
|
|
||||||
|
|
||||||
this.addAction(_("Decline"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.leave_channels_async(Tp.ChannelGroupChangeReason.NONE, '', function(src, result) {
|
|
||||||
src.leave_channels_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
/* translators: this is a button label (verb), not a noun */
|
|
||||||
this.addAction(_("Answer"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.handle_with_time_async('', global.get_current_time(), function(src, result) {
|
|
||||||
src.handle_with_time_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// File Transfer
|
|
||||||
const FileTransferNotification = new Lang.Class({
|
|
||||||
Name: 'FileTransferNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(source, dispatchOp, channel, contact) {
|
|
||||||
this.parent(source,
|
|
||||||
/* To translators: The first parameter is
|
|
||||||
* the contact's alias and the second one is the
|
|
||||||
* file name. The string will be something
|
|
||||||
* like: "Alice is sending you test.ogg"
|
|
||||||
*/
|
|
||||||
_("%s is sending you %s").format(contact.get_alias(),
|
|
||||||
channel.get_filename()),
|
|
||||||
null,
|
|
||||||
{ customContent: true });
|
|
||||||
this.setResident(true);
|
|
||||||
|
|
||||||
this.addAction(_("Decline"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.leave_channels_async(Tp.ChannelGroupChangeReason.NONE, '', function(src, result) {
|
|
||||||
src.leave_channels_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
this.addAction(_("Accept"), Lang.bind(this, function() {
|
|
||||||
dispatchOp.handle_with_time_async('', global.get_current_time(), function(src, result) {
|
|
||||||
src.handle_with_time_finish(result);
|
|
||||||
});
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Subscription request
|
|
||||||
const SubscriptionRequestNotification = new Lang.Class({
|
|
||||||
Name: 'SubscriptionRequestNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(source, contact) {
|
|
||||||
this.parent(source,
|
|
||||||
/* To translators: The parameter is the contact's alias */
|
|
||||||
_("%s would like permission to see when you are online").format(contact.get_alias()),
|
|
||||||
null, { customContent: true });
|
|
||||||
|
|
||||||
this._contact = contact;
|
|
||||||
this._connection = contact.get_connection();
|
|
||||||
|
|
||||||
let layout = new St.BoxLayout({ vertical: false });
|
|
||||||
|
|
||||||
// Display avatar
|
|
||||||
let iconBox = new St.Bin({ style_class: 'avatar-box' });
|
|
||||||
iconBox._size = 48;
|
|
||||||
|
|
||||||
let textureCache = St.TextureCache.get_default();
|
|
||||||
let file = contact.get_avatar_file();
|
|
||||||
|
|
||||||
if (file) {
|
|
||||||
let uri = file.get_uri();
|
|
||||||
let scaleFactor = St.ThemeContext.get_for_stage(global.stage).scale_factor;
|
|
||||||
iconBox.child = textureCache.load_uri_async(uri, iconBox._size, iconBox._size, scaleFactor);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
iconBox.child = new St.Icon({ icon_name: 'avatar-default',
|
|
||||||
icon_size: iconBox._size });
|
|
||||||
}
|
|
||||||
|
|
||||||
layout.add(iconBox);
|
|
||||||
|
|
||||||
// subscription request message
|
|
||||||
let label = new St.Label({ style_class: 'subscription-message',
|
|
||||||
text: contact.get_publish_request() });
|
|
||||||
|
|
||||||
layout.add(label);
|
|
||||||
|
|
||||||
this.addActor(layout);
|
|
||||||
|
|
||||||
this.addAction(_("Decline"), Lang.bind(this, function() {
|
|
||||||
contact.remove_async(function(src, result) {
|
|
||||||
src.remove_finish(result);
|
|
||||||
});
|
|
||||||
}));
|
|
||||||
this.addAction(_("Accept"), Lang.bind(this, function() {
|
|
||||||
// Authorize the contact and request to see his status as well
|
|
||||||
contact.authorize_publication_async(function(src, result) {
|
|
||||||
src.authorize_publication_finish(result);
|
|
||||||
});
|
|
||||||
|
|
||||||
contact.request_subscription_async('', function(src, result) {
|
|
||||||
src.request_subscription_finish(result);
|
|
||||||
});
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._changedId = contact.connect('subscription-states-changed',
|
|
||||||
Lang.bind(this, this._subscriptionStatesChangedCb));
|
|
||||||
this._invalidatedId = this._connection.connect('invalidated',
|
|
||||||
Lang.bind(this, this.destroy));
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function() {
|
|
||||||
if (this._changedId != 0) {
|
|
||||||
this._contact.disconnect(this._changedId);
|
|
||||||
this._changedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._invalidatedId != 0) {
|
|
||||||
this._connection.disconnect(this._invalidatedId);
|
|
||||||
this._invalidatedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.parent();
|
|
||||||
},
|
|
||||||
|
|
||||||
_subscriptionStatesChangedCb: function(contact, subscribe, publish, msg) {
|
|
||||||
// Destroy the notification if the subscription request has been
|
|
||||||
// answered
|
|
||||||
if (publish != Tp.SubscriptionState.ASK)
|
|
||||||
this.destroy();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
// Messages from empathy/libempathy/empathy-utils.c
|
|
||||||
// create_errors_to_message_hash()
|
|
||||||
|
|
||||||
/* Translator note: these should be the same messages that are
|
|
||||||
* used in Empathy, so just copy and paste from there. */
|
|
||||||
let _connectionErrorMessages = {};
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.NETWORK_ERROR)]
|
|
||||||
= _("Network error");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.AUTHENTICATION_FAILED)]
|
|
||||||
= _("Authentication failed");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.ENCRYPTION_ERROR)]
|
|
||||||
= _("Encryption error");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_NOT_PROVIDED)]
|
|
||||||
= _("Certificate not provided");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_UNTRUSTED)]
|
|
||||||
= _("Certificate untrusted");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_EXPIRED)]
|
|
||||||
= _("Certificate expired");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_NOT_ACTIVATED)]
|
|
||||||
= _("Certificate not activated");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_HOSTNAME_MISMATCH)]
|
|
||||||
= _("Certificate hostname mismatch");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_FINGERPRINT_MISMATCH)]
|
|
||||||
= _("Certificate fingerprint mismatch");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_SELF_SIGNED)]
|
|
||||||
= _("Certificate self-signed");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CANCELLED)]
|
|
||||||
= _("Status is set to offline");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.ENCRYPTION_NOT_AVAILABLE)]
|
|
||||||
= _("Encryption is not available");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_INVALID)]
|
|
||||||
= _("Certificate is invalid");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CONNECTION_REFUSED)]
|
|
||||||
= _("Connection has been refused");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CONNECTION_FAILED)]
|
|
||||||
= _("Connection can't be established");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CONNECTION_LOST)]
|
|
||||||
= _("Connection has been lost");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.ALREADY_CONNECTED)]
|
|
||||||
= _("This account is already connected to the server");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CONNECTION_REPLACED)]
|
|
||||||
= _("Connection has been replaced by a new connection using the same resource");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.REGISTRATION_EXISTS)]
|
|
||||||
= _("The account already exists on the server");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.SERVICE_BUSY)]
|
|
||||||
= _("Server is currently too busy to handle the connection");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_REVOKED)]
|
|
||||||
= _("Certificate has been revoked");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_INSECURE)]
|
|
||||||
= _("Certificate uses an insecure cipher algorithm or is cryptographically weak");
|
|
||||||
_connectionErrorMessages[Tp.error_get_dbus_name(Tp.Error.CERT_LIMIT_EXCEEDED)]
|
|
||||||
= _("The length of the server certificate, or the depth of the server certificate chain, exceed the limits imposed by the cryptography library");
|
|
||||||
_connectionErrorMessages['org.freedesktop.DBus.Error.NoReply']
|
|
||||||
= _("Internal error");
|
|
||||||
|
|
||||||
const AccountNotification = new Lang.Class({
|
|
||||||
Name: 'AccountNotification',
|
|
||||||
Extends: MessageTray.Notification,
|
|
||||||
|
|
||||||
_init: function(source, account, connectionError) {
|
|
||||||
this.parent(source,
|
|
||||||
/* translators: argument is the account name, like
|
|
||||||
* name@jabber.org for example. */
|
|
||||||
_("Unable to connect to %s").format(account.get_display_name()),
|
|
||||||
this._getMessage(connectionError));
|
|
||||||
|
|
||||||
this._account = account;
|
|
||||||
|
|
||||||
this.addAction(_("View account"), Lang.bind(this, function() {
|
|
||||||
let cmd = 'empathy-accounts --select-account=' +
|
|
||||||
account.get_path_suffix();
|
|
||||||
let app_info = Gio.app_info_create_from_commandline(cmd, null, 0);
|
|
||||||
app_info.launch([], global.create_app_launch_context(0, -1));
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._enabledId = account.connect('notify::enabled',
|
|
||||||
Lang.bind(this, function() {
|
|
||||||
if (!account.is_enabled())
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._invalidatedId = account.connect('invalidated',
|
|
||||||
Lang.bind(this, this.destroy));
|
|
||||||
|
|
||||||
this._connectionStatusId = account.connect('notify::connection-status',
|
|
||||||
Lang.bind(this, function() {
|
|
||||||
let status = account.connection_status;
|
|
||||||
if (status == Tp.ConnectionStatus.CONNECTED) {
|
|
||||||
this.destroy();
|
|
||||||
} else if (status == Tp.ConnectionStatus.DISCONNECTED) {
|
|
||||||
let connectionError = account.connection_error;
|
|
||||||
|
|
||||||
if (connectionError == Tp.error_get_dbus_name(Tp.Error.CANCELLED))
|
|
||||||
this.destroy();
|
|
||||||
else
|
|
||||||
this.update(this.title, this._getMessage(connectionError));
|
|
||||||
}
|
|
||||||
}));
|
|
||||||
},
|
|
||||||
|
|
||||||
_getMessage: function(connectionError) {
|
|
||||||
let message;
|
|
||||||
if (connectionError in _connectionErrorMessages) {
|
|
||||||
message = _connectionErrorMessages[connectionError];
|
|
||||||
} else {
|
|
||||||
message = _("Unknown reason");
|
|
||||||
}
|
|
||||||
return message;
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function() {
|
|
||||||
if (this._enabledId != 0) {
|
|
||||||
this._account.disconnect(this._enabledId);
|
|
||||||
this._enabledId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._invalidatedId != 0) {
|
|
||||||
this._account.disconnect(this._invalidatedId);
|
|
||||||
this._invalidatedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._connectionStatusId != 0) {
|
|
||||||
this._account.disconnect(this._connectionStatusId);
|
|
||||||
this._connectionStatusId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.parent();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
const Component = TelepathyClient;
|
const Component = TelepathyClient;
|
||||||
|
@@ -87,7 +87,7 @@ const CtrlAltTabManager = new Lang.Class({
|
|||||||
if (Main.sessionMode.hasWindows && !Main.overview.visible) {
|
if (Main.sessionMode.hasWindows && !Main.overview.visible) {
|
||||||
let screen = global.screen;
|
let screen = global.screen;
|
||||||
let display = screen.get_display();
|
let display = screen.get_display();
|
||||||
let windows = display.get_tab_list(Meta.TabList.DOCKS, screen, screen.get_active_workspace ());
|
let windows = display.get_tab_list(Meta.TabList.DOCKS, screen.get_active_workspace ());
|
||||||
let windowTracker = Shell.WindowTracker.get_default();
|
let windowTracker = Shell.WindowTracker.get_default();
|
||||||
let textureCache = St.TextureCache.get_default();
|
let textureCache = St.TextureCache.get_default();
|
||||||
for (let i = 0; i < windows.length; i++) {
|
for (let i = 0; i < windows.length; i++) {
|
||||||
|
@@ -18,8 +18,7 @@ const PanelMenu = imports.ui.panelMenu;
|
|||||||
const PopupMenu = imports.ui.popupMenu;
|
const PopupMenu = imports.ui.popupMenu;
|
||||||
const Calendar = imports.ui.calendar;
|
const Calendar = imports.ui.calendar;
|
||||||
|
|
||||||
function _onVertSepRepaint (area)
|
function _onVertSepRepaint(area) {
|
||||||
{
|
|
||||||
let cr = area.get_context();
|
let cr = area.get_context();
|
||||||
let themeNode = area.get_theme_node();
|
let themeNode = area.get_theme_node();
|
||||||
let [width, height] = area.get_surface_size();
|
let [width, height] = area.get_surface_size();
|
||||||
@@ -33,7 +32,7 @@ function _onVertSepRepaint (area)
|
|||||||
cr.setLineWidth(stippleWidth);
|
cr.setLineWidth(stippleWidth);
|
||||||
cr.stroke();
|
cr.stroke();
|
||||||
cr.$dispose();
|
cr.$dispose();
|
||||||
};
|
}
|
||||||
|
|
||||||
const DateMenuButton = new Lang.Class({
|
const DateMenuButton = new Lang.Class({
|
||||||
Name: 'DateMenuButton',
|
Name: 'DateMenuButton',
|
||||||
|
@@ -150,7 +150,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
|
|
||||||
this._keyboardIndex = -1;
|
this._keyboardIndex = -1;
|
||||||
this._rightPanelBarrier = null;
|
this._rightPanelBarrier = null;
|
||||||
this._trayBarrier = null;
|
|
||||||
|
|
||||||
this._inOverview = false;
|
this._inOverview = false;
|
||||||
this._updateRegionIdle = 0;
|
this._updateRegionIdle = 0;
|
||||||
@@ -210,7 +209,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
this.trayBox = new St.Widget({ name: 'trayBox',
|
this.trayBox = new St.Widget({ name: 'trayBox',
|
||||||
layout_manager: new Clutter.BinLayout() });
|
layout_manager: new Clutter.BinLayout() });
|
||||||
this.addChrome(this.trayBox);
|
this.addChrome(this.trayBox);
|
||||||
this._setupTrayPressure();
|
|
||||||
|
|
||||||
this.modalDialogGroup = new St.Widget({ name: 'modalDialogGroup',
|
this.modalDialogGroup = new St.Widget({ name: 'modalDialogGroup',
|
||||||
layout_manager: new Clutter.BinLayout() });
|
layout_manager: new Clutter.BinLayout() });
|
||||||
@@ -449,50 +447,9 @@ const LayoutManager = new Lang.Class({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
_setupTrayPressure: function() {
|
|
||||||
this._trayPressure = new PressureBarrier(MESSAGE_TRAY_PRESSURE_THRESHOLD,
|
|
||||||
MESSAGE_TRAY_PRESSURE_TIMEOUT,
|
|
||||||
Shell.KeyBindingMode.NORMAL |
|
|
||||||
Shell.KeyBindingMode.OVERVIEW);
|
|
||||||
this._trayPressure.setEventFilter(this._trayBarrierEventFilter);
|
|
||||||
this._trayPressure.connect('trigger', function(barrier) {
|
|
||||||
if (Main.layoutManager.bottomMonitor.inFullscreen)
|
|
||||||
return;
|
|
||||||
|
|
||||||
Main.messageTray.openTray();
|
|
||||||
});
|
|
||||||
},
|
|
||||||
|
|
||||||
_updateTrayBarrier: function() {
|
|
||||||
let monitor = this.bottomMonitor;
|
|
||||||
|
|
||||||
if (this._trayBarrier) {
|
|
||||||
this._trayPressure.removeBarrier(this._trayBarrier);
|
|
||||||
this._trayBarrier.destroy();
|
|
||||||
this._trayBarrier = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._trayBarrier = new Meta.Barrier({ display: global.display,
|
|
||||||
x1: monitor.x, x2: monitor.x + monitor.width,
|
|
||||||
y1: monitor.y + monitor.height, y2: monitor.y + monitor.height,
|
|
||||||
directions: Meta.BarrierDirection.NEGATIVE_Y });
|
|
||||||
this._trayPressure.addBarrier(this._trayBarrier);
|
|
||||||
},
|
|
||||||
|
|
||||||
_trayBarrierEventFilter: function(event) {
|
|
||||||
// Throw out all events where the pointer was grabbed by another
|
|
||||||
// client, as the client that grabbed the pointer expects to have
|
|
||||||
// complete control over it
|
|
||||||
if (event.grabbed && Main.modalCount == 0)
|
|
||||||
return true;
|
|
||||||
|
|
||||||
return false;
|
|
||||||
},
|
|
||||||
|
|
||||||
_monitorsChanged: function() {
|
_monitorsChanged: function() {
|
||||||
this._updateMonitors();
|
this._updateMonitors();
|
||||||
this._updateBoxes();
|
this._updateBoxes();
|
||||||
this._updateTrayBarrier();
|
|
||||||
this._updateHotCorners();
|
this._updateHotCorners();
|
||||||
this._updateBackgrounds();
|
this._updateBackgrounds();
|
||||||
this._updateFullscreen();
|
this._updateFullscreen();
|
||||||
@@ -1017,43 +974,6 @@ const LayoutManager = new Lang.Class({
|
|||||||
else
|
else
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
// Ensure that the strut rects goes all the way to the screen edge,
|
|
||||||
// as this really what mutter expects. However skip this step
|
|
||||||
// in cases where this would render an entire monitor unusable.
|
|
||||||
switch (side) {
|
|
||||||
case Meta.Side.TOP:
|
|
||||||
let hasMonitorsAbove = this.monitors.some(Lang.bind(this,
|
|
||||||
function(mon) {
|
|
||||||
return this._isAboveOrBelowPrimary(mon) &&
|
|
||||||
mon.y < primary.y;
|
|
||||||
}));
|
|
||||||
if (!hasMonitorsAbove)
|
|
||||||
y1 = 0;
|
|
||||||
break;
|
|
||||||
case Meta.Side.BOTTOM:
|
|
||||||
if (this.primaryIndex == this.bottomIndex)
|
|
||||||
y2 = global.screen_height;
|
|
||||||
break;
|
|
||||||
case Meta.Side.LEFT:
|
|
||||||
let hasMonitorsLeft = this.monitors.some(Lang.bind(this,
|
|
||||||
function(mon) {
|
|
||||||
return !this._isAboveOrBelowPrimary(mon) &&
|
|
||||||
mon.x < primary.x;
|
|
||||||
}));
|
|
||||||
if (!hasMonitorsLeft)
|
|
||||||
x1 = 0;
|
|
||||||
break;
|
|
||||||
case Meta.Side.RIGHT:
|
|
||||||
let hasMonitorsRight = this.monitors.some(Lang.bind(this,
|
|
||||||
function(mon) {
|
|
||||||
return !this._isAboveOrBelowPrimary(mon) &&
|
|
||||||
mon.x > primary.x;
|
|
||||||
}));
|
|
||||||
if (!hasMonitorsRight)
|
|
||||||
x2 = global.screen_width;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
let strutRect = new Meta.Rectangle({ x: x1, y: y1, width: x2 - x1, height: y2 - y1});
|
let strutRect = new Meta.Rectangle({ x: x1, y: y1, width: x2 - x1, height: y2 - y1});
|
||||||
let strut = new Meta.Strut({ rect: strutRect, side: side });
|
let strut = new Meta.Strut({ rect: strutRect, side: side });
|
||||||
struts.push(strut);
|
struts.push(strut);
|
||||||
|
@@ -74,7 +74,6 @@ let _startDate;
|
|||||||
let _defaultCssStylesheet = null;
|
let _defaultCssStylesheet = null;
|
||||||
let _cssStylesheet = null;
|
let _cssStylesheet = null;
|
||||||
let _a11ySettings = null;
|
let _a11ySettings = null;
|
||||||
let dynamicWorkspacesSchema = null;
|
|
||||||
|
|
||||||
function _sessionUpdated() {
|
function _sessionUpdated() {
|
||||||
_loadDefaultStylesheet();
|
_loadDefaultStylesheet();
|
||||||
@@ -111,7 +110,6 @@ function start() {
|
|||||||
|
|
||||||
sessionMode = new SessionMode.SessionMode();
|
sessionMode = new SessionMode.SessionMode();
|
||||||
sessionMode.connect('updated', _sessionUpdated);
|
sessionMode.connect('updated', _sessionUpdated);
|
||||||
_initializePrefs();
|
|
||||||
_initializeUI();
|
_initializeUI();
|
||||||
|
|
||||||
shellDBusService = new ShellDBus.GnomeShell();
|
shellDBusService = new ShellDBus.GnomeShell();
|
||||||
@@ -120,17 +118,6 @@ function start() {
|
|||||||
_sessionUpdated();
|
_sessionUpdated();
|
||||||
}
|
}
|
||||||
|
|
||||||
function _initializePrefs() {
|
|
||||||
let keys = new Gio.Settings({ schema: sessionMode.overridesSchema }).list_keys();
|
|
||||||
for (let i = 0; i < keys.length; i++)
|
|
||||||
Meta.prefs_override_preference_schema(keys[i], sessionMode.overridesSchema);
|
|
||||||
|
|
||||||
if (keys.indexOf('dynamic-workspaces') > -1)
|
|
||||||
dynamicWorkspacesSchema = sessionMode.overridesSchema;
|
|
||||||
else
|
|
||||||
dynamicWorkspacesSchema = 'org.gnome.mutter';
|
|
||||||
}
|
|
||||||
|
|
||||||
function _initializeUI() {
|
function _initializeUI() {
|
||||||
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
// Ensure ShellWindowTracker and ShellAppUsage are initialized; this will
|
||||||
// also initialize ShellAppSystem first. ShellAppSystem
|
// also initialize ShellAppSystem first. ShellAppSystem
|
||||||
@@ -163,8 +150,8 @@ function _initializeUI() {
|
|||||||
if (LoginManager.canLock())
|
if (LoginManager.canLock())
|
||||||
screenShield = new ScreenShield.ScreenShield();
|
screenShield = new ScreenShield.ScreenShield();
|
||||||
|
|
||||||
panel = new Panel.Panel();
|
|
||||||
messageTray = new MessageTray.MessageTray();
|
messageTray = new MessageTray.MessageTray();
|
||||||
|
panel = new Panel.Panel();
|
||||||
keyboard = new Keyboard.Keyboard();
|
keyboard = new Keyboard.Keyboard();
|
||||||
notificationDaemon = new NotificationDaemon.NotificationDaemon();
|
notificationDaemon = new NotificationDaemon.NotificationDaemon();
|
||||||
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
|
windowAttentionHandler = new WindowAttentionHandler.WindowAttentionHandler();
|
||||||
@@ -294,7 +281,6 @@ function notify(msg, details) {
|
|||||||
let source = new MessageTray.SystemNotificationSource();
|
let source = new MessageTray.SystemNotificationSource();
|
||||||
messageTray.add(source);
|
messageTray.add(source);
|
||||||
let notification = new MessageTray.Notification(source, msg, details);
|
let notification = new MessageTray.Notification(source, msg, details);
|
||||||
notification.setTransient(true);
|
|
||||||
source.notify(notification);
|
source.notify(notification);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2260
js/ui/messageTray.js
2260
js/ui/messageTray.js
File diff suppressed because it is too large
Load Diff
@@ -91,21 +91,6 @@ const rewriteRules = {
|
|||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
const STANDARD_TRAY_ICON_IMPLEMENTATIONS = {
|
|
||||||
'bluetooth-applet': 'bluetooth',
|
|
||||||
'gnome-volume-control-applet': 'volume', // renamed to gnome-sound-applet
|
|
||||||
// when moved to control center
|
|
||||||
'gnome-sound-applet': 'volume',
|
|
||||||
'nm-applet': 'network',
|
|
||||||
'gnome-power-manager': 'battery',
|
|
||||||
'keyboard': 'keyboard',
|
|
||||||
'a11y-keyboard': 'a11y',
|
|
||||||
'kbd-scrolllock': 'keyboard',
|
|
||||||
'kbd-numlock': 'keyboard',
|
|
||||||
'kbd-capslock': 'keyboard',
|
|
||||||
'ibus-ui-gtk': 'keyboard'
|
|
||||||
};
|
|
||||||
|
|
||||||
const FdoNotificationDaemon = new Lang.Class({
|
const FdoNotificationDaemon = new Lang.Class({
|
||||||
Name: 'FdoNotificationDaemon',
|
Name: 'FdoNotificationDaemon',
|
||||||
|
|
||||||
@@ -129,7 +114,7 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
Main.overview.connect('hidden',
|
Main.overview.connect('hidden',
|
||||||
Lang.bind(this, this._onFocusAppChanged));
|
Lang.bind(this, this._onFocusAppChanged));
|
||||||
|
|
||||||
this._trayManager.manage_screen(global.screen, Main.messageTray.actor);
|
// this._trayManager.manage_screen(global.screen, Main.messageTray.actor);
|
||||||
},
|
},
|
||||||
|
|
||||||
_imageForNotificationData: function(hints) {
|
_imageForNotificationData: function(hints) {
|
||||||
@@ -195,10 +180,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
if (!pid && !(ndata && ndata.notification))
|
if (!pid && !(ndata && ndata.notification))
|
||||||
return null;
|
return null;
|
||||||
|
|
||||||
// We use notification's source for the notifications we still have
|
|
||||||
// around that are getting replaced because we don't keep sources
|
|
||||||
// for transient notifications in this._sources, but we still want
|
|
||||||
// the notification associated with them to get replaced correctly.
|
|
||||||
if (ndata && ndata.notification)
|
if (ndata && ndata.notification)
|
||||||
return ndata.notification.source;
|
return ndata.notification.source;
|
||||||
|
|
||||||
@@ -334,13 +315,14 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_makeButton: function(id, label, useActionIcons) {
|
_makeButton: function(id, label, useActionIcons) {
|
||||||
let button = new St.Button({ can_focus: true });
|
let button = new St.Button({ can_focus: true,
|
||||||
|
x_expand: true,
|
||||||
|
style_class: 'notification-button' });
|
||||||
let iconName = id.endsWith('-symbolic') ? id : id + '-symbolic';
|
let iconName = id.endsWith('-symbolic') ? id : id + '-symbolic';
|
||||||
|
|
||||||
if (useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
|
if (useActionIcons && Gtk.IconTheme.get_default().has_icon(iconName)) {
|
||||||
button.add_style_class_name('notification-icon-button');
|
button.child = new St.Icon({ icon_name: iconName, icon_size: 16 });
|
||||||
button.child = new St.Icon({ icon_name: iconName });
|
|
||||||
} else {
|
} else {
|
||||||
button.add_style_class_name('notification-button');
|
|
||||||
button.label = label;
|
button.label = label;
|
||||||
}
|
}
|
||||||
return button;
|
return button;
|
||||||
@@ -379,8 +361,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
let gicon = this._iconForNotificationData(icon, hints);
|
let gicon = this._iconForNotificationData(icon, hints);
|
||||||
let gimage = this._imageForNotificationData(hints);
|
let gimage = this._imageForNotificationData(hints);
|
||||||
|
|
||||||
let image = null;
|
|
||||||
|
|
||||||
// If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
|
// If an icon is not specified, we use 'image-data' or 'image-path' hint for an icon
|
||||||
// and don't show a large image. There are currently many applications that use
|
// and don't show a large image. There are currently many applications that use
|
||||||
// notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
|
// notify_notification_set_icon_from_pixbuf() from libnotify, which in turn sets
|
||||||
@@ -389,10 +369,7 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
// So the logic here does the right thing for this case. If both an icon and either
|
// So the logic here does the right thing for this case. If both an icon and either
|
||||||
// one of 'image-data' or 'image-path' are specified, we show both an icon and
|
// one of 'image-data' or 'image-path' are specified, we show both an icon and
|
||||||
// a large image.
|
// a large image.
|
||||||
if (gicon && gimage)
|
if (!gicon && gimage)
|
||||||
image = new St.Icon({ gicon: gimage,
|
|
||||||
icon_size: notification.IMAGE_SIZE });
|
|
||||||
else if (!gicon && gimage)
|
|
||||||
gicon = gimage;
|
gicon = gimage;
|
||||||
else if (!gicon)
|
else if (!gicon)
|
||||||
gicon = this._fallbackIconForNotificationData(hints);
|
gicon = this._fallbackIconForNotificationData(hints);
|
||||||
@@ -402,7 +379,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
clear: true,
|
clear: true,
|
||||||
soundFile: hints['sound-file'],
|
soundFile: hints['sound-file'],
|
||||||
soundName: hints['sound-name'] });
|
soundName: hints['sound-name'] });
|
||||||
notification.setImage(image);
|
|
||||||
|
|
||||||
let hasDefaultAction = false;
|
let hasDefaultAction = false;
|
||||||
|
|
||||||
@@ -442,10 +418,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
notification.setUrgency(MessageTray.Urgency.CRITICAL);
|
notification.setUrgency(MessageTray.Urgency.CRITICAL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
notification.setResident(hints.resident == true);
|
|
||||||
// 'transient' is a reserved keyword in JS, so we have to retrieve the value
|
|
||||||
// of the 'transient' hint with hints['transient'] rather than hints.transient
|
|
||||||
notification.setTransient(hints['transient'] == true);
|
|
||||||
|
|
||||||
let sourceGIcon = source.useNotificationIcon ? gicon : null;
|
let sourceGIcon = source.useNotificationIcon ? gicon : null;
|
||||||
source.processNotification(notification, sourceGIcon);
|
source.processNotification(notification, sourceGIcon);
|
||||||
@@ -470,7 +442,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
'body-markup',
|
'body-markup',
|
||||||
// 'icon-multi',
|
// 'icon-multi',
|
||||||
'icon-static',
|
'icon-static',
|
||||||
'persistence',
|
|
||||||
'sound',
|
'sound',
|
||||||
];
|
];
|
||||||
},
|
},
|
||||||
@@ -492,7 +463,7 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
for (let i = 0; i < this._sources.length; i++) {
|
for (let i = 0; i < this._sources.length; i++) {
|
||||||
let source = this._sources[i];
|
let source = this._sources[i];
|
||||||
if (source.app == tracker.focus_app) {
|
if (source.app == tracker.focus_app) {
|
||||||
source.destroyNonResidentNotifications();
|
source.destroyNotifications();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -509,10 +480,6 @@ const FdoNotificationDaemon = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_onTrayIconAdded: function(o, icon) {
|
_onTrayIconAdded: function(o, icon) {
|
||||||
let wmClass = icon.wm_class ? icon.wm_class.toLowerCase() : '';
|
|
||||||
if (STANDARD_TRAY_ICON_IMPLEMENTATIONS[wmClass] !== undefined)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let source = this._getSource(icon.title || icon.wm_class || C_("program", "Unknown"), icon.pid, null, null, icon);
|
let source = this._getSource(icon.title || icon.wm_class || C_("program", "Unknown"), icon.pid, null, null, icon);
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -584,7 +551,7 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
|||||||
this.iconUpdated();
|
this.iconUpdated();
|
||||||
|
|
||||||
let tracker = Shell.WindowTracker.get_default();
|
let tracker = Shell.WindowTracker.get_default();
|
||||||
if (notification.resident && this.app && tracker.focus_app == this.app)
|
if (this.app && tracker.focus_app == this.app)
|
||||||
this.pushNotification(notification);
|
this.pushNotification(notification);
|
||||||
else
|
else
|
||||||
this.notify(notification);
|
this.notify(notification);
|
||||||
@@ -651,7 +618,7 @@ const FdoNotificationDaemonSource = new Lang.Class({
|
|||||||
|
|
||||||
open: function() {
|
open: function() {
|
||||||
this.openApp();
|
this.openApp();
|
||||||
this.destroyNonResidentNotifications();
|
this.destroyNotifications();
|
||||||
},
|
},
|
||||||
|
|
||||||
_lastNotificationRemoved: function() {
|
_lastNotificationRemoved: function() {
|
||||||
|
@@ -72,7 +72,6 @@ const ShellInfo = new Lang.Class({
|
|||||||
let notification = null;
|
let notification = null;
|
||||||
if (this._source.notifications.length == 0) {
|
if (this._source.notifications.length == 0) {
|
||||||
notification = new MessageTray.Notification(this._source, text, null);
|
notification = new MessageTray.Notification(this._source, text, null);
|
||||||
notification.setTransient(true);
|
|
||||||
notification.setForFeedback(forFeedback);
|
notification.setForFeedback(forFeedback);
|
||||||
} else {
|
} else {
|
||||||
notification = this._source.notifications[0];
|
notification = this._source.notifications[0];
|
||||||
|
@@ -862,11 +862,56 @@ const AggregateMenu = new Lang.Class({
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const DateMenuButton2 = new Lang.Class({
|
||||||
|
Name: 'DateMenuButton2',
|
||||||
|
|
||||||
|
_init: function() {
|
||||||
|
this.container = new St.Widget({ layout_manager: new Clutter.BinLayout() });
|
||||||
|
|
||||||
|
this._notificationPreview = Main.messageTray.notificationPreview;
|
||||||
|
this.container.add_child(this._notificationPreview.actor);
|
||||||
|
this._notificationPreview.actor.x_expand = true;
|
||||||
|
this._notificationPreview.actor.x_align = Clutter.ActorAlign.CENTER;
|
||||||
|
this._notificationPreview.connect('updated', Lang.bind(this, this._sync));
|
||||||
|
|
||||||
|
let dateMenu = new imports.ui.dateMenu.DateMenuButton();
|
||||||
|
this._clock = dateMenu.container;
|
||||||
|
this._clock.x_expand = true;
|
||||||
|
this._clock.x_align = Clutter.ActorAlign.CENTER;
|
||||||
|
this.container.add_child(this._clock);
|
||||||
|
|
||||||
|
this._currentlyShowing = 'clock';
|
||||||
|
this._sync();
|
||||||
|
},
|
||||||
|
|
||||||
|
_show: function(which, animate) {
|
||||||
|
if (this._currentlyShowing == which)
|
||||||
|
return;
|
||||||
|
|
||||||
|
this._currentlyShowing = which;
|
||||||
|
if (this._currentlyShowing == 'clock') {
|
||||||
|
this._notificationPreview.actor.visible = false;
|
||||||
|
this._clock.visible = true;
|
||||||
|
} else if (this._currentlyShowing == 'notification') {
|
||||||
|
this._notificationPreview.actor.visible = true;
|
||||||
|
this._clock.visible = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
_sync: function() {
|
||||||
|
if (this._currentlyShowing == 'clock' && this._notificationPreview.hasNotification)
|
||||||
|
this._show('notification', true);
|
||||||
|
else if (this._currentlyShowing == 'notification' && !this._notificationPreview.hasNotification)
|
||||||
|
this._show('clock', false);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
Signals.addSignalMethods(DateMenuButton2.prototype);
|
||||||
|
|
||||||
const PANEL_ITEM_IMPLEMENTATIONS = {
|
const PANEL_ITEM_IMPLEMENTATIONS = {
|
||||||
'activities': ActivitiesButton,
|
'activities': ActivitiesButton,
|
||||||
'aggregateMenu': AggregateMenu,
|
'aggregateMenu': AggregateMenu,
|
||||||
'appMenu': AppMenuButton,
|
'appMenu': AppMenuButton,
|
||||||
'dateMenu': imports.ui.dateMenu.DateMenuButton,
|
'dateMenu': DateMenuButton2,
|
||||||
'a11y': imports.ui.status.accessibility.ATIndicator,
|
'a11y': imports.ui.status.accessibility.ATIndicator,
|
||||||
'a11yGreeter': imports.ui.status.accessibility.ATGreeterIndicator,
|
'a11yGreeter': imports.ui.status.accessibility.ATGreeterIndicator,
|
||||||
'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
|
'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
|
||||||
|
@@ -41,8 +41,7 @@ const ButtonBox = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredWidth: function(actor, forHeight, alloc) {
|
_getPreferredWidth: function(actor, forHeight, alloc) {
|
||||||
let children = actor.get_children();
|
let child = actor.get_first_child();
|
||||||
let child = children.length > 0 ? children[0] : null;
|
|
||||||
|
|
||||||
if (child) {
|
if (child) {
|
||||||
[alloc.min_size, alloc.natural_size] = child.get_preferred_width(-1);
|
[alloc.min_size, alloc.natural_size] = child.get_preferred_width(-1);
|
||||||
@@ -55,8 +54,7 @@ const ButtonBox = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_getPreferredHeight: function(actor, forWidth, alloc) {
|
_getPreferredHeight: function(actor, forWidth, alloc) {
|
||||||
let children = actor.get_children();
|
let child = actor.get_first_child();
|
||||||
let child = children.length > 0 ? children[0] : null;
|
|
||||||
|
|
||||||
if (child) {
|
if (child) {
|
||||||
[alloc.min_size, alloc.natural_size] = child.get_preferred_height(-1);
|
[alloc.min_size, alloc.natural_size] = child.get_preferred_height(-1);
|
||||||
@@ -66,13 +64,11 @@ const ButtonBox = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_allocate: function(actor, box, flags) {
|
_allocate: function(actor, box, flags) {
|
||||||
let children = actor.get_children();
|
let child = actor.get_first_child();
|
||||||
if (children.length == 0)
|
if (!child)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
let child = children[0];
|
|
||||||
let [minWidth, natWidth] = child.get_preferred_width(-1);
|
let [minWidth, natWidth] = child.get_preferred_width(-1);
|
||||||
let [minHeight, natHeight] = child.get_preferred_height(-1);
|
|
||||||
|
|
||||||
let availWidth = box.x2 - box.x1;
|
let availWidth = box.x2 - box.x1;
|
||||||
let availHeight = box.y2 - box.y1;
|
let availHeight = box.y2 - box.y1;
|
||||||
|
@@ -68,6 +68,13 @@ const ScreenshotService = new Lang.Class({
|
|||||||
Gio.DBus.session.own_name('org.gnome.Shell.Screenshot', Gio.BusNameOwnerFlags.REPLACE, null, null);
|
Gio.DBus.session.own_name('org.gnome.Shell.Screenshot', Gio.BusNameOwnerFlags.REPLACE, null, null);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_checkArea: function(x, y, width, height) {
|
||||||
|
return x >= 0 && y >= 0 &&
|
||||||
|
width > 0 && height > 0 &&
|
||||||
|
x + width <= global.screen_width &&
|
||||||
|
y + height <= global.screen_height;
|
||||||
|
},
|
||||||
|
|
||||||
_onScreenshotComplete: function(obj, result, area, filenameUsed, flash, invocation) {
|
_onScreenshotComplete: function(obj, result, area, filenameUsed, flash, invocation) {
|
||||||
if (flash && result) {
|
if (flash && result) {
|
||||||
let flashspot = new Flashspot(area);
|
let flashspot = new Flashspot(area);
|
||||||
@@ -80,11 +87,10 @@ const ScreenshotService = new Lang.Class({
|
|||||||
|
|
||||||
ScreenshotAreaAsync : function (params, invocation) {
|
ScreenshotAreaAsync : function (params, invocation) {
|
||||||
let [x, y, width, height, flash, filename, callback] = params;
|
let [x, y, width, height, flash, filename, callback] = params;
|
||||||
if (x < 0 || y < 0 ||
|
if (!this._checkArea(x, y, width, height)) {
|
||||||
width <= 0 || height <= 0 ||
|
invocation.return_error_literal(Gio.IOErrorEnum,
|
||||||
x + width > global.screen_width || y + height > global.screen_height) {
|
Gio.IOErrorEnum.CANCELLED,
|
||||||
invocation.return_error_literal(Gio.IOErrorEnum, Gio.IOErrorEnum.CANCELLED,
|
"Invalid params");
|
||||||
"Invalid params");
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let screenshot = new Shell.Screenshot();
|
let screenshot = new Shell.Screenshot();
|
||||||
@@ -126,9 +132,17 @@ const ScreenshotService = new Lang.Class({
|
|||||||
}));
|
}));
|
||||||
},
|
},
|
||||||
|
|
||||||
FlashArea: function(x, y, width, height) {
|
FlashAreaAsync: function(params, invocation) {
|
||||||
|
let [x, y, width, height] = params;
|
||||||
|
if (!this._checkArea(x, y, width, height)) {
|
||||||
|
invocation.return_error_literal(Gio.IOErrorEnum,
|
||||||
|
Gio.IOErrorEnum.CANCELLED,
|
||||||
|
"Invalid params");
|
||||||
|
return;
|
||||||
|
}
|
||||||
let flashspot = new Flashspot({ x : x, y : y, width: width, height: height});
|
let flashspot = new Flashspot({ x : x, y : y, width: width, height: height});
|
||||||
flashspot.fire();
|
flashspot.fire();
|
||||||
|
invocation.return_value(null);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@@ -18,7 +18,6 @@ const _modes = {
|
|||||||
'restrictive': {
|
'restrictive': {
|
||||||
parentMode: null,
|
parentMode: null,
|
||||||
stylesheetName: 'gnome-shell.css',
|
stylesheetName: 'gnome-shell.css',
|
||||||
overridesSchema: 'org.gnome.shell.overrides',
|
|
||||||
hasOverview: false,
|
hasOverview: false,
|
||||||
showCalendarEvents: false,
|
showCalendarEvents: false,
|
||||||
allowSettings: false,
|
allowSettings: false,
|
||||||
|
@@ -253,7 +253,6 @@ const ShellUnmountNotifier = new Lang.Class({
|
|||||||
|
|
||||||
if (!this._notification) {
|
if (!this._notification) {
|
||||||
this._notification = new MessageTray.Notification(this, header, text);
|
this._notification = new MessageTray.Notification(this, header, text);
|
||||||
this._notification.setTransient(true);
|
|
||||||
this._notification.setUrgency(MessageTray.Urgency.CRITICAL);
|
this._notification.setUrgency(MessageTray.Urgency.CRITICAL);
|
||||||
} else {
|
} else {
|
||||||
this._notification.update(header, text);
|
this._notification.update(header, text);
|
||||||
@@ -270,7 +269,6 @@ const ShellUnmountNotifier = new Lang.Class({
|
|||||||
|
|
||||||
if (message) {
|
if (message) {
|
||||||
let notification = new MessageTray.Notification(this, message, null);
|
let notification = new MessageTray.Notification(this, message, null);
|
||||||
notification.setTransient(true);
|
|
||||||
|
|
||||||
this.notify(notification);
|
this.notify(notification);
|
||||||
}
|
}
|
||||||
|
@@ -1632,7 +1632,6 @@ const NMApplet = new Lang.Class({
|
|||||||
let gicon = new Gio.ThemedIcon({ name: iconName });
|
let gicon = new Gio.ThemedIcon({ name: iconName });
|
||||||
this._notification = new MessageTray.Notification(this._source, title, text, { gicon: gicon });
|
this._notification = new MessageTray.Notification(this._source, title, text, { gicon: gicon });
|
||||||
this._notification.setUrgency(urgency);
|
this._notification.setUrgency(urgency);
|
||||||
this._notification.setTransient(true);
|
|
||||||
this._notification.connect('destroy', function() {
|
this._notification.connect('destroy', function() {
|
||||||
this._notification = null;
|
this._notification = null;
|
||||||
});
|
});
|
||||||
|
@@ -285,10 +285,10 @@ const ViewSelector = new Lang.Class({
|
|||||||
} else if (!this._searchActive && !global.stage.key_focus) {
|
} else if (!this._searchActive && !global.stage.key_focus) {
|
||||||
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
|
if (symbol == Clutter.Tab || symbol == Clutter.Down) {
|
||||||
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||||
return true;
|
return Clutter.EVENT_STOP;
|
||||||
} else if (symbol == Clutter.ISO_Left_Tab) {
|
} else if (symbol == Clutter.ISO_Left_Tab) {
|
||||||
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false);
|
this._activePage.navigate_focus(null, Gtk.DirectionType.TAB_BACKWARD, false);
|
||||||
return true;
|
return Clutter.EVENT_STOP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return Clutter.EVENT_PROPAGATE;
|
return Clutter.EVENT_PROPAGATE;
|
||||||
|
@@ -199,12 +199,19 @@ const WorkspaceTracker = new Lang.Class({
|
|||||||
global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor));
|
global.screen.connect('window-left-monitor', Lang.bind(this, this._windowLeftMonitor));
|
||||||
global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked));
|
global.screen.connect('restacked', Lang.bind(this, this._windowsRestacked));
|
||||||
|
|
||||||
this._workspaceSettings = new Gio.Settings({ schema: Main.dynamicWorkspacesSchema });
|
this._workspaceSettings = this._getWorkspaceSettings();
|
||||||
this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces));
|
this._workspaceSettings.connect('changed::dynamic-workspaces', Lang.bind(this, this._queueCheckWorkspaces));
|
||||||
|
|
||||||
this._nWorkspacesChanged();
|
this._nWorkspacesChanged();
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_getWorkspaceSettings: function() {
|
||||||
|
let settings = global.get_overrides_settings();
|
||||||
|
if (settings.list_keys().indexOf('dynamic-workspaces') > -1)
|
||||||
|
return settings;
|
||||||
|
return new Gio.Settings({ schema: 'org.gnome.mutter' });
|
||||||
|
},
|
||||||
|
|
||||||
_checkWorkspaces: function() {
|
_checkWorkspaces: function() {
|
||||||
let i;
|
let i;
|
||||||
let emptyWorkspaces = [];
|
let emptyWorkspaces = [];
|
||||||
@@ -464,8 +471,6 @@ const WindowManager = new Lang.Class({
|
|||||||
|
|
||||||
this._dimmedWindows = [];
|
this._dimmedWindows = [];
|
||||||
|
|
||||||
this._animationBlockCount = 0;
|
|
||||||
|
|
||||||
this._allowedKeybindings = {};
|
this._allowedKeybindings = {};
|
||||||
|
|
||||||
this._switchData = null;
|
this._switchData = null;
|
||||||
@@ -708,16 +713,8 @@ const WindowManager = new Lang.Class({
|
|||||||
this._allowedKeybindings[name] = modes;
|
this._allowedKeybindings[name] = modes;
|
||||||
},
|
},
|
||||||
|
|
||||||
blockAnimations: function() {
|
|
||||||
this._animationBlockCount++;
|
|
||||||
},
|
|
||||||
|
|
||||||
unblockAnimations: function() {
|
|
||||||
this._animationBlockCount = Math.max(0, this._animationBlockCount - 1);
|
|
||||||
},
|
|
||||||
|
|
||||||
_shouldAnimate: function() {
|
_shouldAnimate: function() {
|
||||||
return !(Main.overview.visible || this._animationBlockCount > 0);
|
return !Main.overview.visible;
|
||||||
},
|
},
|
||||||
|
|
||||||
_shouldAnimateActor: function(actor) {
|
_shouldAnimateActor: function(actor) {
|
||||||
@@ -1163,8 +1160,8 @@ const WindowManager = new Lang.Class({
|
|||||||
this._tilePreview.hide();
|
this._tilePreview.hide();
|
||||||
},
|
},
|
||||||
|
|
||||||
_showWindowMenu: function(shellwm, window, menu, x, y) {
|
_showWindowMenu: function(shellwm, window, menu, rect) {
|
||||||
this._windowMenuManager.showWindowMenuForWindow(window, menu, x, y);
|
this._windowMenuManager.showWindowMenuForWindow(window, menu, rect);
|
||||||
},
|
},
|
||||||
|
|
||||||
_startAppSwitcher : function(display, screen, window, binding) {
|
_startAppSwitcher : function(display, screen, window, binding) {
|
||||||
|
@@ -15,8 +15,8 @@ const WindowMenu = new Lang.Class({
|
|||||||
Name: 'WindowMenu',
|
Name: 'WindowMenu',
|
||||||
Extends: PopupMenu.PopupMenu,
|
Extends: PopupMenu.PopupMenu,
|
||||||
|
|
||||||
_init: function(window) {
|
_init: function(window, sourceActor) {
|
||||||
this.parent(Main.layoutManager.dummyCursor, 0, St.Side.TOP);
|
this.parent(sourceActor, 0, St.Side.TOP);
|
||||||
|
|
||||||
this.actor.add_style_class_name('window-menu');
|
this.actor.add_style_class_name('window-menu');
|
||||||
|
|
||||||
@@ -129,10 +129,10 @@ const AppMenu = new Lang.Class({
|
|||||||
Name: 'AppMenu',
|
Name: 'AppMenu',
|
||||||
Extends: RemoteMenu.RemoteMenu,
|
Extends: RemoteMenu.RemoteMenu,
|
||||||
|
|
||||||
_init: function(window) {
|
_init: function(window, sourceActor) {
|
||||||
let app = Shell.WindowTracker.get_default().get_window_app(window);
|
let app = Shell.WindowTracker.get_default().get_window_app(window);
|
||||||
|
|
||||||
this.parent(Main.layoutManager.dummyCursor, app.menu, app.action_group);
|
this.parent(sourceActor, app.menu, app.action_group);
|
||||||
|
|
||||||
this.actor.add_style_class_name('fallback-app-menu');
|
this.actor.add_style_class_name('fallback-app-menu');
|
||||||
let variant = window.get_gtk_theme_variant();
|
let variant = window.get_gtk_theme_variant();
|
||||||
@@ -149,11 +149,18 @@ const WindowMenuManager = new Lang.Class({
|
|||||||
|
|
||||||
_init: function() {
|
_init: function() {
|
||||||
this._manager = new PopupMenu.PopupMenuManager({ actor: Main.layoutManager.dummyCursor });
|
this._manager = new PopupMenu.PopupMenuManager({ actor: Main.layoutManager.dummyCursor });
|
||||||
|
|
||||||
|
this._sourceActor = new St.Widget({ reactive: true, visible: false });
|
||||||
|
this._sourceActor.connect('button-press-event', Lang.bind(this,
|
||||||
|
function() {
|
||||||
|
this._manager.activeMenu.toggle();
|
||||||
|
}));
|
||||||
|
Main.uiGroup.add_actor(this._sourceActor);
|
||||||
},
|
},
|
||||||
|
|
||||||
showWindowMenuForWindow: function(window, type, x, y) {
|
showWindowMenuForWindow: function(window, type, rect) {
|
||||||
let menu = (type == Meta.WindowMenuType.WM) ? new WindowMenu(window)
|
let menuType = (type == Meta.WindowMenuType.WM) ? WindowMenu : AppMenu;
|
||||||
: new AppMenu(window);
|
let menu = new menuType(window, this._sourceActor);
|
||||||
|
|
||||||
this._manager.addMenu(menu);
|
this._manager.addMenu(menu);
|
||||||
|
|
||||||
@@ -161,12 +168,18 @@ const WindowMenuManager = new Lang.Class({
|
|||||||
window.check_alive(global.get_current_time());
|
window.check_alive(global.get_current_time());
|
||||||
});
|
});
|
||||||
|
|
||||||
Main.layoutManager.setDummyCursorGeometry(x, y, 0, 0);
|
this._sourceActor.set_size(rect.width, rect.height);
|
||||||
|
this._sourceActor.set_position(rect.x, rect.y);
|
||||||
|
this._sourceActor.show();
|
||||||
|
|
||||||
menu.open(BoxPointer.PopupAnimation.NONE);
|
menu.open(BoxPointer.PopupAnimation.NONE);
|
||||||
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
menu.actor.navigate_focus(null, Gtk.DirectionType.TAB_FORWARD, false);
|
||||||
menu.connect('open-state-changed', Lang.bind(this, function(menu_, isOpen) {
|
menu.connect('open-state-changed', Lang.bind(this, function(menu_, isOpen) {
|
||||||
if (!isOpen)
|
if (isOpen)
|
||||||
menu.destroy();
|
return;
|
||||||
|
|
||||||
|
this._sourceActor.hide();
|
||||||
|
menu.destroy();
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@@ -200,6 +200,10 @@ const WindowClone = new Lang.Class({
|
|||||||
this.emit('size-changed');
|
this.emit('size-changed');
|
||||||
},
|
},
|
||||||
|
|
||||||
|
hasAttachedDialogs: function() {
|
||||||
|
return this.actor.get_n_children() > 1;
|
||||||
|
},
|
||||||
|
|
||||||
_doAddAttachedDialog: function(metaWin, realWin) {
|
_doAddAttachedDialog: function(metaWin, realWin) {
|
||||||
let clone = new Clutter.Clone({ source: realWin });
|
let clone = new Clutter.Clone({ source: realWin });
|
||||||
clone._updateId = metaWin.connect('size-changed', Lang.bind(this, function() {
|
clone._updateId = metaWin.connect('size-changed', Lang.bind(this, function() {
|
||||||
@@ -582,7 +586,8 @@ const WindowOverlay = new Lang.Class({
|
|||||||
},
|
},
|
||||||
|
|
||||||
_windowCanClose: function() {
|
_windowCanClose: function() {
|
||||||
return this._windowClone.metaWindow.can_close();
|
return this._windowClone.metaWindow.can_close() &&
|
||||||
|
!this._windowClone.hasAttachedDialogs();
|
||||||
},
|
},
|
||||||
|
|
||||||
_onWindowAdded: function(workspace, win) {
|
_onWindowAdded: function(workspace, win) {
|
||||||
|
1428
po/en_GB.po
1428
po/en_GB.po
File diff suppressed because it is too large
Load Diff
209
po/es.po
209
po/es.po
@@ -10,8 +10,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell.master\n"
|
"Project-Id-Version: gnome-shell.master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2014-05-20 07:27+0000\n"
|
"POT-Creation-Date: 2014-06-11 07:31+0000\n"
|
||||||
"PO-Revision-Date: 2014-05-20 19:10+0200\n"
|
"PO-Revision-Date: 2014-06-12 17:23+0200\n"
|
||||||
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
|
||||||
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
@@ -55,7 +55,6 @@ msgid "Window management and application launching"
|
|||||||
msgstr "Gestión de ventanas e inicio de aplicaciones"
|
msgstr "Gestión de ventanas e inicio de aplicaciones"
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||||
#: ../js/extensionPrefs/main.js:155
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
msgid "GNOME Shell Extension Preferences"
|
||||||
msgstr "Preferencias de las extensiones de GNOME Shell"
|
msgstr "Preferencias de las extensiones de GNOME Shell"
|
||||||
|
|
||||||
@@ -270,49 +269,33 @@ msgstr ""
|
|||||||
"Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME Shell."
|
"Esta clave sobrescribe la clave en org.gnome.mutter al ejecutar GNOME Shell."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "Orden de los botones en la barra de título"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Esta clave sobrescribe la clave en org.gnome.desktop.wm.preferences al "
|
|
||||||
"ejecutar GNOME Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
"Activar el mosaico en los bordes al arrastrar ventanas a los bordes de la "
|
||||||
"ventana"
|
"ventana"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||||
msgid "Workspaces are managed dynamically"
|
msgid "Workspaces are managed dynamically"
|
||||||
msgstr "Las áreas de trabajo se gestionan dinámicamente"
|
msgstr "Las áreas de trabajo se gestionan dinámicamente"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||||
msgid "Workspaces only on primary monitor"
|
msgid "Workspaces only on primary monitor"
|
||||||
msgstr "Áreas de trabajo solo en la pantalla principal"
|
msgstr "Áreas de trabajo solo en la pantalla principal"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Retardo al cambiar el foco del ratón hasta que el puntero deja de moverse"
|
"Retardo al cambiar el foco del ratón hasta que el puntero deja de moverse"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:127
|
#: ../js/extensionPrefs/main.js:125
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "There was an error loading the preferences dialog for %s:"
|
msgid "There was an error loading the preferences dialog for %s:"
|
||||||
msgstr "Hubo un error al lanzar el diálogo de preferencias para %s:"
|
msgstr "Hubo un error al lanzar el diálogo de preferencias para %s:"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:167
|
#: ../js/extensionPrefs/main.js:157
|
||||||
msgid "Extension"
|
#| msgid "Configure GNOME Shell Extensions"
|
||||||
msgstr "Extensión"
|
msgid "GNOME Shell Extensions"
|
||||||
|
msgstr "Extensiones de GNOME Shell"
|
||||||
#: ../js/extensionPrefs/main.js:191
|
|
||||||
msgid "Select an extension to configure using the combobox above."
|
|
||||||
msgstr ""
|
|
||||||
"Seleccione una extensión que configurar usando la caja combinada de arriba."
|
|
||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
||||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
||||||
@@ -335,25 +318,25 @@ msgctxt "button"
|
|||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Iniciar sesión"
|
msgstr "Iniciar sesión"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:271
|
#: ../js/gdm/loginDialog.js:269
|
||||||
msgid "Choose Session"
|
msgid "Choose Session"
|
||||||
msgstr "Elegir sesión"
|
msgstr "Elegir sesión"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:431
|
#: ../js/gdm/loginDialog.js:429
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "¿No está en la lista?"
|
msgstr "¿No está en la lista?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:616
|
#: ../js/gdm/loginDialog.js:614
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(ej., usuario o %s)"
|
msgstr "(ej., usuario o %s)"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
|
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
|
||||||
#: ../js/ui/components/networkAgent.js:280
|
#: ../js/ui/components/networkAgent.js:280
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Nombre de usuario:"
|
msgstr "Nombre de usuario:"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:924
|
#: ../js/gdm/loginDialog.js:922
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Ventana de inicio de sesión"
|
msgstr "Ventana de inicio de sesión"
|
||||||
|
|
||||||
@@ -541,11 +524,11 @@ msgctxt "list saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "S"
|
msgstr "S"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:453
|
#: ../js/ui/calendar.js:454
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Mes anterior"
|
msgstr "Mes anterior"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:463
|
#: ../js/ui/calendar.js:464
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Siguiente mes"
|
msgstr "Siguiente mes"
|
||||||
|
|
||||||
@@ -731,77 +714,77 @@ msgid "Mute"
|
|||||||
msgstr "Silenciar"
|
msgstr "Silenciar"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:958
|
#: ../js/ui/components/telepathyClient.js:957
|
||||||
msgid "%H∶%M"
|
msgid "%H∶%M"
|
||||||
msgstr "%H∶%M"
|
msgstr "%H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:965
|
#: ../js/ui/components/telepathyClient.js:964
|
||||||
msgid "Yesterday, %H∶%M"
|
msgid "Yesterday, %H∶%M"
|
||||||
msgstr "Ayer, %H∶%M"
|
msgstr "Ayer, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:972
|
#: ../js/ui/components/telepathyClient.js:971
|
||||||
msgid "%A, %H∶%M"
|
msgid "%A, %H∶%M"
|
||||||
msgstr "%A, %H∶%M"
|
msgstr "%A, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 24h format.
|
#. followed by a time string in 24h format.
|
||||||
#. i.e. "May 25, 14:30" */
|
#. i.e. "May 25, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:979
|
#: ../js/ui/components/telepathyClient.js:978
|
||||||
msgid "%B %d, %H∶%M"
|
msgid "%B %d, %H∶%M"
|
||||||
msgstr "%d de %B, %H∶%M"
|
msgstr "%d de %B, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 24h format.
|
#. number followed by a time string in 24h format.
|
||||||
#. i.e. "May 25 2012, 14:30" */
|
#. i.e. "May 25 2012, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:985
|
#: ../js/ui/components/telepathyClient.js:984
|
||||||
msgid "%B %d %Y, %H∶%M"
|
msgid "%B %d %Y, %H∶%M"
|
||||||
msgstr "%d de %B de %Y, %H∶%M"
|
msgstr "%d de %B de %Y, %H∶%M"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:994
|
#: ../js/ui/components/telepathyClient.js:990
|
||||||
msgid "%l∶%M %p"
|
msgid "%l∶%M %p"
|
||||||
msgstr "%l∶%M %p"
|
msgstr "%l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1001
|
#: ../js/ui/components/telepathyClient.js:997
|
||||||
msgid "Yesterday, %l∶%M %p"
|
msgid "Yesterday, %l∶%M %p"
|
||||||
msgstr "Ayer a las %l∶%M %p"
|
msgstr "Ayer a las %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1008
|
#: ../js/ui/components/telepathyClient.js:1004
|
||||||
msgid "%A, %l∶%M %p"
|
msgid "%A, %l∶%M %p"
|
||||||
msgstr "%A, %l∶%M %p"
|
msgstr "%A, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 12h format.
|
#. followed by a time string in 12h format.
|
||||||
#. i.e. "May 25, 2:30 pm" */
|
#. i.e. "May 25, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1015
|
#: ../js/ui/components/telepathyClient.js:1011
|
||||||
msgid "%B %d, %l∶%M %p"
|
msgid "%B %d, %l∶%M %p"
|
||||||
msgstr "%d de %B, %l∶%M %p"
|
msgstr "%d de %B, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 12h format.
|
#. number followed by a time string in 12h format.
|
||||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||||
#: ../js/ui/components/telepathyClient.js:1021
|
#: ../js/ui/components/telepathyClient.js:1017
|
||||||
msgid "%B %d %Y, %l∶%M %p"
|
msgid "%B %d %Y, %l∶%M %p"
|
||||||
msgstr "%d de %B de %Y, %l∶%M %p"
|
msgstr "%d de %B de %Y, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name. */
|
#. IM name. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1054
|
#: ../js/ui/components/telepathyClient.js:1049
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "Ahora %s se llama %s"
|
msgstr "Ahora %s se llama %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example. */
|
#. * room@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1158
|
#: ../js/ui/components/telepathyClient.js:1153
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Invitación a %s"
|
msgstr "Invitación a %s"
|
||||||
@@ -809,38 +792,38 @@ msgstr "Invitación a %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example. */
|
#. * for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1166
|
#: ../js/ui/components/telepathyClient.js:1161
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s le está invitando a unirse a %s"
|
msgstr "%s le está invitando a unirse a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1168
|
#: ../js/ui/components/telepathyClient.js:1163
|
||||||
#: ../js/ui/components/telepathyClient.js:1203
|
#: ../js/ui/components/telepathyClient.js:1198
|
||||||
#: ../js/ui/components/telepathyClient.js:1237
|
#: ../js/ui/components/telepathyClient.js:1232
|
||||||
#: ../js/ui/components/telepathyClient.js:1295
|
#: ../js/ui/components/telepathyClient.js:1290
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Rechazar"
|
msgstr "Rechazar"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1174
|
#: ../js/ui/components/telepathyClient.js:1169
|
||||||
#: ../js/ui/components/telepathyClient.js:1243
|
#: ../js/ui/components/telepathyClient.js:1238
|
||||||
#: ../js/ui/components/telepathyClient.js:1300
|
#: ../js/ui/components/telepathyClient.js:1295
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1193
|
#: ../js/ui/components/telepathyClient.js:1188
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Videollamada de %s"
|
msgstr "Videollamada de %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1196
|
#: ../js/ui/components/telepathyClient.js:1191
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Llamada de %s"
|
msgstr "Llamada de %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun */
|
#. translators: this is a button label (verb), not a noun */
|
||||||
#: ../js/ui/components/telepathyClient.js:1210
|
#: ../js/ui/components/telepathyClient.js:1205
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Responder"
|
msgstr "Responder"
|
||||||
|
|
||||||
@@ -849,112 +832,112 @@ msgstr "Responder"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#. */
|
#. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1231
|
#: ../js/ui/components/telepathyClient.js:1226
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s le está enviando %s"
|
msgstr "%s le está enviando %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias */
|
#. To translators: The parameter is the contact's alias */
|
||||||
#: ../js/ui/components/telepathyClient.js:1260
|
#: ../js/ui/components/telepathyClient.js:1255
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s solicita permiso para ver cuándo está en línea"
|
msgstr "%s solicita permiso para ver cuándo está en línea"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1346
|
#: ../js/ui/components/telepathyClient.js:1341
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Error de la red"
|
msgstr "Error de la red"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1348
|
#: ../js/ui/components/telepathyClient.js:1343
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Falló la autenticación"
|
msgstr "Falló la autenticación"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1350
|
#: ../js/ui/components/telepathyClient.js:1345
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Error de cifrado"
|
msgstr "Error de cifrado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1352
|
#: ../js/ui/components/telepathyClient.js:1347
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Certificado no proporcionado"
|
msgstr "Certificado no proporcionado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1354
|
#: ../js/ui/components/telepathyClient.js:1349
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "No se confía en el certificado"
|
msgstr "No se confía en el certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1356
|
#: ../js/ui/components/telepathyClient.js:1351
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Certificado caducado"
|
msgstr "Certificado caducado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1358
|
#: ../js/ui/components/telepathyClient.js:1353
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Certificado no activado"
|
msgstr "Certificado no activado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1355
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "El nombre del servidor dle certificado no coincide"
|
msgstr "El nombre del servidor dle certificado no coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1362
|
#: ../js/ui/components/telepathyClient.js:1357
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "La huella del certificado no coincide"
|
msgstr "La huella del certificado no coincide"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1364
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Certificado autofirmado"
|
msgstr "Certificado autofirmado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1366
|
#: ../js/ui/components/telepathyClient.js:1361
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "El estado está establecido a «desconectado»"
|
msgstr "El estado está establecido a «desconectado»"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1368
|
#: ../js/ui/components/telepathyClient.js:1363
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "El cifrado no está disponible"
|
msgstr "El cifrado no está disponible"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1370
|
#: ../js/ui/components/telepathyClient.js:1365
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "El certificado no es válido"
|
msgstr "El certificado no es válido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1372
|
#: ../js/ui/components/telepathyClient.js:1367
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Se ha rechazado la conexión"
|
msgstr "Se ha rechazado la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1374
|
#: ../js/ui/components/telepathyClient.js:1369
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "No se puede establecer la conexión"
|
msgstr "No se puede establecer la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1376
|
#: ../js/ui/components/telepathyClient.js:1371
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Se ha perdido la conexión"
|
msgstr "Se ha perdido la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1378
|
#: ../js/ui/components/telepathyClient.js:1373
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Esta cuenta ya está conectada al servidor"
|
msgstr "Esta cuenta ya está conectada al servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1380
|
#: ../js/ui/components/telepathyClient.js:1375
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
|
"Se ha sustituido la conexión por una nueva conexión usando el mismo recurso"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1382
|
#: ../js/ui/components/telepathyClient.js:1377
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "La cuenta ya existe en el servidor"
|
msgstr "La cuenta ya existe en el servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1384
|
#: ../js/ui/components/telepathyClient.js:1379
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
|
"Actualmente el servidor está muy ocupado intentando gestionar la conexión"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1386
|
#: ../js/ui/components/telepathyClient.js:1381
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Se ha revocado el certificado"
|
msgstr "Se ha revocado el certificado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1388
|
#: ../js/ui/components/telepathyClient.js:1383
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
|
"El certificado usa un algoritmo de cifrado inseguro o es criptográficamente "
|
||||||
"débil"
|
"débil"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1390
|
#: ../js/ui/components/telepathyClient.js:1385
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -963,22 +946,22 @@ msgstr ""
|
|||||||
"certificado del servidor exceden los límites impuestos por la biblioteca de "
|
"certificado del servidor exceden los límites impuestos por la biblioteca de "
|
||||||
"criptografía"
|
"criptografía"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1392
|
#: ../js/ui/components/telepathyClient.js:1387
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Error interno"
|
msgstr "Error interno"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example. */
|
#. * name@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1402
|
#: ../js/ui/components/telepathyClient.js:1397
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "No se pudo conectar a %s"
|
msgstr "No se pudo conectar a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1407
|
#: ../js/ui/components/telepathyClient.js:1402
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Ver cuenta"
|
msgstr "Ver cuenta"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1444
|
#: ../js/ui/components/telepathyClient.js:1439
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Razón desconocida"
|
msgstr "Razón desconocida"
|
||||||
|
|
||||||
@@ -1153,7 +1136,7 @@ msgstr "Instalar"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
msgstr "¿Descargar e instalar «%s» desde extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
|
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:339
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Teclado"
|
msgstr "Teclado"
|
||||||
|
|
||||||
@@ -1287,7 +1270,7 @@ msgstr "Actividades"
|
|||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
#: ../js/ui/popupMenu.js:271
|
#: ../js/ui/popupMenu.js:279
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1295,7 +1278,7 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
msgstr "Introducir un comando"
|
msgstr "Introducir un comando"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
|
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:120
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Cerrar"
|
msgstr "Cerrar"
|
||||||
|
|
||||||
@@ -1434,7 +1417,7 @@ msgstr "No conectado"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Brillo"
|
msgstr "Brillo"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:403
|
#: ../js/ui/status/keyboard.js:407
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Mostrar la distribución del teclado"
|
msgstr "Mostrar la distribución del teclado"
|
||||||
|
|
||||||
@@ -1720,43 +1703,43 @@ msgid_plural "Settings changes will revert in %d seconds"
|
|||||||
msgstr[0] "La configuración se revertirá en %d segundo"
|
msgstr[0] "La configuración se revertirá en %d segundo"
|
||||||
msgstr[1] "La configuración se revertirá en %d segundos"
|
msgstr[1] "La configuración se revertirá en %d segundos"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:33
|
#: ../js/ui/windowMenu.js:34
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimizar"
|
msgstr "Minimizar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:40
|
#: ../js/ui/windowMenu.js:41
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Desmaximizar"
|
msgstr "Desmaximizar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:44
|
#: ../js/ui/windowMenu.js:45
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximizar"
|
msgstr "Maximizar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:51
|
#: ../js/ui/windowMenu.js:52
|
||||||
msgid "Move"
|
msgid "Move"
|
||||||
msgstr "Mover"
|
msgstr "Mover"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:57
|
#: ../js/ui/windowMenu.js:58
|
||||||
msgid "Resize"
|
msgid "Resize"
|
||||||
msgstr "Redimensionar"
|
msgstr "Redimensionar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:64
|
#: ../js/ui/windowMenu.js:65
|
||||||
msgid "Move Titlebar Onscreen"
|
msgid "Move Titlebar Onscreen"
|
||||||
msgstr "Mover la barra de título a la pantalla"
|
msgstr "Mover la barra de título a la pantalla"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:69
|
#: ../js/ui/windowMenu.js:70
|
||||||
msgid "Always on Top"
|
msgid "Always on Top"
|
||||||
msgstr "Siempre encima"
|
msgstr "Siempre encima"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:86
|
#: ../js/ui/windowMenu.js:89
|
||||||
msgid "Always on Visible Workspace"
|
msgid "Always on Visible Workspace"
|
||||||
msgstr "Siempre en el área de trabajo visible"
|
msgstr "Siempre en el área de trabajo visible"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:103
|
#: ../js/ui/windowMenu.js:106
|
||||||
msgid "Move to Workspace Up"
|
msgid "Move to Workspace Up"
|
||||||
msgstr "Subir a un área de trabajo"
|
msgstr "Subir a un área de trabajo"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:108
|
#: ../js/ui/windowMenu.js:111
|
||||||
msgid "Move to Workspace Down"
|
msgid "Move to Workspace Down"
|
||||||
msgstr "Bajar a un área de trabajo"
|
msgstr "Bajar a un área de trabajo"
|
||||||
|
|
||||||
@@ -1786,21 +1769,21 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sonidos del sistema"
|
msgstr "Sonidos del sistema"
|
||||||
|
|
||||||
#: ../src/main.c:349
|
#: ../src/main.c:371
|
||||||
msgid "Print version"
|
msgid "Print version"
|
||||||
msgstr "Imprimir versión"
|
msgstr "Imprimir versión"
|
||||||
|
|
||||||
#: ../src/main.c:355
|
#: ../src/main.c:377
|
||||||
msgid "Mode used by GDM for login screen"
|
msgid "Mode used by GDM for login screen"
|
||||||
msgstr "Modo usado por GDM para la pantalla de inicio"
|
msgstr "Modo usado por GDM para la pantalla de inicio"
|
||||||
|
|
||||||
#: ../src/main.c:361
|
#: ../src/main.c:383
|
||||||
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
msgid "Use a specific mode, e.g. \"gdm\" for login screen"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
"Usar un modo específico, por ejemplo, «gdm» para la pantalla de inicio de "
|
||||||
"sesión"
|
"sesión"
|
||||||
|
|
||||||
#: ../src/main.c:367
|
#: ../src/main.c:389
|
||||||
msgid "List possible modes"
|
msgid "List possible modes"
|
||||||
msgstr "Listar los modos posibles"
|
msgstr "Listar los modos posibles"
|
||||||
|
|
||||||
@@ -1821,6 +1804,24 @@ msgstr "La contraseña no puede estar vacía"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "El usuario rechazó el diálogo de autenticación"
|
msgstr "El usuario rechazó el diálogo de autenticación"
|
||||||
|
|
||||||
|
#~ msgid "Arrangement of buttons on the titlebar"
|
||||||
|
#~ msgstr "Orden de los botones en la barra de título"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Esta clave sobrescribe la clave en org.gnome.desktop.wm.preferences al "
|
||||||
|
#~ "ejecutar GNOME Shell."
|
||||||
|
|
||||||
|
#~ msgid "Extension"
|
||||||
|
#~ msgstr "Extensión"
|
||||||
|
|
||||||
|
#~ msgid "Select an extension to configure using the combobox above."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Seleccione una extensión que configurar usando la caja combinada de "
|
||||||
|
#~ "arriba."
|
||||||
|
|
||||||
#~ msgid "calendar:MY"
|
#~ msgid "calendar:MY"
|
||||||
#~ msgstr "calendario:MA"
|
#~ msgstr "calendario:MA"
|
||||||
|
|
||||||
|
44
po/it.po
44
po/it.po
@@ -11,8 +11,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2014-04-06 07:54+0000\n"
|
"POT-Creation-Date: 2014-05-27 19:20+0000\n"
|
||||||
"PO-Revision-Date: 2014-04-06 14:15+0100\n"
|
"PO-Revision-Date: 2014-05-31 14:54+0100\n"
|
||||||
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
|
"Last-Translator: Milo Casagrande <milo@milo.name>\n"
|
||||||
"Language-Team: Italiano <tp@lists.linux.it>\n"
|
"Language-Team: Italiano <tp@lists.linux.it>\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@@ -421,7 +421,7 @@ msgid "%s has been removed from your favorites."
|
|||||||
msgstr "%s è stato rimosso dai preferiti."
|
msgstr "%s è stato rimosso dai preferiti."
|
||||||
|
|
||||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809
|
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:809
|
||||||
#: ../js/ui/status/system.js:334
|
#: ../js/ui/status/system.js:337
|
||||||
msgid "Settings"
|
msgid "Settings"
|
||||||
msgstr "Impostazioni"
|
msgstr "Impostazioni"
|
||||||
|
|
||||||
@@ -1076,7 +1076,7 @@ msgstr[1] "Il sistema verrà spento automaticamente tra %d secondi."
|
|||||||
#: ../js/ui/endSessionDialog.js:93
|
#: ../js/ui/endSessionDialog.js:93
|
||||||
msgctxt "checkbox"
|
msgctxt "checkbox"
|
||||||
msgid "Install pending software updates"
|
msgid "Install pending software updates"
|
||||||
msgstr "Installa gli aggiornamenti software in sospeso"
|
msgstr "Installare gli aggiornamenti software in sospeso"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113
|
#: ../js/ui/endSessionDialog.js:96 ../js/ui/endSessionDialog.js:113
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
@@ -1130,7 +1130,7 @@ msgstr "Installa e spegni"
|
|||||||
#: ../js/ui/endSessionDialog.js:131
|
#: ../js/ui/endSessionDialog.js:131
|
||||||
msgctxt "checkbox"
|
msgctxt "checkbox"
|
||||||
msgid "Power off after updates are installed"
|
msgid "Power off after updates are installed"
|
||||||
msgstr "Spegne dopo aver installato gli aggiornamenti"
|
msgstr "Spegnere dopo aver installato gli aggiornamenti"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:315
|
#: ../js/ui/endSessionDialog.js:315
|
||||||
msgid "Running on battery power: please plug in before installing updates."
|
msgid "Running on battery power: please plug in before installing updates."
|
||||||
@@ -1167,7 +1167,7 @@ msgstr "Installa"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Scaricare e installare «%s» da extensions.gnome.org?"
|
msgstr "Scaricare e installare «%s» da extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:335
|
#: ../js/ui/keyboard.js:641 ../js/ui/status/keyboard.js:339
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Tastiera"
|
msgstr "Tastiera"
|
||||||
|
|
||||||
@@ -1328,7 +1328,7 @@ msgid_plural "%d new notifications"
|
|||||||
msgstr[0] "%d nuova notifica"
|
msgstr[0] "%d nuova notifica"
|
||||||
msgstr[1] "%d nuove notifiche"
|
msgstr[1] "%d nuove notifiche"
|
||||||
|
|
||||||
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:342
|
#: ../js/ui/screenShield.js:474 ../js/ui/status/system.js:345
|
||||||
msgid "Lock"
|
msgid "Lock"
|
||||||
msgstr "Blocca"
|
msgstr "Blocca"
|
||||||
|
|
||||||
@@ -1344,11 +1344,11 @@ msgstr "Impossibile bloccare"
|
|||||||
msgid "Lock was blocked by an application"
|
msgid "Lock was blocked by an application"
|
||||||
msgstr "Il blocco è stato impedito da un'applicazione."
|
msgstr "Il blocco è stato impedito da un'applicazione."
|
||||||
|
|
||||||
#: ../js/ui/search.js:603
|
#: ../js/ui/search.js:606
|
||||||
msgid "Searching…"
|
msgid "Searching…"
|
||||||
msgstr "Ricerca…"
|
msgstr "Ricerca…"
|
||||||
|
|
||||||
#: ../js/ui/search.js:649
|
#: ../js/ui/search.js:652
|
||||||
msgid "No results."
|
msgid "No results."
|
||||||
msgstr "Nessun risultato."
|
msgstr "Nessun risultato."
|
||||||
|
|
||||||
@@ -1427,8 +1427,8 @@ msgstr "Bluetooth"
|
|||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
|
#: ../js/ui/status/bluetooth.js:51 ../js/ui/status/network.js:151
|
||||||
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
|
#: ../js/ui/status/network.js:323 ../js/ui/status/network.js:1234
|
||||||
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:85
|
#: ../js/ui/status/network.js:1345 ../js/ui/status/rfkill.js:86
|
||||||
#: ../js/ui/status/rfkill.js:105
|
#: ../js/ui/status/rfkill.js:114
|
||||||
msgid "Turn Off"
|
msgid "Turn Off"
|
||||||
msgstr "Spegni"
|
msgstr "Spegni"
|
||||||
|
|
||||||
@@ -1451,7 +1451,7 @@ msgstr "Non collegato"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Luminosità"
|
msgstr "Luminosità"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:403
|
#: ../js/ui/status/keyboard.js:407
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Mostra disposizione tastiera"
|
msgstr "Mostra disposizione tastiera"
|
||||||
|
|
||||||
@@ -1461,13 +1461,11 @@ msgstr "Posizione"
|
|||||||
|
|
||||||
# (ndt) o disabilitata?
|
# (ndt) o disabilitata?
|
||||||
#: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
|
#: ../js/ui/status/location.js:60 ../js/ui/status/location.js:168
|
||||||
#| msgid "Disabled"
|
|
||||||
msgid "Disable"
|
msgid "Disable"
|
||||||
msgstr "Disabilitato"
|
msgstr "Disabilitato"
|
||||||
|
|
||||||
# (ndt) o abilitata?
|
# (ndt) o abilitata?
|
||||||
#: ../js/ui/status/location.js:165
|
#: ../js/ui/status/location.js:165
|
||||||
#| msgid "Enabled"
|
|
||||||
msgid "Enable"
|
msgid "Enable"
|
||||||
msgstr "Abilita"
|
msgstr "Abilita"
|
||||||
|
|
||||||
@@ -1577,7 +1575,7 @@ msgstr "Seleziona una rete"
|
|||||||
msgid "No Networks"
|
msgid "No Networks"
|
||||||
msgstr "Nessuna rete"
|
msgstr "Nessuna rete"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:103
|
#: ../js/ui/status/network.js:866 ../js/ui/status/rfkill.js:112
|
||||||
msgid "Use hardware switch to turn off"
|
msgid "Use hardware switch to turn off"
|
||||||
msgstr "Usare l'interruttore hardware per disattivare"
|
msgstr "Usare l'interruttore hardware per disattivare"
|
||||||
|
|
||||||
@@ -1601,7 +1599,7 @@ msgstr "Hotspot attivo"
|
|||||||
msgid "Connecting"
|
msgid "Connecting"
|
||||||
msgstr "Connessione"
|
msgstr "Connessione"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:88
|
#: ../js/ui/status/network.js:1433 ../js/ui/status/rfkill.js:89
|
||||||
msgid "Network Settings"
|
msgid "Network Settings"
|
||||||
msgstr "Impostazioni rete"
|
msgstr "Impostazioni rete"
|
||||||
|
|
||||||
@@ -1656,31 +1654,31 @@ msgstr "UPS"
|
|||||||
msgid "Battery"
|
msgid "Battery"
|
||||||
msgstr "Batteria"
|
msgstr "Batteria"
|
||||||
|
|
||||||
#: ../js/ui/status/rfkill.js:82
|
#: ../js/ui/status/rfkill.js:83
|
||||||
msgid "Airplane Mode"
|
msgid "Airplane Mode"
|
||||||
msgstr "Modalità aereo"
|
msgstr "Modalità aereo"
|
||||||
|
|
||||||
#: ../js/ui/status/rfkill.js:84
|
#: ../js/ui/status/rfkill.js:85
|
||||||
msgid "On"
|
msgid "On"
|
||||||
msgstr "On"
|
msgstr "On"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:314
|
#: ../js/ui/status/system.js:317
|
||||||
msgid "Switch User"
|
msgid "Switch User"
|
||||||
msgstr "Cambia utente"
|
msgstr "Cambia utente"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:319
|
#: ../js/ui/status/system.js:322
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "Termina sessione"
|
msgstr "Termina sessione"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:338
|
#: ../js/ui/status/system.js:341
|
||||||
msgid "Orientation Lock"
|
msgid "Orientation Lock"
|
||||||
msgstr "Blocco orientazione"
|
msgstr "Blocco orientazione"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:346
|
#: ../js/ui/status/system.js:349
|
||||||
msgid "Suspend"
|
msgid "Suspend"
|
||||||
msgstr "Sospendi"
|
msgstr "Sospendi"
|
||||||
|
|
||||||
#: ../js/ui/status/system.js:349
|
#: ../js/ui/status/system.js:352
|
||||||
msgid "Power Off"
|
msgid "Power Off"
|
||||||
msgstr "Spegni"
|
msgstr "Spegni"
|
||||||
|
|
||||||
|
183
po/lt.po
183
po/lt.po
@@ -11,8 +11,8 @@ msgstr ""
|
|||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2014-05-18 07:27+0000\n"
|
"POT-Creation-Date: 2014-06-02 19:26+0000\n"
|
||||||
"PO-Revision-Date: 2014-05-18 22:25+0300\n"
|
"PO-Revision-Date: 2014-06-02 23:35+0300\n"
|
||||||
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
|
||||||
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
"Language-Team: Lietuvių <gnome-lt@lists.akl.lt>\n"
|
||||||
"Language: lt\n"
|
"Language: lt\n"
|
||||||
@@ -58,7 +58,6 @@ msgid "Window management and application launching"
|
|||||||
msgstr "Langų valdymas ir programų paleidimas"
|
msgstr "Langų valdymas ir programų paleidimas"
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||||
#: ../js/extensionPrefs/main.js:155
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
msgid "GNOME Shell Extension Preferences"
|
||||||
msgstr "GNOME Shell plėtinių nustatymai"
|
msgstr "GNOME Shell plėtinių nustatymai"
|
||||||
|
|
||||||
@@ -267,45 +266,30 @@ msgid ""
|
|||||||
msgstr "Šis raktas perrašo org.gnome.mutter raktą, kai vykdoma GNOME Shell."
|
msgstr "Šis raktas perrašo org.gnome.mutter raktą, kai vykdoma GNOME Shell."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "Mygtukų išdėstymas pavadinimo juostoje"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Šis raktas perrašo org.gnome.desktop.wm.preferences raktą, kai vykdoma GNOME "
|
|
||||||
"Shell."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Įjungti kraštų išplėtimą, kai langai numetami ekrano kraštuose"
|
msgstr "Įjungti kraštų išplėtimą, kai langai numetami ekrano kraštuose"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||||
msgid "Workspaces are managed dynamically"
|
msgid "Workspaces are managed dynamically"
|
||||||
msgstr "Darbalaukiai yra valdomi dinamiškai"
|
msgstr "Darbalaukiai yra valdomi dinamiškai"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||||
msgid "Workspaces only on primary monitor"
|
msgid "Workspaces only on primary monitor"
|
||||||
msgstr "Darbalaukiai tik pagrindiniame monitoriuje"
|
msgstr "Darbalaukiai tik pagrindiniame monitoriuje"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
msgstr "Atidėti fokuso pakeitimus pelei iki žymiklis nustos judėti"
|
msgstr "Atidėti fokuso pakeitimus pelei iki žymiklis nustos judėti"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:127
|
#: ../js/extensionPrefs/main.js:125
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "There was an error loading the preferences dialog for %s:"
|
msgid "There was an error loading the preferences dialog for %s:"
|
||||||
msgstr "Kilo klaida įkeliant %s nustatymų dialogą:"
|
msgstr "Kilo klaida įkeliant %s nustatymų dialogą:"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:167
|
#: ../js/extensionPrefs/main.js:157
|
||||||
msgid "Extension"
|
#| msgid "Configure GNOME Shell Extensions"
|
||||||
msgstr "Plėtinys"
|
msgid "GNOME Shell Extensions"
|
||||||
|
msgstr "GNOME Shell plėtiniai"
|
||||||
#: ../js/extensionPrefs/main.js:191
|
|
||||||
msgid "Select an extension to configure using the combobox above."
|
|
||||||
msgstr "Išskleidžiamajame sąraše pasirinkite konfigūruotiną plėtinį."
|
|
||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
||||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
||||||
@@ -328,25 +312,25 @@ msgctxt "button"
|
|||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Prisijungti"
|
msgstr "Prisijungti"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:271
|
#: ../js/gdm/loginDialog.js:269
|
||||||
msgid "Choose Session"
|
msgid "Choose Session"
|
||||||
msgstr "Pasirinkite seansą"
|
msgstr "Pasirinkite seansą"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:431
|
#: ../js/gdm/loginDialog.js:429
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Nėra sąraše?"
|
msgstr "Nėra sąraše?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:616
|
#: ../js/gdm/loginDialog.js:614
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(pvz., naudotojas arba %s)"
|
msgstr "(pvz., naudotojas arba %s)"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
|
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
|
||||||
#: ../js/ui/components/networkAgent.js:280
|
#: ../js/ui/components/networkAgent.js:280
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Naudotojo vardas: "
|
msgstr "Naudotojo vardas: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:924
|
#: ../js/gdm/loginDialog.js:922
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Prisijungimo langas"
|
msgstr "Prisijungimo langas"
|
||||||
|
|
||||||
@@ -534,11 +518,11 @@ msgctxt "list saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "Št"
|
msgstr "Št"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:453
|
#: ../js/ui/calendar.js:454
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Ankstesnis mėnuo"
|
msgstr "Ankstesnis mėnuo"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:463
|
#: ../js/ui/calendar.js:464
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Kitas mėnuo"
|
msgstr "Kitas mėnuo"
|
||||||
|
|
||||||
@@ -724,77 +708,77 @@ msgid "Mute"
|
|||||||
msgstr "Nutildyti"
|
msgstr "Nutildyti"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:958
|
#: ../js/ui/components/telepathyClient.js:957
|
||||||
msgid "%H∶%M"
|
msgid "%H∶%M"
|
||||||
msgstr "%H∶%M"
|
msgstr "%H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:965
|
#: ../js/ui/components/telepathyClient.js:964
|
||||||
msgid "Yesterday, %H∶%M"
|
msgid "Yesterday, %H∶%M"
|
||||||
msgstr "Vakar, %H:%M"
|
msgstr "Vakar, %H:%M"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:972
|
#: ../js/ui/components/telepathyClient.js:971
|
||||||
msgid "%A, %H∶%M"
|
msgid "%A, %H∶%M"
|
||||||
msgstr "%A, %H∶%M"
|
msgstr "%A, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 24h format.
|
#. followed by a time string in 24h format.
|
||||||
#. i.e. "May 25, 14:30" */
|
#. i.e. "May 25, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:979
|
#: ../js/ui/components/telepathyClient.js:978
|
||||||
msgid "%B %d, %H∶%M"
|
msgid "%B %d, %H∶%M"
|
||||||
msgstr "%B %d, %H∶%M"
|
msgstr "%B %d, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 24h format.
|
#. number followed by a time string in 24h format.
|
||||||
#. i.e. "May 25 2012, 14:30" */
|
#. i.e. "May 25 2012, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:985
|
#: ../js/ui/components/telepathyClient.js:984
|
||||||
msgid "%B %d %Y, %H∶%M"
|
msgid "%B %d %Y, %H∶%M"
|
||||||
msgstr "%Y %m %d, %H∶%M"
|
msgstr "%Y %m %d, %H∶%M"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:994
|
#: ../js/ui/components/telepathyClient.js:990
|
||||||
msgid "%l∶%M %p"
|
msgid "%l∶%M %p"
|
||||||
msgstr "%l∶%M %p"
|
msgstr "%l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1001
|
#: ../js/ui/components/telepathyClient.js:997
|
||||||
msgid "Yesterday, %l∶%M %p"
|
msgid "Yesterday, %l∶%M %p"
|
||||||
msgstr "Vakar, %l∶%M %p"
|
msgstr "Vakar, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1008
|
#: ../js/ui/components/telepathyClient.js:1004
|
||||||
msgid "%A, %l∶%M %p"
|
msgid "%A, %l∶%M %p"
|
||||||
msgstr "%A, %l∶%M %p"
|
msgstr "%A, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 12h format.
|
#. followed by a time string in 12h format.
|
||||||
#. i.e. "May 25, 2:30 pm" */
|
#. i.e. "May 25, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1015
|
#: ../js/ui/components/telepathyClient.js:1011
|
||||||
msgid "%B %d, %l∶%M %p"
|
msgid "%B %d, %l∶%M %p"
|
||||||
msgstr "%B %d, %l∶%M %p"
|
msgstr "%B %d, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 12h format.
|
#. number followed by a time string in 12h format.
|
||||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||||
#: ../js/ui/components/telepathyClient.js:1021
|
#: ../js/ui/components/telepathyClient.js:1017
|
||||||
msgid "%B %d %Y, %l∶%M %p"
|
msgid "%B %d %Y, %l∶%M %p"
|
||||||
msgstr "%Y %B %d, %l∶%M %p"
|
msgstr "%Y %B %d, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name. */
|
#. IM name. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1054
|
#: ../js/ui/components/telepathyClient.js:1049
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s nuo šiol vadinasi %s"
|
msgstr "%s nuo šiol vadinasi %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example. */
|
#. * room@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1158
|
#: ../js/ui/components/telepathyClient.js:1153
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Kvietimas į %s"
|
msgstr "Kvietimas į %s"
|
||||||
@@ -802,38 +786,38 @@ msgstr "Kvietimas į %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example. */
|
#. * for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1166
|
#: ../js/ui/components/telepathyClient.js:1161
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s jus kviečia prisijungti prie %s"
|
msgstr "%s jus kviečia prisijungti prie %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1168
|
#: ../js/ui/components/telepathyClient.js:1163
|
||||||
#: ../js/ui/components/telepathyClient.js:1203
|
#: ../js/ui/components/telepathyClient.js:1198
|
||||||
#: ../js/ui/components/telepathyClient.js:1237
|
#: ../js/ui/components/telepathyClient.js:1232
|
||||||
#: ../js/ui/components/telepathyClient.js:1295
|
#: ../js/ui/components/telepathyClient.js:1290
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Atmesti"
|
msgstr "Atmesti"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1174
|
#: ../js/ui/components/telepathyClient.js:1169
|
||||||
#: ../js/ui/components/telepathyClient.js:1243
|
#: ../js/ui/components/telepathyClient.js:1238
|
||||||
#: ../js/ui/components/telepathyClient.js:1300
|
#: ../js/ui/components/telepathyClient.js:1295
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Priimti"
|
msgstr "Priimti"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1193
|
#: ../js/ui/components/telepathyClient.js:1188
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Vaizdo skambutis nuo %s"
|
msgstr "Vaizdo skambutis nuo %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1196
|
#: ../js/ui/components/telepathyClient.js:1191
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Skambutis nuo %s"
|
msgstr "Skambutis nuo %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun */
|
#. translators: this is a button label (verb), not a noun */
|
||||||
#: ../js/ui/components/telepathyClient.js:1210
|
#: ../js/ui/components/telepathyClient.js:1205
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Atsiliepti"
|
msgstr "Atsiliepti"
|
||||||
|
|
||||||
@@ -842,110 +826,110 @@ msgstr "Atsiliepti"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#. */
|
#. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1231
|
#: ../js/ui/components/telepathyClient.js:1226
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s jums siunčia %s"
|
msgstr "%s jums siunčia %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias */
|
#. To translators: The parameter is the contact's alias */
|
||||||
#: ../js/ui/components/telepathyClient.js:1260
|
#: ../js/ui/components/telepathyClient.js:1255
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s pageidauja matyti, kai esate prisijungę prie interneto"
|
msgstr "%s pageidauja matyti, kai esate prisijungę prie interneto"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1346
|
#: ../js/ui/components/telepathyClient.js:1341
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Tinklo klaida"
|
msgstr "Tinklo klaida"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1348
|
#: ../js/ui/components/telepathyClient.js:1343
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Nepavyko patvirtinti tapatybės"
|
msgstr "Nepavyko patvirtinti tapatybės"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1350
|
#: ../js/ui/components/telepathyClient.js:1345
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Šifravimo klaida"
|
msgstr "Šifravimo klaida"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1352
|
#: ../js/ui/components/telepathyClient.js:1347
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Liudijimas nepateiktas"
|
msgstr "Liudijimas nepateiktas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1354
|
#: ../js/ui/components/telepathyClient.js:1349
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "Liudijimas nepatikimas"
|
msgstr "Liudijimas nepatikimas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1356
|
#: ../js/ui/components/telepathyClient.js:1351
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Liudijimo galiojimas pasibaigęs"
|
msgstr "Liudijimo galiojimas pasibaigęs"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1358
|
#: ../js/ui/components/telepathyClient.js:1353
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Liudijimas neaktyvuotas"
|
msgstr "Liudijimas neaktyvuotas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1355
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "Liudijimo serverio vardo nesutapimas"
|
msgstr "Liudijimo serverio vardo nesutapimas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1362
|
#: ../js/ui/components/telepathyClient.js:1357
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "Liudijimo piršto atspaudo nesutapimas"
|
msgstr "Liudijimo piršto atspaudo nesutapimas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1364
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Liudijimas pačių pasirašytas"
|
msgstr "Liudijimas pačių pasirašytas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1366
|
#: ../js/ui/components/telepathyClient.js:1361
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "Nustatyta atsijungimo būsena"
|
msgstr "Nustatyta atsijungimo būsena"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1368
|
#: ../js/ui/components/telepathyClient.js:1363
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "Šifravimas negalimas"
|
msgstr "Šifravimas negalimas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1370
|
#: ../js/ui/components/telepathyClient.js:1365
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "Liudijimas netinkamas"
|
msgstr "Liudijimas netinkamas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1372
|
#: ../js/ui/components/telepathyClient.js:1367
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Ryšys atmestas"
|
msgstr "Ryšys atmestas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1374
|
#: ../js/ui/components/telepathyClient.js:1369
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "Nepavyko užmegzti ryšio"
|
msgstr "Nepavyko užmegzti ryšio"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1376
|
#: ../js/ui/components/telepathyClient.js:1371
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Ryšys nutrūko"
|
msgstr "Ryšys nutrūko"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1378
|
#: ../js/ui/components/telepathyClient.js:1373
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Ši paskyra jau prijungta prie serverio"
|
msgstr "Ši paskyra jau prijungta prie serverio"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1380
|
#: ../js/ui/components/telepathyClient.js:1375
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr "Ryšys pakeistas nauju ryšiu naudojant tą patį išteklių"
|
msgstr "Ryšys pakeistas nauju ryšiu naudojant tą patį išteklių"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1382
|
#: ../js/ui/components/telepathyClient.js:1377
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "Tokia paskyra serveryje jau yra"
|
msgstr "Tokia paskyra serveryje jau yra"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1384
|
#: ../js/ui/components/telepathyClient.js:1379
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr "Šiuo metu serveris per daug užimtas šiai užklausai apdoroti"
|
msgstr "Šiuo metu serveris per daug užimtas šiai užklausai apdoroti"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1386
|
#: ../js/ui/components/telepathyClient.js:1381
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Liudijimas atšauktas"
|
msgstr "Liudijimas atšauktas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1388
|
#: ../js/ui/components/telepathyClient.js:1383
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Liudijimui naudojamas nesaugus šifravimo algoritmas arba jis kriptografiškai "
|
"Liudijimui naudojamas nesaugus šifravimo algoritmas arba jis kriptografiškai "
|
||||||
"silpnas"
|
"silpnas"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1390
|
#: ../js/ui/components/telepathyClient.js:1385
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -953,22 +937,22 @@ msgstr ""
|
|||||||
"Serverio liudijimo ilgis arba liudijimų eilės dydis viršija kriptografijos "
|
"Serverio liudijimo ilgis arba liudijimų eilės dydis viršija kriptografijos "
|
||||||
"bibliotekos apribojimus"
|
"bibliotekos apribojimus"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1392
|
#: ../js/ui/components/telepathyClient.js:1387
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Vidinė klaida"
|
msgstr "Vidinė klaida"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example. */
|
#. * name@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1402
|
#: ../js/ui/components/telepathyClient.js:1397
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "Nepavyksta prisijungti prie %s"
|
msgstr "Nepavyksta prisijungti prie %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1407
|
#: ../js/ui/components/telepathyClient.js:1402
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Rodyti paskyrą"
|
msgstr "Rodyti paskyrą"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1444
|
#: ../js/ui/components/telepathyClient.js:1439
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Nežinoma priežastis"
|
msgstr "Nežinoma priežastis"
|
||||||
|
|
||||||
@@ -1148,7 +1132,7 @@ msgstr "Įdiegti"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
|
msgstr "Parsiųsti ir įdiegti „%s“ iš extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
|
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:339
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Klaviatūra"
|
msgstr "Klaviatūra"
|
||||||
|
|
||||||
@@ -1283,7 +1267,7 @@ msgstr "Apžvalga"
|
|||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Viršutinė juosta"
|
msgstr "Viršutinė juosta"
|
||||||
|
|
||||||
#: ../js/ui/popupMenu.js:271
|
#: ../js/ui/popupMenu.js:279
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1291,7 +1275,7 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
msgstr "Įveskite komandą"
|
msgstr "Įveskite komandą"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
|
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:120
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Užverti"
|
msgstr "Užverti"
|
||||||
|
|
||||||
@@ -1432,7 +1416,7 @@ msgstr "Atsijungta"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Ryškumas"
|
msgstr "Ryškumas"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:403
|
#: ../js/ui/status/keyboard.js:407
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Rodyti klaviatūros išdėstymą"
|
msgstr "Rodyti klaviatūros išdėstymą"
|
||||||
|
|
||||||
@@ -1719,43 +1703,43 @@ msgstr[0] "Pakeitimai bus grąžinti po %d sekundės"
|
|||||||
msgstr[1] "Pakeitimai bus grąžinti po %d sekundžių"
|
msgstr[1] "Pakeitimai bus grąžinti po %d sekundžių"
|
||||||
msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
|
msgstr[2] "Pakeitimai bus grąžinti po %d sekundžių"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:33
|
#: ../js/ui/windowMenu.js:34
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Sumažinti"
|
msgstr "Sumažinti"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:40
|
#: ../js/ui/windowMenu.js:41
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Grąžinti iš išdidinimo"
|
msgstr "Grąžinti iš išdidinimo"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:44
|
#: ../js/ui/windowMenu.js:45
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Išdidinti"
|
msgstr "Išdidinti"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:51
|
#: ../js/ui/windowMenu.js:52
|
||||||
msgid "Move"
|
msgid "Move"
|
||||||
msgstr "Perkelti"
|
msgstr "Perkelti"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:57
|
#: ../js/ui/windowMenu.js:58
|
||||||
msgid "Resize"
|
msgid "Resize"
|
||||||
msgstr "Keisti dydį"
|
msgstr "Keisti dydį"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:64
|
#: ../js/ui/windowMenu.js:65
|
||||||
msgid "Move Titlebar Onscreen"
|
msgid "Move Titlebar Onscreen"
|
||||||
msgstr "Perkelti pavadinimo juostą į ekraną"
|
msgstr "Perkelti pavadinimo juostą į ekraną"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:69
|
#: ../js/ui/windowMenu.js:70
|
||||||
msgid "Always on Top"
|
msgid "Always on Top"
|
||||||
msgstr "Visada viršuje"
|
msgstr "Visada viršuje"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:86
|
#: ../js/ui/windowMenu.js:89
|
||||||
msgid "Always on Visible Workspace"
|
msgid "Always on Visible Workspace"
|
||||||
msgstr "Visada matomame darbalaukyje"
|
msgstr "Visada matomame darbalaukyje"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:103
|
#: ../js/ui/windowMenu.js:106
|
||||||
msgid "Move to Workspace Up"
|
msgid "Move to Workspace Up"
|
||||||
msgstr "Perkelti į aukščiau esantį darbalaukį"
|
msgstr "Perkelti į aukščiau esantį darbalaukį"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:108
|
#: ../js/ui/windowMenu.js:111
|
||||||
msgid "Move to Workspace Down"
|
msgid "Move to Workspace Down"
|
||||||
msgstr "Perkelti į žemiau esantį darbalaukį"
|
msgstr "Perkelti į žemiau esantį darbalaukį"
|
||||||
|
|
||||||
@@ -1819,3 +1803,4 @@ msgstr "Slaptažodis negali būti tuščias"
|
|||||||
#: ../src/shell-polkit-authentication-agent.c:346
|
#: ../src/shell-polkit-authentication-agent.c:346
|
||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"
|
msgstr "Naudotojas užvėrė tapatybės patvirtinimo dialogą"
|
||||||
|
|
||||||
|
211
po/pt_BR.po
211
po/pt_BR.po
@@ -13,25 +13,24 @@
|
|||||||
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
|
# Juan Diego Martins da Costa Cruz <juan.martins@ifrn.edu.br>, 2013.
|
||||||
# Fábio Nogueira <fnogueira@gnome.org>, 2014.
|
# Fábio Nogueira <fnogueira@gnome.org>, 2014.
|
||||||
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
|
# Rafael Ferreira <rafael.f.f1@gmail.com>, 2013, 2014.
|
||||||
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
|
|
||||||
# Georges Basile Stavracas Neto <georges.stavracas@gmail.com>, 2014.
|
# Georges Basile Stavracas Neto <georges.stavracas@gmail.com>, 2014.
|
||||||
|
# Enrico Nicoletto <liverig@gmail.com>, 2013, 2014.
|
||||||
#
|
#
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"shell&keywords=I18N+L10N&component=general\n"
|
||||||
"POT-Creation-Date: 2014-05-19 11:46+0000\n"
|
"POT-Creation-Date: 2014-06-03 07:28+0000\n"
|
||||||
"PO-Revision-Date: 2014-05-19 16:48-0300\n"
|
"PO-Revision-Date: 2014-06-03 10:26-0300\n"
|
||||||
"Last-Translator: Georges Basile Stavracas Neto <georges.stavracas@gmail."
|
"Last-Translator: Enrico Nicoletto <liverig@gmail.com>\n"
|
||||||
"com>\n"
|
|
||||||
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
"Language-Team: Brazilian Portuguese <gnome-pt_br-list@gnome.org>\n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||||
"X-Generator: Poedit 1.6.4\n"
|
"X-Generator: Poedit 1.6.5\n"
|
||||||
"X-Project-Style: gnome\n"
|
"X-Project-Style: gnome\n"
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||||
@@ -68,13 +67,12 @@ msgid "Window management and application launching"
|
|||||||
msgstr "Gerenciamento de janelas e lançador de aplicativos"
|
msgstr "Gerenciamento de janelas e lançador de aplicativos"
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||||
#: ../js/extensionPrefs/main.js:155
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
msgid "GNOME Shell Extension Preferences"
|
||||||
msgstr "Preferências de extensões do GNOME Shell"
|
msgstr "Preferências de extensões do Shell do GNOME"
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:2
|
||||||
msgid "Configure GNOME Shell Extensions"
|
msgid "Configure GNOME Shell Extensions"
|
||||||
msgstr "Configurar extensões do GNOME Shell"
|
msgstr "Configurar extensões do Shell do GNOME"
|
||||||
|
|
||||||
# Traduções do Xfce e da Microsoft usam compositor --Enrico
|
# Traduções do Xfce e da Microsoft usam compositor --Enrico
|
||||||
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
#: ../data/gnome-shell-wayland.desktop.in.in.h:1
|
||||||
@@ -287,47 +285,31 @@ msgstr ""
|
|||||||
"GNOME."
|
"GNOME."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
|
||||||
msgstr "Organização dos botões na barra de título"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Esta chave sobrescreve a chave em org.gnome.desktop.wm.preferences ao "
|
|
||||||
"executar o Shell do GNOME."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela"
|
"Habilitar contorno ladrilhado ao arrastar janelas sobre as bordas da tela"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||||
msgid "Workspaces are managed dynamically"
|
msgid "Workspaces are managed dynamically"
|
||||||
msgstr "Espaços de trabalho são gerenciados dinamicamente"
|
msgstr "Espaços de trabalho são gerenciados dinamicamente"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||||
msgid "Workspaces only on primary monitor"
|
msgid "Workspaces only on primary monitor"
|
||||||
msgstr "Espaços de trabalho apenas no monitor primário"
|
msgstr "Espaços de trabalho apenas no monitor primário"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
|
msgstr "Atrasar foco altera o modo do mouse até o ponteiro parar de mover"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:127
|
#: ../js/extensionPrefs/main.js:125
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "There was an error loading the preferences dialog for %s:"
|
msgid "There was an error loading the preferences dialog for %s:"
|
||||||
msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:"
|
msgstr "Ocorreu um erro ao carregar o dialogo de preferências para %s:"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:167
|
#: ../js/extensionPrefs/main.js:157
|
||||||
msgid "Extension"
|
#| msgid "Configure GNOME Shell Extensions"
|
||||||
msgstr "Extensão"
|
msgid "GNOME Shell Extensions"
|
||||||
|
msgstr "Extensões do Shell do GNOME"
|
||||||
#: ../js/extensionPrefs/main.js:191
|
|
||||||
msgid "Select an extension to configure using the combobox above."
|
|
||||||
msgstr ""
|
|
||||||
"Selecione uma extensão para configurar usando a caixa de seleção abaixo."
|
|
||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
||||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
||||||
@@ -350,25 +332,25 @@ msgctxt "button"
|
|||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Entrar"
|
msgstr "Entrar"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:271
|
#: ../js/gdm/loginDialog.js:269
|
||||||
msgid "Choose Session"
|
msgid "Choose Session"
|
||||||
msgstr "Escolher sessão"
|
msgstr "Escolher sessão"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:431
|
#: ../js/gdm/loginDialog.js:429
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Não está listado?"
|
msgstr "Não está listado?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:616
|
#: ../js/gdm/loginDialog.js:614
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(ex.: usuário ou %s)"
|
msgstr "(ex.: usuário ou %s)"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
|
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
|
||||||
#: ../js/ui/components/networkAgent.js:280
|
#: ../js/ui/components/networkAgent.js:280
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Nome de usuário: "
|
msgstr "Nome de usuário: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:924
|
#: ../js/gdm/loginDialog.js:922
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Janela de sessão"
|
msgstr "Janela de sessão"
|
||||||
|
|
||||||
@@ -556,11 +538,11 @@ msgctxt "list saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "Sab"
|
msgstr "Sab"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:453
|
#: ../js/ui/calendar.js:454
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Mês anterior"
|
msgstr "Mês anterior"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:463
|
#: ../js/ui/calendar.js:464
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Próximo mês"
|
msgstr "Próximo mês"
|
||||||
|
|
||||||
@@ -746,77 +728,77 @@ msgid "Mute"
|
|||||||
msgstr "Sem áudio"
|
msgstr "Sem áudio"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:958
|
#: ../js/ui/components/telepathyClient.js:957
|
||||||
msgid "%H∶%M"
|
msgid "%H∶%M"
|
||||||
msgstr "%H∶%M"
|
msgstr "%H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:965
|
#: ../js/ui/components/telepathyClient.js:964
|
||||||
msgid "Yesterday, %H∶%M"
|
msgid "Yesterday, %H∶%M"
|
||||||
msgstr "Ontem, %H∶%M"
|
msgstr "Ontem, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:972
|
#: ../js/ui/components/telepathyClient.js:971
|
||||||
msgid "%A, %H∶%M"
|
msgid "%A, %H∶%M"
|
||||||
msgstr "%A, %H∶%M"
|
msgstr "%A, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 24h format.
|
#. followed by a time string in 24h format.
|
||||||
#. i.e. "May 25, 14:30" */
|
#. i.e. "May 25, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:979
|
#: ../js/ui/components/telepathyClient.js:978
|
||||||
msgid "%B %d, %H∶%M"
|
msgid "%B %d, %H∶%M"
|
||||||
msgstr "%d de %B, %H∶%M"
|
msgstr "%d de %B, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 24h format.
|
#. number followed by a time string in 24h format.
|
||||||
#. i.e. "May 25 2012, 14:30" */
|
#. i.e. "May 25 2012, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:985
|
#: ../js/ui/components/telepathyClient.js:984
|
||||||
msgid "%B %d %Y, %H∶%M"
|
msgid "%B %d %Y, %H∶%M"
|
||||||
msgstr "%d de %B de %Y, %H∶%M"
|
msgstr "%d de %B de %Y, %H∶%M"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:994
|
#: ../js/ui/components/telepathyClient.js:990
|
||||||
msgid "%l∶%M %p"
|
msgid "%l∶%M %p"
|
||||||
msgstr "%l∶%M %p"
|
msgstr "%l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1001
|
#: ../js/ui/components/telepathyClient.js:997
|
||||||
msgid "Yesterday, %l∶%M %p"
|
msgid "Yesterday, %l∶%M %p"
|
||||||
msgstr "Ontem, %l∶%M %p"
|
msgstr "Ontem, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1008
|
#: ../js/ui/components/telepathyClient.js:1004
|
||||||
msgid "%A, %l∶%M %p"
|
msgid "%A, %l∶%M %p"
|
||||||
msgstr "%A, %l∶%M %p"
|
msgstr "%A, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 12h format.
|
#. followed by a time string in 12h format.
|
||||||
#. i.e. "May 25, 2:30 pm" */
|
#. i.e. "May 25, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1015
|
#: ../js/ui/components/telepathyClient.js:1011
|
||||||
msgid "%B %d, %l∶%M %p"
|
msgid "%B %d, %l∶%M %p"
|
||||||
msgstr "%d de %B, %l∶%M %p"
|
msgstr "%d de %B, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 12h format.
|
#. number followed by a time string in 12h format.
|
||||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||||
#: ../js/ui/components/telepathyClient.js:1021
|
#: ../js/ui/components/telepathyClient.js:1017
|
||||||
msgid "%B %d %Y, %l∶%M %p"
|
msgid "%B %d %Y, %l∶%M %p"
|
||||||
msgstr "%d de %B de %Y, %l∶%M %p"
|
msgstr "%d de %B de %Y, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their new
|
||||||
#. IM name. */
|
#. IM name. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1054
|
#: ../js/ui/components/telepathyClient.js:1049
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s agora é conhecido como %s"
|
msgstr "%s agora é conhecido como %s"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example. */
|
#. * room@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1158
|
#: ../js/ui/components/telepathyClient.js:1153
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "Convite para %s"
|
msgstr "Convite para %s"
|
||||||
@@ -824,38 +806,38 @@ msgstr "Convite para %s"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example. */
|
#. * for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1166
|
#: ../js/ui/components/telepathyClient.js:1161
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s está convidando você para participar de %s"
|
msgstr "%s está convidando você para participar de %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1168
|
#: ../js/ui/components/telepathyClient.js:1163
|
||||||
#: ../js/ui/components/telepathyClient.js:1203
|
#: ../js/ui/components/telepathyClient.js:1198
|
||||||
#: ../js/ui/components/telepathyClient.js:1237
|
#: ../js/ui/components/telepathyClient.js:1232
|
||||||
#: ../js/ui/components/telepathyClient.js:1295
|
#: ../js/ui/components/telepathyClient.js:1290
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Recusar"
|
msgstr "Recusar"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1174
|
#: ../js/ui/components/telepathyClient.js:1169
|
||||||
#: ../js/ui/components/telepathyClient.js:1243
|
#: ../js/ui/components/telepathyClient.js:1238
|
||||||
#: ../js/ui/components/telepathyClient.js:1300
|
#: ../js/ui/components/telepathyClient.js:1295
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Aceitar"
|
msgstr "Aceitar"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1193
|
#: ../js/ui/components/telepathyClient.js:1188
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "Chamada de vídeo para %s"
|
msgstr "Chamada de vídeo para %s"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1196
|
#: ../js/ui/components/telepathyClient.js:1191
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "Chamada de %s"
|
msgstr "Chamada de %s"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun */
|
#. translators: this is a button label (verb), not a noun */
|
||||||
#: ../js/ui/components/telepathyClient.js:1210
|
#: ../js/ui/components/telepathyClient.js:1205
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Atender"
|
msgstr "Atender"
|
||||||
|
|
||||||
@@ -864,110 +846,110 @@ msgstr "Atender"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#. */
|
#. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1231
|
#: ../js/ui/components/telepathyClient.js:1226
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s está enviando %s"
|
msgstr "%s está enviando %s"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias */
|
#. To translators: The parameter is the contact's alias */
|
||||||
#: ../js/ui/components/telepathyClient.js:1260
|
#: ../js/ui/components/telepathyClient.js:1255
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s quer permissão para vê-lo quando conectado"
|
msgstr "%s quer permissão para vê-lo quando conectado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1346
|
#: ../js/ui/components/telepathyClient.js:1341
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Erro de rede"
|
msgstr "Erro de rede"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1348
|
#: ../js/ui/components/telepathyClient.js:1343
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Falha de autenticação"
|
msgstr "Falha de autenticação"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1350
|
#: ../js/ui/components/telepathyClient.js:1345
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Erro de criptografia"
|
msgstr "Erro de criptografia"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1352
|
#: ../js/ui/components/telepathyClient.js:1347
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Certificado não fornecido"
|
msgstr "Certificado não fornecido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1354
|
#: ../js/ui/components/telepathyClient.js:1349
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "Certificado não confiável"
|
msgstr "Certificado não confiável"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1356
|
#: ../js/ui/components/telepathyClient.js:1351
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Certificado expirado"
|
msgstr "Certificado expirado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1358
|
#: ../js/ui/components/telepathyClient.js:1353
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Certificado não ativado"
|
msgstr "Certificado não ativado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1355
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "Máquina do certificado não confere"
|
msgstr "Máquina do certificado não confere"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1362
|
#: ../js/ui/components/telepathyClient.js:1357
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "Impressão digital do certificado não confere"
|
msgstr "Impressão digital do certificado não confere"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1364
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Certificado auto-assinado"
|
msgstr "Certificado auto-assinado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1366
|
#: ../js/ui/components/telepathyClient.js:1361
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "O status está definido como desconectado."
|
msgstr "O status está definido como desconectado."
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1368
|
#: ../js/ui/components/telepathyClient.js:1363
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "Criptografia não disponível"
|
msgstr "Criptografia não disponível"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1370
|
#: ../js/ui/components/telepathyClient.js:1365
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "O certificado é inválido"
|
msgstr "O certificado é inválido"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1372
|
#: ../js/ui/components/telepathyClient.js:1367
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "A conexão foi recusada"
|
msgstr "A conexão foi recusada"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1374
|
#: ../js/ui/components/telepathyClient.js:1369
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "A conexão não pode ser estabelecida"
|
msgstr "A conexão não pode ser estabelecida"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1376
|
#: ../js/ui/components/telepathyClient.js:1371
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Conexão perdida"
|
msgstr "Conexão perdida"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1378
|
#: ../js/ui/components/telepathyClient.js:1373
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Esta conta já está conectada ao servidor"
|
msgstr "Esta conta já está conectada ao servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1380
|
#: ../js/ui/components/telepathyClient.js:1375
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr "A conexão foi substituída por uma nova conexão usando o mesmo recurso"
|
msgstr "A conexão foi substituída por uma nova conexão usando o mesmo recurso"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1382
|
#: ../js/ui/components/telepathyClient.js:1377
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "A conta já existe no servidor"
|
msgstr "A conta já existe no servidor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1384
|
#: ../js/ui/components/telepathyClient.js:1379
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr "O servidor está atualmente muito ocupado para controlar a conexão"
|
msgstr "O servidor está atualmente muito ocupado para controlar a conexão"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1386
|
#: ../js/ui/components/telepathyClient.js:1381
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "O certificado foi revogado"
|
msgstr "O certificado foi revogado"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1388
|
#: ../js/ui/components/telepathyClient.js:1383
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"O certificado usa um algoritmo de cifragem inseguro ou é criptograficamente "
|
"O certificado usa um algoritmo de cifragem inseguro ou é criptograficamente "
|
||||||
"fraco"
|
"fraco"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1390
|
#: ../js/ui/components/telepathyClient.js:1385
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate "
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
"chain, exceed the limits imposed by the cryptography library"
|
||||||
@@ -975,22 +957,22 @@ msgstr ""
|
|||||||
"O comprimento do certificado do servidor, ou a profundidade da cadeia do "
|
"O comprimento do certificado do servidor, ou a profundidade da cadeia do "
|
||||||
"certificado excedeu os limites impostos pela biblioteca de criptografia"
|
"certificado excedeu os limites impostos pela biblioteca de criptografia"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1392
|
#: ../js/ui/components/telepathyClient.js:1387
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "Erro interno"
|
msgstr "Erro interno"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example. */
|
#. * name@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1402
|
#: ../js/ui/components/telepathyClient.js:1397
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "Não foi possível conectar-se a %s"
|
msgstr "Não foi possível conectar-se a %s"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1407
|
#: ../js/ui/components/telepathyClient.js:1402
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Visualizar conta"
|
msgstr "Visualizar conta"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1444
|
#: ../js/ui/components/telepathyClient.js:1439
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Razão desconhecida"
|
msgstr "Razão desconhecida"
|
||||||
|
|
||||||
@@ -1167,7 +1149,7 @@ msgstr "Instalar"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
|
msgstr "Baixar e instalar \"%s\" de extensions.gnome.org?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
|
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:339
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Teclado"
|
msgstr "Teclado"
|
||||||
|
|
||||||
@@ -1301,7 +1283,7 @@ msgstr "Atividades"
|
|||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Barra superior"
|
msgstr "Barra superior"
|
||||||
|
|
||||||
#: ../js/ui/popupMenu.js:271
|
#: ../js/ui/popupMenu.js:279
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1309,7 +1291,7 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
msgstr "Digite um comando"
|
msgstr "Digite um comando"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
|
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:120
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Fechar"
|
msgstr "Fechar"
|
||||||
|
|
||||||
@@ -1448,7 +1430,7 @@ msgstr "Não conectado"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Brilho"
|
msgstr "Brilho"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:403
|
#: ../js/ui/status/keyboard.js:407
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Exibir disposição de teclado"
|
msgstr "Exibir disposição de teclado"
|
||||||
|
|
||||||
@@ -1737,43 +1719,43 @@ msgid_plural "Settings changes will revert in %d seconds"
|
|||||||
msgstr[0] "Alterações nas configurações serão revertidas em %d segundo"
|
msgstr[0] "Alterações nas configurações serão revertidas em %d segundo"
|
||||||
msgstr[1] "Alterações nas configurações serão revertidas em %d segundos"
|
msgstr[1] "Alterações nas configurações serão revertidas em %d segundos"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:33
|
#: ../js/ui/windowMenu.js:34
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr "Minimizar"
|
msgstr "Minimizar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:40
|
#: ../js/ui/windowMenu.js:41
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr "Restaurar"
|
msgstr "Restaurar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:44
|
#: ../js/ui/windowMenu.js:45
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr "Maximizar"
|
msgstr "Maximizar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:51
|
#: ../js/ui/windowMenu.js:52
|
||||||
msgid "Move"
|
msgid "Move"
|
||||||
msgstr "Mover"
|
msgstr "Mover"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:57
|
#: ../js/ui/windowMenu.js:58
|
||||||
msgid "Resize"
|
msgid "Resize"
|
||||||
msgstr "Redimensionar"
|
msgstr "Redimensionar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:64
|
#: ../js/ui/windowMenu.js:65
|
||||||
msgid "Move Titlebar Onscreen"
|
msgid "Move Titlebar Onscreen"
|
||||||
msgstr "Mover barra de título na tela"
|
msgstr "Mover barra de título na tela"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:69
|
#: ../js/ui/windowMenu.js:70
|
||||||
msgid "Always on Top"
|
msgid "Always on Top"
|
||||||
msgstr "Sempre no topo"
|
msgstr "Sempre no topo"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:86
|
#: ../js/ui/windowMenu.js:89
|
||||||
msgid "Always on Visible Workspace"
|
msgid "Always on Visible Workspace"
|
||||||
msgstr "Sempre na área de trabalho visível"
|
msgstr "Sempre na área de trabalho visível"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:103
|
#: ../js/ui/windowMenu.js:106
|
||||||
msgid "Move to Workspace Up"
|
msgid "Move to Workspace Up"
|
||||||
msgstr "Mover para a área de trabalho acima"
|
msgstr "Mover para a área de trabalho acima"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:108
|
#: ../js/ui/windowMenu.js:111
|
||||||
msgid "Move to Workspace Down"
|
msgid "Move to Workspace Down"
|
||||||
msgstr "Mover para a área de trabalho abaixo"
|
msgstr "Mover para a área de trabalho abaixo"
|
||||||
|
|
||||||
@@ -1836,6 +1818,23 @@ msgstr "A senha não pode estar em branco"
|
|||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "O diálogo de autenticação foi descartado pelo usuário"
|
msgstr "O diálogo de autenticação foi descartado pelo usuário"
|
||||||
|
|
||||||
|
#~ msgid "Arrangement of buttons on the titlebar"
|
||||||
|
#~ msgstr "Organização dos botões na barra de título"
|
||||||
|
|
||||||
|
#~ msgid ""
|
||||||
|
#~ "This key overrides the key in org.gnome.desktop.wm.preferences when "
|
||||||
|
#~ "running GNOME Shell."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Esta chave sobrescreve a chave em org.gnome.desktop.wm.preferences ao "
|
||||||
|
#~ "executar o Shell do GNOME."
|
||||||
|
|
||||||
|
#~ msgid "Extension"
|
||||||
|
#~ msgstr "Extensão"
|
||||||
|
|
||||||
|
#~ msgid "Select an extension to configure using the combobox above."
|
||||||
|
#~ msgstr ""
|
||||||
|
#~ "Selecione uma extensão para configurar usando a caixa de seleção abaixo."
|
||||||
|
|
||||||
#~ msgid "calendar:MY"
|
#~ msgid "calendar:MY"
|
||||||
#~ msgstr "calendar:MY"
|
#~ msgstr "calendar:MY"
|
||||||
|
|
||||||
|
405
po/tr.po
405
po/tr.po
@@ -11,10 +11,9 @@
|
|||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=general\n"
|
||||||
"shell&keywords=I18N+L10N&component=general\n"
|
"POT-Creation-Date: 2014-06-05 07:25+0000\n"
|
||||||
"POT-Creation-Date: 2014-05-17 23:09+0000\n"
|
"PO-Revision-Date: 2014-06-05 23:19+0000\n"
|
||||||
"PO-Revision-Date: 2014-05-19 14:40+0300\n"
|
|
||||||
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
"Last-Translator: Muhammet Kara <muhammetk@gmail.com>\n"
|
||||||
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
"Language-Team: Türkçe <gnome-turk@gnome.org>\n"
|
||||||
"Language: tr\n"
|
"Language: tr\n"
|
||||||
@@ -22,7 +21,6 @@ msgstr ""
|
|||||||
"Content-Type: text/plain; charset=UTF-8\n"
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||||
"X-Generator: Gtranslator 2.91.6\n"
|
|
||||||
|
|
||||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||||
msgid "System"
|
msgid "System"
|
||||||
@@ -58,7 +56,6 @@ msgid "Window management and application launching"
|
|||||||
msgstr "Pencere yönetimi ve uygulama başlatma"
|
msgstr "Pencere yönetimi ve uygulama başlatma"
|
||||||
|
|
||||||
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
#: ../data/gnome-shell-extension-prefs.desktop.in.in.h:1
|
||||||
#: ../js/extensionPrefs/main.js:155
|
|
||||||
msgid "GNOME Shell Extension Preferences"
|
msgid "GNOME Shell Extension Preferences"
|
||||||
msgstr "GNOME Kabuğu Eklenti Tercihleri"
|
msgstr "GNOME Kabuğu Eklenti Tercihleri"
|
||||||
|
|
||||||
@@ -72,16 +69,13 @@ msgstr "GNOME Kabuğu (wayland bestecisi)"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:1
|
||||||
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
msgid "Enable internal tools useful for developers and testers from Alt-F2"
|
||||||
msgstr ""
|
msgstr "Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir"
|
||||||
"Geliştirici ve deneme yapanlar için Alt-F2' den ulaşılan araçları etkinleştir"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:2
|
||||||
msgid ""
|
msgid ""
|
||||||
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
"Allows access to internal debugging and monitoring tools using the Alt-F2 "
|
||||||
"dialog."
|
"dialog."
|
||||||
msgstr ""
|
msgstr "Alt-F2 kutucuğu ile bütünleşik hata ayıklama ve izleme uygulamalarına erişim sağlar."
|
||||||
"Alt-F2 kutucuğu ile bütünleşik hata ayıklama ve izleme uygulamalarına erişim "
|
|
||||||
"sağlar."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:3
|
||||||
msgid "UUIDs of extensions to enable"
|
msgid "UUIDs of extensions to enable"
|
||||||
@@ -89,16 +83,11 @@ msgstr "Etkinleştirilecek uzantıların UUID'si"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:4
|
||||||
msgid ""
|
msgid ""
|
||||||
"GNOME Shell extensions have a UUID property; this key lists extensions which "
|
"GNOME Shell extensions have a UUID property; this key lists extensions which"
|
||||||
"should be loaded. Any extension that wants to be loaded needs to be in this "
|
" should be loaded. Any extension that wants to be loaded needs to be in this"
|
||||||
"list. You can also manipulate this list with the EnableExtension and "
|
" list. You can also manipulate this list with the EnableExtension and "
|
||||||
"DisableExtension D-Bus methods on org.gnome.Shell."
|
"DisableExtension D-Bus methods on org.gnome.Shell."
|
||||||
msgstr ""
|
msgstr "GNOME Kabuğu eklentilerinde UUID adlı bir özellik bulunur; bu anahtar, yüklenmesi gereken uzantıları listeler. Yüklenmesi istenen her tür uzantının bu listede olması gerekir. Ayrıca bu listeyi, org.gnome.Shell üzerindeki EnableExtension ve DisableExtension DBus yöntemleri ile de değiştirebilirsiniz."
|
||||||
"GNOME Kabuğu eklentilerinde UUID adlı bir özellik bulunur; bu anahtar, "
|
|
||||||
"yüklenmesi gereken uzantıları listeler. Yüklenmesi istenen her tür uzantının "
|
|
||||||
"bu listede olması gerekir. Ayrıca bu listeyi, org.gnome.Shell üzerindeki "
|
|
||||||
"EnableExtension ve DisableExtension DBus yöntemleri ile de "
|
|
||||||
"değiştirebilirsiniz."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:5
|
||||||
msgid "Disables the validation of extension version compatibility"
|
msgid "Disables the validation of extension version compatibility"
|
||||||
@@ -109,11 +98,7 @@ msgid ""
|
|||||||
"GNOME Shell will only load extensions that claim to support the current "
|
"GNOME Shell will only load extensions that claim to support the current "
|
||||||
"running version. Enabling this option will disable this check and try to "
|
"running version. Enabling this option will disable this check and try to "
|
||||||
"load all extensions regardless of the versions they claim to support."
|
"load all extensions regardless of the versions they claim to support."
|
||||||
msgstr ""
|
msgstr "GNOME Kabuğu sadece mevcut çalışan sürümü desteklediklerini ileri süren uzantıları yükleyecektir. Bu seçeneği etkinleştirmek bu denetimi devre dışı bırakacak ve desteklendiği ileri sürülen sürümleri dikkate almaksızın, tüm uygulamaları yüklemeye çalışacaktır."
|
||||||
"GNOME Kabuğu sadece mevcut çalışan sürümü desteklediklerini ileri süren "
|
|
||||||
"uzantıları yükleyecektir. Bu seçeneği etkinleştirmek bu denetimi devre dışı "
|
|
||||||
"bırakacak ve desteklendiği ileri sürülen sürümleri dikkate almaksızın, tüm "
|
|
||||||
"uygulamaları yüklemeye çalışacaktır."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:7
|
||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
@@ -121,10 +106,9 @@ msgstr "Sık kullanılan uygulamalar için masa üstü dosyalarının ID listesi
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:8
|
||||||
msgid ""
|
msgid ""
|
||||||
"The applications corresponding to these identifiers will be displayed in the "
|
"The applications corresponding to these identifiers will be displayed in the"
|
||||||
"favorites area."
|
" favorites area."
|
||||||
msgstr ""
|
msgstr "Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek."
|
||||||
"Bu tanımlayıcıya sahip uygulamalar sık kullanılanlar bölümünde gösterilecek."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:9
|
||||||
msgid "History for command (Alt-F2) dialog"
|
msgid "History for command (Alt-F2) dialog"
|
||||||
@@ -140,17 +124,14 @@ msgstr "Kullanıcı menüsünde 'Oturumu Kapat' menü öğesini daima göster."
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:12
|
||||||
msgid ""
|
msgid ""
|
||||||
"This key overrides the automatic hiding of the 'Log out' menu item in single-"
|
"This key overrides the automatic hiding of the 'Log out' menu item in "
|
||||||
"user, single-session situations."
|
"single-user, single-session situations."
|
||||||
msgstr ""
|
msgstr "Bu ayar tek kullanıcı oturum açtığında 'Oturumu Kapat' menü ögesinin gizlenmesini önler."
|
||||||
"Bu ayar tek kullanıcı oturum açtığında 'Oturumu Kapat' menü ögesinin "
|
|
||||||
"gizlenmesini önler."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:13
|
||||||
msgid ""
|
msgid ""
|
||||||
"Whether to remember password for mounting encrypted or remote filesystems"
|
"Whether to remember password for mounting encrypted or remote filesystems"
|
||||||
msgstr ""
|
msgstr "Şifreli ya da uzak dosya sistemlerini bağlamak için parolanın hatırlanması"
|
||||||
"Şifreli ya da uzak dosya sistemlerini bağlamak için parolanın hatırlanması"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:14
|
||||||
msgid ""
|
msgid ""
|
||||||
@@ -158,11 +139,7 @@ msgid ""
|
|||||||
"filesystem is mounted. If the password can be saved for future use a "
|
"filesystem is mounted. If the password can be saved for future use a "
|
||||||
"'Remember Password' checkbox will be present. This key sets the default "
|
"'Remember Password' checkbox will be present. This key sets the default "
|
||||||
"state of the checkbox."
|
"state of the checkbox."
|
||||||
msgstr ""
|
msgstr "Kabuk, şifreli bir cihaz ya da uzak dosya sistemi bağlandığında parola isteyecek. Eğer parola gelecekte kullanılmak üzere kaydedilebiliyorsa, 'Parolayı Hatırla' onay kutusu sunulacak. Bu anahtar, onay kutusunun öntanımlı durumunu belirler."
|
||||||
"Kabuk, şifreli bir cihaz ya da uzak dosya sistemi bağlandığında parola "
|
|
||||||
"isteyecek. Eğer parola gelecekte kullanılmak üzere kaydedilebiliyorsa, "
|
|
||||||
"'Parolayı Hatırla' onay kutusu sunulacak. Bu anahtar, onay kutusunun "
|
|
||||||
"öntanımlı durumunu belirler."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:15
|
||||||
msgid "Show the week date in the calendar"
|
msgid "Show the week date in the calendar"
|
||||||
@@ -186,10 +163,9 @@ msgstr "\"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu"
|
|||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:20
|
||||||
msgid ""
|
msgid ""
|
||||||
"Keybinding to open the \"Show Applications\" view of the Activities Overview."
|
"Keybinding to open the \"Show Applications\" view of the Activities "
|
||||||
msgstr ""
|
"Overview."
|
||||||
"Etkinlikler Genel Görünümünün \"Uygulamaları Göster\" görünümünü açmak için "
|
msgstr "Etkinlikler Genel Görünümünün \"Uygulamaları Göster\" görünümünü açmak için klavye kısayolu."
|
||||||
"klavye kısayolu."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:21
|
||||||
msgid "Keybinding to open the overview"
|
msgid "Keybinding to open the overview"
|
||||||
@@ -235,14 +211,7 @@ msgid ""
|
|||||||
"receiver). Please keep in mind that this only controls what GeoClue will "
|
"receiver). Please keep in mind that this only controls what GeoClue will "
|
||||||
"allow applications to see and they can find user's location on their own "
|
"allow applications to see and they can find user's location on their own "
|
||||||
"using network resources (albeit with street-level accuracy at best)."
|
"using network resources (albeit with street-level accuracy at best)."
|
||||||
msgstr ""
|
msgstr "Uygulamaların görmesine izin verilen en yüksek konum hassasiyetini yapılandırır. Geçerli seçenekler: 'kapalı' (konum izlemeyi devre dışı bırak), 'ülke', 'şehir', 'semt', 'sokak' ve 'kesin' (genelde GPS alıcısı gerektirir). Lütfen unutmayın: Bu, sadece GeoClue'nun uygulamaların neleri görmesine izin vereceğini denetler. Uygulamalar, kullanıcının konumunu (en fazla sokak düzeyindeki bir hassasiyetle de olsa) ağ kaynaklarını kullanarak kendi imkanlarıyla bulabilirler."
|
||||||
"Uygulamaların görmesine izin verilen en yüksek konum hassasiyetini "
|
|
||||||
"yapılandırır. Geçerli seçenekler: 'kapalı' (konum izlemeyi devre dışı "
|
|
||||||
"bırak), 'ülke', 'şehir', 'semt', 'sokak' ve 'kesin' (genelde GPS alıcısı "
|
|
||||||
"gerektirir). Lütfen unutmayın: Bu, sadece GeoClue'nun uygulamaların neleri "
|
|
||||||
"görmesine izin vereceğini denetler. Uygulamalar, kullanıcının konumunu (en "
|
|
||||||
"fazla sokak düzeyindeki bir hassasiyetle de olsa) ağ kaynaklarını kullanarak "
|
|
||||||
"kendi imkanlarıyla bulabilirler."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:31
|
||||||
msgid "The application icon mode."
|
msgid "The application icon mode."
|
||||||
@@ -251,13 +220,9 @@ msgstr "Uygulama simge kipi."
|
|||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:32
|
||||||
msgid ""
|
msgid ""
|
||||||
"Configures how the windows are shown in the switcher. Valid possibilities "
|
"Configures how the windows are shown in the switcher. Valid possibilities "
|
||||||
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
|
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' "
|
||||||
"only' (shows only the application icon) or 'both'."
|
"(shows only the application icon) or 'both'."
|
||||||
msgstr ""
|
msgstr "Pencerelerin değiştiricideki gösterim şeklini yapılandırır. Uygun olasılıklar; 'thumbnail-only' (pencerenin küçük bir resmini gösterir), 'app-icon-only' (sadece uygulama simgesini gösterir) ya da 'both' (her ikisi) değerleridir."
|
||||||
"Pencerelerin değiştiricideki gösterim şeklini yapılandırır. Uygun "
|
|
||||||
"olasılıklar; 'thumbnail-only' (pencerenin küçük bir resmini gösterir), 'app-"
|
|
||||||
"icon-only' (sadece uygulama simgesini gösterir) ya da 'both' (her ikisi) "
|
|
||||||
"değerleridir."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:33
|
||||||
msgid "Attach modal dialog to the parent window"
|
msgid "Attach modal dialog to the parent window"
|
||||||
@@ -266,52 +231,32 @@ msgstr "Yardımcı iletişim penceresini üst pencereye iliştir"
|
|||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:34
|
||||||
msgid ""
|
msgid ""
|
||||||
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
"This key overrides the key in org.gnome.mutter when running GNOME Shell."
|
||||||
msgstr ""
|
msgstr "Bu anahtar, GNOME Shell çalışırken org.gnome.mutter içindeki anahtarı geçersiz kılar."
|
||||||
"Bu anahtar, GNOME Shell çalışırken org.gnome.mutter içindeki anahtarı "
|
|
||||||
"geçersiz kılar."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:35
|
||||||
msgid "Arrangement of buttons on the titlebar"
|
msgid "Enable edge tiling when dropping windows on screen edges"
|
||||||
msgstr "Düğmelerin başlık çubuğundaki düzeni"
|
msgstr "Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:36
|
||||||
msgid ""
|
|
||||||
"This key overrides the key in org.gnome.desktop.wm.preferences when running "
|
|
||||||
"GNOME Shell."
|
|
||||||
msgstr ""
|
|
||||||
"Bu anahtar, GNOME Shell çalışırken org.gnome.desktop.wm.preferences içindeki "
|
|
||||||
"anahtarı geçersiz kılar."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
|
||||||
msgid "Enable edge tiling when dropping windows on screen edges"
|
|
||||||
msgstr ""
|
|
||||||
"Pencereler ekran kenarlarında bırakıldığında kenar döşemeyi etkinleştir."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
|
||||||
msgid "Workspaces are managed dynamically"
|
msgid "Workspaces are managed dynamically"
|
||||||
msgstr "Çalışma alanları dinamik olarak yönetilir"
|
msgstr "Çalışma alanları dinamik olarak yönetilir"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:39
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:37
|
||||||
msgid "Workspaces only on primary monitor"
|
msgid "Workspaces only on primary monitor"
|
||||||
msgstr "Çalışma alanları sadece birincil ekranda"
|
msgstr "Çalışma alanları sadece birincil ekranda"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.in.h:40
|
#: ../data/org.gnome.shell.gschema.xml.in.in.h:38
|
||||||
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
msgid "Delay focus changes in mouse mode until the pointer stops moving"
|
||||||
msgstr ""
|
msgstr "Fare kipinde odak değişikliklerini işaretçi hareketi durana kadar beklet"
|
||||||
"Fare kipinde odak değişikliklerini işaretçi hareketi durana kadar beklet"
|
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:127
|
#: ../js/extensionPrefs/main.js:125
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "There was an error loading the preferences dialog for %s:"
|
msgid "There was an error loading the preferences dialog for %s:"
|
||||||
msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:"
|
msgstr "%s için tercihler iletişim penceresi yüklenirken hata oluştu:"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:167
|
#: ../js/extensionPrefs/main.js:157
|
||||||
msgid "Extension"
|
msgid "GNOME Shell Extensions"
|
||||||
msgstr "Eklenti"
|
msgstr "GNOME Kabuğu Uzantıları"
|
||||||
|
|
||||||
#: ../js/extensionPrefs/main.js:191
|
|
||||||
msgid "Select an extension to configure using the combobox above."
|
|
||||||
msgstr "Ayarlamak için yukarıdaki açılan kutudan bir eklenti seçin."
|
|
||||||
|
|
||||||
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
#: ../js/gdm/authPrompt.js:147 ../js/ui/components/networkAgent.js:136
|
||||||
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
#: ../js/ui/components/polkitAgent.js:166 ../js/ui/endSessionDialog.js:429
|
||||||
@@ -334,25 +279,25 @@ msgctxt "button"
|
|||||||
msgid "Sign In"
|
msgid "Sign In"
|
||||||
msgstr "Giriş"
|
msgstr "Giriş"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:271
|
#: ../js/gdm/loginDialog.js:269
|
||||||
msgid "Choose Session"
|
msgid "Choose Session"
|
||||||
msgstr "Oturum Seçin"
|
msgstr "Oturum Seçin"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:431
|
#: ../js/gdm/loginDialog.js:429
|
||||||
msgid "Not listed?"
|
msgid "Not listed?"
|
||||||
msgstr "Listede yok mu?"
|
msgstr "Listede yok mu?"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:616
|
#: ../js/gdm/loginDialog.js:614
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "(e.g., user or %s)"
|
msgid "(e.g., user or %s)"
|
||||||
msgstr "(örneğin, kullanıcı veya %s)"
|
msgstr "(örneğin, kullanıcı veya %s)"
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:621 ../js/ui/components/networkAgent.js:262
|
#: ../js/gdm/loginDialog.js:619 ../js/ui/components/networkAgent.js:262
|
||||||
#: ../js/ui/components/networkAgent.js:280
|
#: ../js/ui/components/networkAgent.js:280
|
||||||
msgid "Username: "
|
msgid "Username: "
|
||||||
msgstr "Kullanıcı Adı: "
|
msgstr "Kullanıcı Adı: "
|
||||||
|
|
||||||
#: ../js/gdm/loginDialog.js:924
|
#: ../js/gdm/loginDialog.js:922
|
||||||
msgid "Login Window"
|
msgid "Login Window"
|
||||||
msgstr "Oturum Açma Penceresi"
|
msgstr "Oturum Açma Penceresi"
|
||||||
|
|
||||||
@@ -402,7 +347,6 @@ msgid "Add to Favorites"
|
|||||||
msgstr "Sık Kullanılanlara Ekle"
|
msgstr "Sık Kullanılanlara Ekle"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:1608
|
#: ../js/ui/appDisplay.js:1608
|
||||||
#| msgid "Show Text"
|
|
||||||
msgid "Show Details"
|
msgid "Show Details"
|
||||||
msgstr "Ayrıntıları Göster"
|
msgstr "Ayrıntıları Göster"
|
||||||
|
|
||||||
@@ -541,11 +485,11 @@ msgctxt "list saturday"
|
|||||||
msgid "S"
|
msgid "S"
|
||||||
msgstr "Ct"
|
msgstr "Ct"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:453
|
#: ../js/ui/calendar.js:454
|
||||||
msgid "Previous month"
|
msgid "Previous month"
|
||||||
msgstr "Önceki ay"
|
msgstr "Önceki ay"
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:463
|
#: ../js/ui/calendar.js:464
|
||||||
msgid "Next month"
|
msgid "Next month"
|
||||||
msgstr "Gelecek ay"
|
msgstr "Gelecek ay"
|
||||||
|
|
||||||
@@ -554,13 +498,15 @@ msgstr "Gelecek ay"
|
|||||||
msgid "Nothing Scheduled"
|
msgid "Nothing Scheduled"
|
||||||
msgstr "Planınız Boş"
|
msgstr "Planınız Boş"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
#. Translators: Shown on calendar heading when selected day occurs on current
|
||||||
|
#. year */
|
||||||
#: ../js/ui/calendar.js:793
|
#: ../js/ui/calendar.js:793
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d"
|
msgid "%A, %B %d"
|
||||||
msgstr "%A, %d %B"
|
msgstr "%A, %d %B"
|
||||||
|
|
||||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
#. Translators: Shown on calendar heading when selected day occurs on
|
||||||
|
#. different year */
|
||||||
#: ../js/ui/calendar.js:796
|
#: ../js/ui/calendar.js:796
|
||||||
msgctxt "calendar heading"
|
msgctxt "calendar heading"
|
||||||
msgid "%A, %B %d, %Y"
|
msgid "%A, %B %d, %Y"
|
||||||
@@ -649,9 +595,7 @@ msgstr "Kablosuz ağ için kimlik doğrulama gerekiyor"
|
|||||||
msgid ""
|
msgid ""
|
||||||
"Passwords or encryption keys are required to access the wireless network "
|
"Passwords or encryption keys are required to access the wireless network "
|
||||||
"“%s”."
|
"“%s”."
|
||||||
msgstr ""
|
msgstr "“%s” kablosuz ağına erişmek için parolalar veya şifreleme anahtarları gerekiyor."
|
||||||
"“%s” kablosuz ağına erişmek için parolalar veya şifreleme anahtarları "
|
|
||||||
"gerekiyor."
|
|
||||||
|
|
||||||
#: ../js/ui/components/networkAgent.js:316
|
#: ../js/ui/components/networkAgent.js:316
|
||||||
msgid "Wired 802.1X authentication"
|
msgid "Wired 802.1X authentication"
|
||||||
@@ -731,77 +675,78 @@ msgid "Mute"
|
|||||||
msgstr "Sesi Kapat"
|
msgstr "Sesi Kapat"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:958
|
#: ../js/ui/components/telepathyClient.js:957
|
||||||
msgid "%H∶%M"
|
msgid "%H∶%M"
|
||||||
msgstr "%H∶%M"
|
msgstr "%H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
#. time string in 24h format. i.e. "Yesterday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:965
|
#: ../js/ui/components/telepathyClient.js:964
|
||||||
msgid "Yesterday, %H∶%M"
|
msgid "Yesterday, %H∶%M"
|
||||||
msgstr "Dün, %H∶%M"
|
msgstr "Dün, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 24h format. i.e. "Monday, 14:30" */
|
#. string in 24h format. i.e. "Monday, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:972
|
#: ../js/ui/components/telepathyClient.js:971
|
||||||
msgid "%A, %H∶%M"
|
msgid "%A, %H∶%M"
|
||||||
msgstr "%A, %H∶%M"
|
msgstr "%A, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 24h format.
|
#. followed by a time string in 24h format.
|
||||||
#. i.e. "May 25, 14:30" */
|
#. i.e. "May 25, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:979
|
#: ../js/ui/components/telepathyClient.js:978
|
||||||
msgid "%B %d, %H∶%M"
|
msgid "%B %d, %H∶%M"
|
||||||
msgstr "%d %B, %H∶%M"
|
msgstr "%d %B, %H∶%M"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 24h format.
|
#. number followed by a time string in 24h format.
|
||||||
#. i.e. "May 25 2012, 14:30" */
|
#. i.e. "May 25 2012, 14:30" */
|
||||||
#: ../js/ui/components/telepathyClient.js:985
|
#: ../js/ui/components/telepathyClient.js:984
|
||||||
msgid "%B %d %Y, %H∶%M"
|
msgid "%B %d %Y, %H∶%M"
|
||||||
msgstr "%d %B %Y, %H∶%M"
|
msgstr "%d %B %Y, %H∶%M"
|
||||||
|
|
||||||
#. Translators: Time in 24h format */
|
#. Translators: Time in 24h format */
|
||||||
#: ../js/ui/components/telepathyClient.js:994
|
#: ../js/ui/components/telepathyClient.js:990
|
||||||
msgid "%l∶%M %p"
|
msgid "%l∶%M %p"
|
||||||
msgstr "%l∶%M %p"
|
msgstr "%l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the word "Yesterday" followed by a
|
#. Translators: this is the word "Yesterday" followed by a
|
||||||
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
#. time string in 12h format. i.e. "Yesterday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1001
|
#: ../js/ui/components/telepathyClient.js:997
|
||||||
msgid "Yesterday, %l∶%M %p"
|
msgid "Yesterday, %l∶%M %p"
|
||||||
msgstr "Dün, %l∶%M %p"
|
msgstr "Dün, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the week day name followed by a time
|
#. Translators: this is the week day name followed by a time
|
||||||
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
#. string in 12h format. i.e. "Monday, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1008
|
#: ../js/ui/components/telepathyClient.js:1004
|
||||||
msgid "%A, %l∶%M %p"
|
msgid "%A, %l∶%M %p"
|
||||||
msgstr "%A, %l∶%M %p"
|
msgstr "%A, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name and day number
|
#. Translators: this is the month name and day number
|
||||||
#. followed by a time string in 12h format.
|
#. followed by a time string in 12h format.
|
||||||
#. i.e. "May 25, 2:30 pm" */
|
#. i.e. "May 25, 2:30 pm" */
|
||||||
#: ../js/ui/components/telepathyClient.js:1015
|
#: ../js/ui/components/telepathyClient.js:1011
|
||||||
msgid "%B %d, %l∶%M %p"
|
msgid "%B %d, %l∶%M %p"
|
||||||
msgstr "%d %B, %l∶%M %p"
|
msgstr "%d %B, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the month name, day number, year
|
#. Translators: this is the month name, day number, year
|
||||||
#. number followed by a time string in 12h format.
|
#. number followed by a time string in 12h format.
|
||||||
#. i.e. "May 25 2012, 2:30 pm"*/
|
#. i.e. "May 25 2012, 2:30 pm"*/
|
||||||
#: ../js/ui/components/telepathyClient.js:1021
|
#: ../js/ui/components/telepathyClient.js:1017
|
||||||
msgid "%B %d %Y, %l∶%M %p"
|
msgid "%B %d %Y, %l∶%M %p"
|
||||||
msgstr "%d %B %Y, %l∶%M %p"
|
msgstr "%d %B %Y, %l∶%M %p"
|
||||||
|
|
||||||
#. Translators: this is the other person changing their old IM name to their new
|
#. Translators: this is the other person changing their old IM name to their
|
||||||
|
#. new
|
||||||
#. IM name. */
|
#. IM name. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1054
|
#: ../js/ui/components/telepathyClient.js:1049
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is now known as %s"
|
msgid "%s is now known as %s"
|
||||||
msgstr "%s, şimdi %s olarak biliniyor"
|
msgstr "%s, şimdi %s olarak biliniyor"
|
||||||
|
|
||||||
#. translators: argument is a room name like
|
#. translators: argument is a room name like
|
||||||
#. * room@jabber.org for example. */
|
#. * room@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1158
|
#: ../js/ui/components/telepathyClient.js:1153
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Invitation to %s"
|
msgid "Invitation to %s"
|
||||||
msgstr "%s'e Davet"
|
msgstr "%s'e Davet"
|
||||||
@@ -809,38 +754,38 @@ msgstr "%s'e Davet"
|
|||||||
#. translators: first argument is the name of a contact and the second
|
#. translators: first argument is the name of a contact and the second
|
||||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||||
#. * for example. */
|
#. * for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1166
|
#: ../js/ui/components/telepathyClient.js:1161
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is inviting you to join %s"
|
msgid "%s is inviting you to join %s"
|
||||||
msgstr "%s, sizi %s'e katılmanız için davet ediyor"
|
msgstr "%s, sizi %s'e katılmanız için davet ediyor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1168
|
#: ../js/ui/components/telepathyClient.js:1163
|
||||||
#: ../js/ui/components/telepathyClient.js:1203
|
#: ../js/ui/components/telepathyClient.js:1198
|
||||||
#: ../js/ui/components/telepathyClient.js:1237
|
#: ../js/ui/components/telepathyClient.js:1232
|
||||||
#: ../js/ui/components/telepathyClient.js:1295
|
#: ../js/ui/components/telepathyClient.js:1290
|
||||||
msgid "Decline"
|
msgid "Decline"
|
||||||
msgstr "Reddet"
|
msgstr "Reddet"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1174
|
#: ../js/ui/components/telepathyClient.js:1169
|
||||||
#: ../js/ui/components/telepathyClient.js:1243
|
#: ../js/ui/components/telepathyClient.js:1238
|
||||||
#: ../js/ui/components/telepathyClient.js:1300
|
#: ../js/ui/components/telepathyClient.js:1295
|
||||||
msgid "Accept"
|
msgid "Accept"
|
||||||
msgstr "Kabul Et"
|
msgstr "Kabul Et"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1193
|
#: ../js/ui/components/telepathyClient.js:1188
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Video call from %s"
|
msgid "Video call from %s"
|
||||||
msgstr "%s'den görüntülü arama"
|
msgstr "%s'den görüntülü arama"
|
||||||
|
|
||||||
#. translators: argument is a contact name like Alice for example. */
|
#. translators: argument is a contact name like Alice for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1196
|
#: ../js/ui/components/telepathyClient.js:1191
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Call from %s"
|
msgid "Call from %s"
|
||||||
msgstr "%s'den çağrı"
|
msgstr "%s'den çağrı"
|
||||||
|
|
||||||
#. translators: this is a button label (verb), not a noun */
|
#. translators: this is a button label (verb), not a noun */
|
||||||
#: ../js/ui/components/telepathyClient.js:1210
|
#: ../js/ui/components/telepathyClient.js:1205
|
||||||
msgid "Answer"
|
msgid "Answer"
|
||||||
msgstr "Cevapla"
|
msgstr "Cevapla"
|
||||||
|
|
||||||
@@ -849,133 +794,129 @@ msgstr "Cevapla"
|
|||||||
#. * file name. The string will be something
|
#. * file name. The string will be something
|
||||||
#. * like: "Alice is sending you test.ogg"
|
#. * like: "Alice is sending you test.ogg"
|
||||||
#. */
|
#. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1231
|
#: ../js/ui/components/telepathyClient.js:1226
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s is sending you %s"
|
msgid "%s is sending you %s"
|
||||||
msgstr "%s, size %s dosyasını gönderiyor"
|
msgstr "%s, size %s dosyasını gönderiyor"
|
||||||
|
|
||||||
#. To translators: The parameter is the contact's alias */
|
#. To translators: The parameter is the contact's alias */
|
||||||
#: ../js/ui/components/telepathyClient.js:1260
|
#: ../js/ui/components/telepathyClient.js:1255
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "%s would like permission to see when you are online"
|
msgid "%s would like permission to see when you are online"
|
||||||
msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor"
|
msgstr "%s, ne zaman çevrimiçi olduğunuzu görmek için izin istiyor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1346
|
#: ../js/ui/components/telepathyClient.js:1341
|
||||||
msgid "Network error"
|
msgid "Network error"
|
||||||
msgstr "Ağ hatası"
|
msgstr "Ağ hatası"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1348
|
#: ../js/ui/components/telepathyClient.js:1343
|
||||||
msgid "Authentication failed"
|
msgid "Authentication failed"
|
||||||
msgstr "Kimlik doğrulama başarısız"
|
msgstr "Kimlik doğrulama başarısız"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1350
|
#: ../js/ui/components/telepathyClient.js:1345
|
||||||
msgid "Encryption error"
|
msgid "Encryption error"
|
||||||
msgstr "Şifreleme hatası"
|
msgstr "Şifreleme hatası"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1352
|
#: ../js/ui/components/telepathyClient.js:1347
|
||||||
msgid "Certificate not provided"
|
msgid "Certificate not provided"
|
||||||
msgstr "Sertifika sağlanmamış"
|
msgstr "Sertifika sağlanmamış"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1354
|
#: ../js/ui/components/telepathyClient.js:1349
|
||||||
msgid "Certificate untrusted"
|
msgid "Certificate untrusted"
|
||||||
msgstr "Sertifika güvenilmez"
|
msgstr "Sertifika güvenilmez"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1356
|
#: ../js/ui/components/telepathyClient.js:1351
|
||||||
msgid "Certificate expired"
|
msgid "Certificate expired"
|
||||||
msgstr "Sertifikanın süresi dolmuş"
|
msgstr "Sertifikanın süresi dolmuş"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1358
|
#: ../js/ui/components/telepathyClient.js:1353
|
||||||
msgid "Certificate not activated"
|
msgid "Certificate not activated"
|
||||||
msgstr "Sertifika etkinleştirilmemiş"
|
msgstr "Sertifika etkinleştirilmemiş"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1360
|
#: ../js/ui/components/telepathyClient.js:1355
|
||||||
msgid "Certificate hostname mismatch"
|
msgid "Certificate hostname mismatch"
|
||||||
msgstr "Sertifikanın makine adı uyuşmuyor"
|
msgstr "Sertifikanın makine adı uyuşmuyor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1362
|
#: ../js/ui/components/telepathyClient.js:1357
|
||||||
msgid "Certificate fingerprint mismatch"
|
msgid "Certificate fingerprint mismatch"
|
||||||
msgstr "Sertifikanın parmak izi uyuşmuyor"
|
msgstr "Sertifikanın parmak izi uyuşmuyor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1364
|
#: ../js/ui/components/telepathyClient.js:1359
|
||||||
msgid "Certificate self-signed"
|
msgid "Certificate self-signed"
|
||||||
msgstr "Sertifika kendinden-imzalı"
|
msgstr "Sertifika kendinden-imzalı"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1366
|
#: ../js/ui/components/telepathyClient.js:1361
|
||||||
msgid "Status is set to offline"
|
msgid "Status is set to offline"
|
||||||
msgstr "Durum çevrimdışına ayarlı"
|
msgstr "Durum çevrimdışına ayarlı"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1368
|
#: ../js/ui/components/telepathyClient.js:1363
|
||||||
msgid "Encryption is not available"
|
msgid "Encryption is not available"
|
||||||
msgstr "Şifreleme kullanılabilir değil"
|
msgstr "Şifreleme kullanılabilir değil"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1370
|
#: ../js/ui/components/telepathyClient.js:1365
|
||||||
msgid "Certificate is invalid"
|
msgid "Certificate is invalid"
|
||||||
msgstr "Sertifika geçersiz"
|
msgstr "Sertifika geçersiz"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1372
|
#: ../js/ui/components/telepathyClient.js:1367
|
||||||
msgid "Connection has been refused"
|
msgid "Connection has been refused"
|
||||||
msgstr "Bağlantı reddedildi"
|
msgstr "Bağlantı reddedildi"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1374
|
#: ../js/ui/components/telepathyClient.js:1369
|
||||||
msgid "Connection can't be established"
|
msgid "Connection can't be established"
|
||||||
msgstr "Bağlantı kurulamıyor"
|
msgstr "Bağlantı kurulamıyor"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1376
|
#: ../js/ui/components/telepathyClient.js:1371
|
||||||
msgid "Connection has been lost"
|
msgid "Connection has been lost"
|
||||||
msgstr "Bağlantı koptu"
|
msgstr "Bağlantı koptu"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1378
|
#: ../js/ui/components/telepathyClient.js:1373
|
||||||
msgid "This account is already connected to the server"
|
msgid "This account is already connected to the server"
|
||||||
msgstr "Bu hesap zaten sunucuya bağlı"
|
msgstr "Bu hesap zaten sunucuya bağlı"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1380
|
#: ../js/ui/components/telepathyClient.js:1375
|
||||||
msgid ""
|
msgid ""
|
||||||
"Connection has been replaced by a new connection using the same resource"
|
"Connection has been replaced by a new connection using the same resource"
|
||||||
msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi"
|
msgstr "Bağlantı, aynı kaynağı kullanan yeni bir bağlantı ile değiştirildi"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1382
|
#: ../js/ui/components/telepathyClient.js:1377
|
||||||
msgid "The account already exists on the server"
|
msgid "The account already exists on the server"
|
||||||
msgstr "Sunucuda böyle bir hesap zaten var"
|
msgstr "Sunucuda böyle bir hesap zaten var"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1384
|
#: ../js/ui/components/telepathyClient.js:1379
|
||||||
msgid "Server is currently too busy to handle the connection"
|
msgid "Server is currently too busy to handle the connection"
|
||||||
msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul"
|
msgstr "Sunucu, şu anda bağlantıyı işleyemeyecek kadar meşgul"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1386
|
#: ../js/ui/components/telepathyClient.js:1381
|
||||||
msgid "Certificate has been revoked"
|
msgid "Certificate has been revoked"
|
||||||
msgstr "Sertifika hükümsüz kılınmış"
|
msgstr "Sertifika hükümsüz kılınmış"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1388
|
#: ../js/ui/components/telepathyClient.js:1383
|
||||||
msgid ""
|
msgid ""
|
||||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||||
msgstr ""
|
msgstr "Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik olarak zayıf"
|
||||||
"Sertifika güvensiz bir şifreleme algoritması kullanıyor ya da kriptografik "
|
|
||||||
"olarak zayıf"
|
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1390
|
#: ../js/ui/components/telepathyClient.js:1385
|
||||||
msgid ""
|
msgid ""
|
||||||
"The length of the server certificate, or the depth of the server certificate "
|
"The length of the server certificate, or the depth of the server certificate"
|
||||||
"chain, exceed the limits imposed by the cryptography library"
|
" chain, exceed the limits imposed by the cryptography library"
|
||||||
msgstr ""
|
msgstr "Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
||||||
"Sunucu sertifikasının uzunluğu ya da sunucu sertifikası zincirinin "
|
|
||||||
"derinliği, şifreleme kütüphanesi tarafından koyulan sınırları aşıyor"
|
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1392
|
#: ../js/ui/components/telepathyClient.js:1387
|
||||||
msgid "Internal error"
|
msgid "Internal error"
|
||||||
msgstr "İç hata"
|
msgstr "İç hata"
|
||||||
|
|
||||||
#. translators: argument is the account name, like
|
#. translators: argument is the account name, like
|
||||||
#. * name@jabber.org for example. */
|
#. * name@jabber.org for example. */
|
||||||
#: ../js/ui/components/telepathyClient.js:1402
|
#: ../js/ui/components/telepathyClient.js:1397
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "Unable to connect to %s"
|
msgid "Unable to connect to %s"
|
||||||
msgstr "%s bağlantısı sağlanamadı"
|
msgstr "%s bağlantısı sağlanamadı"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1407
|
#: ../js/ui/components/telepathyClient.js:1402
|
||||||
msgid "View account"
|
msgid "View account"
|
||||||
msgstr "Hesabı göster"
|
msgstr "Hesabı göster"
|
||||||
|
|
||||||
#: ../js/ui/components/telepathyClient.js:1444
|
#: ../js/ui/components/telepathyClient.js:1439
|
||||||
msgid "Unknown reason"
|
msgid "Unknown reason"
|
||||||
msgstr "Bilinmeyen sebep"
|
msgstr "Bilinmeyen sebep"
|
||||||
|
|
||||||
@@ -1004,7 +945,8 @@ msgid "Date & Time Settings"
|
|||||||
msgstr "Tarih ve Saat Ayarları"
|
msgstr "Tarih ve Saat Ayarları"
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
#. Translators: This is the date format to use when the calendar popup is
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29
|
||||||
|
#. AM").
|
||||||
#. */
|
#. */
|
||||||
#: ../js/ui/dateMenu.js:205
|
#: ../js/ui/dateMenu.js:205
|
||||||
msgid "%A %B %e, %Y"
|
msgid "%A %B %e, %Y"
|
||||||
@@ -1087,12 +1029,11 @@ msgstr "Yeniden Başlat ve Güncelleştirmeleri Kur"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:123
|
#: ../js/ui/endSessionDialog.js:123
|
||||||
#, javascript-format
|
#, javascript-format
|
||||||
msgid "The system will automatically restart and install updates in %d second."
|
msgid ""
|
||||||
|
"The system will automatically restart and install updates in %d second."
|
||||||
msgid_plural ""
|
msgid_plural ""
|
||||||
"The system will automatically restart and install updates in %d seconds."
|
"The system will automatically restart and install updates in %d seconds."
|
||||||
msgstr[0] ""
|
msgstr[0] "Sistem %d saniye içinde kendiliğinden yeniden başlayacak ve güncelleştirmeleri kuracak."
|
||||||
"Sistem %d saniye içinde kendiliğinden yeniden başlayacak ve "
|
|
||||||
"güncelleştirmeleri kuracak."
|
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:129
|
#: ../js/ui/endSessionDialog.js:129
|
||||||
msgctxt "button"
|
msgctxt "button"
|
||||||
@@ -1111,8 +1052,7 @@ msgstr "Güncelleştirmeler kurulduktan sonra kapat"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:315
|
#: ../js/ui/endSessionDialog.js:315
|
||||||
msgid "Running on battery power: please plug in before installing updates."
|
msgid "Running on battery power: please plug in before installing updates."
|
||||||
msgstr ""
|
msgstr "Pil gücünde çalışıyor: Lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
||||||
"Pil gücünde çalışıyor: Lütfen güncelleştirmeleri kurmadan önce fişi takın."
|
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:332
|
#: ../js/ui/endSessionDialog.js:332
|
||||||
msgid "Some applications are busy or have unsaved work."
|
msgid "Some applications are busy or have unsaved work."
|
||||||
@@ -1143,7 +1083,7 @@ msgstr "Kur"
|
|||||||
msgid "Download and install “%s” from extensions.gnome.org?"
|
msgid "Download and install “%s” from extensions.gnome.org?"
|
||||||
msgstr "extensions.gnome.org adresinden “%s” indirilip kurulsun mu?"
|
msgstr "extensions.gnome.org adresinden “%s” indirilip kurulsun mu?"
|
||||||
|
|
||||||
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:335
|
#: ../js/ui/keyboard.js:645 ../js/ui/status/keyboard.js:339
|
||||||
msgid "Keyboard"
|
msgid "Keyboard"
|
||||||
msgstr "Klavye"
|
msgstr "Klavye"
|
||||||
|
|
||||||
@@ -1276,7 +1216,7 @@ msgstr "Etkinlikler"
|
|||||||
msgid "Top Bar"
|
msgid "Top Bar"
|
||||||
msgstr "Tepe Çubuğu"
|
msgstr "Tepe Çubuğu"
|
||||||
|
|
||||||
#: ../js/ui/popupMenu.js:271
|
#: ../js/ui/popupMenu.js:279
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-intl"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
@@ -1284,7 +1224,7 @@ msgstr "toggle-switch-intl"
|
|||||||
msgid "Enter a Command"
|
msgid "Enter a Command"
|
||||||
msgstr "Komut Girin"
|
msgstr "Komut Girin"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:117
|
#: ../js/ui/runDialog.js:114 ../js/ui/windowMenu.js:120
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Kapat"
|
msgstr "Kapat"
|
||||||
|
|
||||||
@@ -1421,7 +1361,7 @@ msgstr "Bağlı Değil"
|
|||||||
msgid "Brightness"
|
msgid "Brightness"
|
||||||
msgstr "Parlaklık"
|
msgstr "Parlaklık"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:403
|
#: ../js/ui/status/keyboard.js:407
|
||||||
msgid "Show Keyboard Layout"
|
msgid "Show Keyboard Layout"
|
||||||
msgstr "Klavye Düzenini Göster"
|
msgstr "Klavye Düzenini Göster"
|
||||||
|
|
||||||
@@ -1454,15 +1394,14 @@ msgstr "Kapalı"
|
|||||||
msgid "Connected"
|
msgid "Connected"
|
||||||
msgstr "Bağlı"
|
msgstr "Bağlı"
|
||||||
|
|
||||||
#. Translators: this is for network devices that are physically present but are not
|
#. Translators: this is for network devices that are physically present but
|
||||||
|
#. are not
|
||||||
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
||||||
#: ../js/ui/status/network.js:426
|
#: ../js/ui/status/network.js:426
|
||||||
#| msgid "unmanaged"
|
|
||||||
msgid "Unmanaged"
|
msgid "Unmanaged"
|
||||||
msgstr "Yönetilmeyen"
|
msgstr "Yönetilmeyen"
|
||||||
|
|
||||||
#: ../js/ui/status/network.js:428
|
#: ../js/ui/status/network.js:428
|
||||||
#| msgid "disconnecting..."
|
|
||||||
msgid "Disconnecting"
|
msgid "Disconnecting"
|
||||||
msgstr "Bağlantı Kesiliyor"
|
msgstr "Bağlantı Kesiliyor"
|
||||||
|
|
||||||
@@ -1470,23 +1409,23 @@ msgstr "Bağlantı Kesiliyor"
|
|||||||
msgid "Connecting"
|
msgid "Connecting"
|
||||||
msgstr "Bağlantı Kuruluyor"
|
msgstr "Bağlantı Kuruluyor"
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password */
|
#. Translators: this is for network connections that require some kind of key
|
||||||
|
#. or password */
|
||||||
#: ../js/ui/status/network.js:437
|
#: ../js/ui/status/network.js:437
|
||||||
#| msgid "authentication required"
|
|
||||||
msgid "Authentication required"
|
msgid "Authentication required"
|
||||||
msgstr "Kimlik doğrulama gerekir"
|
msgstr "Kimlik doğrulama gerekir"
|
||||||
|
|
||||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
#. Translators: this is for devices that require some kind of firmware or
|
||||||
|
#. kernel
|
||||||
#. module, which is missing */
|
#. module, which is missing */
|
||||||
#: ../js/ui/status/network.js:445
|
#: ../js/ui/status/network.js:445
|
||||||
#| msgid "firmware missing"
|
|
||||||
msgid "Firmware missing"
|
msgid "Firmware missing"
|
||||||
msgstr "Ürün Bilgisi eksik"
|
msgstr "Ürün Bilgisi eksik"
|
||||||
|
|
||||||
#. Translators: this is for a network device that cannot be activated (for example it
|
#. Translators: this is for a network device that cannot be activated (for
|
||||||
|
#. example it
|
||||||
#. is disabled by rfkill, or it has no coverage */
|
#. is disabled by rfkill, or it has no coverage */
|
||||||
#: ../js/ui/status/network.js:449
|
#: ../js/ui/status/network.js:449
|
||||||
#| msgid "unavailable"
|
|
||||||
msgid "Unavailable"
|
msgid "Unavailable"
|
||||||
msgstr "Kullanılamaz"
|
msgstr "Kullanılamaz"
|
||||||
|
|
||||||
@@ -1570,7 +1509,8 @@ msgstr "Hotspot Etkin"
|
|||||||
msgid "connecting..."
|
msgid "connecting..."
|
||||||
msgstr "bağlanıyor..."
|
msgstr "bağlanıyor..."
|
||||||
|
|
||||||
#. Translators: this is for network connections that require some kind of key or password */
|
#. Translators: this is for network connections that require some kind of key
|
||||||
|
#. or password */
|
||||||
#: ../js/ui/status/network.js:1365
|
#: ../js/ui/status/network.js:1365
|
||||||
msgid "authentication required"
|
msgid "authentication required"
|
||||||
msgstr "kimlik doğrulaması gerekli"
|
msgstr "kimlik doğrulaması gerekli"
|
||||||
@@ -1711,43 +1651,43 @@ msgid "Settings changes will revert in %d second"
|
|||||||
msgid_plural "Settings changes will revert in %d seconds"
|
msgid_plural "Settings changes will revert in %d seconds"
|
||||||
msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürülecek"
|
msgstr[0] "Ayarlardaki değişiklikler %d saniye içinde eski haline döndürülecek"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:33
|
#: ../js/ui/windowMenu.js:34
|
||||||
msgid "Minimize"
|
msgid "Minimize"
|
||||||
msgstr ""
|
msgstr "Simge durumuna küçült"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:40
|
#: ../js/ui/windowMenu.js:41
|
||||||
msgid "Unmaximize"
|
msgid "Unmaximize"
|
||||||
msgstr ""
|
msgstr "Önceki Boyut"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:44
|
#: ../js/ui/windowMenu.js:45
|
||||||
msgid "Maximize"
|
msgid "Maximize"
|
||||||
msgstr ""
|
msgstr "En üst düzeye çıkar"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:51
|
#: ../js/ui/windowMenu.js:52
|
||||||
msgid "Move"
|
msgid "Move"
|
||||||
msgstr "Taşı"
|
msgstr "Taşı"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:57
|
#: ../js/ui/windowMenu.js:58
|
||||||
msgid "Resize"
|
msgid "Resize"
|
||||||
msgstr "Yeniden Boyutlandır"
|
msgstr "Yeniden Boyutlandır"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:64
|
#: ../js/ui/windowMenu.js:65
|
||||||
msgid "Move Titlebar Onscreen"
|
msgid "Move Titlebar Onscreen"
|
||||||
msgstr "Başlık Çubuğunu Ekranda Taşı"
|
msgstr "Başlık Çubuğunu Ekranda Taşı"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:69
|
#: ../js/ui/windowMenu.js:70
|
||||||
msgid "Always on Top"
|
msgid "Always on Top"
|
||||||
msgstr "Her Zaman Üstte"
|
msgstr "Her Zaman Üstte"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:86
|
#: ../js/ui/windowMenu.js:89
|
||||||
msgid "Always on Visible Workspace"
|
msgid "Always on Visible Workspace"
|
||||||
msgstr "Her Zaman Görünür Çalışma Alanında"
|
msgstr "Her Zaman Görünür Çalışma Alanında"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:103
|
#: ../js/ui/windowMenu.js:106
|
||||||
msgid "Move to Workspace Up"
|
msgid "Move to Workspace Up"
|
||||||
msgstr "Üstteki Çalışma Alanına Taşı"
|
msgstr "Üstteki Çalışma Alanına Taşı"
|
||||||
|
|
||||||
#: ../js/ui/windowMenu.js:108
|
#: ../js/ui/windowMenu.js:111
|
||||||
msgid "Move to Workspace Down"
|
msgid "Move to Workspace Down"
|
||||||
msgstr "Alttaki Çalışma Alanına Taşı"
|
msgstr "Alttaki Çalışma Alanına Taşı"
|
||||||
|
|
||||||
@@ -1807,72 +1747,3 @@ msgstr "Parola boş bırakılamaz"
|
|||||||
#: ../src/shell-polkit-authentication-agent.c:346
|
#: ../src/shell-polkit-authentication-agent.c:346
|
||||||
msgid "Authentication dialog was dismissed by the user"
|
msgid "Authentication dialog was dismissed by the user"
|
||||||
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
|
msgstr "Kimlik doğrulama penceresi kullanıcı tarafından kapatıldı"
|
||||||
|
|
||||||
#~ msgid "calendar:MY"
|
|
||||||
#~ msgstr "takvim:AY"
|
|
||||||
|
|
||||||
#~ msgid "List of categories that should be displayed as folders"
|
|
||||||
#~ msgstr "Klasör olarak görüntülenecek kategorilerin listesi"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "Each category name in this list will be represented as folder in the "
|
|
||||||
#~ "application view, rather than being displayed inline in the main view."
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "Bu listedeki her bir kategori adı, genel görünümde satıriçi olarak "
|
|
||||||
#~ "gösterilmek yerine, uygulama görünümünde klasör olarak temsil edilecektir."
|
|
||||||
|
|
||||||
#~ msgid "<b>%A</b>, <b>%H:%M</b>"
|
|
||||||
#~ msgstr "<b>%A</b>,<b>%H:%M</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
|
||||||
#~ msgstr "<b>%d</b> <b>%B</b>, <b>%H:%M</b>"
|
|
||||||
|
|
||||||
#~ msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
|
||||||
#~ msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
|
|
||||||
|
|
||||||
#~ msgid "Authorization request from %s"
|
|
||||||
#~ msgstr "%s 'den yetkilendirme isteği"
|
|
||||||
|
|
||||||
#~ msgid "Device %s wants to pair with this computer"
|
|
||||||
#~ msgstr "%s aygıtı bu bilgisayarla eşleşmek istiyor"
|
|
||||||
|
|
||||||
#~ msgid "Allow"
|
|
||||||
#~ msgstr "İzin ver"
|
|
||||||
|
|
||||||
#~ msgid "Deny"
|
|
||||||
#~ msgstr "Reddet"
|
|
||||||
|
|
||||||
#~ msgid "Device %s wants access to the service '%s'"
|
|
||||||
#~ msgstr "%s aygıtı '%s' hizmetine erişmek istiyor"
|
|
||||||
|
|
||||||
#~ msgid "Always grant access"
|
|
||||||
#~ msgstr "Her zaman erişim izni ver"
|
|
||||||
|
|
||||||
#~ msgid "Grant this time only"
|
|
||||||
#~ msgstr "Sadece bu seferlik izin ver"
|
|
||||||
|
|
||||||
#~ msgid "Reject"
|
|
||||||
#~ msgstr "Reddet"
|
|
||||||
|
|
||||||
#~ msgid "Pairing confirmation for %s"
|
|
||||||
#~ msgstr "%s için eşleşme onayı"
|
|
||||||
|
|
||||||
#~ msgid ""
|
|
||||||
#~ "Please confirm whether the Passkey '%06d' matches the one on the device."
|
|
||||||
#~ msgstr ""
|
|
||||||
#~ "Lütfen '%06d' Geçiş Anahtarının, aygıttakiyle eşleştiğini doğrulayın."
|
|
||||||
|
|
||||||
#~ msgid "Matches"
|
|
||||||
#~ msgstr "Eşleşiyor"
|
|
||||||
|
|
||||||
#~ msgid "Does not match"
|
|
||||||
#~ msgstr "Eşleşmiyor"
|
|
||||||
|
|
||||||
#~ msgid "Pairing request for %s"
|
|
||||||
#~ msgstr "%s için eşleşme isteği"
|
|
||||||
|
|
||||||
#~ msgid "Please enter the PIN mentioned on the device."
|
|
||||||
#~ msgstr "Lütfen cihazdaki PIN numarasını girin."
|
|
||||||
|
|
||||||
#~ msgid "OK"
|
|
||||||
#~ msgstr "TAMAM"
|
|
||||||
|
@@ -320,7 +320,7 @@ INTROSPECTION_GIRS += ShellMenu-0.1.gir
|
|||||||
CLEANFILES += ShellMenu-0.1.gir
|
CLEANFILES += ShellMenu-0.1.gir
|
||||||
|
|
||||||
Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir
|
Shell-0.1.gir: gnome-shell St-1.0.gir ShellMenu-0.1.gir
|
||||||
Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 Soup-2.4 GMenu-3.0
|
Shell_0_1_gir_INCLUDES = Clutter-1.0 ClutterX11-1.0 Meta-3.0 TelepathyGLib-0.12 Soup-2.4
|
||||||
if HAVE_NETWORKMANAGER
|
if HAVE_NETWORKMANAGER
|
||||||
Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
|
Shell_0_1_gir_INCLUDES += NetworkManager-1.0 NMClient-1.0
|
||||||
endif
|
endif
|
||||||
|
@@ -78,6 +78,10 @@ static void gnome_shell_plugin_show_window_menu (MetaPlugin *plugin,
|
|||||||
MetaWindowMenuType menu,
|
MetaWindowMenuType menu,
|
||||||
int x,
|
int x,
|
||||||
int y);
|
int y);
|
||||||
|
static void gnome_shell_plugin_show_window_menu_for_rect (MetaPlugin *plugin,
|
||||||
|
MetaWindow *window,
|
||||||
|
MetaWindowMenuType menu,
|
||||||
|
MetaRectangle *rect);
|
||||||
|
|
||||||
static gboolean gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
static gboolean gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
||||||
XEvent *event);
|
XEvent *event);
|
||||||
@@ -145,6 +149,7 @@ gnome_shell_plugin_class_init (GnomeShellPluginClass *klass)
|
|||||||
plugin_class->show_tile_preview = gnome_shell_plugin_show_tile_preview;
|
plugin_class->show_tile_preview = gnome_shell_plugin_show_tile_preview;
|
||||||
plugin_class->hide_tile_preview = gnome_shell_plugin_hide_tile_preview;
|
plugin_class->hide_tile_preview = gnome_shell_plugin_hide_tile_preview;
|
||||||
plugin_class->show_window_menu = gnome_shell_plugin_show_window_menu;
|
plugin_class->show_window_menu = gnome_shell_plugin_show_window_menu;
|
||||||
|
plugin_class->show_window_menu_for_rect = gnome_shell_plugin_show_window_menu_for_rect;
|
||||||
|
|
||||||
plugin_class->xevent_filter = gnome_shell_plugin_xevent_filter;
|
plugin_class->xevent_filter = gnome_shell_plugin_xevent_filter;
|
||||||
plugin_class->keybinding_filter = gnome_shell_plugin_keybinding_filter;
|
plugin_class->keybinding_filter = gnome_shell_plugin_keybinding_filter;
|
||||||
@@ -318,6 +323,15 @@ gnome_shell_plugin_show_window_menu (MetaPlugin *plugin,
|
|||||||
_shell_wm_show_window_menu (get_shell_wm (), window, menu, x, y);
|
_shell_wm_show_window_menu (get_shell_wm (), window, menu, x, y);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gnome_shell_plugin_show_window_menu_for_rect (MetaPlugin *plugin,
|
||||||
|
MetaWindow *window,
|
||||||
|
MetaWindowMenuType menu,
|
||||||
|
MetaRectangle *rect)
|
||||||
|
{
|
||||||
|
_shell_wm_show_window_menu_for_rect (get_shell_wm (), window, menu, rect);
|
||||||
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
gnome_shell_plugin_xevent_filter (MetaPlugin *plugin,
|
||||||
XEvent *xev)
|
XEvent *xev)
|
||||||
|
@@ -778,7 +778,7 @@ emit_changed_accels (GtkActionMuxer *muxer,
|
|||||||
/**
|
/**
|
||||||
* gtk_action_muxer_set_parent:
|
* gtk_action_muxer_set_parent:
|
||||||
* @muxer: a #GtkActionMuxer
|
* @muxer: a #GtkActionMuxer
|
||||||
* @parent: (allow-none): the new parent #GtkActionMuxer
|
* @parent: (nullable): the new parent #GtkActionMuxer
|
||||||
*
|
*
|
||||||
* Sets the parent of @muxer to @parent.
|
* Sets the parent of @muxer to @parent.
|
||||||
*/
|
*/
|
||||||
|
24
src/main.c
24
src/main.c
@@ -34,6 +34,8 @@ extern GType gnome_shell_plugin_get_type (void);
|
|||||||
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
|
#define SHELL_DBUS_SERVICE "org.gnome.Shell"
|
||||||
#define MAGNIFIER_DBUS_SERVICE "org.gnome.Magnifier"
|
#define MAGNIFIER_DBUS_SERVICE "org.gnome.Magnifier"
|
||||||
|
|
||||||
|
#define OVERRIDES_SCHEMA "org.gnome.shell.overrides"
|
||||||
|
|
||||||
#define WM_NAME "GNOME Shell"
|
#define WM_NAME "GNOME Shell"
|
||||||
#define GNOME_WM_KEYBINDINGS "Mutter,GNOME Shell"
|
#define GNOME_WM_KEYBINDINGS "Mutter,GNOME Shell"
|
||||||
|
|
||||||
@@ -167,6 +169,26 @@ shell_dbus_init (gboolean replace)
|
|||||||
g_object_unref (session);
|
g_object_unref (session);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
shell_prefs_init (void)
|
||||||
|
{
|
||||||
|
ShellGlobal *global = shell_global_get ();
|
||||||
|
GSettings *settings = shell_global_get_overrides_settings (global);
|
||||||
|
char **keys, **k, *schema_id;
|
||||||
|
|
||||||
|
if (!settings)
|
||||||
|
return;
|
||||||
|
|
||||||
|
g_object_get (G_OBJECT (settings), "schema-id", &schema_id, NULL);
|
||||||
|
|
||||||
|
keys = g_settings_list_keys (settings);
|
||||||
|
for (keys = k = g_settings_list_keys (settings); *k; k++)
|
||||||
|
meta_prefs_override_preference_schema (*k, schema_id);
|
||||||
|
|
||||||
|
g_strfreev (keys);
|
||||||
|
g_free (schema_id);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_introspection_init (void)
|
shell_introspection_init (void)
|
||||||
{
|
{
|
||||||
@@ -434,6 +456,8 @@ main (int argc, char **argv)
|
|||||||
|
|
||||||
_shell_global_init ("session-mode", session_mode, NULL);
|
_shell_global_init ("session-mode", session_mode, NULL);
|
||||||
|
|
||||||
|
shell_prefs_init ();
|
||||||
|
|
||||||
ecode = meta_run ();
|
ecode = meta_run ();
|
||||||
|
|
||||||
if (g_getenv ("GNOME_SHELL_ENABLE_CLEANUP"))
|
if (g_getenv ("GNOME_SHELL_ENABLE_CLEANUP"))
|
||||||
|
@@ -252,7 +252,7 @@ shell_app_system_lookup_heuristic_basename (ShellAppSystem *system,
|
|||||||
/**
|
/**
|
||||||
* shell_app_system_lookup_desktop_wmclass:
|
* shell_app_system_lookup_desktop_wmclass:
|
||||||
* @system: a #ShellAppSystem
|
* @system: a #ShellAppSystem
|
||||||
* @wmclass: (allow-none): A WM_CLASS value
|
* @wmclass: (nullable): A WM_CLASS value
|
||||||
*
|
*
|
||||||
* Find a valid application whose .desktop file, without the extension
|
* Find a valid application whose .desktop file, without the extension
|
||||||
* and properly canonicalized, matches @wmclass.
|
* and properly canonicalized, matches @wmclass.
|
||||||
@@ -303,7 +303,7 @@ shell_app_system_lookup_desktop_wmclass (ShellAppSystem *system,
|
|||||||
/**
|
/**
|
||||||
* shell_app_system_lookup_startup_wmclass:
|
* shell_app_system_lookup_startup_wmclass:
|
||||||
* @system: a #ShellAppSystem
|
* @system: a #ShellAppSystem
|
||||||
* @wmclass: (allow-none): A WM_CLASS value
|
* @wmclass: (nullable): A WM_CLASS value
|
||||||
*
|
*
|
||||||
* Find a valid application whose .desktop file contains a
|
* Find a valid application whose .desktop file contains a
|
||||||
* StartupWMClass entry matching @wmclass.
|
* StartupWMClass entry matching @wmclass.
|
||||||
|
@@ -516,7 +516,7 @@ find_most_recent_transient_on_same_workspace (MetaDisplay *display,
|
|||||||
/**
|
/**
|
||||||
* shell_app_activate_window:
|
* shell_app_activate_window:
|
||||||
* @app: a #ShellApp
|
* @app: a #ShellApp
|
||||||
* @window: (allow-none): Window to be focused
|
* @window: (nullable): Window to be focused
|
||||||
* @timestamp: Event timestamp
|
* @timestamp: Event timestamp
|
||||||
*
|
*
|
||||||
* Bring all windows for the given app to the foreground,
|
* Bring all windows for the given app to the foreground,
|
||||||
|
@@ -34,7 +34,6 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef __OpenBSD__
|
#ifdef __OpenBSD__
|
||||||
#include <sys/param.h>
|
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1156,28 +1155,19 @@ shell_global_reexec_self (ShellGlobal *global)
|
|||||||
{
|
{
|
||||||
GPtrArray *arr;
|
GPtrArray *arr;
|
||||||
gsize len;
|
gsize len;
|
||||||
|
|
||||||
|
#if defined __linux__
|
||||||
char *buf;
|
char *buf;
|
||||||
char *buf_p;
|
char *buf_p;
|
||||||
char *buf_end;
|
char *buf_end;
|
||||||
GError *error = NULL;
|
GError *error = NULL;
|
||||||
|
|
||||||
#if defined __linux__
|
|
||||||
if (!g_file_get_contents ("/proc/self/cmdline", &buf, &len, &error))
|
if (!g_file_get_contents ("/proc/self/cmdline", &buf, &len, &error))
|
||||||
{
|
{
|
||||||
g_warning ("failed to get /proc/self/cmdline: %s", error->message);
|
g_warning ("failed to get /proc/self/cmdline: %s", error->message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#elif defined __OpenBSD__
|
|
||||||
int pid = getpid();
|
|
||||||
int mib[] = { CTL_KERN, KERN_PROC_ARGS, pid, KERN_PROC_ARGV };
|
|
||||||
if (sysctl(mib, G_N_ELEMENTS (mib), &buf, &len, NULL, 0) == -1) {
|
|
||||||
g_warning ("failed to get command line args: %d", errno);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
return;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
buf_end = buf+len;
|
buf_end = buf+len;
|
||||||
arr = g_ptr_array_new ();
|
arr = g_ptr_array_new ();
|
||||||
/* The cmdline file is NUL-separated */
|
/* The cmdline file is NUL-separated */
|
||||||
@@ -1185,6 +1175,30 @@ shell_global_reexec_self (ShellGlobal *global)
|
|||||||
g_ptr_array_add (arr, buf_p);
|
g_ptr_array_add (arr, buf_p);
|
||||||
|
|
||||||
g_ptr_array_add (arr, NULL);
|
g_ptr_array_add (arr, NULL);
|
||||||
|
#elif defined __OpenBSD__
|
||||||
|
gchar **args, **args_p;
|
||||||
|
gint mib[] = { CTL_KERN, KERN_PROC_ARGS, getpid(), KERN_PROC_ARGV };
|
||||||
|
|
||||||
|
if (sysctl (mib, G_N_ELEMENTS (mib), NULL, &len, NULL, 0) == -1)
|
||||||
|
return;
|
||||||
|
|
||||||
|
args = g_malloc0 (len);
|
||||||
|
|
||||||
|
if (sysctl (mib, G_N_ELEMENTS (mib), args, &len, NULL, 0) == -1) {
|
||||||
|
g_warning ("failed to get command line args: %d", errno);
|
||||||
|
g_free (args);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
arr = g_ptr_array_new ();
|
||||||
|
for (args_p = args; *args_p != NULL; args_p++) {
|
||||||
|
g_ptr_array_add (arr, *args_p);
|
||||||
|
}
|
||||||
|
|
||||||
|
g_ptr_array_add (arr, NULL);
|
||||||
|
#else
|
||||||
|
return;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Close all file descriptors other than stdin/stdout/stderr, otherwise
|
/* Close all file descriptors other than stdin/stdout/stderr, otherwise
|
||||||
* they will leak and stay open after the exec. In particular, this is
|
* they will leak and stay open after the exec. In particular, this is
|
||||||
@@ -1200,6 +1214,11 @@ shell_global_reexec_self (ShellGlobal *global)
|
|||||||
execvp (arr->pdata[0], (char**)arr->pdata);
|
execvp (arr->pdata[0], (char**)arr->pdata);
|
||||||
g_warning ("failed to reexec: %s", g_strerror (errno));
|
g_warning ("failed to reexec: %s", g_strerror (errno));
|
||||||
g_ptr_array_free (arr, TRUE);
|
g_ptr_array_free (arr, TRUE);
|
||||||
|
#if defined __linux__
|
||||||
|
g_free (buf);
|
||||||
|
#elif defined __OpenBSD__
|
||||||
|
g_free (args);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1336,6 +1355,37 @@ shell_global_get_settings (ShellGlobal *global)
|
|||||||
return global->settings;
|
return global->settings;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* shell_global_get_overrides_settings:
|
||||||
|
* @global: A #ShellGlobal
|
||||||
|
*
|
||||||
|
* Get the session overrides GSettings instance.
|
||||||
|
*
|
||||||
|
* Return value: (transfer none): The GSettings object
|
||||||
|
*/
|
||||||
|
GSettings *
|
||||||
|
shell_global_get_overrides_settings (ShellGlobal *global)
|
||||||
|
{
|
||||||
|
static GSettings *settings = NULL;
|
||||||
|
const char *schema;
|
||||||
|
|
||||||
|
g_return_val_if_fail (SHELL_IS_GLOBAL (global), NULL);
|
||||||
|
|
||||||
|
if (!settings)
|
||||||
|
{
|
||||||
|
if (strcmp (global->session_mode, "classic") == 0)
|
||||||
|
schema = "org.gnome.shell.extensions.classic-overrides";
|
||||||
|
else if (strcmp (global->session_mode, "user") == 0)
|
||||||
|
schema = "org.gnome.shell.overrides";
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
settings = g_settings_new (schema);
|
||||||
|
}
|
||||||
|
|
||||||
|
return settings;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* shell_global_get_current_time:
|
* shell_global_get_current_time:
|
||||||
* @global: A #ShellGlobal
|
* @global: A #ShellGlobal
|
||||||
@@ -1583,7 +1633,7 @@ build_ca_proplist_for_event (ca_proplist *props,
|
|||||||
* @global: the #ShellGlobal
|
* @global: the #ShellGlobal
|
||||||
* @id: an id, used to cancel later (0 if not needed)
|
* @id: an id, used to cancel later (0 if not needed)
|
||||||
* @name: the sound name
|
* @name: the sound name
|
||||||
* @for_event: (allow-none): a #ClutterEvent in response to which the sound is played
|
* @for_event: (nullable): a #ClutterEvent in response to which the sound is played
|
||||||
*
|
*
|
||||||
* Plays a simple sound picked according to Freedesktop sound theme.
|
* Plays a simple sound picked according to Freedesktop sound theme.
|
||||||
* Really just a workaround for libcanberra not being introspected.
|
* Really just a workaround for libcanberra not being introspected.
|
||||||
@@ -1611,7 +1661,7 @@ shell_global_play_theme_sound (ShellGlobal *global,
|
|||||||
* @id: an id, used to cancel later (0 if not needed)
|
* @id: an id, used to cancel later (0 if not needed)
|
||||||
* @name: the sound name
|
* @name: the sound name
|
||||||
* @description: the localized description of the event that triggered this alert
|
* @description: the localized description of the event that triggered this alert
|
||||||
* @for_event: (allow-none): a #ClutterEvent in response to which the sound is played
|
* @for_event: (nullable): a #ClutterEvent in response to which the sound is played
|
||||||
* @application_id: application on behalf of which the sound is played
|
* @application_id: application on behalf of which the sound is played
|
||||||
* @application_name:
|
* @application_name:
|
||||||
*
|
*
|
||||||
@@ -1645,7 +1695,7 @@ shell_global_play_theme_sound_full (ShellGlobal *global,
|
|||||||
* @id: an id, used to cancel later (0 if not needed)
|
* @id: an id, used to cancel later (0 if not needed)
|
||||||
* @file_name: the file name to play
|
* @file_name: the file name to play
|
||||||
* @description: the localized description of the event that triggered this alert
|
* @description: the localized description of the event that triggered this alert
|
||||||
* @for_event: (allow-none): a #ClutterEvent in response to which the sound is played
|
* @for_event: (nullable): a #ClutterEvent in response to which the sound is played
|
||||||
* @application_id: application on behalf of which the sound is played
|
* @application_id: application on behalf of which the sound is played
|
||||||
* @application_name:
|
* @application_name:
|
||||||
*
|
*
|
||||||
@@ -1679,7 +1729,7 @@ shell_global_play_sound_file_full (ShellGlobal *global,
|
|||||||
* @id: an id, used to cancel later (0 if not needed)
|
* @id: an id, used to cancel later (0 if not needed)
|
||||||
* @file_name: the file name to play
|
* @file_name: the file name to play
|
||||||
* @description: the localized description of the event that triggered this alert
|
* @description: the localized description of the event that triggered this alert
|
||||||
* @for_event: (allow-none): a #ClutterEvent in response to which the sound is played
|
* @for_event: (nullable): a #ClutterEvent in response to which the sound is played
|
||||||
*
|
*
|
||||||
* Like shell_global_play_theme_sound(), but with an explicit path
|
* Like shell_global_play_theme_sound(), but with an explicit path
|
||||||
* instead of a themed sound.
|
* instead of a themed sound.
|
||||||
@@ -1840,7 +1890,7 @@ load_variant (GFile *dir,
|
|||||||
* shell_global_set_runtime_state:
|
* shell_global_set_runtime_state:
|
||||||
* @global: a #ShellGlobal
|
* @global: a #ShellGlobal
|
||||||
* @property_name: Name of the property
|
* @property_name: Name of the property
|
||||||
* @variant: (allow-none): A #GVariant, or %NULL to unset
|
* @variant: (nullable): A #GVariant, or %NULL to unset
|
||||||
*
|
*
|
||||||
* Change the value of serialized runtime state.
|
* Change the value of serialized runtime state.
|
||||||
*/
|
*/
|
||||||
@@ -1875,7 +1925,7 @@ shell_global_get_runtime_state (ShellGlobal *global,
|
|||||||
* shell_global_set_persistent_state:
|
* shell_global_set_persistent_state:
|
||||||
* @global: a #ShellGlobal
|
* @global: a #ShellGlobal
|
||||||
* @property_name: Name of the property
|
* @property_name: Name of the property
|
||||||
* @variant: (allow-none): A #GVariant, or %NULL to unset
|
* @variant: (nullable): A #GVariant, or %NULL to unset
|
||||||
*
|
*
|
||||||
* Change the value of serialized persistent state.
|
* Change the value of serialized persistent state.
|
||||||
*/
|
*/
|
||||||
|
@@ -35,6 +35,7 @@ GdkScreen *shell_global_get_gdk_screen (ShellGlobal *global);
|
|||||||
MetaDisplay *shell_global_get_display (ShellGlobal *global);
|
MetaDisplay *shell_global_get_display (ShellGlobal *global);
|
||||||
GList *shell_global_get_window_actors (ShellGlobal *global);
|
GList *shell_global_get_window_actors (ShellGlobal *global);
|
||||||
GSettings *shell_global_get_settings (ShellGlobal *global);
|
GSettings *shell_global_get_settings (ShellGlobal *global);
|
||||||
|
GSettings *shell_global_get_overrides_settings (ShellGlobal *global);
|
||||||
guint32 shell_global_get_current_time (ShellGlobal *global);
|
guint32 shell_global_get_current_time (ShellGlobal *global);
|
||||||
|
|
||||||
|
|
||||||
|
@@ -516,7 +516,7 @@ shell_keyring_prompt_new (void)
|
|||||||
*
|
*
|
||||||
* Get the prompt password text actor
|
* Get the prompt password text actor
|
||||||
*
|
*
|
||||||
* Returns: (transfer none) (allow-none): the password actor
|
* Returns: (transfer none) (nullable): the password actor
|
||||||
*/
|
*/
|
||||||
ClutterText *
|
ClutterText *
|
||||||
shell_keyring_prompt_get_password_actor (ShellKeyringPrompt *self)
|
shell_keyring_prompt_get_password_actor (ShellKeyringPrompt *self)
|
||||||
@@ -531,7 +531,7 @@ shell_keyring_prompt_get_password_actor (ShellKeyringPrompt *self)
|
|||||||
*
|
*
|
||||||
* Get the prompt password text actor
|
* Get the prompt password text actor
|
||||||
*
|
*
|
||||||
* Returns: (transfer none) (allow-none): the password actor
|
* Returns: (transfer none) (nullable): the password actor
|
||||||
*/
|
*/
|
||||||
ClutterText *
|
ClutterText *
|
||||||
shell_keyring_prompt_get_confirm_actor (ShellKeyringPrompt *self)
|
shell_keyring_prompt_get_confirm_actor (ShellKeyringPrompt *self)
|
||||||
@@ -616,7 +616,7 @@ on_password_changed (ClutterText *text,
|
|||||||
/**
|
/**
|
||||||
* shell_keyring_prompt_set_password_actor:
|
* shell_keyring_prompt_set_password_actor:
|
||||||
* @self: the internal prompt
|
* @self: the internal prompt
|
||||||
* @password_actor: (allow-none): the password actor
|
* @password_actor: (nullable): the password actor
|
||||||
*
|
*
|
||||||
* Set the prompt password text actor
|
* Set the prompt password text actor
|
||||||
*/
|
*/
|
||||||
@@ -651,7 +651,7 @@ shell_keyring_prompt_set_password_actor (ShellKeyringPrompt *self,
|
|||||||
/**
|
/**
|
||||||
* shell_keyring_prompt_set_confirm_actor:
|
* shell_keyring_prompt_set_confirm_actor:
|
||||||
* @self: the internal prompt
|
* @self: the internal prompt
|
||||||
* @confirm_actor: (allow-none): the confirm password actor
|
* @confirm_actor: (nullable): the confirm password actor
|
||||||
*
|
*
|
||||||
* Set the prompt password confirmation text actor
|
* Set the prompt password confirmation text actor
|
||||||
*/
|
*/
|
||||||
|
@@ -64,7 +64,7 @@ shell_menu_tracker_remove_func (gint position,
|
|||||||
* shell_menu_tracker_new:
|
* shell_menu_tracker_new:
|
||||||
* @observable:
|
* @observable:
|
||||||
* @model:
|
* @model:
|
||||||
* @action_namespace: (allow-none):
|
* @action_namespace: (nullable):
|
||||||
* @insert_func:
|
* @insert_func:
|
||||||
* @insert_user_data:
|
* @insert_user_data:
|
||||||
* @insert_notify:
|
* @insert_notify:
|
||||||
|
@@ -1629,7 +1629,7 @@ shell_recorder_set_draw_cursor (ShellRecorder *recorder,
|
|||||||
/**
|
/**
|
||||||
* shell_recorder_set_pipeline:
|
* shell_recorder_set_pipeline:
|
||||||
* @recorder: the #ShellRecorder
|
* @recorder: the #ShellRecorder
|
||||||
* @pipeline: (allow-none): the GStreamer pipeline used to encode recordings
|
* @pipeline: (nullable): the GStreamer pipeline used to encode recordings
|
||||||
* or %NULL for the default value.
|
* or %NULL for the default value.
|
||||||
*
|
*
|
||||||
* Sets the GStreamer pipeline used to encode recordings.
|
* Sets the GStreamer pipeline used to encode recordings.
|
||||||
@@ -1681,7 +1681,7 @@ shell_recorder_set_area (ShellRecorder *recorder,
|
|||||||
/**
|
/**
|
||||||
* shell_recorder_record:
|
* shell_recorder_record:
|
||||||
* @recorder: the #ShellRecorder
|
* @recorder: the #ShellRecorder
|
||||||
* @filename_used: (out) (allow-none): actual filename used for recording
|
* @filename_used: (out) (optional): actual filename used for recording
|
||||||
*
|
*
|
||||||
* Starts recording, Starting the recording may fail if the output file
|
* Starts recording, Starting the recording may fail if the output file
|
||||||
* cannot be opened, or if the output stream cannot be created
|
* cannot be opened, or if the output stream cannot be created
|
||||||
|
@@ -21,10 +21,6 @@ struct _ShellTpClientPrivate
|
|||||||
ShellTpClientHandleChannelsImpl handle_channels_impl;
|
ShellTpClientHandleChannelsImpl handle_channels_impl;
|
||||||
gpointer user_data_handle_channels;
|
gpointer user_data_handle_channels;
|
||||||
GDestroyNotify destroy_handle_channels;
|
GDestroyNotify destroy_handle_channels;
|
||||||
|
|
||||||
ShellTpClientContactListChangedImpl contact_list_changed_impl;
|
|
||||||
gpointer user_data_contact_list_changed;
|
|
||||||
GDestroyNotify destroy_contact_list_changed;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -35,7 +31,7 @@ struct _ShellTpClientPrivate
|
|||||||
* if possible
|
* if possible
|
||||||
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
|
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
|
||||||
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
|
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
|
||||||
* @dispatch_operation: (allow-none): a #TpChannelDispatchOperation or %NULL;
|
* @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL;
|
||||||
* the dispatch_operation is not guaranteed to be prepared
|
* the dispatch_operation is not guaranteed to be prepared
|
||||||
* @requests: (element-type TelepathyGLib.ChannelRequest): a #GList of
|
* @requests: (element-type TelepathyGLib.ChannelRequest): a #GList of
|
||||||
* #TpChannelRequest, all having their object-path defined but are not
|
* #TpChannelRequest, all having their object-path defined but are not
|
||||||
@@ -54,7 +50,7 @@ struct _ShellTpClientPrivate
|
|||||||
* if possible
|
* if possible
|
||||||
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
|
* @channels: (element-type TelepathyGLib.Channel): a #GList of #TpChannel,
|
||||||
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
|
* all having %TP_CHANNEL_FEATURE_CORE prepared if possible
|
||||||
* @dispatch_operation: (allow-none): a #TpChannelDispatchOperation or %NULL;
|
* @dispatch_operation: (nullable): a #TpChannelDispatchOperation or %NULL;
|
||||||
* the dispatch_operation is not guaranteed to be prepared
|
* the dispatch_operation is not guaranteed to be prepared
|
||||||
* @context: a #TpAddDispatchOperationContext representing the context of this
|
* @context: a #TpAddDispatchOperationContext representing the context of this
|
||||||
* D-Bus call
|
* D-Bus call
|
||||||
@@ -83,16 +79,6 @@ struct _ShellTpClientPrivate
|
|||||||
* Signature of the implementation of the HandleChannels method.
|
* Signature of the implementation of the HandleChannels method.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
|
||||||
* ShellTpClientContactListChangedImpl:
|
|
||||||
* @connection: a #TpConnection having %TP_CONNECTION_FEATURE_CORE prepared
|
|
||||||
* if possible
|
|
||||||
* @added: (element-type TelepathyGLib.Contact): a #GPtrArray of added #TpContact
|
|
||||||
* @removed: (element-type TelepathyGLib.Contact): a #GPtrArray of removed #TpContact
|
|
||||||
*
|
|
||||||
* Signature of the implementation of the ContactListChanged method.
|
|
||||||
*/
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
shell_tp_client_init (ShellTpClient *self)
|
shell_tp_client_init (ShellTpClient *self)
|
||||||
{
|
{
|
||||||
@@ -226,13 +212,6 @@ shell_tp_client_dispose (GObject *object)
|
|||||||
self->priv->user_data_handle_channels = NULL;
|
self->priv->user_data_handle_channels = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self->priv->destroy_contact_list_changed != NULL)
|
|
||||||
{
|
|
||||||
self->priv->destroy_contact_list_changed (self->priv->user_data_contact_list_changed);
|
|
||||||
self->priv->destroy_contact_list_changed = NULL;
|
|
||||||
self->priv->user_data_contact_list_changed = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (dispose != NULL)
|
if (dispose != NULL)
|
||||||
dispose (object);
|
dispose (object);
|
||||||
}
|
}
|
||||||
@@ -290,40 +269,3 @@ shell_tp_client_set_handle_channels_func (ShellTpClient *self,
|
|||||||
self->priv->user_data_handle_channels = user_data;
|
self->priv->user_data_handle_channels = user_data;
|
||||||
self->priv->destroy_handle_channels = destroy;
|
self->priv->destroy_handle_channels = destroy;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
|
||||||
shell_tp_client_set_contact_list_changed_func (ShellTpClient *self,
|
|
||||||
ShellTpClientContactListChangedImpl contact_list_changed_impl,
|
|
||||||
gpointer user_data,
|
|
||||||
GDestroyNotify destroy)
|
|
||||||
{
|
|
||||||
g_assert (self->priv->contact_list_changed_impl == NULL);
|
|
||||||
|
|
||||||
self->priv->contact_list_changed_impl = contact_list_changed_impl;
|
|
||||||
self->priv->user_data_handle_channels = user_data;
|
|
||||||
self->priv->destroy_handle_channels = destroy;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
on_contact_list_changed (TpConnection *conn,
|
|
||||||
GPtrArray *added,
|
|
||||||
GPtrArray *removed,
|
|
||||||
gpointer user_data)
|
|
||||||
{
|
|
||||||
ShellTpClient *self = (ShellTpClient *) user_data;
|
|
||||||
|
|
||||||
g_assert (self->priv->contact_list_changed_impl != NULL);
|
|
||||||
|
|
||||||
self->priv->contact_list_changed_impl (conn,
|
|
||||||
added, removed,
|
|
||||||
self->priv->user_data_contact_list_changed);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
|
||||||
shell_tp_client_grab_contact_list_changed (ShellTpClient *self,
|
|
||||||
TpConnection *conn)
|
|
||||||
{
|
|
||||||
g_signal_connect (conn, "contact-list-changed",
|
|
||||||
G_CALLBACK (on_contact_list_changed),
|
|
||||||
self);
|
|
||||||
}
|
|
||||||
|
@@ -86,19 +86,5 @@ void shell_tp_client_set_handle_channels_func (ShellTpClient *self,
|
|||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GDestroyNotify destroy);
|
GDestroyNotify destroy);
|
||||||
|
|
||||||
typedef void (*ShellTpClientContactListChangedImpl) (
|
|
||||||
TpConnection *connection,
|
|
||||||
GPtrArray *added,
|
|
||||||
GPtrArray *removed,
|
|
||||||
gpointer user_data);
|
|
||||||
|
|
||||||
void shell_tp_client_set_contact_list_changed_func (ShellTpClient *self,
|
|
||||||
ShellTpClientContactListChangedImpl contact_list_changed_impl,
|
|
||||||
gpointer user_data,
|
|
||||||
GDestroyNotify destroy);
|
|
||||||
|
|
||||||
void shell_tp_client_grab_contact_list_changed (ShellTpClient *self,
|
|
||||||
TpConnection *conn);
|
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
#endif /* __SHELL_TP_CLIENT_H__ */
|
#endif /* __SHELL_TP_CLIENT_H__ */
|
||||||
|
@@ -45,6 +45,10 @@ void _shell_wm_show_window_menu (ShellWM *wm,
|
|||||||
MetaWindowMenuType menu,
|
MetaWindowMenuType menu,
|
||||||
int x,
|
int x,
|
||||||
int y);
|
int y);
|
||||||
|
void _shell_wm_show_window_menu_for_rect (ShellWM *wm,
|
||||||
|
MetaWindow *window,
|
||||||
|
MetaWindowMenuType menu,
|
||||||
|
MetaRectangle *rect);
|
||||||
|
|
||||||
gboolean _shell_wm_filter_keybinding (ShellWM *wm,
|
gboolean _shell_wm_filter_keybinding (ShellWM *wm,
|
||||||
MetaKeyBinding *binding);
|
MetaKeyBinding *binding);
|
||||||
|
@@ -141,8 +141,8 @@ shell_wm_class_init (ShellWMClass *klass)
|
|||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
G_SIGNAL_RUN_LAST,
|
G_SIGNAL_RUN_LAST,
|
||||||
0, NULL, NULL, NULL,
|
0, NULL, NULL, NULL,
|
||||||
G_TYPE_NONE, 4,
|
G_TYPE_NONE, 3,
|
||||||
META_TYPE_WINDOW, G_TYPE_INT, G_TYPE_INT, G_TYPE_INT);
|
META_TYPE_WINDOW, G_TYPE_INT, META_TYPE_RECTANGLE);
|
||||||
shell_wm_signals[FILTER_KEYBINDING] =
|
shell_wm_signals[FILTER_KEYBINDING] =
|
||||||
g_signal_new ("filter-keybinding",
|
g_signal_new ("filter-keybinding",
|
||||||
G_TYPE_FROM_CLASS (klass),
|
G_TYPE_FROM_CLASS (klass),
|
||||||
@@ -303,7 +303,22 @@ _shell_wm_show_window_menu (ShellWM *wm,
|
|||||||
int x,
|
int x,
|
||||||
int y)
|
int y)
|
||||||
{
|
{
|
||||||
g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window, menu, x, y);
|
MetaRectangle rect;
|
||||||
|
|
||||||
|
rect.x = x;
|
||||||
|
rect.y = y;
|
||||||
|
rect.width = rect.height = 0;
|
||||||
|
|
||||||
|
_shell_wm_show_window_menu_for_rect (wm, window, menu, &rect);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
_shell_wm_show_window_menu_for_rect (ShellWM *wm,
|
||||||
|
MetaWindow *window,
|
||||||
|
MetaWindowMenuType menu,
|
||||||
|
MetaRectangle *rect)
|
||||||
|
{
|
||||||
|
g_signal_emit (wm, shell_wm_signals[SHOW_WINDOW_MENU], 0, window, menu, rect);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@@ -414,7 +414,7 @@ st_bin_new (void)
|
|||||||
/**
|
/**
|
||||||
* st_bin_set_child:
|
* st_bin_set_child:
|
||||||
* @bin: a #StBin
|
* @bin: a #StBin
|
||||||
* @child: (allow-none): a #ClutterActor, or %NULL
|
* @child: (nullable): a #ClutterActor, or %NULL
|
||||||
*
|
*
|
||||||
* Sets @child as the child of @bin.
|
* Sets @child as the child of @bin.
|
||||||
*
|
*
|
||||||
|
@@ -908,7 +908,7 @@ st_entry_get_text (StEntry *entry)
|
|||||||
/**
|
/**
|
||||||
* st_entry_set_text:
|
* st_entry_set_text:
|
||||||
* @entry: a #StEntry
|
* @entry: a #StEntry
|
||||||
* @text: (allow-none): text to set the entry to
|
* @text: (nullable): text to set the entry to
|
||||||
*
|
*
|
||||||
* Sets the text displayed on the entry
|
* Sets the text displayed on the entry
|
||||||
*/
|
*/
|
||||||
@@ -963,7 +963,7 @@ st_entry_get_clutter_text (StEntry *entry)
|
|||||||
/**
|
/**
|
||||||
* st_entry_set_hint_text:
|
* st_entry_set_hint_text:
|
||||||
* @entry: a #StEntry
|
* @entry: a #StEntry
|
||||||
* @text: (allow-none): text to set as the entry hint
|
* @text: (nullable): text to set as the entry hint
|
||||||
*
|
*
|
||||||
* Sets the text to display when the entry is empty and unfocused. When the
|
* Sets the text to display when the entry is empty and unfocused. When the
|
||||||
* entry is displaying the hint, it has a pseudo class of "indeterminate".
|
* entry is displaying the hint, it has a pseudo class of "indeterminate".
|
||||||
@@ -1136,7 +1136,7 @@ _st_entry_set_icon (StEntry *entry,
|
|||||||
/**
|
/**
|
||||||
* st_entry_set_primary_icon:
|
* st_entry_set_primary_icon:
|
||||||
* @entry: a #StEntry
|
* @entry: a #StEntry
|
||||||
* @icon: (allow-none): a #ClutterActor
|
* @icon: (nullable): a #ClutterActor
|
||||||
*
|
*
|
||||||
* Set the primary icon of the entry to @icon
|
* Set the primary icon of the entry to @icon
|
||||||
*/
|
*/
|
||||||
@@ -1156,7 +1156,7 @@ st_entry_set_primary_icon (StEntry *entry,
|
|||||||
/**
|
/**
|
||||||
* st_entry_set_secondary_icon:
|
* st_entry_set_secondary_icon:
|
||||||
* @entry: a #StEntry
|
* @entry: a #StEntry
|
||||||
* @icon: (allow-none): an #ClutterActor
|
* @icon: (nullable): an #ClutterActor
|
||||||
*
|
*
|
||||||
* Set the secondary icon of the entry to @icon
|
* Set the secondary icon of the entry to @icon
|
||||||
*/
|
*/
|
||||||
|
@@ -532,7 +532,7 @@ st_icon_get_gicon (StIcon *icon)
|
|||||||
/**
|
/**
|
||||||
* st_icon_set_gicon:
|
* st_icon_set_gicon:
|
||||||
* @icon: an icon
|
* @icon: an icon
|
||||||
* @gicon: (allow-none): a #GIcon to override :icon-name
|
* @gicon: (nullable): a #GIcon to override :icon-name
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
st_icon_set_gicon (StIcon *icon, GIcon *gicon)
|
st_icon_set_gicon (StIcon *icon, GIcon *gicon)
|
||||||
|
@@ -131,8 +131,8 @@ st_scrollable_set_adjustments (StScrollable *scrollable,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* st_scroll_bar_get_adjustments:
|
* st_scroll_bar_get_adjustments:
|
||||||
* @hadjustment: (transfer none) (out) (allow-none): location to store the horizontal adjustment, or %NULL
|
* @hadjustment: (transfer none) (out) (optional) (nullable): location to store the horizontal adjustment, or %NULL
|
||||||
* @vadjustment: (transfer none) (out) (allow-none): location to store the vertical adjustment, or %NULL
|
* @vadjustment: (transfer none) (out) (optional) (nullable): location to store the vertical adjustment, or %NULL
|
||||||
*
|
*
|
||||||
* Gets the adjustment objects that store the offsets of the scrollable widget
|
* Gets the adjustment objects that store the offsets of the scrollable widget
|
||||||
* into its possible scrolling area.
|
* into its possible scrolling area.
|
||||||
|
@@ -1022,7 +1022,7 @@ load_gicon_with_colors (StTextureCache *cache,
|
|||||||
/**
|
/**
|
||||||
* st_texture_cache_load_gicon:
|
* st_texture_cache_load_gicon:
|
||||||
* @cache: The texture cache instance
|
* @cache: The texture cache instance
|
||||||
* @theme_node: (allow-none): The #StThemeNode to use for colors, or NULL
|
* @theme_node: (nullable): The #StThemeNode to use for colors, or NULL
|
||||||
* if the icon must not be recolored
|
* if the icon must not be recolored
|
||||||
* @icon: the #GIcon to load
|
* @icon: the #GIcon to load
|
||||||
* @size: Size of themed
|
* @size: Size of themed
|
||||||
@@ -1235,7 +1235,7 @@ load_sliced_image (GSimpleAsyncResult *result,
|
|||||||
* @grid_width: Width in pixels
|
* @grid_width: Width in pixels
|
||||||
* @grid_height: Height in pixels
|
* @grid_height: Height in pixels
|
||||||
* @scale: Scale factor of the display
|
* @scale: Scale factor of the display
|
||||||
* @load_callback: (scope async) (allow-none): Function called when the image is loaded, or %NULL
|
* @load_callback: (scope async) (nullable): Function called when the image is loaded, or %NULL
|
||||||
* @user_data: Data to pass to the load callback
|
* @user_data: Data to pass to the load callback
|
||||||
*
|
*
|
||||||
* This function reads a single image file which contains multiple images internally.
|
* This function reads a single image file which contains multiple images internally.
|
||||||
|
@@ -204,17 +204,17 @@ split_on_whitespace (const gchar *s)
|
|||||||
/**
|
/**
|
||||||
* st_theme_node_new:
|
* st_theme_node_new:
|
||||||
* @context: the context representing global state for this themed tree
|
* @context: the context representing global state for this themed tree
|
||||||
* @parent_node: (allow-none): the parent node of this node
|
* @parent_node: (nullable): the parent node of this node
|
||||||
* @theme: (allow-none): a theme (stylesheet set) that overrides the
|
* @theme: (nullable): a theme (stylesheet set) that overrides the
|
||||||
* theme inherited from the parent node
|
* theme inherited from the parent node
|
||||||
* @element_type: the type of the GObject represented by this node
|
* @element_type: the type of the GObject represented by this node
|
||||||
* in the tree (corresponding to an element if we were theming an XML
|
* in the tree (corresponding to an element if we were theming an XML
|
||||||
* document. %G_TYPE_NONE means this style was created for the stage
|
* document. %G_TYPE_NONE means this style was created for the stage
|
||||||
* actor and matches a selector element name of 'stage'.
|
* actor and matches a selector element name of 'stage'.
|
||||||
* @element_id: (allow-none): the ID to match CSS rules against
|
* @element_id: (nullable): the ID to match CSS rules against
|
||||||
* @element_class: (allow-none): a whitespace-separated list of classes
|
* @element_class: (nullable): a whitespace-separated list of classes
|
||||||
* to match CSS rules against
|
* to match CSS rules against
|
||||||
* @pseudo_class: (allow-none): a whitespace-separated list of pseudo-classes
|
* @pseudo_class: (nullable): a whitespace-separated list of pseudo-classes
|
||||||
* (like 'hover' or 'visited') to match CSS rules against
|
* (like 'hover' or 'visited') to match CSS rules against
|
||||||
*
|
*
|
||||||
* Creates a new #StThemeNode. Once created, a node is immutable. Of any
|
* Creates a new #StThemeNode. Once created, a node is immutable. Of any
|
||||||
@@ -3536,7 +3536,7 @@ st_theme_node_adjust_for_height (StThemeNode *node,
|
|||||||
/**
|
/**
|
||||||
* st_theme_node_adjust_preferred_width:
|
* st_theme_node_adjust_preferred_width:
|
||||||
* @node: a #StThemeNode
|
* @node: a #StThemeNode
|
||||||
* @min_width_p: (inout) (allow-none): the minimum width to adjust
|
* @min_width_p: (inout) (nullable): the minimum width to adjust
|
||||||
* @natural_width_p: (inout): the natural width to adjust
|
* @natural_width_p: (inout): the natural width to adjust
|
||||||
*
|
*
|
||||||
* Adjusts the minimum and natural width computed for an actor by
|
* Adjusts the minimum and natural width computed for an actor by
|
||||||
@@ -3603,7 +3603,7 @@ st_theme_node_adjust_for_width (StThemeNode *node,
|
|||||||
/**
|
/**
|
||||||
* st_theme_node_adjust_preferred_height:
|
* st_theme_node_adjust_preferred_height:
|
||||||
* @node: a #StThemeNode
|
* @node: a #StThemeNode
|
||||||
* @min_height_p: (inout) (allow-none): the minimum height to adjust
|
* @min_height_p: (inout) (nullable): the minimum height to adjust
|
||||||
* @natural_height_p: (inout): the natural height to adjust
|
* @natural_height_p: (inout): the natural height to adjust
|
||||||
*
|
*
|
||||||
* Adjusts the minimum and natural height computed for an actor by
|
* Adjusts the minimum and natural height computed for an actor by
|
||||||
@@ -3815,8 +3815,8 @@ st_theme_node_geometry_equal (StThemeNode *node,
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* st_theme_node_paint_equal:
|
* st_theme_node_paint_equal:
|
||||||
* @node: (allow-none): a #StThemeNode
|
* @node: (nullable): a #StThemeNode
|
||||||
* @other: (allow-none): a different #StThemeNode
|
* @other: (nullable): a different #StThemeNode
|
||||||
*
|
*
|
||||||
* Check if st_theme_node_paint() will paint identically for @node as it does
|
* Check if st_theme_node_paint() will paint identically for @node as it does
|
||||||
* for @other. Note that in some cases this function may return %TRUE even
|
* for @other. Note that in some cases this function may return %TRUE even
|
||||||
|
@@ -1173,7 +1173,7 @@ remove_class_name (gchar **class_list,
|
|||||||
/**
|
/**
|
||||||
* st_widget_set_style_class_name:
|
* st_widget_set_style_class_name:
|
||||||
* @actor: a #StWidget
|
* @actor: a #StWidget
|
||||||
* @style_class_list: (allow-none): a new style class list string
|
* @style_class_list: (nullable): a new style class list string
|
||||||
*
|
*
|
||||||
* Set the style class name list. @style_class_list can either be
|
* Set the style class name list. @style_class_list can either be
|
||||||
* %NULL, for no classes, or a space-separated list of style class
|
* %NULL, for no classes, or a space-separated list of style class
|
||||||
@@ -1316,7 +1316,7 @@ st_widget_has_style_pseudo_class (StWidget *actor,
|
|||||||
/**
|
/**
|
||||||
* st_widget_set_style_pseudo_class:
|
* st_widget_set_style_pseudo_class:
|
||||||
* @actor: a #StWidget
|
* @actor: a #StWidget
|
||||||
* @pseudo_class_list: (allow-none): a new pseudo class list string
|
* @pseudo_class_list: (nullable): a new pseudo class list string
|
||||||
*
|
*
|
||||||
* Set the style pseudo class list. @pseudo_class_list can either be
|
* Set the style pseudo class list. @pseudo_class_list can either be
|
||||||
* %NULL, for no classes, or a space-separated list of pseudo class
|
* %NULL, for no classes, or a space-separated list of pseudo class
|
||||||
@@ -1382,7 +1382,7 @@ st_widget_remove_style_pseudo_class (StWidget *actor,
|
|||||||
/**
|
/**
|
||||||
* st_widget_set_style:
|
* st_widget_set_style:
|
||||||
* @actor: a #StWidget
|
* @actor: a #StWidget
|
||||||
* @style: (allow-none): a inline style string, or %NULL
|
* @style: (nullable): a inline style string, or %NULL
|
||||||
*
|
*
|
||||||
* Set the inline style string for this widget. The inline style string is an
|
* Set the inline style string for this widget. The inline style string is an
|
||||||
* optional ';'-separated list of CSS properties that override the style as
|
* optional ';'-separated list of CSS properties that override the style as
|
||||||
@@ -2051,7 +2051,7 @@ st_widget_real_navigate_focus (StWidget *widget,
|
|||||||
/**
|
/**
|
||||||
* st_widget_navigate_focus:
|
* st_widget_navigate_focus:
|
||||||
* @widget: the "top level" container
|
* @widget: the "top level" container
|
||||||
* @from: (allow-none): the actor that the focus is coming from
|
* @from: (nullable): the actor that the focus is coming from
|
||||||
* @direction: the direction focus is moving in
|
* @direction: the direction focus is moving in
|
||||||
* @wrap_around: whether focus should wrap around
|
* @wrap_around: whether focus should wrap around
|
||||||
*
|
*
|
||||||
@@ -2270,7 +2270,7 @@ st_widget_set_label_actor (StWidget *widget,
|
|||||||
/**
|
/**
|
||||||
* st_widget_set_accessible_name:
|
* st_widget_set_accessible_name:
|
||||||
* @widget: widget to set the accessible name for
|
* @widget: widget to set the accessible name for
|
||||||
* @name: (allow-none): a character string to be set as the accessible name
|
* @name: (nullable): a character string to be set as the accessible name
|
||||||
*
|
*
|
||||||
* This method sets @name as the accessible name for @widget.
|
* This method sets @name as the accessible name for @widget.
|
||||||
*
|
*
|
||||||
@@ -2845,8 +2845,8 @@ st_widget_get_focus_chain (StWidget *widget)
|
|||||||
* st_get_align_factors:
|
* st_get_align_factors:
|
||||||
* @x_align: an #StAlign
|
* @x_align: an #StAlign
|
||||||
* @y_align: an #StAlign
|
* @y_align: an #StAlign
|
||||||
* @x_align_out: (out) (allow-none): @x_align as a #gdouble
|
* @x_align_out: (out) (optional): @x_align as a #gdouble
|
||||||
* @y_align_out: (out) (allow-none): @y_align as a #gdouble
|
* @y_align_out: (out) (optional): @y_align as a #gdouble
|
||||||
*
|
*
|
||||||
* Converts @x_align and @y_align to #gdouble values.
|
* Converts @x_align and @y_align to #gdouble values.
|
||||||
*/
|
*/
|
||||||
|
@@ -80,7 +80,7 @@ struct _StWidgetClass
|
|||||||
/**
|
/**
|
||||||
* StWidgetClass::navigate_focus:
|
* StWidgetClass::navigate_focus:
|
||||||
* @self: the "top level" container
|
* @self: the "top level" container
|
||||||
* @from: (allow-none): the actor that the focus is coming from
|
* @from: (nullable): the actor that the focus is coming from
|
||||||
* @direction: the direction focus is moving in
|
* @direction: the direction focus is moving in
|
||||||
*/
|
*/
|
||||||
gboolean (* navigate_focus) (StWidget *self,
|
gboolean (* navigate_focus) (StWidget *self,
|
||||||
|
Reference in New Issue
Block a user