Compare commits
50 Commits
workspace-
...
datetime
Author | SHA1 | Date | |
---|---|---|---|
2be92900b6 | |||
e82cbf3cc8 | |||
0b05280e03 | |||
cd468021e2 | |||
57ebfb596b | |||
8a1313be71 | |||
803e74101c | |||
858e1b7f5b | |||
a922db0398 | |||
bbd2b89df3 | |||
505b9047d7 | |||
dd8716e5d9 | |||
18f2f6f938 | |||
41b0e0832e | |||
374a88366b | |||
a71c82863e | |||
a1440bdec7 | |||
b10458e57a | |||
50c5591ec2 | |||
bce2cf9164 | |||
2f52b87451 | |||
ba5a28023e | |||
0a87e28d1a | |||
d7ad949ecb | |||
fd49fe6915 | |||
c3c34890ce | |||
af68881a94 | |||
0d9095d2d4 | |||
8bc396a7e0 | |||
71851a58e5 | |||
70f50d61e0 | |||
f3ad82442d | |||
6c80a35f8f | |||
a2932250a7 | |||
1d5cce679a | |||
137ea12109 | |||
0b866a620f | |||
397386c761 | |||
f51984b20c | |||
8e9bc6019c | |||
51481bed82 | |||
8dd05f9e7b | |||
b7fe72e74a | |||
7aa3aba0c2 | |||
eb66993447 | |||
7d5b4511cd | |||
3d1063dacb | |||
b4c038c036 | |||
1ca1a2712d | |||
85ec4d86f3 |
configure.ac
data
js
po
src
tools/build
13
configure.ac
13
configure.ac
@ -1,5 +1,5 @@
|
|||||||
AC_PREREQ(2.63)
|
AC_PREREQ(2.63)
|
||||||
AC_INIT([gnome-shell],[2.91.6],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
AC_INIT([gnome-shell],[2.91.5],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||||
@ -68,8 +68,7 @@ GTK_MIN_VERSION=2.91.7
|
|||||||
GIO_MIN_VERSION=2.25.9
|
GIO_MIN_VERSION=2.25.9
|
||||||
LIBECAL_REQUIRED=1.6.0
|
LIBECAL_REQUIRED=1.6.0
|
||||||
LIBEDATASERVER_REQUIRED=1.2.0
|
LIBEDATASERVER_REQUIRED=1.2.0
|
||||||
LIBEDATASERVERUI2_REQUIRED=1.2.0
|
LIBEDATASERVERUI_REQUIRED=1.2.0
|
||||||
LIBEDATASERVERUI3_REQUIRED=2.91.6
|
|
||||||
|
|
||||||
|
|
||||||
# Collect more than 20 libraries for a prize!
|
# Collect more than 20 libraries for a prize!
|
||||||
@ -118,13 +117,7 @@ PKG_CHECK_EXISTS([gnome-bluetooth-1.0 >= 2.90.0],
|
|||||||
AC_SUBST([HAVE_BLUETOOTH],[0])
|
AC_SUBST([HAVE_BLUETOOTH],[0])
|
||||||
AC_MSG_RESULT([no])])
|
AC_MSG_RESULT([no])])
|
||||||
|
|
||||||
# Default to libedataserverui-3.0, but allow falling back to 1.2
|
PKG_CHECK_MODULES(LIBECAL, libecal-1.2 >= $LIBECAL_REQUIRED libedataserver-1.2 >= $LIBEDATASERVER_REQUIRED libedataserverui-1.2 >= $LIBEDATASERVERUI_REQUIRED)
|
||||||
PKG_CHECK_EXISTS(libedataserverui-3.0,
|
|
||||||
[EDS_API=3.0
|
|
||||||
LIBEDATASERVERUI_REQUIRED=$LIBEDATASERVERUI3_REQUIRED],
|
|
||||||
[EDS_API=1.2
|
|
||||||
LIBEDATASERVERUI_REQUIRED=$LIBEDATASERVERUI2_REQUIRED])
|
|
||||||
PKG_CHECK_MODULES(LIBECAL, libecal-1.2 >= $LIBECAL_REQUIRED libedataserver-1.2 >= $LIBEDATASERVER_REQUIRED libedataserverui-$EDS_API >= $LIBEDATASERVERUI_REQUIRED)
|
|
||||||
AC_SUBST(LIBECAL_CFLAGS)
|
AC_SUBST(LIBECAL_CFLAGS)
|
||||||
AC_SUBST(LIBECAL_LIBS)
|
AC_SUBST(LIBECAL_LIBS)
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@ dist_images_DATA = \
|
|||||||
|
|
||||||
themedir = $(pkgdatadir)/theme
|
themedir = $(pkgdatadir)/theme
|
||||||
dist_theme_DATA = \
|
dist_theme_DATA = \
|
||||||
|
theme/add-workspace.svg \
|
||||||
theme/calendar-arrow-left.svg \
|
theme/calendar-arrow-left.svg \
|
||||||
theme/calendar-arrow-right.svg \
|
theme/calendar-arrow-right.svg \
|
||||||
theme/close-window.svg \
|
theme/close-window.svg \
|
||||||
@ -36,6 +37,7 @@ dist_theme_DATA = \
|
|||||||
theme/mosaic-view.svg \
|
theme/mosaic-view.svg \
|
||||||
theme/move-window-on-new.svg \
|
theme/move-window-on-new.svg \
|
||||||
theme/process-working.png \
|
theme/process-working.png \
|
||||||
|
theme/remove-workspace.svg \
|
||||||
theme/running-indicator.svg \
|
theme/running-indicator.svg \
|
||||||
theme/scroll-button-down-hover.png \
|
theme/scroll-button-down-hover.png \
|
||||||
theme/scroll-button-down.png \
|
theme/scroll-button-down.png \
|
||||||
|
98
data/theme/add-workspace.svg
Normal file
98
data/theme/add-workspace.svg
Normal file
@ -0,0 +1,98 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="23"
|
||||||
|
height="15"
|
||||||
|
id="svg6375"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.47pre4 r22446"
|
||||||
|
sodipodi:docname="New document 13">
|
||||||
|
<defs
|
||||||
|
id="defs6377">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 16 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="32 : 16 : 1"
|
||||||
|
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||||
|
id="perspective6383" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective6366"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="11.197802"
|
||||||
|
inkscape:cx="16"
|
||||||
|
inkscape:cy="16"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:window-width="1680"
|
||||||
|
inkscape:window-height="997"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="26"
|
||||||
|
inkscape:window-maximized="1" />
|
||||||
|
<metadata
|
||||||
|
id="metadata6380">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(0,-17)">
|
||||||
|
<g
|
||||||
|
style="display:inline"
|
||||||
|
id="g6243"
|
||||||
|
transform="translate(-986.28859,-658.2796)">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0.98770495;stroke:#666666;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||||
|
id="rect5318"
|
||||||
|
width="22"
|
||||||
|
height="14"
|
||||||
|
x="986.89801"
|
||||||
|
y="675.86743"
|
||||||
|
rx="0.49999979"
|
||||||
|
ry="0.5" />
|
||||||
|
<g
|
||||||
|
id="g5320"
|
||||||
|
transform="translate(402.77304,-12.882544)">
|
||||||
|
<path
|
||||||
|
id="path5322"
|
||||||
|
d="m 595.125,692.53048 0,6.43903"
|
||||||
|
style="fill:none;stroke:#666666;stroke-width:1.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
|
||||||
|
<path
|
||||||
|
id="path5324"
|
||||||
|
d="m 598.34451,695.75 -6.43902,0"
|
||||||
|
style="fill:none;stroke:#666666;stroke-width:1.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After (image error) Size: 3.2 KiB |
@ -260,23 +260,44 @@ StTooltip StLabel {
|
|||||||
spacing: 25px;
|
spacing: 25px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.workspace-indicator-panel {
|
||||||
|
spacing: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-indicator {
|
||||||
|
width: 24px;
|
||||||
|
height: 16px;
|
||||||
|
background: rgba(255,255,255,0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.workspace-indicator.active {
|
||||||
|
background: rgba(255,255,255,0.8);
|
||||||
|
}
|
||||||
|
|
||||||
.workspace-controls {
|
.workspace-controls {
|
||||||
|
width: 48px;
|
||||||
font-size: 32px;
|
font-size: 32px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
border: 1px solid #424242;
|
border: 2px solid rgba(128, 128, 128, 0.4);
|
||||||
border-right: 0px;
|
border-right: 0px;
|
||||||
border-radius: 9px 0px 0px 9px;
|
border-radius: 9px 0px 0px 9px;
|
||||||
background: #071524;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspace-thumbnails {
|
.add-workspace {
|
||||||
spacing: 7px;
|
background-color: rgba(128, 128, 128, 0.4);
|
||||||
padding: 8px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.workspace-thumbnail-indicator {
|
.add-workspace:hover {
|
||||||
outline: 2px solid white;
|
background-color: rgba(128, 128, 128, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove-workspace {
|
||||||
|
height: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove-workspace:hover {
|
||||||
|
background-color: rgba(128, 128, 128, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-caption {
|
.window-caption {
|
||||||
@ -900,10 +921,6 @@ StTooltip StLabel {
|
|||||||
border: 1px solid #a1a1a1;
|
border: 1px solid #a1a1a1;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification-button:focus {
|
|
||||||
background-color: #666666;
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-button:active {
|
.notification-button:active {
|
||||||
border: 1px solid #a1a1a1;
|
border: 1px solid #a1a1a1;
|
||||||
background-color: #2b2b2b;
|
background-color: #2b2b2b;
|
||||||
@ -916,10 +933,6 @@ StTooltip StLabel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.notification-icon-button:hover {
|
.notification-icon-button:hover {
|
||||||
border: 2px rgba(161,161,161,0.7);
|
|
||||||
}
|
|
||||||
|
|
||||||
.notification-icon-button:focus {
|
|
||||||
background: rgba(192,192,192,0.7);
|
background: rgba(192,192,192,0.7);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
92
data/theme/remove-workspace.svg
Normal file
92
data/theme/remove-workspace.svg
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
width="23"
|
||||||
|
height="15"
|
||||||
|
id="svg5501"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.47pre4 r22446"
|
||||||
|
sodipodi:docname="add-workspace.svg">
|
||||||
|
<defs
|
||||||
|
id="defs5503">
|
||||||
|
<inkscape:perspective
|
||||||
|
sodipodi:type="inkscape:persp3d"
|
||||||
|
inkscape:vp_x="0 : 16 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_z="32 : 16 : 1"
|
||||||
|
inkscape:persp3d-origin="16 : 10.666667 : 1"
|
||||||
|
id="perspective5509" />
|
||||||
|
<inkscape:perspective
|
||||||
|
id="perspective5314"
|
||||||
|
inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
|
||||||
|
inkscape:vp_z="1 : 0.5 : 1"
|
||||||
|
inkscape:vp_y="0 : 1000 : 0"
|
||||||
|
inkscape:vp_x="0 : 0.5 : 1"
|
||||||
|
sodipodi:type="inkscape:persp3d" />
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="11.197802"
|
||||||
|
inkscape:cx="-0.074583208"
|
||||||
|
inkscape:cy="16"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:grid-bbox="true"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:window-width="1680"
|
||||||
|
inkscape:window-height="997"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="26"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:snap-grids="true"
|
||||||
|
inkscape:snap-bbox="true" />
|
||||||
|
<metadata
|
||||||
|
id="metadata5506">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title></dc:title>
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="layer1"
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
transform="translate(0,-17)">
|
||||||
|
<g
|
||||||
|
style="display:inline"
|
||||||
|
id="g6239"
|
||||||
|
transform="translate(-953.97989,-657.32287)">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0.98770495;stroke:#666666;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||||
|
id="rect5318-6"
|
||||||
|
width="22"
|
||||||
|
height="14"
|
||||||
|
x="954.5"
|
||||||
|
y="675"
|
||||||
|
rx="0.49999979"
|
||||||
|
ry="0.5" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#666666;stroke-width:1.99999952;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline"
|
||||||
|
d="m 968.71951,682 -6.43902,0"
|
||||||
|
id="path5324-5" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After (image error) Size: 2.9 KiB |
@ -58,7 +58,6 @@ nobase_dist_js_DATA = \
|
|||||||
ui/windowAttentionHandler.js \
|
ui/windowAttentionHandler.js \
|
||||||
ui/windowManager.js \
|
ui/windowManager.js \
|
||||||
ui/workspace.js \
|
ui/workspace.js \
|
||||||
ui/workspaceThumbnail.js \
|
|
||||||
ui/workspacesView.js \
|
ui/workspacesView.js \
|
||||||
ui/workspaceSwitcherPopup.js \
|
ui/workspaceSwitcherPopup.js \
|
||||||
ui/xdndHandler.js
|
ui/xdndHandler.js
|
||||||
|
@ -29,8 +29,8 @@ DocInfo.prototype = {
|
|||||||
return St.TextureCache.get_default().load_recent_thumbnail(size, this.recentInfo);
|
return St.TextureCache.get_default().load_recent_thumbnail(size, this.recentInfo);
|
||||||
},
|
},
|
||||||
|
|
||||||
launch : function(workspaceIndex) {
|
launch : function() {
|
||||||
Shell.DocSystem.get_default().open(this.recentInfo, workspaceIndex);
|
Shell.DocSystem.get_default().open(this.recentInfo);
|
||||||
},
|
},
|
||||||
|
|
||||||
matchTerms: function(terms) {
|
matchTerms: function(terms) {
|
||||||
|
@ -15,7 +15,7 @@ const POPUP_APPICON_SIZE = 96;
|
|||||||
const POPUP_SCROLL_TIME = 0.10; // seconds
|
const POPUP_SCROLL_TIME = 0.10; // seconds
|
||||||
const POPUP_FADE_TIME = 0.1; // seconds
|
const POPUP_FADE_TIME = 0.1; // seconds
|
||||||
|
|
||||||
const APP_ICON_HOVER_TIMEOUT = 200; // milliseconds
|
const APP_ICON_HOVER_TIMEOUT = 750; // milliseconds
|
||||||
|
|
||||||
const DISABLE_HOVER_TIMEOUT = 500; // milliseconds
|
const DISABLE_HOVER_TIMEOUT = 500; // milliseconds
|
||||||
|
|
||||||
|
@ -223,20 +223,14 @@ BaseAppSearchProvider.prototype = {
|
|||||||
'icon': app.create_icon_texture(Search.RESULT_ICON_SIZE)};
|
'icon': app.create_icon_texture(Search.RESULT_ICON_SIZE)};
|
||||||
},
|
},
|
||||||
|
|
||||||
activateResult: function(id, params) {
|
activateResult: function(id) {
|
||||||
params = Params.parse(params, { workspace: null,
|
|
||||||
timestamp: null });
|
|
||||||
|
|
||||||
let app = this._appSys.get_app(id);
|
let app = this._appSys.get_app(id);
|
||||||
app.activate(params.workspace ? params.workspace.index() : -1);
|
app.activate();
|
||||||
},
|
},
|
||||||
|
|
||||||
dragActivateResult: function(id, params) {
|
dragActivateResult: function(id) {
|
||||||
params = Params.parse(params, { workspace: null,
|
|
||||||
timestamp: null });
|
|
||||||
|
|
||||||
let app = this._appSys.get_app(id);
|
let app = this._appSys.get_app(id);
|
||||||
app.open_new_window(params.workspace ? params.workspace.get_index() : -1);
|
app.open_new_window();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -403,7 +397,7 @@ AppWellIcon.prototype = {
|
|||||||
if (newWorkspace != null) {
|
if (newWorkspace != null) {
|
||||||
newWorkspace.activate(global.get_current_time());
|
newWorkspace.activate(global.get_current_time());
|
||||||
this.emit('launching');
|
this.emit('launching');
|
||||||
this.app.open_new_window(-1);
|
this.app.open_new_window();
|
||||||
Main.overview.hide();
|
Main.overview.hide();
|
||||||
}
|
}
|
||||||
} else if (button == 3) {
|
} else if (button == 3) {
|
||||||
@ -491,9 +485,9 @@ AppWellIcon.prototype = {
|
|||||||
|
|
||||||
if (modifiers & Clutter.ModifierType.CONTROL_MASK
|
if (modifiers & Clutter.ModifierType.CONTROL_MASK
|
||||||
&& this.app.state == Shell.AppState.RUNNING) {
|
&& this.app.state == Shell.AppState.RUNNING) {
|
||||||
this.app.open_new_window(-1);
|
this.app.open_new_window();
|
||||||
} else {
|
} else {
|
||||||
this.app.activate(-1);
|
this.app.activate();
|
||||||
}
|
}
|
||||||
Main.overview.hide();
|
Main.overview.hide();
|
||||||
},
|
},
|
||||||
@ -503,11 +497,8 @@ AppWellIcon.prototype = {
|
|||||||
return this._menu.menuEventFilter(event);
|
return this._menu.menuEventFilter(event);
|
||||||
},
|
},
|
||||||
|
|
||||||
shellWorkspaceLaunch : function(params) {
|
shellWorkspaceLaunch : function() {
|
||||||
params = Params.parse(params, { workspace: null,
|
this.app.open_new_window();
|
||||||
timestamp: null });
|
|
||||||
|
|
||||||
this.app.open_new_window(params.workspace ? params.workspace.index() : -1);
|
|
||||||
},
|
},
|
||||||
|
|
||||||
getDragActor: function() {
|
getDragActor: function() {
|
||||||
@ -639,7 +630,7 @@ AppIconMenu.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_findMetaWindowForActor: function (actor) {
|
_findMetaWindowForActor: function (actor) {
|
||||||
if (actor._delegate.metaWindow)
|
if (actor._delegate instanceof Workspace.WindowClone)
|
||||||
return actor._delegate.metaWindow;
|
return actor._delegate.metaWindow;
|
||||||
else if (actor.get_meta_window)
|
else if (actor.get_meta_window)
|
||||||
return actor.get_meta_window();
|
return actor.get_meta_window();
|
||||||
@ -676,7 +667,7 @@ AppIconMenu.prototype = {
|
|||||||
let metaWindow = child._window;
|
let metaWindow = child._window;
|
||||||
this.emit('activate-window', metaWindow);
|
this.emit('activate-window', metaWindow);
|
||||||
} else if (child == this._newWindowMenuItem) {
|
} else if (child == this._newWindowMenuItem) {
|
||||||
this._source.app.open_new_window(-1);
|
this._source.app.open_new_window();
|
||||||
this.emit('activate-window', null);
|
this.emit('activate-window', null);
|
||||||
} else if (child == this._toggleFavoriteMenuItem) {
|
} else if (child == this._toggleFavoriteMenuItem) {
|
||||||
let favs = AppFavorites.getAppFavorites();
|
let favs = AppFavorites.getAppFavorites();
|
||||||
|
@ -27,7 +27,6 @@ BoxPointer.prototype = {
|
|||||||
_init: function(arrowSide, binProperties) {
|
_init: function(arrowSide, binProperties) {
|
||||||
this._arrowSide = arrowSide;
|
this._arrowSide = arrowSide;
|
||||||
this._arrowOrigin = 0;
|
this._arrowOrigin = 0;
|
||||||
this._arrowCorner = null;
|
|
||||||
this.actor = new St.Bin({ x_fill: true,
|
this.actor = new St.Bin({ x_fill: true,
|
||||||
y_fill: true });
|
y_fill: true });
|
||||||
this._container = new Shell.GenericContainer();
|
this._container = new Shell.GenericContainer();
|
||||||
@ -213,140 +212,47 @@ BoxPointer.prototype = {
|
|||||||
cr.translate(rise, 0);
|
cr.translate(rise, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
let [x1, y1] = [halfBorder, halfBorder];
|
cr.moveTo(borderRadius, halfBorder);
|
||||||
let [x2, y2] = [boxWidth - halfBorder, boxHeight - halfBorder];
|
|
||||||
|
|
||||||
cr.moveTo(x1 + borderRadius, y1);
|
|
||||||
if (this._arrowSide == St.Side.TOP) {
|
if (this._arrowSide == St.Side.TOP) {
|
||||||
if (this._arrowCorner == St.Corner.TOPLEFT) {
|
cr.lineTo(this._arrowOrigin - halfBase, halfBorder);
|
||||||
cr.moveTo(x1, y1);
|
cr.lineTo(this._arrowOrigin, halfBorder - rise);
|
||||||
cr.lineTo(x1, y1 - rise);
|
cr.lineTo(this._arrowOrigin + halfBase, halfBorder);
|
||||||
cr.lineTo(x1 + halfBase, y1);
|
}
|
||||||
cr.lineTo(x2 - borderRadius, y1);
|
cr.lineTo(boxWidth - borderRadius, halfBorder);
|
||||||
} else if (this._arrowCorner == St.Corner.TOPRIGHT) {
|
|
||||||
cr.lineTo(x2 - halfBase, y1);
|
|
||||||
cr.lineTo(x2, y1 - rise);
|
|
||||||
} else if (this._arrowOrigin < (x1 + (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(this._arrowOrigin, y1);
|
|
||||||
cr.lineTo(this._arrowOrigin, y1 - rise);
|
|
||||||
cr.lineTo(this._arrowOrigin + halfBase, y1);
|
|
||||||
cr.lineTo(x2 - borderRadius, y1);
|
|
||||||
} else if (this._arrowOrigin > (x2 - (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(this._arrowOrigin - halfBase, y1);
|
|
||||||
cr.lineTo(this._arrowOrigin, y1 - rise);
|
|
||||||
cr.lineTo(this._arrowOrigin, y1);
|
|
||||||
cr.lineTo(x2 - borderRadius, y1);
|
|
||||||
} else {
|
|
||||||
cr.lineTo(this._arrowOrigin - halfBase, y1);
|
|
||||||
cr.lineTo(this._arrowOrigin, y1 - rise);
|
|
||||||
cr.lineTo(this._arrowOrigin + halfBase, y1);
|
|
||||||
cr.lineTo(x2 - borderRadius, y1);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
cr.lineTo(x2 - borderRadius, y1);
|
|
||||||
|
|
||||||
// top-right corner
|
cr.arc(boxWidth - borderRadius - halfBorder, borderRadius + halfBorder, borderRadius,
|
||||||
if (this._arrowCorner != St.Corner.TOPRIGHT)
|
3*Math.PI/2, Math.PI*2);
|
||||||
cr.arc(x2 - borderRadius, y1 + borderRadius, borderRadius,
|
|
||||||
3*Math.PI/2, Math.PI*2);
|
|
||||||
|
|
||||||
if (this._arrowSide == St.Side.RIGHT) {
|
if (this._arrowSide == St.Side.RIGHT) {
|
||||||
if (this._arrowCorner == St.Corner.TOPRIGHT) {
|
cr.lineTo(boxWidth - halfBorder, this._arrowOrigin - halfBase);
|
||||||
cr.lineTo(x2, y1);
|
cr.lineTo(boxWidth - halfBorder + rise, this._arrowOrigin);
|
||||||
cr.lineTo(x2 + rise, y1);
|
cr.lineTo(boxWidth - halfBorder, this._arrowOrigin + halfBase);
|
||||||
cr.lineTo(x2, y1 + halfBase);
|
}
|
||||||
cr.lineTo(x2, y2 - borderRadius);
|
cr.lineTo(boxWidth - halfBorder, boxHeight - borderRadius);
|
||||||
} else if (this._arrowCorner == St.Corner.BOTTOMRIGHT) {
|
|
||||||
cr.moveTo(x2, y2 - halfBase);
|
|
||||||
cr.lineTo(x2 + rise, y2);
|
|
||||||
} else if (this._arrowOrigin < (y1 + (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(x2, this._arrowOrigin);
|
|
||||||
cr.lineTo(x2 + rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x2, this._arrowOrigin + halfBase);
|
|
||||||
cr.lineTo(x2, y2 - borderRadius);
|
|
||||||
} else if (this._arrowOrigin > (y2 - (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(x2, this._arrowOrigin - halfBase);
|
|
||||||
cr.lineTo(x2 + rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x2, this._arrowOrigin);
|
|
||||||
cr.lineTo(x2, y2 - borderRadius);
|
|
||||||
} else {
|
|
||||||
cr.lineTo(x2, this._arrowOrigin - halfBase);
|
|
||||||
cr.lineTo(x2 + rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x2, this._arrowOrigin + halfBase);
|
|
||||||
cr.lineTo(x2, y2 - borderRadius);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
cr.lineTo(x2, y2 - borderRadius);
|
|
||||||
|
|
||||||
// bottom-right corner
|
cr.arc(boxWidth - borderRadius - halfBorder, boxHeight - borderRadius - halfBorder, borderRadius,
|
||||||
if (this._arrowCorner != St.Corner.BOTTOMRIGHT)
|
0, Math.PI/2);
|
||||||
cr.arc(x2 - borderRadius, y2 - borderRadius, borderRadius,
|
|
||||||
0, Math.PI/2);
|
|
||||||
|
|
||||||
if (this._arrowSide == St.Side.BOTTOM) {
|
if (this._arrowSide == St.Side.BOTTOM) {
|
||||||
if (this._arrowCorner == St.Corner.BOTTOMLEFT) {
|
cr.lineTo(this._arrowOrigin + halfBase, boxHeight - halfBorder);
|
||||||
cr.lineTo(x1 + halfBase, y2);
|
cr.lineTo(this._arrowOrigin, boxHeight - halfBorder + rise);
|
||||||
cr.lineTo(x1, y2 + rise);
|
cr.lineTo(this._arrowOrigin - halfBase, boxHeight - halfBorder);
|
||||||
} else if (this._arrowCorner == St.Corner.BOTTOMRIGHT) {
|
}
|
||||||
cr.lineTo(x2, y2 + rise);
|
cr.lineTo(borderRadius, boxHeight - halfBorder);
|
||||||
cr.lineTo(x2 - halfBase, y2);
|
|
||||||
cr.lineTo(x1 + borderRadius, y2);
|
|
||||||
} else if (this._arrowOrigin < (x1 + (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(this._arrowOrigin + halfBase, y2);
|
|
||||||
cr.lineTo(this._arrowOrigin, y2 + rise);
|
|
||||||
cr.lineTo(this._arrowOrigin, y2);
|
|
||||||
cr.lineTo(x1 + borderRadius, y2);
|
|
||||||
} else if (this._arrowOrigin > (x2 - (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(this._arrowOrigin, y2);
|
|
||||||
cr.lineTo(this._arrowOrigin, y2 + rise);
|
|
||||||
cr.lineTo(this._arrowOrigin - halfBase, y2);
|
|
||||||
cr.lineTo(x1 + borderRadius, y2);
|
|
||||||
} else {
|
|
||||||
cr.lineTo(this._arrowOrigin + halfBase, y2);
|
|
||||||
cr.lineTo(this._arrowOrigin, y2 + rise);
|
|
||||||
cr.lineTo(this._arrowOrigin - halfBase, y2);
|
|
||||||
cr.lineTo(x1 + borderRadius, y2);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
cr.lineTo(x1 + borderRadius, y2);
|
|
||||||
|
|
||||||
// bottom-left corner
|
cr.arc(borderRadius + halfBorder, boxHeight - borderRadius - halfBorder, borderRadius,
|
||||||
if (this._arrowCorner != St.Corner.BOTTOMLEFT)
|
Math.PI/2, Math.PI);
|
||||||
cr.arc(x1 + borderRadius, y2 - borderRadius, borderRadius,
|
|
||||||
Math.PI/2, Math.PI);
|
|
||||||
|
|
||||||
if (this._arrowSide == St.Side.LEFT) {
|
if (this._arrowSide == St.Side.LEFT) {
|
||||||
if (this._arrowCorner == St.Corner.TOPLEFT) {
|
cr.lineTo(halfBorder, this._arrowOrigin + halfBase);
|
||||||
cr.lineTo(x2, y1 + halfBase);
|
cr.lineTo(halfBorder - rise, this._arrowOrigin);
|
||||||
cr.lineTo(x1 - rise, y1);
|
cr.lineTo(halfBorder, this._arrowOrigin - halfBase);
|
||||||
} else if (this._arrowCorner == St.Corner.BOTTOMLEFT) {
|
}
|
||||||
cr.lineTo(x1 + rise, y2);
|
cr.lineTo(halfBorder, borderRadius);
|
||||||
cr.moveTo(x1, y2 - halfBase);
|
|
||||||
} else if (this._arrowOrigin < (y1 + (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(x1, this._arrowOrigin + halfBase);
|
|
||||||
cr.lineTo(x1 - rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x1, this._arrowOrigin);
|
|
||||||
cr.lineTo(x1, y1 + borderRadius);
|
|
||||||
} else if (this._arrowOrigin > (y2 - (borderRadius + halfBase))) {
|
|
||||||
cr.lineTo(x1, this._arrowOrigin);
|
|
||||||
cr.lineTo(x1 - rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x1, this._arrowOrigin - halfBase);
|
|
||||||
cr.lineTo(x1, y1 + borderRadius);
|
|
||||||
} else {
|
|
||||||
cr.lineTo(x1, this._arrowOrigin + halfBase);
|
|
||||||
cr.lineTo(x1 - rise, this._arrowOrigin);
|
|
||||||
cr.lineTo(x1, this._arrowOrigin - halfBase);
|
|
||||||
cr.lineTo(x1, y1 + borderRadius);
|
|
||||||
}
|
|
||||||
} else
|
|
||||||
cr.lineTo(x1, y1 + borderRadius);
|
|
||||||
|
|
||||||
// top-left corner
|
cr.arc(borderRadius + halfBorder, borderRadius + halfBorder, borderRadius,
|
||||||
if (this._arrowCorner != St.Corner.TOPLEFT)
|
Math.PI, 3*Math.PI/2);
|
||||||
cr.arc(x1 + borderRadius, y1 + borderRadius, borderRadius,
|
|
||||||
Math.PI, 3*Math.PI/2);
|
|
||||||
else
|
|
||||||
cr.lineTo(x1, y1);
|
|
||||||
|
|
||||||
Clutter.cairo_set_source_color(cr, backgroundColor);
|
Clutter.cairo_set_source_color(cr, backgroundColor);
|
||||||
cr.fillPreserve();
|
cr.fillPreserve();
|
||||||
@ -363,7 +269,7 @@ BoxPointer.prototype = {
|
|||||||
// Position correctly relative to the sourceActor
|
// Position correctly relative to the sourceActor
|
||||||
let [sourceX, sourceY] = sourceActor.get_transformed_position();
|
let [sourceX, sourceY] = sourceActor.get_transformed_position();
|
||||||
let [sourceWidth, sourceHeight] = sourceActor.get_transformed_size();
|
let [sourceWidth, sourceHeight] = sourceActor.get_transformed_size();
|
||||||
let [sourceCenterX, sourceCenterY] = [sourceX + (sourceWidth / 2), sourceY + (sourceHeight / 2)];
|
|
||||||
let [minWidth, minHeight, natWidth, natHeight] = this.actor.get_preferred_size();
|
let [minWidth, minHeight, natWidth, natHeight] = this.actor.get_preferred_size();
|
||||||
|
|
||||||
// We also want to keep it onscreen, and separated from the
|
// We also want to keep it onscreen, and separated from the
|
||||||
@ -371,14 +277,10 @@ BoxPointer.prototype = {
|
|||||||
// separated from its sourceActor
|
// separated from its sourceActor
|
||||||
let primary = global.get_primary_monitor();
|
let primary = global.get_primary_monitor();
|
||||||
let themeNode = this.actor.get_theme_node();
|
let themeNode = this.actor.get_theme_node();
|
||||||
let halfBorder = themeNode.get_length('-arrow-border-width') / 2;
|
let arrowRise = themeNode.get_length('-arrow-rise');
|
||||||
let halfBase = themeNode.get_length('-arrow-base') / 2;
|
|
||||||
let borderRadius = themeNode.get_length('-arrow-border-radius');
|
let borderRadius = themeNode.get_length('-arrow-border-radius');
|
||||||
|
|
||||||
let margin = 2 * borderRadius + halfBorder;
|
|
||||||
|
|
||||||
let resX, resY;
|
let resX, resY;
|
||||||
this._arrowCorner = null;
|
|
||||||
|
|
||||||
switch (this._arrowSide) {
|
switch (this._arrowSide) {
|
||||||
case St.Side.TOP:
|
case St.Side.TOP:
|
||||||
@ -402,58 +304,40 @@ BoxPointer.prototype = {
|
|||||||
case St.Side.BOTTOM:
|
case St.Side.BOTTOM:
|
||||||
switch (alignment) {
|
switch (alignment) {
|
||||||
case St.Align.START:
|
case St.Align.START:
|
||||||
resX = sourceCenterX - (halfBase + borderRadius + halfBorder);
|
resX = sourceX - 2 * borderRadius;
|
||||||
break;
|
break;
|
||||||
case St.Align.MIDDLE:
|
case St.Align.MIDDLE:
|
||||||
resX = sourceCenterX - (natWidth / 2);
|
resX = sourceX - Math.floor((natWidth - sourceWidth) / 2);
|
||||||
break;
|
break;
|
||||||
case St.Align.END:
|
case St.Align.END:
|
||||||
resX = sourceCenterX - natWidth + (halfBase + borderRadius + halfBorder);
|
resX = sourceX - (natWidth - sourceWidth) + 2 * borderRadius;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (sourceCenterX < margin) {
|
|
||||||
// Not enough space to the top
|
|
||||||
this._arrowCorner = (this._arrowSide == St.Side.TOP) ? St.Corner.TOPLEFT : St.Corner.BOTTOMLEFT;
|
|
||||||
resX = primary.x + 10;
|
|
||||||
} else if (sourceCenterX > (primary.x + primary.width - margin)) {
|
|
||||||
// Not enough space to the botom
|
|
||||||
this._arrowCorner = (this._arrowSide == St.Side.TOP) ? St.Corner.TOPRIGHT : St.Corner.BOTTOMRIGHT;
|
|
||||||
resX = primary.x + primary.width - (10 + natWidth);
|
|
||||||
}
|
|
||||||
|
|
||||||
resX = Math.max(resX, primary.x + 10);
|
resX = Math.min(resX, primary.x + primary.width - natWidth - arrowRise - gap);
|
||||||
resX = Math.min(resX, primary.x + primary.width - (10 + natWidth));
|
resX = Math.max(resX, primary.x);
|
||||||
this.setArrowOrigin(sourceCenterX - resX);
|
|
||||||
|
this.setArrowOrigin((sourceX - resX) + Math.floor(sourceWidth / 2));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case St.Side.LEFT:
|
case St.Side.LEFT:
|
||||||
case St.Side.RIGHT:
|
case St.Side.RIGHT:
|
||||||
switch (alignment) {
|
switch (alignment) {
|
||||||
case St.Align.START:
|
case St.Align.START:
|
||||||
resY = sourceCenterY - (halfBase + borderRadius + halfBorder);
|
resY = sourceY - 2 * borderRadius;
|
||||||
break;
|
break;
|
||||||
case St.Align.MIDDLE:
|
case St.Align.MIDDLE:
|
||||||
resY = sourceCenterY - (natHeight / 2);
|
resY = sourceY - Math.floor((natHeight - sourceHeight) / 2);
|
||||||
break;
|
break;
|
||||||
case St.Align.END:
|
case St.Align.END:
|
||||||
resY = sourceCenterY - natHeight + (halfBase + borderRadius + halfBorder);
|
resY = sourceY - (natHeight - sourceHeight) + 2 * borderRadius;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (sourceCenterY < margin) {
|
|
||||||
// Not enough space to the left
|
|
||||||
this._arrowCorner = (this._arrowSide == St.Side.LEFT) ? St.Corner.TOPLEFT : St.Corner.TORIGHT;
|
|
||||||
resY = 10;
|
|
||||||
}
|
|
||||||
else if (sourceCenterY > (primary.y + primary.height - margin)) {
|
|
||||||
// Not enough space to the right
|
|
||||||
this._arrowCorner = (this._arrowSide == St.Side.LEFT) ? St.Corner.BOTTOMLEFT : St.Corner.BOTTOMRIGHT;
|
|
||||||
resY = primary.y + primary.height - (10 + natHeight);
|
|
||||||
}
|
|
||||||
|
|
||||||
resY = Math.max(resY, primary.y + 10);
|
resY = Math.min(resY, primary.y + primary.height - natHeight - arrowRise - gap);
|
||||||
resY = Math.min(resY, primary.y + primary.height - (10 + natHeight));
|
resY = Math.max(resY, primary.y);
|
||||||
|
|
||||||
this.setArrowOrigin(sourceCenterY - resY);
|
this.setArrowOrigin((sourceY - resY) + Math.floor(sourceHeight / 2));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -488,45 +488,23 @@ Calendar.prototype = {
|
|||||||
|
|
||||||
_onPrevMonthButtonClicked: function() {
|
_onPrevMonthButtonClicked: function() {
|
||||||
let newDate = new Date(this._selectedDate);
|
let newDate = new Date(this._selectedDate);
|
||||||
let oldMonth = newDate.getMonth();
|
if (newDate.getMonth() == 0) {
|
||||||
if (oldMonth == 0) {
|
|
||||||
newDate.setMonth(11);
|
newDate.setMonth(11);
|
||||||
newDate.setFullYear(newDate.getFullYear() - 1);
|
newDate.setFullYear(newDate.getFullYear() - 1);
|
||||||
if (newDate.getMonth() != 11) {
|
} else {
|
||||||
let day = 32 - new Date(newDate.getFullYear() - 1, 11, 32).getDate();
|
newDate.setMonth(newDate.getMonth() - 1);
|
||||||
newDate = new Date(newDate.getFullYear() - 1, 11, day);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
newDate.setMonth(oldMonth - 1);
|
|
||||||
if (newDate.getMonth() != oldMonth - 1) {
|
|
||||||
let day = 32 - new Date(newDate.getFullYear(), oldMonth - 1, 32).getDate();
|
|
||||||
newDate = new Date(newDate.getFullYear(), oldMonth - 1, day);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setDate(newDate);
|
this.setDate(newDate);
|
||||||
},
|
},
|
||||||
|
|
||||||
_onNextMonthButtonClicked: function() {
|
_onNextMonthButtonClicked: function() {
|
||||||
let newDate = new Date(this._selectedDate);
|
let newDate = new Date(this._selectedDate);
|
||||||
let oldMonth = newDate.getMonth();
|
if (newDate.getMonth() == 11) {
|
||||||
if (oldMonth == 11) {
|
|
||||||
newDate.setMonth(0);
|
newDate.setMonth(0);
|
||||||
newDate.setFullYear(newDate.getFullYear() + 1);
|
newDate.setFullYear(newDate.getFullYear() + 1);
|
||||||
if (newDate.getMonth() != 0) {
|
} else {
|
||||||
let day = 32 - new Date(newDate.getFullYear() + 1, 0, 32).getDate();
|
newDate.setMonth(newDate.getMonth() + 1);
|
||||||
newDate = new Date(newDate.getFullYear() + 1, 0, day);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
newDate.setMonth(oldMonth + 1);
|
|
||||||
if (newDate.getMonth() != oldMonth + 1) {
|
|
||||||
let day = 32 - new Date(newDate.getFullYear(), oldMonth + 1, 32).getDate();
|
|
||||||
newDate = new Date(newDate.getFullYear(), oldMonth + 1, day);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setDate(newDate);
|
this.setDate(newDate);
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -578,7 +556,7 @@ Calendar.prototype = {
|
|||||||
// Hack used in lieu of border-collapse - see gnome-shell.css
|
// Hack used in lieu of border-collapse - see gnome-shell.css
|
||||||
if (row == 2)
|
if (row == 2)
|
||||||
styleClass = 'calendar-day-top ' + styleClass;
|
styleClass = 'calendar-day-top ' + styleClass;
|
||||||
if (iter.getDay() == this._weekStart)
|
if (iter.getDay() == 0)
|
||||||
styleClass = 'calendar-day-left ' + styleClass;
|
styleClass = 'calendar-day-left ' + styleClass;
|
||||||
|
|
||||||
if (_sameDay(now, iter))
|
if (_sameDay(now, iter))
|
||||||
@ -633,18 +611,6 @@ EventsList.prototype = {
|
|||||||
this._eventSource.connect('changed', Lang.bind(this, this._update));
|
this._eventSource.connect('changed', Lang.bind(this, this._update));
|
||||||
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));
|
||||||
let weekStartString = Gettext_gtk30.gettext('calendar:week_start:0');
|
|
||||||
if (weekStartString.indexOf('calendar:week_start:') == 0) {
|
|
||||||
this._weekStart = parseInt(weekStartString.substring(20));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isNaN(this._weekStart) ||
|
|
||||||
this._weekStart < 0 ||
|
|
||||||
this._weekStart > 6) {
|
|
||||||
log('Translation of "calendar:week_start:0" in GTK+ is not correct');
|
|
||||||
this._weekStart = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._update();
|
this._update();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -726,21 +692,19 @@ EventsList.prototype = {
|
|||||||
let tomorrowEnd = new Date(dayEnd.getTime() + 86400 * 1000);
|
let tomorrowEnd = new Date(dayEnd.getTime() + 86400 * 1000);
|
||||||
this._addPeriod(_("Tomorrow"), tomorrowBegin, tomorrowEnd, false, true);
|
this._addPeriod(_("Tomorrow"), tomorrowBegin, tomorrowEnd, false, true);
|
||||||
|
|
||||||
if (dayEnd.getDay() <= 4 + this._weekStart) {
|
if (dayEnd.getDay() <= 4) {
|
||||||
/* If now is within the first 5 days we show "This week" and
|
/* if now is Sunday through Thursday show "This week" and include events up until
|
||||||
* include events up until and including Saturday/Sunday
|
* and including Saturday
|
||||||
* (depending on whether a week starts on Sunday/Monday).
|
|
||||||
*/
|
*/
|
||||||
let thisWeekBegin = new Date(dayBegin.getTime() + 2 * 86400 * 1000);
|
let thisWeekBegin = new Date(dayBegin.getTime() + 2 * 86400 * 1000);
|
||||||
let thisWeekEnd = new Date(dayEnd.getTime() + (6 + this._weekStart - dayEnd.getDay()) * 86400 * 1000);
|
let thisWeekEnd = new Date(dayEnd.getTime() + (6 - dayEnd.getDay()) * 86400 * 1000);
|
||||||
this._addPeriod(_("This week"), thisWeekBegin, thisWeekEnd, true, false);
|
this._addPeriod(_("This week"), thisWeekBegin, thisWeekEnd, true, false);
|
||||||
} else {
|
} else {
|
||||||
/* otherwise it's one of the two last days of the week ... show
|
/* otherwise it's a Friday or Saturday... show "Next week" and include events up
|
||||||
* "Next week" and include events up until and including *next*
|
* until and including *next* Saturday
|
||||||
* Saturday/Sunday
|
|
||||||
*/
|
*/
|
||||||
let nextWeekBegin = new Date(dayBegin.getTime() + 2 * 86400 * 1000);
|
let nextWeekBegin = new Date(dayBegin.getTime() + 2 * 86400 * 1000);
|
||||||
let nextWeekEnd = new Date(dayEnd.getTime() + (13 + this._weekStart - dayEnd.getDay()) * 86400 * 1000);
|
let nextWeekEnd = new Date(dayEnd.getTime() + (13 - dayEnd.getDay()) * 86400 * 1000);
|
||||||
this._addPeriod(_("Next week"), nextWeekBegin, nextWeekEnd, true, false);
|
this._addPeriod(_("Next week"), nextWeekBegin, nextWeekEnd, true, false);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -54,7 +54,7 @@ RemoveFavoriteIcon.prototype = {
|
|||||||
if (source instanceof AppDisplay.AppWellIcon) {
|
if (source instanceof AppDisplay.AppWellIcon) {
|
||||||
let appSystem = Shell.AppSystem.get_default();
|
let appSystem = Shell.AppSystem.get_default();
|
||||||
app = appSystem.get_app(source.getId());
|
app = appSystem.get_app(source.getId());
|
||||||
} else if (source.metaWindow) {
|
} else if (source instanceof Workspace.WindowClone) {
|
||||||
let tracker = Shell.WindowTracker.get_default();
|
let tracker = Shell.WindowTracker.get_default();
|
||||||
app = tracker.get_window_app(source.metaWindow);
|
app = tracker.get_window_app(source.metaWindow);
|
||||||
}
|
}
|
||||||
@ -148,7 +148,7 @@ Dash.prototype = {
|
|||||||
let app = null;
|
let app = null;
|
||||||
if (dragEvent.source instanceof AppDisplay.AppWellIcon)
|
if (dragEvent.source instanceof AppDisplay.AppWellIcon)
|
||||||
app = this._appSystem.get_app(dragEvent.source.getId());
|
app = this._appSystem.get_app(dragEvent.source.getId());
|
||||||
else if (dragEvent.source.metaWindow)
|
else if (dragEvent.source instanceof Workspace.WindowClone)
|
||||||
app = this._tracker.get_window_app(dragEvent.source.metaWindow);
|
app = this._tracker.get_window_app(dragEvent.source.metaWindow);
|
||||||
else
|
else
|
||||||
return DND.DragMotionResult.CONTINUE;
|
return DND.DragMotionResult.CONTINUE;
|
||||||
@ -206,7 +206,7 @@ Dash.prototype = {
|
|||||||
|
|
||||||
_redisplay: function () {
|
_redisplay: function () {
|
||||||
this._box.hide();
|
this._box.hide();
|
||||||
this._box.destroy_children();
|
this._box.remove_all();
|
||||||
|
|
||||||
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
|
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
|
||||||
|
|
||||||
@ -265,7 +265,7 @@ Dash.prototype = {
|
|||||||
let app = null;
|
let app = null;
|
||||||
if (source instanceof AppDisplay.AppWellIcon)
|
if (source instanceof AppDisplay.AppWellIcon)
|
||||||
app = this._appSystem.get_app(source.getId());
|
app = this._appSystem.get_app(source.getId());
|
||||||
else if (source.metaWindow)
|
else if (source instanceof Workspace.WindowClone)
|
||||||
app = this._tracker.get_window_app(source.metaWindow);
|
app = this._tracker.get_window_app(source.metaWindow);
|
||||||
|
|
||||||
// Don't allow favoriting of transient apps
|
// Don't allow favoriting of transient apps
|
||||||
@ -316,7 +316,7 @@ Dash.prototype = {
|
|||||||
let app = null;
|
let app = null;
|
||||||
if (source instanceof AppDisplay.AppWellIcon) {
|
if (source instanceof AppDisplay.AppWellIcon) {
|
||||||
app = this._appSystem.get_app(source.getId());
|
app = this._appSystem.get_app(source.getId());
|
||||||
} else if (source.metaWindow) {
|
} else if (source instanceof Workspace.WindowClone) {
|
||||||
app = this._tracker.get_window_app(source.metaWindow);
|
app = this._tracker.get_window_app(source.metaWindow);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,7 +100,7 @@ DateMenuButton.prototype = {
|
|||||||
hbox.add(item);
|
hbox.add(item);
|
||||||
|
|
||||||
// Fill up the second column
|
// Fill up the second column
|
||||||
|
//
|
||||||
vbox = new St.BoxLayout({vertical: true});
|
vbox = new St.BoxLayout({vertical: true});
|
||||||
hbox.add(vbox);
|
hbox.add(vbox);
|
||||||
|
|
||||||
|
46
js/ui/dnd.js
46
js/ui/dnd.js
@ -101,12 +101,6 @@ _Draggable.prototype = {
|
|||||||
this._dragInProgress = false; // The drag has been started, and has not been dropped or cancelled yet.
|
this._dragInProgress = false; // The drag has been started, and has not been dropped or cancelled yet.
|
||||||
this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting).
|
this._animationInProgress = false; // The drag is over and the item is in the process of animating to its original position (snapping back or reverting).
|
||||||
|
|
||||||
// During the drag, we eat enter/leave events so that actors don't prelight or show
|
|
||||||
// tooltips. But we remember the relevant events (first leave, last enter) so we can
|
|
||||||
// fix up the hover state after the drag ends.
|
|
||||||
this._firstLeaveEvent = null;
|
|
||||||
this._lastEnterEvent = null;
|
|
||||||
|
|
||||||
this._eventsGrabbed = false;
|
this._eventsGrabbed = false;
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -204,11 +198,6 @@ _Draggable.prototype = {
|
|||||||
this._cancelDrag(event.get_time());
|
this._cancelDrag(event.get_time());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (event.type() == Clutter.EventType.LEAVE) {
|
|
||||||
if (this._firstLeaveEvent == null)
|
|
||||||
this._firstLeaveEvent = event;
|
|
||||||
} else if (event.type() == Clutter.EventType.ENTER) {
|
|
||||||
this._lastEnterEvent = event;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
@ -496,7 +485,7 @@ _Draggable.prototype = {
|
|||||||
if (this._actorDestroyed) {
|
if (this._actorDestroyed) {
|
||||||
global.unset_cursor();
|
global.unset_cursor();
|
||||||
if (!this._buttonDown)
|
if (!this._buttonDown)
|
||||||
this._dragComplete();
|
this._ungrabEvents();
|
||||||
this.emit('drag-end', eventTime, false);
|
this.emit('drag-end', eventTime, false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -553,41 +542,12 @@ _Draggable.prototype = {
|
|||||||
this._dragComplete();
|
this._dragComplete();
|
||||||
},
|
},
|
||||||
|
|
||||||
// Actor is an actor we might have entered or left during the drag; call
|
|
||||||
// st_widget_sync_hover on all StWidget ancestors
|
|
||||||
_syncHover: function(actor) {
|
|
||||||
// If the actor was reparented from its original location and
|
|
||||||
// destroyed, then start syncing hover at the original parent
|
|
||||||
if (actor == this._dragActor && this._actorDestroyed)
|
|
||||||
actor = this._dragOrigParent;
|
|
||||||
|
|
||||||
while (actor) {
|
|
||||||
let parent = actor.get_parent();
|
|
||||||
if (actor instanceof St.Widget)
|
|
||||||
actor.sync_hover();
|
|
||||||
|
|
||||||
actor = parent;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_dragComplete: function() {
|
_dragComplete: function() {
|
||||||
if (!this._actorDestroyed)
|
Shell.util_set_hidden_from_pick(this._dragActor, false);
|
||||||
Shell.util_set_hidden_from_pick(this._dragActor, false);
|
|
||||||
|
|
||||||
this._ungrabEvents();
|
|
||||||
|
|
||||||
if (this._firstLeaveEvent) {
|
|
||||||
this._syncHover(this._firstLeaveEvent.get_source());
|
|
||||||
this._firstLeaveEvent = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this._lastEnterEvent) {
|
|
||||||
this._syncHover(this._lastEnterEvent.get_source());
|
|
||||||
this._lastEnterEvent = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this._dragActor = undefined;
|
this._dragActor = undefined;
|
||||||
currentDraggable = null;
|
currentDraggable = null;
|
||||||
|
this._ungrabEvents();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -4,7 +4,6 @@ const Gettext = imports.gettext.domain('gnome-shell');
|
|||||||
const _ = Gettext.gettext;
|
const _ = Gettext.gettext;
|
||||||
|
|
||||||
const DocInfo = imports.misc.docInfo;
|
const DocInfo = imports.misc.docInfo;
|
||||||
const Params = imports.misc.params;
|
|
||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
|
|
||||||
|
|
||||||
@ -29,12 +28,9 @@ DocSearchProvider.prototype = {
|
|||||||
'icon': docInfo.createIcon(Search.RESULT_ICON_SIZE)};
|
'icon': docInfo.createIcon(Search.RESULT_ICON_SIZE)};
|
||||||
},
|
},
|
||||||
|
|
||||||
activateResult: function(id, params) {
|
activateResult: function(id) {
|
||||||
params = Params.parse(params, { workspace: null,
|
|
||||||
timestamp: null });
|
|
||||||
|
|
||||||
let docInfo = this._docManager.lookupByUri(id);
|
let docInfo = this._docManager.lookupByUri(id);
|
||||||
docInfo.launch(params.workspace ? params.workspace.index() : -1);
|
docInfo.launch();
|
||||||
},
|
},
|
||||||
|
|
||||||
getInitialResultSet: function(terms) {
|
getInitialResultSet: function(terms) {
|
||||||
|
@ -171,7 +171,7 @@ ListItem.prototype = {
|
|||||||
|
|
||||||
_onClicked: function() {
|
_onClicked: function() {
|
||||||
this.emit('activate');
|
this.emit('activate');
|
||||||
this._app.activate(-1);
|
this._app.activate();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Signals.addSignalMethods(ListItem.prototype);
|
Signals.addSignalMethods(ListItem.prototype);
|
||||||
@ -470,7 +470,7 @@ EndSessionDialog.prototype = {
|
|||||||
OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
|
OpenAsync: function(type, timestamp, totalSecondsToStayOpen, inhibitorObjectPaths, callback) {
|
||||||
this._totalSecondsToStayOpen = totalSecondsToStayOpen;
|
this._totalSecondsToStayOpen = totalSecondsToStayOpen;
|
||||||
this._inhibitors = [];
|
this._inhibitors = [];
|
||||||
this._applicationList.destroy_children();
|
this._applicationList.remove_all();
|
||||||
this._type = type;
|
this._type = type;
|
||||||
|
|
||||||
if (!(this._type in DialogContent))
|
if (!(this._type in DialogContent))
|
||||||
|
167
js/ui/main.js
167
js/ui/main.js
@ -67,8 +67,6 @@ let xdndHandler = null;
|
|||||||
let statusIconDispatcher = null;
|
let statusIconDispatcher = null;
|
||||||
let _errorLogStack = [];
|
let _errorLogStack = [];
|
||||||
let _startDate;
|
let _startDate;
|
||||||
let _defaultCssStylesheet = null;
|
|
||||||
let _cssStylesheet = null;
|
|
||||||
|
|
||||||
let background = null;
|
let background = null;
|
||||||
|
|
||||||
@ -113,7 +111,6 @@ function start() {
|
|||||||
global.stage.color = DEFAULT_BACKGROUND_COLOR;
|
global.stage.color = DEFAULT_BACKGROUND_COLOR;
|
||||||
global.stage.no_clear_hint = true;
|
global.stage.no_clear_hint = true;
|
||||||
|
|
||||||
_defaultCssStylesheet = global.datadir + '/theme/gnome-shell.css';
|
|
||||||
loadTheme();
|
loadTheme();
|
||||||
|
|
||||||
let shellwm = global.window_manager;
|
let shellwm = global.window_manager;
|
||||||
@ -175,8 +172,6 @@ function start() {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
global.screen.override_workspace_layout(Meta.ScreenCorner.TOPLEFT, false, -1, 1);
|
|
||||||
|
|
||||||
// Provide the bus object for gnome-session to
|
// Provide the bus object for gnome-session to
|
||||||
// initiate logouts.
|
// initiate logouts.
|
||||||
EndSessionDialog.init();
|
EndSessionDialog.init();
|
||||||
@ -199,143 +194,25 @@ function start() {
|
|||||||
_log('info', 'loaded at ' + _startDate);
|
_log('info', 'loaded at ' + _startDate);
|
||||||
log('GNOME Shell started at ' + _startDate);
|
log('GNOME Shell started at ' + _startDate);
|
||||||
|
|
||||||
|
Mainloop.idle_add(_removeUnusedWorkspaces);
|
||||||
|
|
||||||
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
|
let perfModuleName = GLib.getenv("SHELL_PERF_MODULE");
|
||||||
if (perfModuleName) {
|
if (perfModuleName) {
|
||||||
let perfOutput = GLib.getenv("SHELL_PERF_OUTPUT");
|
let perfOutput = GLib.getenv("SHELL_PERF_OUTPUT");
|
||||||
let module = eval('imports.perf.' + perfModuleName + ';');
|
let module = eval('imports.perf.' + perfModuleName + ';');
|
||||||
Scripting.runPerfScript(module, perfOutput);
|
Scripting.runPerfScript(module, perfOutput);
|
||||||
}
|
}
|
||||||
|
|
||||||
global.screen.connect('notify::n-workspaces', _nWorkspacesChanged);
|
|
||||||
Mainloop.idle_add(_nWorkspacesChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
let _workspaces = [];
|
|
||||||
let _checkWorkspacesId = 0;
|
|
||||||
|
|
||||||
function _checkWorkspaces() {
|
|
||||||
let i;
|
|
||||||
let emptyWorkspaces = [];
|
|
||||||
|
|
||||||
for (i = 0; i < _workspaces.length; i++)
|
|
||||||
emptyWorkspaces[i] = true;
|
|
||||||
|
|
||||||
let windows = global.get_window_actors();
|
|
||||||
for (i = 0; i < windows.length; i++) {
|
|
||||||
let win = windows[i];
|
|
||||||
|
|
||||||
if (win.get_meta_window().is_on_all_workspaces())
|
|
||||||
continue;
|
|
||||||
|
|
||||||
let workspaceIndex = win.get_workspace();
|
|
||||||
emptyWorkspaces[workspaceIndex] = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// If we don't have an empty workspace at the end, add one
|
|
||||||
if (!emptyWorkspaces[emptyWorkspaces.length -1]) {
|
|
||||||
global.screen.append_new_workspace(false, global.get_current_time());
|
|
||||||
emptyWorkspaces.push(false);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Delete other empty workspaces; do it from the end to avoid index changes
|
|
||||||
for (i = emptyWorkspaces.length - 2; i >= 0; i--) {
|
|
||||||
if (emptyWorkspaces[i])
|
|
||||||
global.screen.remove_workspace(_workspaces[i], global.get_current_time());
|
|
||||||
}
|
|
||||||
|
|
||||||
_checkWorkspacesId = 0;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
function _queueCheckWorkspaces() {
|
|
||||||
if (_checkWorkspacesId == 0)
|
|
||||||
_checkWorkspacesId = Meta.later_add(Meta.LaterType.BEFORE_REDRAW, _checkWorkspaces);
|
|
||||||
}
|
|
||||||
|
|
||||||
function _nWorkspacesChanged() {
|
|
||||||
let oldNumWorkspaces = _workspaces.length;
|
|
||||||
let newNumWorkspaces = global.screen.n_workspaces;
|
|
||||||
|
|
||||||
if (oldNumWorkspaces == newNumWorkspaces)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let lostWorkspaces = [];
|
|
||||||
if (newNumWorkspaces > oldNumWorkspaces) {
|
|
||||||
let w;
|
|
||||||
|
|
||||||
// Assume workspaces are only added at the end
|
|
||||||
for (w = oldNumWorkspaces; w < newNumWorkspaces; w++)
|
|
||||||
_workspaces[w] = global.screen.get_workspace_by_index(w);
|
|
||||||
|
|
||||||
for (w = oldNumWorkspaces; w < newNumWorkspaces; w++) {
|
|
||||||
let workspace = _workspaces[w];
|
|
||||||
workspace._windowAddedId = workspace.connect('window-added', _queueCheckWorkspaces);
|
|
||||||
workspace._windowRemovedId = workspace.connect('window-removed', _queueCheckWorkspaces);
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
// Assume workspaces are only removed sequentially
|
|
||||||
// (e.g. 2,3,4 - not 2,4,7)
|
|
||||||
let removedIndex;
|
|
||||||
let removedNum = oldNumWorkspaces - newNumWorkspaces;
|
|
||||||
for (let w = 0; w < oldNumWorkspaces; w++) {
|
|
||||||
let workspace = global.screen.get_workspace_by_index(w);
|
|
||||||
if (_workspaces[w] != workspace) {
|
|
||||||
removedIndex = w;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
let lostWorkspaces = _workspaces.splice(removedIndex, removedNum);
|
|
||||||
lostWorkspaces.forEach(function(workspace) {
|
|
||||||
workspace.disconnect(workspace._windowAddedId);
|
|
||||||
workspace.disconnect(workspace._windowRemovedId);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
_queueCheckWorkspaces();
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* getThemeStylesheet:
|
|
||||||
*
|
|
||||||
* Get the theme CSS file that the shell will load
|
|
||||||
*
|
|
||||||
* Returns: A file path that contains the theme CSS,
|
|
||||||
* null if using the default
|
|
||||||
*/
|
|
||||||
function getThemeStylesheet()
|
|
||||||
{
|
|
||||||
return _cssStylesheet;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* setThemeStylesheet:
|
|
||||||
* @cssStylesheet: A file path that contains the theme CSS,
|
|
||||||
* set it to null to use the default
|
|
||||||
*
|
|
||||||
* Set the theme CSS file that the shell will load
|
|
||||||
*/
|
|
||||||
function setThemeStylesheet(cssStylesheet)
|
|
||||||
{
|
|
||||||
_cssStylesheet = cssStylesheet;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* loadTheme:
|
* loadTheme:
|
||||||
*
|
*
|
||||||
* Reloads the theme CSS file
|
* Reloads the theme CSS file from the default theme.
|
||||||
*/
|
*/
|
||||||
function loadTheme() {
|
function loadTheme() {
|
||||||
let themeContext = St.ThemeContext.get_for_stage (global.stage);
|
let themeContext = St.ThemeContext.get_for_stage (global.stage);
|
||||||
|
let stylesheetPath = global.datadir + '/theme/gnome-shell.css';
|
||||||
let cssStylesheet = _defaultCssStylesheet;
|
let theme = new St.Theme ({ application_stylesheet: stylesheetPath });
|
||||||
if (_cssStylesheet != null)
|
|
||||||
cssStylesheet = _cssStylesheet;
|
|
||||||
|
|
||||||
let theme = new St.Theme ({ application_stylesheet: cssStylesheet });
|
|
||||||
themeContext.set_theme (theme);
|
themeContext.set_theme (theme);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -392,6 +269,34 @@ function _relayout() {
|
|||||||
overview.hide();
|
overview.hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// metacity-clutter currently uses the same prefs as plain metacity,
|
||||||
|
// which probably means we'll be starting out with multiple workspaces;
|
||||||
|
// remove any unused ones. (We do this from an idle handler, because
|
||||||
|
// global.get_window_actors() still returns NULL at the point when start()
|
||||||
|
// is called.)
|
||||||
|
function _removeUnusedWorkspaces() {
|
||||||
|
|
||||||
|
let windows = global.get_window_actors();
|
||||||
|
let maxWorkspace = 0;
|
||||||
|
for (let i = 0; i < windows.length; i++) {
|
||||||
|
let win = windows[i];
|
||||||
|
|
||||||
|
if (!win.get_meta_window().is_on_all_workspaces() &&
|
||||||
|
win.get_workspace() > maxWorkspace) {
|
||||||
|
maxWorkspace = win.get_workspace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let screen = global.screen;
|
||||||
|
if (screen.n_workspaces > maxWorkspace) {
|
||||||
|
for (let w = screen.n_workspaces - 1; w > maxWorkspace; w--) {
|
||||||
|
let workspace = screen.get_workspace_by_index(w);
|
||||||
|
screen.remove_workspace(workspace, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// This function encapsulates hacks to make certain global keybindings
|
// This function encapsulates hacks to make certain global keybindings
|
||||||
// work even when we are in one of our modes where global keybindings
|
// work even when we are in one of our modes where global keybindings
|
||||||
// are disabled with a global grab. (When there is a global grab, then
|
// are disabled with a global grab. (When there is a global grab, then
|
||||||
@ -439,12 +344,6 @@ function _globalKeyPressHandler(actor, event) {
|
|||||||
case Meta.KeyBindingAction.WORKSPACE_RIGHT:
|
case Meta.KeyBindingAction.WORKSPACE_RIGHT:
|
||||||
wm.actionMoveWorkspaceRight();
|
wm.actionMoveWorkspaceRight();
|
||||||
return true;
|
return true;
|
||||||
case Meta.KeyBindingAction.WORKSPACE_UP:
|
|
||||||
wm.actionMoveWorkspaceUp();
|
|
||||||
return true;
|
|
||||||
case Meta.KeyBindingAction.WORKSPACE_DOWN:
|
|
||||||
wm.actionMoveWorkspaceDown();
|
|
||||||
return true;
|
|
||||||
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
|
case Meta.KeyBindingAction.PANEL_RUN_DIALOG:
|
||||||
case Meta.KeyBindingAction.COMMAND_2:
|
case Meta.KeyBindingAction.COMMAND_2:
|
||||||
getRunDialog().open();
|
getRunDialog().open();
|
||||||
|
@ -254,7 +254,6 @@ Notification.prototype = {
|
|||||||
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
// 'transient' is a reserved keyword in JS, so we have to use an alternate variable name
|
||||||
this.isTransient = false;
|
this.isTransient = false;
|
||||||
this.expanded = false;
|
this.expanded = false;
|
||||||
this._destroyed = false;
|
|
||||||
this._useActionIcons = false;
|
this._useActionIcons = false;
|
||||||
this._customContent = false;
|
this._customContent = false;
|
||||||
this._bannerBodyText = null;
|
this._bannerBodyText = null;
|
||||||
@ -262,7 +261,6 @@ Notification.prototype = {
|
|||||||
this._titleFitsInBannerMode = true;
|
this._titleFitsInBannerMode = true;
|
||||||
this._spacing = 0;
|
this._spacing = 0;
|
||||||
|
|
||||||
this._buttonFocusManager = null;
|
|
||||||
this._hasFocus = false;
|
this._hasFocus = false;
|
||||||
this._lockTrayOnFocusGrab = false;
|
this._lockTrayOnFocusGrab = false;
|
||||||
// We use this._prevFocusedWindow and this._prevKeyFocusActor to return the
|
// We use this._prevFocusedWindow and this._prevKeyFocusActor to return the
|
||||||
@ -276,11 +274,7 @@ Notification.prototype = {
|
|||||||
this._capturedEventId = 0;
|
this._capturedEventId = 0;
|
||||||
this._keyPressId = 0;
|
this._keyPressId = 0;
|
||||||
|
|
||||||
source.connect('destroy', Lang.bind(this,
|
source.connect('destroy', Lang.bind(this, this.destroy));
|
||||||
// Avoid passing 'source' as an argument to this.destroy()
|
|
||||||
function () {
|
|
||||||
this.destroy();
|
|
||||||
}));
|
|
||||||
|
|
||||||
this.actor = new St.Table({ name: 'notification',
|
this.actor = new St.Table({ name: 'notification',
|
||||||
reactive: true });
|
reactive: true });
|
||||||
@ -505,7 +499,7 @@ Notification.prototype = {
|
|||||||
this._buttonBox = box;
|
this._buttonBox = box;
|
||||||
}
|
}
|
||||||
|
|
||||||
let button = new St.Button({ can_focus: true });
|
let button = new St.Button();
|
||||||
|
|
||||||
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) {
|
if (this._useActionIcons && Gtk.IconTheme.get_default().has_icon(id)) {
|
||||||
button.add_style_class_name('notification-icon-button');
|
button.add_style_class_name('notification-icon-button');
|
||||||
@ -515,15 +509,8 @@ Notification.prototype = {
|
|||||||
button.label = label;
|
button.label = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this._buttonFocusManager)
|
|
||||||
this._buttonFocusManager = St.FocusManager.get_for_stage(global.stage);
|
|
||||||
if (this._buttonBox.get_children().length > 0)
|
|
||||||
this._buttonFocusManager.remove_group(this._buttonBox);
|
|
||||||
|
|
||||||
this._buttonBox.add(button);
|
this._buttonBox.add(button);
|
||||||
this._buttonFocusManager.add_group(this._buttonBox);
|
|
||||||
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
|
button.connect('clicked', Lang.bind(this, this._onActionInvoked, id));
|
||||||
|
|
||||||
this._updated();
|
this._updated();
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -673,10 +660,6 @@ Notification.prototype = {
|
|||||||
this._focusActorChangedId = global.stage.connect('notify::key-focus', Lang.bind(this, this._focusActorChanged));
|
this._focusActorChangedId = global.stage.connect('notify::key-focus', Lang.bind(this, this._focusActorChanged));
|
||||||
|
|
||||||
this._hasFocus = true;
|
this._hasFocus = true;
|
||||||
|
|
||||||
if (this._buttonFocusManager)
|
|
||||||
this._buttonBox.get_children()[0].grab_key_focus();
|
|
||||||
|
|
||||||
if (lockTray)
|
if (lockTray)
|
||||||
Main.messageTray.lock();
|
Main.messageTray.lock();
|
||||||
},
|
},
|
||||||
@ -784,9 +767,6 @@ Notification.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
destroy: function(reason) {
|
destroy: function(reason) {
|
||||||
if (this._destroyed)
|
|
||||||
return;
|
|
||||||
this._destroyed = true;
|
|
||||||
if (!reason)
|
if (!reason)
|
||||||
reason = NotificationDestroyedReason.DISMISSED;
|
reason = NotificationDestroyedReason.DISMISSED;
|
||||||
this.emit('destroy', reason);
|
this.emit('destroy', reason);
|
||||||
@ -806,7 +786,6 @@ Source.prototype = {
|
|||||||
this._iconBin = new St.Bin({ width: this.ICON_SIZE,
|
this._iconBin = new St.Bin({ width: this.ICON_SIZE,
|
||||||
height: this.ICON_SIZE });
|
height: this.ICON_SIZE });
|
||||||
this.isTransient = false;
|
this.isTransient = false;
|
||||||
this.isChat = false;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
setTransient: function(isTransient) {
|
setTransient: function(isTransient) {
|
||||||
@ -1026,7 +1005,6 @@ MessageTray.prototype = {
|
|||||||
// added to the summary without a notification being shown.
|
// added to the summary without a notification being shown.
|
||||||
this._newSummaryItems = [];
|
this._newSummaryItems = [];
|
||||||
this._longestSummaryItem = null;
|
this._longestSummaryItem = null;
|
||||||
this._chatSummaryItemsCount = 0;
|
|
||||||
},
|
},
|
||||||
|
|
||||||
_setSizePosition: function() {
|
_setSizePosition: function() {
|
||||||
@ -1060,12 +1038,7 @@ MessageTray.prototype = {
|
|||||||
|
|
||||||
let summaryItem = new SummaryItem(source);
|
let summaryItem = new SummaryItem(source);
|
||||||
|
|
||||||
if (source.isChat) {
|
this._summary.insert_actor(summaryItem.actor, 0);
|
||||||
this._summary.insert_actor(summaryItem.actor, 0);
|
|
||||||
this._chatSummaryItemsCount++;
|
|
||||||
} else {
|
|
||||||
this._summary.insert_actor(summaryItem.actor, this._chatSummaryItemsCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
let titleWidth = summaryItem.getTitleNaturalWidth();
|
let titleWidth = summaryItem.getTitleNaturalWidth();
|
||||||
if (titleWidth > this._summaryItemTitleWidth) {
|
if (titleWidth > this._summaryItemTitleWidth) {
|
||||||
@ -1130,10 +1103,6 @@ MessageTray.prototype = {
|
|||||||
this._newSummaryItems.splice(newSummaryItemsIndex, 1);
|
this._newSummaryItems.splice(newSummaryItemsIndex, 1);
|
||||||
|
|
||||||
this._summaryItems.splice(index, 1);
|
this._summaryItems.splice(index, 1);
|
||||||
|
|
||||||
if (source.isChat)
|
|
||||||
this._chatSummaryItemsCount--;
|
|
||||||
|
|
||||||
if (this._longestSummaryItem.source == source) {
|
if (this._longestSummaryItem.source == source) {
|
||||||
let newTitleWidth = 0;
|
let newTitleWidth = 0;
|
||||||
this._longestSummaryItem = null;
|
this._longestSummaryItem = null;
|
||||||
|
@ -83,9 +83,7 @@ ModalDialog.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
setButtons: function(buttons) {
|
setButtons: function(buttons) {
|
||||||
this._buttonLayout.destroy_children();
|
this._buttonLayout.remove_all();
|
||||||
this._actionKeys = {};
|
|
||||||
|
|
||||||
let i = 0;
|
let i = 0;
|
||||||
for (let index in buttons) {
|
for (let index in buttons) {
|
||||||
let buttonInfo = buttons[index];
|
let buttonInfo = buttons[index];
|
||||||
|
@ -44,6 +44,10 @@ const STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION = {
|
|||||||
if (Config.HAVE_BLUETOOTH)
|
if (Config.HAVE_BLUETOOTH)
|
||||||
STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
|
STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION['bluetooth'] = imports.ui.status.bluetooth.Indicator;
|
||||||
|
|
||||||
|
const STANDARD_TRAY_INDICATOR_FACTORIES = [
|
||||||
|
imports.ui.status.keyboard.ModifierIndicatorFactory
|
||||||
|
];
|
||||||
|
|
||||||
// in org.gnome.desktop.interface
|
// in org.gnome.desktop.interface
|
||||||
const CLOCK_FORMAT_KEY = 'clock-format';
|
const CLOCK_FORMAT_KEY = 'clock-format';
|
||||||
|
|
||||||
@ -695,13 +699,16 @@ Panel.prototype = {
|
|||||||
|
|
||||||
/* right */
|
/* right */
|
||||||
|
|
||||||
// System status applets live in statusBox, while legacy tray icons
|
// On-off indicators (for keyboard leds and accessx) are in indicatorBox
|
||||||
|
// System status applets live in statusBox, and legacy tray icons
|
||||||
// live in trayBox
|
// live in trayBox
|
||||||
// The trayBox is hidden when there are no tray icons.
|
// The trayBox is hidden when there are no tray icons.
|
||||||
|
this._indicatorBox = new St.BoxLayout({ name: 'indicatorBox' });
|
||||||
this._trayBox = new St.BoxLayout({ name: 'legacyTray' });
|
this._trayBox = new St.BoxLayout({ name: 'legacyTray' });
|
||||||
this._statusBox = new St.BoxLayout({ name: 'statusTray' });
|
this._statusBox = new St.BoxLayout({ name: 'statusTray' });
|
||||||
|
|
||||||
this._trayBox.hide();
|
this._trayBox.hide();
|
||||||
|
this._rightBox.add(this._indicatorBox);
|
||||||
this._rightBox.add(this._trayBox);
|
this._rightBox.add(this._trayBox);
|
||||||
this._rightBox.add(this._statusBox);
|
this._rightBox.add(this._statusBox);
|
||||||
|
|
||||||
@ -753,6 +760,13 @@ Panel.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
startStatusArea: function() {
|
startStatusArea: function() {
|
||||||
|
for (let i = 0; i < STANDARD_TRAY_INDICATOR_FACTORIES.length; i++) {
|
||||||
|
let factory = new STANDARD_TRAY_INDICATOR_FACTORIES[i];
|
||||||
|
let indicators = factory.getIndicators();
|
||||||
|
for (let j = 0; j < indicators.length; j++)
|
||||||
|
this._indicatorBox.add(indicators[j]);
|
||||||
|
}
|
||||||
|
|
||||||
for (let i = 0; i < STANDARD_TRAY_ICON_ORDER.length; i++) {
|
for (let i = 0; i < STANDARD_TRAY_ICON_ORDER.length; i++) {
|
||||||
let role = STANDARD_TRAY_ICON_ORDER[i];
|
let role = STANDARD_TRAY_ICON_ORDER[i];
|
||||||
let constructor = STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION[role];
|
let constructor = STANDARD_TRAY_ICON_SHELL_IMPLEMENTATION[role];
|
||||||
|
@ -12,7 +12,6 @@ const _ = Gettext.gettext;
|
|||||||
|
|
||||||
const DND = imports.ui.dnd;
|
const DND = imports.ui.dnd;
|
||||||
const Main = imports.ui.main;
|
const Main = imports.ui.main;
|
||||||
const Params = imports.misc.params;
|
|
||||||
const Search = imports.ui.search;
|
const Search = imports.ui.search;
|
||||||
const Util = imports.misc.util;
|
const Util = imports.misc.util;
|
||||||
|
|
||||||
@ -59,21 +58,6 @@ PlaceInfo.prototype = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper function to translate launch parameters into a GAppLaunchContext
|
|
||||||
function _makeLaunchContext(params)
|
|
||||||
{
|
|
||||||
params = Params.parse(params, { workspace: null,
|
|
||||||
timestamp: null });
|
|
||||||
|
|
||||||
let launchContext = global.create_app_launch_context();
|
|
||||||
if (params.workspace != null)
|
|
||||||
launchContext.set_desktop(params.workspace.index());
|
|
||||||
if (params.timestamp != null)
|
|
||||||
launchContext.set_timestamp(params.timestamp);
|
|
||||||
|
|
||||||
return launchContext;
|
|
||||||
}
|
|
||||||
|
|
||||||
function PlaceDeviceInfo(mount) {
|
function PlaceDeviceInfo(mount) {
|
||||||
this._init(mount);
|
this._init(mount);
|
||||||
}
|
}
|
||||||
@ -93,9 +77,9 @@ PlaceDeviceInfo.prototype = {
|
|||||||
return St.TextureCache.get_default().load_gicon(null, icon, size);
|
return St.TextureCache.get_default().load_gicon(null, icon, size);
|
||||||
},
|
},
|
||||||
|
|
||||||
launch: function(param) {
|
launch: function() {
|
||||||
Gio.app_info_launch_default_for_uri(this._mount.get_root().get_uri(),
|
Gio.app_info_launch_default_for_uri(this._mount.get_root().get_uri(),
|
||||||
_makeLaunchContex(params));
|
global.create_app_launch_context());
|
||||||
},
|
},
|
||||||
|
|
||||||
isRemovable: function() {
|
isRemovable: function() {
|
||||||
@ -127,6 +111,7 @@ PlaceDeviceInfo.prototype = {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function PlacesManager() {
|
function PlacesManager() {
|
||||||
this._init();
|
this._init();
|
||||||
}
|
}
|
||||||
@ -145,8 +130,8 @@ PlacesManager.prototype = {
|
|||||||
function(size) {
|
function(size) {
|
||||||
return St.TextureCache.get_default().load_gicon(null, homeIcon, size);
|
return St.TextureCache.get_default().load_gicon(null, homeIcon, size);
|
||||||
},
|
},
|
||||||
function(params) {
|
function() {
|
||||||
Gio.app_info_launch_default_for_uri(homeUri, _makeLaunchContext(params));
|
Gio.app_info_launch_default_for_uri(homeUri, global.create_app_launch_context());
|
||||||
});
|
});
|
||||||
|
|
||||||
let desktopPath = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP);
|
let desktopPath = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_DESKTOP);
|
||||||
@ -158,8 +143,8 @@ PlacesManager.prototype = {
|
|||||||
function(size) {
|
function(size) {
|
||||||
return St.TextureCache.get_default().load_gicon(null, desktopIcon, size);
|
return St.TextureCache.get_default().load_gicon(null, desktopIcon, size);
|
||||||
},
|
},
|
||||||
function(params) {
|
function() {
|
||||||
Gio.app_info_launch_default_for_uri(desktopUri, _makeLaunchContext(params));
|
Gio.app_info_launch_default_for_uri(desktopUri, global.create_app_launch_context());
|
||||||
});
|
});
|
||||||
|
|
||||||
this._connect = new PlaceInfo('special:connect', _("Connect to..."),
|
this._connect = new PlaceInfo('special:connect', _("Connect to..."),
|
||||||
@ -168,11 +153,7 @@ PlacesManager.prototype = {
|
|||||||
icon_type: St.IconType.FULLCOLOR,
|
icon_type: St.IconType.FULLCOLOR,
|
||||||
icon_size: size });
|
icon_size: size });
|
||||||
},
|
},
|
||||||
function (params) {
|
function () {
|
||||||
// BUG: nautilus-connect-server doesn't have a desktop file, so we can'
|
|
||||||
// launch it with the workspace from params. It's probably pretty rare
|
|
||||||
// and odd to drag this place onto a workspace in any case
|
|
||||||
|
|
||||||
Util.spawn(['nautilus-connect-server']);
|
Util.spawn(['nautilus-connect-server']);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -192,12 +173,8 @@ PlacesManager.prototype = {
|
|||||||
function(size) {
|
function(size) {
|
||||||
return networkApp.create_icon_texture(size);
|
return networkApp.create_icon_texture(size);
|
||||||
},
|
},
|
||||||
function (params) {
|
function () {
|
||||||
params = Params.parse(params, { workspace: null,
|
networkApp.launch();
|
||||||
timestamp: 0 });
|
|
||||||
|
|
||||||
networkApp.launch_full(params.timestamp, [],
|
|
||||||
params.workspace ? params.workspace.index() : -1);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -337,8 +314,8 @@ PlacesManager.prototype = {
|
|||||||
function(size) {
|
function(size) {
|
||||||
return St.TextureCache.get_default().load_gicon(null, icon, size);
|
return St.TextureCache.get_default().load_gicon(null, icon, size);
|
||||||
},
|
},
|
||||||
function(params) {
|
function() {
|
||||||
Gio.app_info_launch_default_for_uri(bookmark, _makeLaunchContext(params));
|
Gio.app_info_launch_default_for_uri(bookmark, global.create_app_launch_context());
|
||||||
});
|
});
|
||||||
this._bookmarks.push(item);
|
this._bookmarks.push(item);
|
||||||
}
|
}
|
||||||
@ -418,9 +395,9 @@ PlaceSearchProvider.prototype = {
|
|||||||
'icon': placeInfo.iconFactory(Search.RESULT_ICON_SIZE) };
|
'icon': placeInfo.iconFactory(Search.RESULT_ICON_SIZE) };
|
||||||
},
|
},
|
||||||
|
|
||||||
activateResult: function(id, params) {
|
activateResult: function(id) {
|
||||||
let placeInfo = Main.placesManager.lookupPlaceById(id);
|
let placeInfo = Main.placesManager.lookupPlaceById(id);
|
||||||
placeInfo.launch(params);
|
placeInfo.launch();
|
||||||
},
|
},
|
||||||
|
|
||||||
_compareResultMeta: function (idA, idB) {
|
_compareResultMeta: function (idA, idB) {
|
||||||
|
@ -267,7 +267,7 @@ OpenSearchSystem.prototype = {
|
|||||||
return lang != null;
|
return lang != null;
|
||||||
},
|
},
|
||||||
|
|
||||||
activateResult: function(id, params) {
|
activateResult: function(id) {
|
||||||
let searchTerms = this._terms.join(' ');
|
let searchTerms = this._terms.join(' ');
|
||||||
|
|
||||||
let url = this._providers[id].url.replace('{searchTerms}', encodeURIComponent(searchTerms));
|
let url = this._providers[id].url.replace('{searchTerms}', encodeURIComponent(searchTerms));
|
||||||
|
@ -81,11 +81,11 @@ SearchResult.prototype = {
|
|||||||
return new Clutter.Clone({ source: this.metaInfo['icon'] });
|
return new Clutter.Clone({ source: this.metaInfo['icon'] });
|
||||||
},
|
},
|
||||||
|
|
||||||
shellWorkspaceLaunch: function(params) {
|
shellWorkspaceLaunch: function() {
|
||||||
if (this.provider.dragActivateResult)
|
if (this.provider.dragActivateResult)
|
||||||
this.provider.dragActivateResult(this.metaInfo.id, params);
|
this.provider.dragActivateResult(this.metaInfo.id);
|
||||||
else
|
else
|
||||||
this.provider.activateResult(this.metaInfo.id, params);
|
this.provider.activateResult(this.metaInfo.id);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -204,3 +204,52 @@ XKBIndicator.prototype = {
|
|||||||
this._labelActors[i].allocate_align_fill(box, 0.5, 0, false, false, flags);
|
this._labelActors[i].allocate_align_fill(box, 0.5, 0, false, false, flags);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function ModifierIndicatorFactory() {
|
||||||
|
this._init.call(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
ModifierIndicatorFactory.prototype = {
|
||||||
|
_init: function() {
|
||||||
|
this._settings = new Gio.Settings({ schema: INDICATOR_SCHEMA });
|
||||||
|
this._settings.connect('changed::show-keyboard-leds-indicator', Lang.bind(this, this._changed));
|
||||||
|
|
||||||
|
this._config = Gkbd.Configuration.get();
|
||||||
|
this._config.connect('indicators-changed', Lang.bind(this, this._changed));
|
||||||
|
|
||||||
|
this._scrollLock = new St.Icon({ icon_name: 'kbdled-scroll-lock', icon_type: St.IconType.SYMBOLIC, style_class: 'system-status-icon' });
|
||||||
|
this._numLock = new St.Icon({ icon_name: 'kbdled-num-lock', icon_type: St.IconType.SYMBOLIC, style_class: 'system-status-icon' });
|
||||||
|
this._capsLock = new St.Icon({ icon_name: 'kbdled-caps-lock', icon_type: St.IconType.SYMBOLIC, style_class: 'system-status-icon' });
|
||||||
|
|
||||||
|
this._changed();
|
||||||
|
},
|
||||||
|
|
||||||
|
getIndicators: function() {
|
||||||
|
return [this._scrollLock, this._numLock, this._capsLock];
|
||||||
|
},
|
||||||
|
|
||||||
|
_changed: function() {
|
||||||
|
let enable = this._settings.get_boolean('show-keyboard-leds-indicator');
|
||||||
|
|
||||||
|
if (enable) {
|
||||||
|
if (this._config.get_scroll_lock_state())
|
||||||
|
this._scrollLock.show();
|
||||||
|
else
|
||||||
|
this._scrollLock.hide();
|
||||||
|
|
||||||
|
if (this._config.get_num_lock_state())
|
||||||
|
this._numLock.show();
|
||||||
|
else
|
||||||
|
this._numLock.hide();
|
||||||
|
|
||||||
|
if (this._config.get_caps_lock_state())
|
||||||
|
this._capsLock.show();
|
||||||
|
else
|
||||||
|
this._capsLock.hide();
|
||||||
|
} else {
|
||||||
|
this._scrollLock.hide();
|
||||||
|
this._numLock.hide();
|
||||||
|
this._capsLock.hide();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
@ -455,8 +455,6 @@ Source.prototype = {
|
|||||||
_init: function(accountPath, connPath, channelPath, targetHandle, targetHandleType, targetId) {
|
_init: function(accountPath, connPath, channelPath, targetHandle, targetHandleType, targetId) {
|
||||||
MessageTray.Source.prototype._init.call(this, targetId);
|
MessageTray.Source.prototype._init.call(this, targetId);
|
||||||
|
|
||||||
this.isChat = true;
|
|
||||||
|
|
||||||
this._accountPath = accountPath;
|
this._accountPath = accountPath;
|
||||||
|
|
||||||
let connName = Telepathy.pathToName(connPath);
|
let connName = Telepathy.pathToName(connPath);
|
||||||
|
@ -525,20 +525,23 @@ WindowManager.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_showWorkspaceSwitcher : function(shellwm, binding, window, backwards) {
|
_showWorkspaceSwitcher : function(shellwm, binding, window, backwards) {
|
||||||
|
/* We don't support this kind of layout */
|
||||||
|
if (binding == 'switch_to_workspace_up' || binding == 'switch_to_workspace_down')
|
||||||
|
return;
|
||||||
|
|
||||||
if (global.screen.n_workspaces == 1)
|
if (global.screen.n_workspaces == 1)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (this._workspaceSwitcherPopup == null)
|
if (this._workspaceSwitcherPopup == null)
|
||||||
this._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup();
|
this._workspaceSwitcherPopup = new WorkspaceSwitcherPopup.WorkspaceSwitcherPopup();
|
||||||
|
|
||||||
if (binding == 'switch_to_workspace_left')
|
if (binding == 'switch_to_workspace_left') {
|
||||||
this.actionMoveWorkspaceLeft();
|
this.actionMoveWorkspaceLeft();
|
||||||
else if (binding == 'switch_to_workspace_right')
|
}
|
||||||
|
|
||||||
|
if (binding == 'switch_to_workspace_right') {
|
||||||
this.actionMoveWorkspaceRight();
|
this.actionMoveWorkspaceRight();
|
||||||
else if (binding == 'switch_to_workspace_up')
|
}
|
||||||
this.actionMoveWorkspaceUp();
|
|
||||||
else if (binding == 'switch_to_workspace_down')
|
|
||||||
this.actionMoveWorkspaceDown();
|
|
||||||
},
|
},
|
||||||
|
|
||||||
actionMoveWorkspaceLeft: function() {
|
actionMoveWorkspaceLeft: function() {
|
||||||
@ -569,32 +572,6 @@ WindowManager.prototype = {
|
|||||||
if (indexToActivate != activeWorkspaceIndex)
|
if (indexToActivate != activeWorkspaceIndex)
|
||||||
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
|
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
|
||||||
|
|
||||||
if (!Main.overview.visible)
|
|
||||||
this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate);
|
|
||||||
},
|
|
||||||
|
|
||||||
actionMoveWorkspaceUp: function() {
|
|
||||||
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
|
|
||||||
let indexToActivate = activeWorkspaceIndex;
|
|
||||||
if (activeWorkspaceIndex > 0)
|
|
||||||
indexToActivate--;
|
|
||||||
|
|
||||||
if (indexToActivate != activeWorkspaceIndex)
|
|
||||||
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
|
|
||||||
|
|
||||||
if (!Main.overview.visible)
|
|
||||||
this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.LEFT, indexToActivate);
|
|
||||||
},
|
|
||||||
|
|
||||||
actionMoveWorkspaceDown: function() {
|
|
||||||
let activeWorkspaceIndex = global.screen.get_active_workspace_index();
|
|
||||||
let indexToActivate = activeWorkspaceIndex;
|
|
||||||
if (activeWorkspaceIndex < global.screen.n_workspaces - 1)
|
|
||||||
indexToActivate++;
|
|
||||||
|
|
||||||
if (indexToActivate != activeWorkspaceIndex)
|
|
||||||
global.screen.get_workspace_by_index(indexToActivate).activate(global.get_current_time());
|
|
||||||
|
|
||||||
if (!Main.overview.visible)
|
if (!Main.overview.visible)
|
||||||
this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate);
|
this._workspaceSwitcherPopup.display(WorkspaceSwitcherPopup.RIGHT, indexToActivate);
|
||||||
}
|
}
|
||||||
|
@ -104,10 +104,6 @@ WindowClone.prototype = {
|
|||||||
|
|
||||||
this._stackAbove = null;
|
this._stackAbove = null;
|
||||||
|
|
||||||
this._sizeChangedId = this.realWindow.connect('size-changed', Lang.bind(this, function() {
|
|
||||||
this.emit('size-changed');
|
|
||||||
}));
|
|
||||||
|
|
||||||
this.actor.connect('button-release-event',
|
this.actor.connect('button-release-event',
|
||||||
Lang.bind(this, this._onButtonRelease));
|
Lang.bind(this, this._onButtonRelease));
|
||||||
|
|
||||||
@ -161,9 +157,6 @@ WindowClone.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
_onDestroy: function() {
|
_onDestroy: function() {
|
||||||
this.realWindow.disconnect(this._sizeChangedId);
|
|
||||||
this._sizeChangedId = 0;
|
|
||||||
|
|
||||||
this.metaWindow._delegate = null;
|
this.metaWindow._delegate = null;
|
||||||
this.actor._delegate = null;
|
this.actor._delegate = null;
|
||||||
if (this._zoomLightbox)
|
if (this._zoomLightbox)
|
||||||
@ -1332,10 +1325,10 @@ Workspace.prototype = {
|
|||||||
Lang.bind(this, function() {
|
Lang.bind(this, function() {
|
||||||
this._windowIsZooming = false;
|
this._windowIsZooming = false;
|
||||||
}));
|
}));
|
||||||
clone.connect('size-changed',
|
win.connect('size-changed',
|
||||||
Lang.bind(this, function() {
|
Lang.bind(this, function() {
|
||||||
this.positionWindows(0);
|
this.positionWindows(0);
|
||||||
}));
|
}));
|
||||||
|
|
||||||
this.actor.add_actor(clone.actor);
|
this.actor.add_actor(clone.actor);
|
||||||
|
|
||||||
@ -1402,7 +1395,7 @@ Workspace.prototype = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
acceptDrop : function(source, actor, x, y, time) {
|
acceptDrop : function(source, actor, x, y, time) {
|
||||||
if (source.realWindow) {
|
if (source instanceof WindowClone) {
|
||||||
let win = source.realWindow;
|
let win = source.realWindow;
|
||||||
if (this._isMyWindow(win))
|
if (this._isMyWindow(win))
|
||||||
return false;
|
return false;
|
||||||
@ -1421,8 +1414,8 @@ Workspace.prototype = {
|
|||||||
time);
|
time);
|
||||||
return true;
|
return true;
|
||||||
} else if (source.shellWorkspaceLaunch) {
|
} else if (source.shellWorkspaceLaunch) {
|
||||||
source.shellWorkspaceLaunch({ workspace: this.metaWorkspace,
|
this.metaWorkspace.activate(time);
|
||||||
timestamp: time });
|
source.shellWorkspaceLaunch();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,310 +0,0 @@
|
|||||||
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
|
|
||||||
|
|
||||||
const Clutter = imports.gi.Clutter;
|
|
||||||
const Lang = imports.lang;
|
|
||||||
const Mainloop = imports.mainloop;
|
|
||||||
const Shell = imports.gi.Shell;
|
|
||||||
const Signals = imports.signals;
|
|
||||||
const St = imports.gi.St;
|
|
||||||
|
|
||||||
const DND = imports.ui.dnd;
|
|
||||||
const Main = imports.ui.main;
|
|
||||||
const Workspace = imports.ui.workspace;
|
|
||||||
|
|
||||||
// Fraction of original screen size for thumbnails
|
|
||||||
let THUMBNAIL_SCALE = 1/8.;
|
|
||||||
|
|
||||||
function WindowClone(realWindow) {
|
|
||||||
this._init(realWindow);
|
|
||||||
}
|
|
||||||
|
|
||||||
WindowClone.prototype = {
|
|
||||||
_init : function(realWindow) {
|
|
||||||
this.actor = new Clutter.Clone({ source: realWindow.get_texture(),
|
|
||||||
clip_to_allocation: true,
|
|
||||||
reactive: true });
|
|
||||||
this.actor._delegate = this;
|
|
||||||
this.realWindow = realWindow;
|
|
||||||
this.metaWindow = realWindow.meta_window;
|
|
||||||
this.metaWindow._delegate = this;
|
|
||||||
|
|
||||||
this._positionChangedId = this.realWindow.connect('position-changed',
|
|
||||||
Lang.bind(this, this._onPositionChanged));
|
|
||||||
this._onPositionChanged();
|
|
||||||
|
|
||||||
this.actor.connect('button-release-event',
|
|
||||||
Lang.bind(this, this._onButtonRelease));
|
|
||||||
|
|
||||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
|
||||||
|
|
||||||
this._draggable = DND.makeDraggable(this.actor,
|
|
||||||
{ restoreOnSuccess: true,
|
|
||||||
dragActorMaxSize: Workspace.WINDOW_DND_SIZE,
|
|
||||||
dragActorOpacity: Workspace.DRAGGING_WINDOW_OPACITY });
|
|
||||||
this._draggable.connect('drag-begin', Lang.bind(this, this._onDragBegin));
|
|
||||||
this._draggable.connect('drag-end', Lang.bind(this, this._onDragEnd));
|
|
||||||
this.inDrag = false;
|
|
||||||
|
|
||||||
this._selected = false;
|
|
||||||
},
|
|
||||||
|
|
||||||
setStackAbove: function (actor) {
|
|
||||||
this._stackAbove = actor;
|
|
||||||
if (this._stackAbove == null)
|
|
||||||
this.actor.lower_bottom();
|
|
||||||
else
|
|
||||||
this.actor.raise(this._stackAbove);
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy: function () {
|
|
||||||
this.actor.destroy();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onPositionChanged: function() {
|
|
||||||
let rect = this.metaWindow.get_outer_rect();
|
|
||||||
this.actor.set_position(this.realWindow.x, this.realWindow.y);
|
|
||||||
},
|
|
||||||
|
|
||||||
_onDestroy: function() {
|
|
||||||
this.metaWindow._delegate = null;
|
|
||||||
this.actor._delegate = null;
|
|
||||||
|
|
||||||
if (this._positionChangedId != 0) {
|
|
||||||
this.realWindow.disconnect(this._positionChangedId);
|
|
||||||
this._positionChangedId = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (this.inDrag) {
|
|
||||||
this.emit('drag-end');
|
|
||||||
this.inDrag = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.disconnectAll();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onButtonRelease : function (actor, event) {
|
|
||||||
this._selected = true;
|
|
||||||
this.emit('selected', event.get_time());
|
|
||||||
},
|
|
||||||
|
|
||||||
_onDragBegin : function (draggable, time) {
|
|
||||||
this.inDrag = true;
|
|
||||||
this.emit('drag-begin');
|
|
||||||
},
|
|
||||||
|
|
||||||
_onDragEnd : function (draggable, time, snapback) {
|
|
||||||
this.inDrag = false;
|
|
||||||
|
|
||||||
// We may not have a parent if DnD completed successfully, in
|
|
||||||
// which case our clone will shortly be destroyed and replaced
|
|
||||||
// with a new one on the target workspace.
|
|
||||||
if (this.actor.get_parent() != null) {
|
|
||||||
if (this._stackAbove == null)
|
|
||||||
this.actor.lower_bottom();
|
|
||||||
else
|
|
||||||
this.actor.raise(this._stackAbove);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
this.emit('drag-end');
|
|
||||||
}
|
|
||||||
};
|
|
||||||
Signals.addSignalMethods(WindowClone.prototype);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @metaWorkspace: a #Meta.Workspace
|
|
||||||
*/
|
|
||||||
function WorkspaceThumbnail(metaWorkspace) {
|
|
||||||
this._init(metaWorkspace);
|
|
||||||
}
|
|
||||||
|
|
||||||
WorkspaceThumbnail.prototype = {
|
|
||||||
_init : function(metaWorkspace) {
|
|
||||||
// When dragging a window, we use this slot for reserve space.
|
|
||||||
this.metaWorkspace = metaWorkspace;
|
|
||||||
|
|
||||||
this.actor = new St.Bin({ reactive: true,
|
|
||||||
style_class: 'workspace-thumbnail' });
|
|
||||||
this.actor._delegate = this;
|
|
||||||
|
|
||||||
this._group = new Clutter.Group();
|
|
||||||
this.actor.add_actor(this._group);
|
|
||||||
|
|
||||||
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
|
|
||||||
this.actor.connect('button-press-event', Lang.bind(this,
|
|
||||||
function(actor, event) {
|
|
||||||
return true;
|
|
||||||
}));
|
|
||||||
this.actor.connect('button-release-event', Lang.bind(this,
|
|
||||||
function(actor, event) {
|
|
||||||
this.metaWorkspace.activate(event.get_time());
|
|
||||||
return true;
|
|
||||||
}));
|
|
||||||
|
|
||||||
this._background = new Clutter.Clone({ source: global.background_actor });
|
|
||||||
this._group.add_actor(this._background);
|
|
||||||
|
|
||||||
this._group.set_size(THUMBNAIL_SCALE * global.screen_width, THUMBNAIL_SCALE * global.screen_height);
|
|
||||||
this._group.set_scale(THUMBNAIL_SCALE, THUMBNAIL_SCALE);
|
|
||||||
|
|
||||||
let windows = global.get_window_actors().filter(this._isMyWindow, this);
|
|
||||||
|
|
||||||
// Create clones for windows that should be visible in the Overview
|
|
||||||
this._windows = [];
|
|
||||||
for (let i = 0; i < windows.length; i++) {
|
|
||||||
if (this._isOverviewWindow(windows[i])) {
|
|
||||||
this._addWindowClone(windows[i]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Track window changes
|
|
||||||
this._windowAddedId = this.metaWorkspace.connect('window-added',
|
|
||||||
Lang.bind(this, this._windowAdded));
|
|
||||||
this._windowRemovedId = this.metaWorkspace.connect('window-removed',
|
|
||||||
Lang.bind(this, this._windowRemoved));
|
|
||||||
},
|
|
||||||
|
|
||||||
_lookupIndex: function (metaWindow) {
|
|
||||||
for (let i = 0; i < this._windows.length; i++) {
|
|
||||||
if (this._windows[i].metaWindow == metaWindow) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return -1;
|
|
||||||
},
|
|
||||||
|
|
||||||
syncStacking: function(stackIndices) {
|
|
||||||
this._windows.sort(function (a, b) { return stackIndices[a.metaWindow.get_stable_sequence()] - stackIndices[b.metaWindow.get_stable_sequence()]; });
|
|
||||||
|
|
||||||
for (let i = 0; i < this._windows.length; i++) {
|
|
||||||
let clone = this._windows[i];
|
|
||||||
let metaWindow = clone.metaWindow;
|
|
||||||
if (i == 0) {
|
|
||||||
clone.setStackAbove(this._background);
|
|
||||||
} else {
|
|
||||||
let previousClone = this._windows[i - 1];
|
|
||||||
clone.setStackAbove(previousClone.actor);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
_windowRemoved : function(metaWorkspace, metaWin) {
|
|
||||||
let win = metaWin.get_compositor_private();
|
|
||||||
|
|
||||||
// find the position of the window in our list
|
|
||||||
let index = this._lookupIndex (metaWin);
|
|
||||||
|
|
||||||
if (index == -1)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let clone = this._windows[index];
|
|
||||||
this._windows.splice(index, 1);
|
|
||||||
clone.destroy();
|
|
||||||
},
|
|
||||||
|
|
||||||
_windowAdded : function(metaWorkspace, metaWin) {
|
|
||||||
if (this.leavingOverview)
|
|
||||||
return;
|
|
||||||
|
|
||||||
let win = metaWin.get_compositor_private();
|
|
||||||
|
|
||||||
if (!win) {
|
|
||||||
// Newly-created windows are added to a workspace before
|
|
||||||
// the compositor finds out about them...
|
|
||||||
Mainloop.idle_add(Lang.bind(this,
|
|
||||||
function () {
|
|
||||||
if (this.actor && metaWin.get_compositor_private())
|
|
||||||
this._windowAdded(metaWorkspace, metaWin);
|
|
||||||
return false;
|
|
||||||
}));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!this._isOverviewWindow(win))
|
|
||||||
return;
|
|
||||||
|
|
||||||
let clone = this._addWindowClone(win);
|
|
||||||
},
|
|
||||||
|
|
||||||
destroy : function() {
|
|
||||||
this.actor.destroy();
|
|
||||||
},
|
|
||||||
|
|
||||||
_onDestroy: function(actor) {
|
|
||||||
this.metaWorkspace.disconnect(this._windowAddedId);
|
|
||||||
this.metaWorkspace.disconnect(this._windowRemovedId);
|
|
||||||
|
|
||||||
this._windows = [];
|
|
||||||
this.actor = null;
|
|
||||||
},
|
|
||||||
|
|
||||||
// Tests if @win belongs to this workspaces
|
|
||||||
_isMyWindow : function (win) {
|
|
||||||
return win.get_workspace() == this.metaWorkspace.index() ||
|
|
||||||
(win.get_meta_window() && win.get_meta_window().is_on_all_workspaces());
|
|
||||||
},
|
|
||||||
|
|
||||||
// Tests if @win should be shown in the Overview
|
|
||||||
_isOverviewWindow : function (win) {
|
|
||||||
let tracker = Shell.WindowTracker.get_default();
|
|
||||||
return tracker.is_window_interesting(win.get_meta_window());
|
|
||||||
},
|
|
||||||
|
|
||||||
// Create a clone of a (non-desktop) window and add it to the window list
|
|
||||||
_addWindowClone : function(win) {
|
|
||||||
let clone = new WindowClone(win);
|
|
||||||
|
|
||||||
clone.connect('selected',
|
|
||||||
Lang.bind(this, this._onCloneSelected));
|
|
||||||
clone.connect('drag-begin',
|
|
||||||
Lang.bind(this, function(clone) {
|
|
||||||
Main.overview.beginWindowDrag();
|
|
||||||
}));
|
|
||||||
clone.connect('drag-end',
|
|
||||||
Lang.bind(this, function(clone) {
|
|
||||||
Main.overview.endWindowDrag();
|
|
||||||
}));
|
|
||||||
this._group.add_actor(clone.actor);
|
|
||||||
|
|
||||||
this._windows.push(clone);
|
|
||||||
|
|
||||||
return clone;
|
|
||||||
},
|
|
||||||
|
|
||||||
_onCloneSelected : function (clone, time) {
|
|
||||||
this.metaWorkspace.activate(time);
|
|
||||||
},
|
|
||||||
|
|
||||||
// Draggable target interface
|
|
||||||
handleDragOver : function(source, actor, x, y, time) {
|
|
||||||
if (source.realWindow)
|
|
||||||
return DND.DragMotionResult.MOVE_DROP;
|
|
||||||
if (source.shellWorkspaceLaunch)
|
|
||||||
return DND.DragMotionResult.COPY_DROP;
|
|
||||||
|
|
||||||
return DND.DragMotionResult.CONTINUE;
|
|
||||||
},
|
|
||||||
|
|
||||||
acceptDrop : function(source, actor, x, y, time) {
|
|
||||||
if (source.realWindow) {
|
|
||||||
let win = source.realWindow;
|
|
||||||
if (this._isMyWindow(win))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
let metaWindow = win.get_meta_window();
|
|
||||||
metaWindow.change_workspace_by_index(this.metaWorkspace.index(),
|
|
||||||
false, // don't create workspace
|
|
||||||
time);
|
|
||||||
return true;
|
|
||||||
} else if (source.shellWorkspaceLaunch) {
|
|
||||||
source.shellWorkspaceLaunch({ workspace: this.metaWorkspace,
|
|
||||||
timestamp: time });
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
Signals.addSignalMethods(WorkspaceThumbnail.prototype);
|
|
File diff suppressed because it is too large
Load Diff
@ -4,9 +4,7 @@ data/org.gnome.accessibility.magnifier.gschema.xml.in
|
|||||||
js/misc/util.js
|
js/misc/util.js
|
||||||
js/ui/appDisplay.js
|
js/ui/appDisplay.js
|
||||||
js/ui/appFavorites.js
|
js/ui/appFavorites.js
|
||||||
js/ui/calendar.js
|
|
||||||
js/ui/dash.js
|
js/ui/dash.js
|
||||||
js/ui/dateMenu.js
|
|
||||||
js/ui/docDisplay.js
|
js/ui/docDisplay.js
|
||||||
js/ui/endSessionDialog.js
|
js/ui/endSessionDialog.js
|
||||||
js/ui/lookingGlass.js
|
js/ui/lookingGlass.js
|
||||||
|
17
po/et.po
17
po/et.po
@ -13,14 +13,14 @@ 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&component=general\n"
|
"shell&component=general\n"
|
||||||
"POT-Creation-Date: 2011-01-29 18:34+0000\n"
|
"POT-Creation-Date: 2011-01-21 18:46+0000\n"
|
||||||
"PO-Revision-Date: 2011-02-01 13:51+0300\n"
|
"PO-Revision-Date: 2011-01-24 08:04+0200\n"
|
||||||
"Last-Translator: Mattias Põldaru <mahfiaz gmail com>\n"
|
"Last-Translator: Ivar Smolin <okul@linux.ee>\n"
|
||||||
"Language-Team: Estonian <gnome-et@linux.ee>\n"
|
"Language-Team: Estonian <gnome-et@linux.ee>\n"
|
||||||
"Language: et\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"
|
||||||
|
"Language: et\n"
|
||||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
"X-Poedit-Language: Estonian\n"
|
"X-Poedit-Language: Estonian\n"
|
||||||
"X-Poedit-Country: Estonia\n"
|
"X-Poedit-Country: Estonia\n"
|
||||||
@ -242,9 +242,6 @@ msgstr ""
|
|||||||
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
msgstr "Niitristi moodustavate püst- ja rõhtjoone laius"
|
msgstr "Niitristi moodustavate püst- ja rõhtjoone laius"
|
||||||
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
@ -312,17 +309,17 @@ msgid "Logging out of the system."
|
|||||||
msgstr "Süsteemist väljalogimine"
|
msgstr "Süsteemist väljalogimine"
|
||||||
|
|
||||||
msgid "Shut Down"
|
msgid "Shut Down"
|
||||||
msgstr "Lülita välja"
|
msgstr "Seiska"
|
||||||
|
|
||||||
msgid "Click Shut Down to quit these applications and shut down the system."
|
msgid "Click Shut Down to quit these applications and shut down the system."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The system will shut down automatically in %d seconds."
|
msgid "The system will shut down automatically in %d seconds."
|
||||||
msgstr "%d sekundi pärast lülitub süsteem automaatselt välja."
|
msgstr "Süsteem seisatakse automaatselt %d sekundi pärast."
|
||||||
|
|
||||||
msgid "Shutting down the system."
|
msgid "Shutting down the system."
|
||||||
msgstr "Süsteemi väljalülitamine."
|
msgstr "Süsteemi seiskamine."
|
||||||
|
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "Taaskäivita"
|
msgstr "Taaskäivita"
|
||||||
|
170
po/gl.po
170
po/gl.po
@ -10,8 +10,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-01 02:40+0100\n"
|
"POT-Creation-Date: 2011-01-27 03:33+0100\n"
|
||||||
"PO-Revision-Date: 2011-02-01 02:44+0100\n"
|
"PO-Revision-Date: 2011-01-26 21:02+0100\n"
|
||||||
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
|
"Last-Translator: Fran Diéguez <frandieguez@ubuntu.com>\n"
|
||||||
"Language-Team: Galician <gnome-gl-list@gnome.org>\n"
|
"Language-Team: Galician <gnome-gl-list@gnome.org>\n"
|
||||||
"Language: gl\n"
|
"Language: gl\n"
|
||||||
@ -79,8 +79,8 @@ msgstr "Se é verdadeiro, móstrase a data da semana ISO no calendario."
|
|||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
msgstr "Mostra os ID de ficheiros desktop para os aplicativos preferidos"
|
msgstr "Mostra os ID de ficheiros desktop para os aplicativos preferidos"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||||
#, no-c-format
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||||
@ -89,35 +89,31 @@ msgid ""
|
|||||||
"pipeline can also take care of its own output - this might be used to send "
|
"pipeline can also take care of its own output - this might be used to send "
|
||||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
"the output to an icecast server via shout2send or similar. When unset or set "
|
||||||
"to an empty value, the default pipeline will be used. This is currently "
|
"to an empty value, the default pipeline will be used. This is currently "
|
||||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
|
||||||
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
|
||||||
"at the optimal thread count on the system."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Estabelece a tubería GStreamer usada para codificar gravacións. Segue a "
|
"Estabelece a tubería GStreamer usada para codificar gravacións. Segue a "
|
||||||
"sintaxe usada para gst-launch. A tubería debería ter un sumideiro («sink») "
|
"sintaxe usada para gst-launch. A tubería debería ter un sumideiro («sink») "
|
||||||
"de ensamblaxe/desensamblaxe onde o vídeo gravado se grava. Xeralmente terá "
|
"de ensamblaxe/desensamblaxe onde o vídeo que se está gravando grávase. "
|
||||||
"unha orixe de ensamblado/desensamblado; a saída dese punto escribirase no "
|
"Xeralmente terá unha orixe de ensamblado/desensamblado; a saída dese punto "
|
||||||
"ficheiro de saída. Porén, a tubería tamén pode tomar parte na súa propia "
|
"escribirase no ficheiro de saída. Porén, a tubería tamén pode tomar parte na "
|
||||||
"saída; isto pódese usar para enviar a saída a un servidor «icecast» a través "
|
"súa propia saída; isto pódese usar para enviar a saída a un servidor "
|
||||||
"de shout2send ou similar. Cando non está estabelecido ou está a un valor "
|
"«icecast» a través de shout2send ou similar. Cando non está estabelecido ou "
|
||||||
"baleiro, usarase a tubería predeterminada. Actualmente é «! vp8enc "
|
"está a un valor baleiro, usarase a tubería predeterminada. Actualmente é "
|
||||||
"quality=10 speed=2 threads=%T ! queue ! webmmux'» e grava en WEBM usando o "
|
"«videorate ! theoraenc ! oggmux» e grava en Ogg Theora."
|
||||||
"códec VP8. Úsase %T como suposición para o número de fillos óptimos no "
|
|
||||||
"sistema."
|
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
msgstr "Mostrar a data no reloxo"
|
msgstr "Mostrar a data no reloxo"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
msgid "Show the week date in the calendar"
|
msgid "Show the week date in the calendar"
|
||||||
msgstr "Mostrar a data da semana no calendario"
|
msgstr "Mostrar a data da semana no calendario"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show time with seconds"
|
msgid "Show time with seconds"
|
||||||
msgstr "Mostrar a hora con segundos"
|
msgstr "Mostrar a hora con segundos"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||||
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."
|
||||||
@ -125,7 +121,7 @@ msgstr ""
|
|||||||
"Os aplicativos que corresponden a estes identificadores mostraranse na área "
|
"Os aplicativos que corresponden a estes identificadores mostraranse na área "
|
||||||
"de preferidos."
|
"de preferidos."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filename for recorded screencasts will be a unique filename based on the "
|
"The filename for recorded screencasts will be a unique filename based on the "
|
||||||
"current date, and use this extension. It should be changed when recording to "
|
"current date, and use this extension. It should be changed when recording to "
|
||||||
@ -135,7 +131,7 @@ msgstr ""
|
|||||||
"baseado na data actual e usa esta extensión. Debería cambiar ao grabar nun "
|
"baseado na data actual e usa esta extensión. Debería cambiar ao grabar nun "
|
||||||
"formato de contedor diferente."
|
"formato de contedor diferente."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid ""
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||||
"screencast recorder in frames-per-second."
|
"screencast recorder in frames-per-second."
|
||||||
@ -143,11 +139,11 @@ msgstr ""
|
|||||||
"A taxa de marcos do screencast resultante grabado polo grabador de "
|
"A taxa de marcos do screencast resultante grabado polo grabador de "
|
||||||
"screencasts de GNOME Shell en marcos-por-segundo."
|
"screencasts de GNOME Shell en marcos-por-segundo."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
msgstr "A tubería de gstreamer usada para codificar o screencast"
|
msgstr "A tubería de gstreamer usada para codificar o screencast"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shell normally monitors active applications in order to present the most "
|
"The shell normally monitors active applications in order to present the most "
|
||||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||||
@ -159,15 +155,15 @@ msgstr ""
|
|||||||
"privados, vostede pode desactivar isto por motivos de privacidade. Teña en "
|
"privados, vostede pode desactivar isto por motivos de privacidade. Teña en "
|
||||||
"conta que facendo isto non eliminará os datos gardados."
|
"conta que facendo isto non eliminará os datos gardados."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
msgstr "Os Uuid das extensións a desactivar"
|
msgstr "Os Uuid das extensións a desactivar"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid "Whether to collect stats about applications usage"
|
msgid "Whether to collect stats about applications usage"
|
||||||
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos"
|
msgstr "Indica se recoller estatísticas sobre o uso dos aplicativos"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
msgid "disabled OpenSearch providers"
|
msgid "disabled OpenSearch providers"
|
||||||
msgstr "fornecedores de OpenSearch desactivados"
|
msgstr "fornecedores de OpenSearch desactivados"
|
||||||
|
|
||||||
@ -325,47 +321,43 @@ msgstr ""
|
|||||||
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
msgstr "Anchura das liñas verticais e horizontais que contén o punto de mira."
|
msgstr "Anchura das liñas verticais e horizontais que contén o punto de mira."
|
||||||
|
|
||||||
#: ../js/misc/util.js:86
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr "Orde non atopada"
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
#: ../js/misc/util.js:113
|
#: ../js/misc/util.js:108
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
msgstr "Non foi posíbel analizar a orde:"
|
msgstr "Non foi posíbel analizar a orde:"
|
||||||
|
|
||||||
#: ../js/misc/util.js:135
|
#: ../js/misc/util.js:130
|
||||||
msgid "No such application"
|
msgid "No such application"
|
||||||
msgstr "Non existe o aplicativo"
|
msgstr "Non existe o aplicativo"
|
||||||
|
|
||||||
#: ../js/misc/util.js:148
|
#: ../js/misc/util.js:143 ../js/ui/runDialog.js:351
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Produciuse un fallo na execución de «%s»:"
|
msgstr "Produciuse un fallo na execución de «%s»:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:164
|
#: ../js/ui/appDisplay.js:155
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Todos"
|
msgstr "Todos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:245
|
#: ../js/ui/appDisplay.js:236
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "APLICATIVOS"
|
msgstr "APLICATIVOS"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:275
|
#: ../js/ui/appDisplay.js:266
|
||||||
msgid "PREFERENCES"
|
msgid "PREFERENCES"
|
||||||
msgstr "PREFERENCIAS"
|
msgstr "PREFERENCIAS"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:572
|
#: ../js/ui/appDisplay.js:563
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Xanela nova"
|
msgstr "Xanela nova"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:576
|
#: ../js/ui/appDisplay.js:567
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Eliminar dos favoritos"
|
msgstr "Eliminar dos favoritos"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:577
|
#: ../js/ui/appDisplay.js:568
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Engadir aos favoritos"
|
msgstr "Engadir aos favoritos"
|
||||||
|
|
||||||
@ -490,31 +482,71 @@ msgstr "Ver fonte"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Páxina web"
|
msgstr "Páxina web"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1786
|
#: ../js/ui/messageTray.js:1765
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Información do sistema"
|
msgstr "Información do sistema"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:88
|
#: ../js/ui/overview.js:75
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Desfacer"
|
msgstr "Desfacer"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:159
|
#: ../js/ui/overview.js:140
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Xanelas"
|
msgstr "Xanelas"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:162
|
#: ../js/ui/overview.js:143
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Aplicativos"
|
msgstr "Aplicativos"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:480
|
#: ../js/ui/panel.js:479
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Saír de %s"
|
msgstr "Saír de %s"
|
||||||
|
|
||||||
|
#. Translators: This is the time format with date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:564
|
||||||
|
msgid "%a %b %e, %R:%S"
|
||||||
|
msgstr "%a %e de %b, %R:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:565
|
||||||
|
msgid "%a %b %e, %R"
|
||||||
|
msgstr "%a %e de %b, %R"
|
||||||
|
|
||||||
|
#. Translators: This is the time format without date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:569
|
||||||
|
msgid "%a %R:%S"
|
||||||
|
msgstr "%a %R:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:570
|
||||||
|
msgid "%a %R"
|
||||||
|
msgstr "%a %R"
|
||||||
|
|
||||||
|
#. Translators: This is a time format with date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:577
|
||||||
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
|
msgstr "%a %e de %b, %H:%M:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:578
|
||||||
|
msgid "%a %b %e, %l:%M %p"
|
||||||
|
msgstr "%a %e de %b, %H:%M"
|
||||||
|
|
||||||
|
#. Translators: This is a time format without date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:582
|
||||||
|
msgid "%a %l:%M:%S %p"
|
||||||
|
msgstr "%a %H:%M:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:583
|
||||||
|
msgid "%a %l:%M %p"
|
||||||
|
msgstr "%a %l:%M %p"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. Button on the left side of the panel.
|
||||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:614
|
#: ../js/ui/panel.js:728
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Actividades"
|
msgstr "Actividades"
|
||||||
|
|
||||||
@ -669,7 +701,7 @@ msgstr "Produciuse un erro ao explorar o dispositivo"
|
|||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "O dispositivo solicitado non pode explorarse, o erro foi «%s»"
|
msgstr "O dispositivo solicitado non pode explorarse, o erro foi «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:251
|
#: ../js/ui/status/bluetooth.js:251 ../js/ui/status/keyboard.js:78
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Configuracións do teclado"
|
msgstr "Configuracións do teclado"
|
||||||
|
|
||||||
@ -744,10 +776,6 @@ msgstr "Introduza o PIN mencionado no dispositivo."
|
|||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "Aceptar"
|
msgstr "Aceptar"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:78
|
|
||||||
msgid "Localization Settings"
|
|
||||||
msgstr "Configuracións do son"
|
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:85
|
#: ../js/ui/status/power.js:85
|
||||||
msgid "Power Settings"
|
msgid "Power Settings"
|
||||||
msgstr "Configuracións de enerxía"
|
msgstr "Configuracións de enerxía"
|
||||||
@ -882,14 +910,14 @@ msgstr "%s rematou de iniarse"
|
|||||||
msgid "'%s' is ready"
|
msgid "'%s' is ready"
|
||||||
msgstr "«%s» está preparado"
|
msgstr "«%s» está preparado"
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:243
|
#: ../js/ui/workspacesView.js:244
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can't add a new workspace because maximum workspaces limit has been reached."
|
"Can't add a new workspace because maximum workspaces limit has been reached."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Non é posíbel engadir unha área de traballo nova porque chegouse ao límite "
|
"Non é posíbel engadir unha área de traballo nova porque chegouse ao límite "
|
||||||
"de áreas de traballo."
|
"de áreas de traballo."
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:259
|
#: ../js/ui/workspacesView.js:260
|
||||||
msgid "Can't remove the first workspace."
|
msgid "Can't remove the first workspace."
|
||||||
msgstr "Non é posíbel quitar a primeira área de traballo."
|
msgstr "Non é posíbel quitar a primeira área de traballo."
|
||||||
|
|
||||||
@ -915,32 +943,32 @@ msgstr[1] "%u entradas"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Sons do sistema"
|
msgstr "Sons do sistema"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1365
|
#: ../src/shell-global.c:1366
|
||||||
msgid "Less than a minute ago"
|
msgid "Less than a minute ago"
|
||||||
msgstr "Hai menos dun minuto"
|
msgstr "Hai menos dun minuto"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1369
|
#: ../src/shell-global.c:1370
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute ago"
|
msgid "%d minute ago"
|
||||||
msgid_plural "%d minutes ago"
|
msgid_plural "%d minutes ago"
|
||||||
msgstr[0] "hai %d minuto"
|
msgstr[0] "hai %d minuto"
|
||||||
msgstr[1] "hai %d minutos"
|
msgstr[1] "hai %d minutos"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1374
|
#: ../src/shell-global.c:1375
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour ago"
|
msgid "%d hour ago"
|
||||||
msgid_plural "%d hours ago"
|
msgid_plural "%d hours ago"
|
||||||
msgstr[0] "hai %d hora"
|
msgstr[0] "hai %d hora"
|
||||||
msgstr[1] "hai %d horas"
|
msgstr[1] "hai %d horas"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1379
|
#: ../src/shell-global.c:1380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day ago"
|
msgid "%d day ago"
|
||||||
msgid_plural "%d days ago"
|
msgid_plural "%d days ago"
|
||||||
msgstr[0] "hai %d día"
|
msgstr[0] "hai %d día"
|
||||||
msgstr[1] "hai %d días"
|
msgstr[1] "hai %d días"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1384
|
#: ../src/shell-global.c:1385
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week ago"
|
msgid "%d week ago"
|
||||||
msgid_plural "%d weeks ago"
|
msgid_plural "%d weeks ago"
|
||||||
@ -971,29 +999,9 @@ msgstr "Buscar"
|
|||||||
msgid "%1$s: %2$s"
|
msgid "%1$s: %2$s"
|
||||||
msgstr "%1$s: %2$s"
|
msgstr "%1$s: %2$s"
|
||||||
|
|
||||||
#~ msgid "%a %b %e, %R:%S"
|
#~| msgid "Sound Settings"
|
||||||
#~ msgstr "%a %e de %b, %R:%S"
|
#~ msgid "Localization Settings"
|
||||||
|
#~ msgstr "Configuracións do son"
|
||||||
#~ msgid "%a %b %e, %R"
|
|
||||||
#~ msgstr "%a %e de %b, %R"
|
|
||||||
|
|
||||||
#~ msgid "%a %R:%S"
|
|
||||||
#~ msgstr "%a %R:%S"
|
|
||||||
|
|
||||||
#~ msgid "%a %R"
|
|
||||||
#~ msgstr "%a %R"
|
|
||||||
|
|
||||||
#~ msgid "%a %b %e, %l:%M:%S %p"
|
|
||||||
#~ msgstr "%a %e de %b, %H:%M:%S"
|
|
||||||
|
|
||||||
#~ msgid "%a %b %e, %l:%M %p"
|
|
||||||
#~ msgstr "%a %e de %b, %H:%M"
|
|
||||||
|
|
||||||
#~ msgid "%a %l:%M:%S %p"
|
|
||||||
#~ msgstr "%a %H:%M:%S"
|
|
||||||
|
|
||||||
#~ msgid "%a %l:%M %p"
|
|
||||||
#~ msgstr "%a %l:%M %p"
|
|
||||||
|
|
||||||
#~ msgid "Clock"
|
#~ msgid "Clock"
|
||||||
#~ msgstr "Reloxo"
|
#~ msgstr "Reloxo"
|
||||||
|
68
po/he.po
68
po/he.po
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell master\n"
|
"Project-Id-Version: gnome-shell master\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-01-30 23:03+0200\n"
|
"POT-Creation-Date: 2011-01-23 02:42+0200\n"
|
||||||
"PO-Revision-Date: 2011-01-30 23:03+0200\n"
|
"PO-Revision-Date: 2011-01-23 02:43+0200\n"
|
||||||
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>\n"
|
||||||
"Language-Team: Hebrew <he@li.org>\n"
|
"Language-Team: Hebrew <he@li.org>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -319,47 +319,43 @@ msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Width of the vertical and horizontal lines that make up the crosshairs."
|
"Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
|
|
||||||
#: ../js/misc/util.js:86
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr "הפקודה לא נמצאה"
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
#: ../js/misc/util.js:113
|
#: ../js/misc/util.js:108
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
msgstr "לא ניתן לפענח את הפקודה:"
|
msgstr "לא ניתן לפענח את הפקודה:"
|
||||||
|
|
||||||
#: ../js/misc/util.js:135
|
#: ../js/misc/util.js:130
|
||||||
msgid "No such application"
|
msgid "No such application"
|
||||||
msgstr "אין כזה יישום"
|
msgstr "אין כזה יישום"
|
||||||
|
|
||||||
#: ../js/misc/util.js:148
|
#: ../js/misc/util.js:143 ../js/ui/runDialog.js:351
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "ההרצה של '%s' נכשלה:"
|
msgstr "ההרצה של '%s' נכשלה:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:164
|
#: ../js/ui/appDisplay.js:155
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "הכול"
|
msgstr "הכול"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:245
|
#: ../js/ui/appDisplay.js:236
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "יישומים"
|
msgstr "יישומים"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:275
|
#: ../js/ui/appDisplay.js:266
|
||||||
msgid "PREFERENCES"
|
msgid "PREFERENCES"
|
||||||
msgstr "העדפות"
|
msgstr "העדפות"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:572
|
#: ../js/ui/appDisplay.js:563
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "חלון חדש"
|
msgstr "חלון חדש"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:576
|
#: ../js/ui/appDisplay.js:567
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "הסרה מהמועדפים"
|
msgstr "הסרה מהמועדפים"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:577
|
#: ../js/ui/appDisplay.js:568
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "הוספה למועדפים"
|
msgstr "הוספה למועדפים"
|
||||||
|
|
||||||
@ -480,71 +476,71 @@ msgstr "צפייה במקור"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "דף אינטרנט"
|
msgstr "דף אינטרנט"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1778
|
#: ../js/ui/messageTray.js:1765
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "פרטי המערכת"
|
msgstr "פרטי המערכת"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:88
|
#: ../js/ui/overview.js:75
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "ביטול"
|
msgstr "ביטול"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:159
|
#: ../js/ui/overview.js:140
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "חלונות"
|
msgstr "חלונות"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:162
|
#: ../js/ui/overview.js:143
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "יישומים"
|
msgstr "יישומים"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:479
|
#: ../js/ui/panel.js:483
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "יציאה מ־%s"
|
msgstr "יציאה מ־%s"
|
||||||
|
|
||||||
#. Translators: This is the time format with date used
|
#. Translators: This is the time format with date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/panel.js:564
|
#: ../js/ui/panel.js:568
|
||||||
msgid "%a %b %e, %R:%S"
|
msgid "%a %b %e, %R:%S"
|
||||||
msgstr "%a %b %e, %R:%S"
|
msgstr "%a %b %e, %R:%S"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:565
|
#: ../js/ui/panel.js:569
|
||||||
msgid "%a %b %e, %R"
|
msgid "%a %b %e, %R"
|
||||||
msgstr "%a %b %e, %R"
|
msgstr "%a %b %e, %R"
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
#. Translators: This is the time format without date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/panel.js:569
|
#: ../js/ui/panel.js:573
|
||||||
msgid "%a %R:%S"
|
msgid "%a %R:%S"
|
||||||
msgstr "%a %R:%S"
|
msgstr "%a %R:%S"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:570
|
#: ../js/ui/panel.js:574
|
||||||
msgid "%a %R"
|
msgid "%a %R"
|
||||||
msgstr "%a %R"
|
msgstr "%a %R"
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
#. Translators: This is a time format with date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/panel.js:577
|
#: ../js/ui/panel.js:581
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a %b %e, %l:%M:%S %p"
|
msgstr "%a %b %e, %l:%M:%S %p"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:578
|
#: ../js/ui/panel.js:582
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%a %b %e, %l:%M %p"
|
msgstr "%a %b %e, %l:%M %p"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/panel.js:582
|
#: ../js/ui/panel.js:586
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %l:%M:%S %p"
|
msgstr "%a %l:%M:%S %p"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:583
|
#: ../js/ui/panel.js:587
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %l:%M %p"
|
msgstr "%a %l:%M %p"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. Button on the left side of the panel.
|
||||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:728
|
#: ../js/ui/panel.js:732
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "פעילויות"
|
msgstr "פעילויות"
|
||||||
|
|
||||||
@ -916,12 +912,12 @@ msgstr "%s סיים את תהליך ההתחלה"
|
|||||||
msgid "'%s' is ready"
|
msgid "'%s' is ready"
|
||||||
msgstr "'%s' מוכן"
|
msgstr "'%s' מוכן"
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:243
|
#: ../js/ui/workspacesView.js:244
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can't add a new workspace because maximum workspaces limit has been reached."
|
"Can't add a new workspace because maximum workspaces limit has been reached."
|
||||||
msgstr "לא ניתן להוסיף מרחבי עבודה כיוון שהם ממלאים את המכסה המרבית."
|
msgstr "לא ניתן להוסיף מרחבי עבודה כיוון שהם ממלאים את המכסה המרבית."
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:259
|
#: ../js/ui/workspacesView.js:260
|
||||||
msgid "Can't remove the first workspace."
|
msgid "Can't remove the first workspace."
|
||||||
msgstr "לא ניתן להסיר את מרחב העבודה הראשון."
|
msgstr "לא ניתן להסיר את מרחב העבודה הראשון."
|
||||||
|
|
||||||
@ -949,11 +945,11 @@ msgstr[2] "2 קלטים"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "צלילי מערכת"
|
msgstr "צלילי מערכת"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1365
|
#: ../src/shell-global.c:1366
|
||||||
msgid "Less than a minute ago"
|
msgid "Less than a minute ago"
|
||||||
msgstr "לפני פחות מדקה"
|
msgstr "לפני פחות מדקה"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1369
|
#: ../src/shell-global.c:1370
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute ago"
|
msgid "%d minute ago"
|
||||||
msgid_plural "%d minutes ago"
|
msgid_plural "%d minutes ago"
|
||||||
@ -961,7 +957,7 @@ msgstr[0] "לפני דקה"
|
|||||||
msgstr[1] "לפני %d דקות"
|
msgstr[1] "לפני %d דקות"
|
||||||
msgstr[2] "לפני 2 דקות"
|
msgstr[2] "לפני 2 דקות"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1374
|
#: ../src/shell-global.c:1375
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour ago"
|
msgid "%d hour ago"
|
||||||
msgid_plural "%d hours ago"
|
msgid_plural "%d hours ago"
|
||||||
@ -969,7 +965,7 @@ msgstr[0] "לפני שעה"
|
|||||||
msgstr[1] "לפני %d שעות"
|
msgstr[1] "לפני %d שעות"
|
||||||
msgstr[2] "לפני שעתיים"
|
msgstr[2] "לפני שעתיים"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1379
|
#: ../src/shell-global.c:1380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day ago"
|
msgid "%d day ago"
|
||||||
msgid_plural "%d days ago"
|
msgid_plural "%d days ago"
|
||||||
@ -977,7 +973,7 @@ msgstr[0] "לפני יום"
|
|||||||
msgstr[1] "לפני %d ימים"
|
msgstr[1] "לפני %d ימים"
|
||||||
msgstr[2] "לפני יומיים"
|
msgstr[2] "לפני יומיים"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1384
|
#: ../src/shell-global.c:1385
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week ago"
|
msgid "%d week ago"
|
||||||
msgid_plural "%d weeks ago"
|
msgid_plural "%d weeks ago"
|
||||||
|
105
po/it.po
105
po/it.po
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell\n"
|
"Project-Id-Version: gnome-shell\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-01-29 16:06+0100\n"
|
"POT-Creation-Date: 2011-01-21 01:16+0100\n"
|
||||||
"PO-Revision-Date: 2011-01-29 16:06+0100\n"
|
"PO-Revision-Date: 2011-01-15 01:19+0100\n"
|
||||||
"Last-Translator: Luca Ferretti <lferrett@gnome.org>\n"
|
"Last-Translator: Luca Ferretti <lferrett@gnome.org>\n"
|
||||||
"Language-Team: Italian <tp@lists.linux.it>\n"
|
"Language-Team: Italian <tp@lists.linux.it>\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@ -76,8 +76,7 @@ msgstr "Se VERO, mostra il giorno della settimana ISO nel calendario."
|
|||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
msgstr "Elenco di ID di file desktop per le applicazioni preferite"
|
msgstr "Elenco di ID di file desktop per le applicazioni preferite"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||||
#, fuzzy, no-c-format
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||||
@ -86,9 +85,7 @@ msgid ""
|
|||||||
"pipeline can also take care of its own output - this might be used to send "
|
"pipeline can also take care of its own output - this might be used to send "
|
||||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
"the output to an icecast server via shout2send or similar. When unset or set "
|
||||||
"to an empty value, the default pipeline will be used. This is currently "
|
"to an empty value, the default pipeline will be used. This is currently "
|
||||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
|
||||||
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
|
||||||
"at the optimal thread count on the system."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Imposta la pipeline di GStreamer utilizzata per codificare le registrazioni, "
|
"Imposta la pipeline di GStreamer utilizzata per codificare le registrazioni, "
|
||||||
"seguendo la sintassi di gst-launch. La pipeline dovrebbe disporre di un sink "
|
"seguendo la sintassi di gst-launch. La pipeline dovrebbe disporre di un sink "
|
||||||
@ -100,19 +97,19 @@ msgstr ""
|
|||||||
"alcun valore, viene usata la pipeline predefinita il cui valore è "
|
"alcun valore, viene usata la pipeline predefinita il cui valore è "
|
||||||
"\"videorate ! theoraenc ! oggmux\" e che registra nel formato Ogg Theora."
|
"\"videorate ! theoraenc ! oggmux\" e che registra nel formato Ogg Theora."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
msgstr "Mostra la data nell'orologio"
|
msgstr "Mostra la data nell'orologio"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
msgid "Show the week date in the calendar"
|
msgid "Show the week date in the calendar"
|
||||||
msgstr "Mostra il giorno della settimana nel calendario"
|
msgstr "Mostra il giorno della settimana nel calendario"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show time with seconds"
|
msgid "Show time with seconds"
|
||||||
msgstr "Mostra l'ora con i secondi"
|
msgstr "Mostra l'ora con i secondi"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||||
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."
|
||||||
@ -120,7 +117,7 @@ msgstr ""
|
|||||||
"Le applicazioni che corrispondono a questi identificatori vengono "
|
"Le applicazioni che corrispondono a questi identificatori vengono "
|
||||||
"visualizzate nell'area dei preferiti."
|
"visualizzate nell'area dei preferiti."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filename for recorded screencasts will be a unique filename based on the "
|
"The filename for recorded screencasts will be a unique filename based on the "
|
||||||
"current date, and use this extension. It should be changed when recording to "
|
"current date, and use this extension. It should be changed when recording to "
|
||||||
@ -130,7 +127,7 @@ msgstr ""
|
|||||||
"data corrente e utilizza questa estensione. Dovrebbe essere modificato "
|
"data corrente e utilizza questa estensione. Dovrebbe essere modificato "
|
||||||
"quando si registra utilizzando un diverso formato contenitore."
|
"quando si registra utilizzando un diverso formato contenitore."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid ""
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||||
"screencast recorder in frames-per-second."
|
"screencast recorder in frames-per-second."
|
||||||
@ -138,12 +135,12 @@ msgstr ""
|
|||||||
"Il framerate in fotogrammi al secondo dello screencast registrato attraverso "
|
"Il framerate in fotogrammi al secondo dello screencast registrato attraverso "
|
||||||
"il registratore della GNOME Shell."
|
"il registratore della GNOME Shell."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
msgstr "La pipeline di gstreamer utilizzata per codificare lo screencast"
|
msgstr "La pipeline di gstreamer utilizzata per codificare lo screencast"
|
||||||
|
|
||||||
# (ndt) quel "in launchers" non mi convince...
|
# (ndt) quel "in launchers" non mi convince...
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shell normally monitors active applications in order to present the most "
|
"The shell normally monitors active applications in order to present the most "
|
||||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||||
@ -155,16 +152,16 @@ msgstr ""
|
|||||||
"disabilitare questa funzionalità per motivi di privacy. I dati già salvati "
|
"disabilitare questa funzionalità per motivi di privacy. I dati già salvati "
|
||||||
"non verranno comunque rimossi."
|
"non verranno comunque rimossi."
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
msgstr "UUID delle estensioni da disabilitare"
|
msgstr "UUID delle estensioni da disabilitare"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid "Whether to collect stats about applications usage"
|
msgid "Whether to collect stats about applications usage"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Indica se raccogliere statistiche riguardo l'utilizzo delle applicazioni"
|
"Indica se raccogliere statistiche riguardo l'utilizzo delle applicazioni"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
||||||
msgid "disabled OpenSearch providers"
|
msgid "disabled OpenSearch providers"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -293,47 +290,43 @@ msgstr ""
|
|||||||
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../js/misc/util.js:86
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr ""
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
#: ../js/misc/util.js:113
|
#: ../js/misc/util.js:108
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
msgstr "Impossibile analizzare il comando:"
|
msgstr "Impossibile analizzare il comando:"
|
||||||
|
|
||||||
#: ../js/misc/util.js:135
|
#: ../js/misc/util.js:130
|
||||||
msgid "No such application"
|
msgid "No such application"
|
||||||
msgstr "Applicazione inesistente"
|
msgstr "Applicazione inesistente"
|
||||||
|
|
||||||
#: ../js/misc/util.js:148
|
#: ../js/misc/util.js:143 ../js/ui/runDialog.js:351
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Esecuzione di «%s» non riuscita:"
|
msgstr "Esecuzione di «%s» non riuscita:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:164
|
#: ../js/ui/appDisplay.js:155
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "Tutte"
|
msgstr "Tutte"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:245
|
#: ../js/ui/appDisplay.js:236
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "APPLICAZIONI"
|
msgstr "APPLICAZIONI"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:275
|
#: ../js/ui/appDisplay.js:266
|
||||||
msgid "PREFERENCES"
|
msgid "PREFERENCES"
|
||||||
msgstr "PREFERENZE"
|
msgstr "PREFERENZE"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:572
|
#: ../js/ui/appDisplay.js:563
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "Nuova finestra"
|
msgstr "Nuova finestra"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:576
|
#: ../js/ui/appDisplay.js:567
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "Rimuovi dai preferiti"
|
msgstr "Rimuovi dai preferiti"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:577
|
#: ../js/ui/appDisplay.js:568
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "Aggiungi ai preferiti"
|
msgstr "Aggiungi ai preferiti"
|
||||||
|
|
||||||
@ -466,72 +459,72 @@ msgstr "Visualizza sorgente"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Pagina web"
|
msgstr "Pagina web"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1778
|
#: ../js/ui/messageTray.js:1765
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Informazione di sistema"
|
msgstr "Informazione di sistema"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:88
|
#: ../js/ui/overview.js:75
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "Annulla"
|
msgstr "Annulla"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:159
|
#: ../js/ui/overview.js:140
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "Finestre"
|
msgstr "Finestre"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:162
|
#: ../js/ui/overview.js:143
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "Applicazioni"
|
msgstr "Applicazioni"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:483
|
#: ../js/ui/panel.js:479
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Chiudi %s"
|
msgstr "Chiudi %s"
|
||||||
|
|
||||||
#. Translators: This is the time format with date used
|
#. Translators: This is the time format with date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/panel.js:568
|
#: ../js/ui/panel.js:564
|
||||||
msgid "%a %b %e, %R:%S"
|
msgid "%a %b %e, %R:%S"
|
||||||
msgstr "%a %e %b, %k.%M.%S"
|
msgstr "%a %e %b, %k.%M.%S"
|
||||||
|
|
||||||
# (ndt) proviamo col k, se non funge, sappiamo il perché...
|
# (ndt) proviamo col k, se non funge, sappiamo il perché...
|
||||||
#: ../js/ui/panel.js:569
|
#: ../js/ui/panel.js:565
|
||||||
msgid "%a %b %e, %R"
|
msgid "%a %b %e, %R"
|
||||||
msgstr "%a %e %b, %k.%M"
|
msgstr "%a %e %b, %k.%M"
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
#. Translators: This is the time format without date used
|
||||||
#. in 24-hour mode.
|
#. in 24-hour mode.
|
||||||
#: ../js/ui/panel.js:573
|
#: ../js/ui/panel.js:569
|
||||||
msgid "%a %R:%S"
|
msgid "%a %R:%S"
|
||||||
msgstr "%a %k.%M.%S"
|
msgstr "%a %k.%M.%S"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:574
|
#: ../js/ui/panel.js:570
|
||||||
msgid "%a %R"
|
msgid "%a %R"
|
||||||
msgstr "%a %k.%M"
|
msgstr "%a %k.%M"
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
#. Translators: This is a time format with date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/panel.js:581
|
#: ../js/ui/panel.js:577
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
msgstr "%a %e %b, %l.%M.%S %P"
|
msgstr "%a %e %b, %l.%M.%S %P"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:582
|
#: ../js/ui/panel.js:578
|
||||||
msgid "%a %b %e, %l:%M %p"
|
msgid "%a %b %e, %l:%M %p"
|
||||||
msgstr "%a %e %b, %l.%M %P"
|
msgstr "%a %e %b, %l.%M %P"
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
#. Translators: This is a time format without date used
|
||||||
#. for AM/PM.
|
#. for AM/PM.
|
||||||
#: ../js/ui/panel.js:586
|
#: ../js/ui/panel.js:582
|
||||||
msgid "%a %l:%M:%S %p"
|
msgid "%a %l:%M:%S %p"
|
||||||
msgstr "%a %l.%M.%S %P"
|
msgstr "%a %l.%M.%S %P"
|
||||||
|
|
||||||
#: ../js/ui/panel.js:587
|
#: ../js/ui/panel.js:583
|
||||||
msgid "%a %l:%M %p"
|
msgid "%a %l:%M %p"
|
||||||
msgstr "%a %l.%M %P"
|
msgstr "%a %l.%M %P"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. Button on the left side of the panel.
|
||||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:732
|
#: ../js/ui/panel.js:728
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Attività"
|
msgstr "Attività"
|
||||||
|
|
||||||
@ -560,7 +553,7 @@ msgstr "RISORSE E DISPOSITIVI"
|
|||||||
#. simply result in invisible toggle switches.
|
#. simply result in invisible toggle switches.
|
||||||
#: ../js/ui/popupMenu.js:33
|
#: ../js/ui/popupMenu.js:33
|
||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-us"
|
msgstr "toggle-switch-intl"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:209
|
#: ../js/ui/runDialog.js:209
|
||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
@ -690,7 +683,7 @@ msgstr "Errore nell'esplorare il dispositivo"
|
|||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "Non è possibile esplorare il dispositivo richiesto, l'errore è «%s»"
|
msgstr "Non è possibile esplorare il dispositivo richiesto, l'errore è «%s»"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:251
|
#: ../js/ui/status/bluetooth.js:251 ../js/ui/status/keyboard.js:78
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "Impostazioni tastiera"
|
msgstr "Impostazioni tastiera"
|
||||||
|
|
||||||
@ -765,10 +758,6 @@ msgstr "Inserire il PIN indicato sul dispositivo."
|
|||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "OK"
|
msgstr "OK"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:78
|
|
||||||
msgid "Localization Settings"
|
|
||||||
msgstr "Impostazioni localizzazione"
|
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:85
|
#: ../js/ui/status/power.js:85
|
||||||
msgid "Power Settings"
|
msgid "Power Settings"
|
||||||
msgstr "Impostazioni alimentazione"
|
msgstr "Impostazioni alimentazione"
|
||||||
@ -907,14 +896,14 @@ msgid "'%s' is ready"
|
|||||||
msgstr "«%s» è pronto"
|
msgstr "«%s» è pronto"
|
||||||
|
|
||||||
# (ndt) un po' liberetta...
|
# (ndt) un po' liberetta...
|
||||||
#: ../js/ui/workspacesView.js:243
|
#: ../js/ui/workspacesView.js:244
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can't add a new workspace because maximum workspaces limit has been reached."
|
"Can't add a new workspace because maximum workspaces limit has been reached."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Impossibile aggiungere un nuovo spazio di lavoro: raggiunto il limite "
|
"Impossibile aggiungere un nuovo spazio di lavoro: raggiunto il limite "
|
||||||
"massimo consentito."
|
"massimo consentito."
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:259
|
#: ../js/ui/workspacesView.js:260
|
||||||
msgid "Can't remove the first workspace."
|
msgid "Can't remove the first workspace."
|
||||||
msgstr "Impossibile rimuovere il primo spazio di lavoro."
|
msgstr "Impossibile rimuovere il primo spazio di lavoro."
|
||||||
|
|
||||||
@ -940,32 +929,32 @@ msgstr[1] "%u ingressi"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "Audio di sistema"
|
msgstr "Audio di sistema"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1365
|
#: ../src/shell-global.c:1366
|
||||||
msgid "Less than a minute ago"
|
msgid "Less than a minute ago"
|
||||||
msgstr "Meno di un minuto fa"
|
msgstr "Meno di un minuto fa"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1369
|
#: ../src/shell-global.c:1370
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute ago"
|
msgid "%d minute ago"
|
||||||
msgid_plural "%d minutes ago"
|
msgid_plural "%d minutes ago"
|
||||||
msgstr[0] "%d minuto fa"
|
msgstr[0] "%d minuto fa"
|
||||||
msgstr[1] "%d minuti fa"
|
msgstr[1] "%d minuti fa"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1374
|
#: ../src/shell-global.c:1375
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour ago"
|
msgid "%d hour ago"
|
||||||
msgid_plural "%d hours ago"
|
msgid_plural "%d hours ago"
|
||||||
msgstr[0] "%d ora fa"
|
msgstr[0] "%d ora fa"
|
||||||
msgstr[1] "%d ore fa"
|
msgstr[1] "%d ore fa"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1379
|
#: ../src/shell-global.c:1380
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day ago"
|
msgid "%d day ago"
|
||||||
msgid_plural "%d days ago"
|
msgid_plural "%d days ago"
|
||||||
msgstr[0] "%d giorno fa"
|
msgstr[0] "%d giorno fa"
|
||||||
msgstr[1] "%d giorni fa"
|
msgstr[1] "%d giorni fa"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1384
|
#: ../src/shell-global.c:1385
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week ago"
|
msgid "%d week ago"
|
||||||
msgid_plural "%d weeks ago"
|
msgid_plural "%d weeks ago"
|
||||||
|
209
po/nb.po
209
po/nb.po
@ -8,8 +8,8 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: gnome-shell 2.91.x\n"
|
"Project-Id-Version: gnome-shell 2.91.x\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2011-02-02 20:31+0100\n"
|
"POT-Creation-Date: 2011-01-25 20:46+0100\n"
|
||||||
"PO-Revision-Date: 2011-02-02 20:34+0100\n"
|
"PO-Revision-Date: 2011-01-25 20:47+0100\n"
|
||||||
"Last-Translator: Torstein Adolf Winterseth <kvikende@fsfe.org>\n"
|
"Last-Translator: Torstein Adolf Winterseth <kvikende@fsfe.org>\n"
|
||||||
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
"Language-Team: Norwegian Bokmål <i18n-nb@lister.ping.uio.no>\n"
|
||||||
"Language: \n"
|
"Language: \n"
|
||||||
@ -268,21 +268,17 @@ msgstr ""
|
|||||||
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../js/misc/util.js:86
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr "Kommando ikke funnet"
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
#: ../js/misc/util.js:113
|
#: ../js/misc/util.js:108
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
msgstr "Klarte ikke å lese kommando:"
|
msgstr "Klarte ikke å lese kommando:"
|
||||||
|
|
||||||
#: ../js/misc/util.js:135
|
#: ../js/misc/util.js:130
|
||||||
msgid "No such application"
|
msgid "No such application"
|
||||||
msgstr "Programmet finnes ikke"
|
msgstr "Programmet finnes ikke"
|
||||||
|
|
||||||
#: ../js/misc/util.js:148
|
#: ../js/misc/util.js:143 ../js/ui/runDialog.js:351
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "Kjøring av «%s» feilet:"
|
msgstr "Kjøring av «%s» feilet:"
|
||||||
@ -322,142 +318,10 @@ msgstr "%s ble lagt til i dine favoritter."
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s ble fjernet fra dine favoritter."
|
msgstr "%s ble fjernet fra dine favoritter."
|
||||||
|
|
||||||
#. Translators: Shown in calendar event list for all day events
|
|
||||||
#: ../js/ui/calendar.js:62
|
|
||||||
msgid "All Day"
|
|
||||||
msgstr "Hele dagen"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Sunday.
|
|
||||||
#. *
|
|
||||||
#. * NOTE: These abbreviations are always shown together and in
|
|
||||||
#. * order, e.g. "S M T W T F S".
|
|
||||||
#.
|
|
||||||
#. Translators: Calendar grid abbreviation for Saturday
|
|
||||||
#. Translators: Event list abbreviation for Saturday
|
|
||||||
#: ../js/ui/calendar.js:112 ../js/ui/calendar.js:124 ../js/ui/calendar.js:149
|
|
||||||
msgid "S"
|
|
||||||
msgstr "S"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Monday
|
|
||||||
#. Translators: Event list abbreviation for Monday
|
|
||||||
#: ../js/ui/calendar.js:114 ../js/ui/calendar.js:139
|
|
||||||
msgid "M"
|
|
||||||
msgstr "M"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Tuesday
|
|
||||||
#. Translators: Calendar grid abbreviation for Thursday
|
|
||||||
#. Translators: Event list abbreviation for Tuesday
|
|
||||||
#: ../js/ui/calendar.js:116 ../js/ui/calendar.js:120 ../js/ui/calendar.js:141
|
|
||||||
msgid "T"
|
|
||||||
msgstr "T"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Wednesday
|
|
||||||
#. Translators: Event list abbreviation for Wednesday
|
|
||||||
#: ../js/ui/calendar.js:118 ../js/ui/calendar.js:143
|
|
||||||
msgid "W"
|
|
||||||
msgstr "O"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Friday
|
|
||||||
#. Translators: Event list abbreviation for Friday
|
|
||||||
#: ../js/ui/calendar.js:122 ../js/ui/calendar.js:147
|
|
||||||
msgid "F"
|
|
||||||
msgstr "F"
|
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Sunday.
|
|
||||||
#. *
|
|
||||||
#. * NOTE: These abbreviations are normally not shown together
|
|
||||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
|
||||||
#. * both be 'T').
|
|
||||||
#.
|
|
||||||
#: ../js/ui/calendar.js:137
|
|
||||||
msgid "Su"
|
|
||||||
msgstr "Sø"
|
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Thursday
|
|
||||||
#: ../js/ui/calendar.js:145
|
|
||||||
msgid "Th"
|
|
||||||
msgstr "To"
|
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
|
||||||
#: ../js/ui/calendar.js:696
|
|
||||||
msgid "Nothing Scheduled"
|
|
||||||
msgstr "Ingenting planlagt"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:723
|
|
||||||
msgid "Today"
|
|
||||||
msgstr "I dag"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:727
|
|
||||||
msgid "Tomorrow"
|
|
||||||
msgstr "I morgen"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:736
|
|
||||||
msgid "This week"
|
|
||||||
msgstr "Denne uken"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:744
|
|
||||||
msgid "Next week"
|
|
||||||
msgstr "Neste uke"
|
|
||||||
|
|
||||||
#: ../js/ui/dash.js:27
|
#: ../js/ui/dash.js:27
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "Fjern"
|
msgstr "Fjern"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:91
|
|
||||||
msgid "Date and Time Settings"
|
|
||||||
msgstr "Innstillinger for dato og klokkeslett"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:110
|
|
||||||
msgid "Open Calendar"
|
|
||||||
msgstr "Åpne kalender"
|
|
||||||
|
|
||||||
#. Translators: This is the time format with date used
|
|
||||||
#. in 24-hour mode.
|
|
||||||
#: ../js/ui/dateMenu.js:149
|
|
||||||
msgid "%a %b %e, %R:%S"
|
|
||||||
msgstr "%a %e %b, %R.%S"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:150
|
|
||||||
msgid "%a %b %e, %R"
|
|
||||||
msgstr "%a %e %b, %R"
|
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
|
||||||
#. in 24-hour mode.
|
|
||||||
#: ../js/ui/dateMenu.js:154
|
|
||||||
msgid "%a %R:%S"
|
|
||||||
msgstr "%a %R.%S"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:155
|
|
||||||
msgid "%a %R"
|
|
||||||
msgstr "%a %R"
|
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
|
||||||
#. for AM/PM.
|
|
||||||
#: ../js/ui/dateMenu.js:162
|
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
|
||||||
msgstr "%a %e %b, %l.%M.%S %p"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:163
|
|
||||||
msgid "%a %b %e, %l:%M %p"
|
|
||||||
msgstr "%a %e %b, %l.%M %p"
|
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
|
||||||
#. for AM/PM.
|
|
||||||
#: ../js/ui/dateMenu.js:167
|
|
||||||
msgid "%a %l:%M:%S %p"
|
|
||||||
msgstr "%a %l.%M.%S %p"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:168
|
|
||||||
msgid "%a %l:%M %p"
|
|
||||||
msgstr "%a %l.%M %p"
|
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
|
||||||
#.
|
|
||||||
#: ../js/ui/dateMenu.js:194
|
|
||||||
msgid "%A %B %e, %Y"
|
|
||||||
msgstr "%a %e %B, %Y"
|
|
||||||
|
|
||||||
#: ../js/ui/docDisplay.js:18
|
#: ../js/ui/docDisplay.js:18
|
||||||
msgid "RECENT ITEMS"
|
msgid "RECENT ITEMS"
|
||||||
msgstr "SISTE OPPFØRINGER"
|
msgstr "SISTE OPPFØRINGER"
|
||||||
@ -473,8 +337,7 @@ msgstr "Logg ut …"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:65
|
#: ../js/ui/endSessionDialog.js:65
|
||||||
msgid "Click Log Out to quit these applications and log out of the system."
|
msgid "Click Log Out to quit these applications and log out of the system."
|
||||||
msgstr ""
|
msgstr "Klikk Logg ut for å avslutte disse programmene og logge ut av systemet."
|
||||||
"Klikk Logg ut for å avslutte disse programmene og logge ut av systemet."
|
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:66
|
#: ../js/ui/endSessionDialog.js:66
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -513,9 +376,7 @@ msgstr "Start på nytt"
|
|||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:85
|
#: ../js/ui/endSessionDialog.js:85
|
||||||
msgid "Click Restart to quit these applications and restart the system."
|
msgid "Click Restart to quit these applications and restart the system."
|
||||||
msgstr ""
|
msgstr "Klikk Start på nytt for å avslutte disse programmene og starte systemet på nytt."
|
||||||
"Klikk Start på nytt for å avslutte disse programmene og starte systemet på "
|
|
||||||
"nytt."
|
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:86
|
#: ../js/ui/endSessionDialog.js:86
|
||||||
#, c-format
|
#, c-format
|
||||||
@ -564,7 +425,7 @@ msgstr "Vis kildekode"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "Nettside"
|
msgstr "Nettside"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1809
|
#: ../js/ui/messageTray.js:1765
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "Systeminformasjon"
|
msgstr "Systeminformasjon"
|
||||||
|
|
||||||
@ -581,14 +442,54 @@ msgid "Applications"
|
|||||||
msgstr "Programmer"
|
msgstr "Programmer"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:480
|
#: ../js/ui/panel.js:483
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "Avslutt %s"
|
msgstr "Avslutt %s"
|
||||||
|
|
||||||
|
#. Translators: This is the time format with date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:568
|
||||||
|
msgid "%a %b %e, %R:%S"
|
||||||
|
msgstr "%a %e %b, %R.%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:569
|
||||||
|
msgid "%a %b %e, %R"
|
||||||
|
msgstr "%a %e %b, %R"
|
||||||
|
|
||||||
|
#. Translators: This is the time format without date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:573
|
||||||
|
msgid "%a %R:%S"
|
||||||
|
msgstr "%a %R.%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:574
|
||||||
|
msgid "%a %R"
|
||||||
|
msgstr "%a %R"
|
||||||
|
|
||||||
|
#. Translators: This is a time format with date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:581
|
||||||
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
|
msgstr "%a %e %b, %l.%M.%S %p"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:582
|
||||||
|
msgid "%a %b %e, %l:%M %p"
|
||||||
|
msgstr "%a %e %b, %l.%M %p"
|
||||||
|
|
||||||
|
#. Translators: This is a time format without date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:586
|
||||||
|
msgid "%a %l:%M:%S %p"
|
||||||
|
msgstr "%a %l.%M.%S %p"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:587
|
||||||
|
msgid "%a %l:%M %p"
|
||||||
|
msgstr "%a %l.%M %p"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. Button on the left side of the panel.
|
||||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:614
|
#: ../js/ui/panel.js:732
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "Aktiviteter"
|
msgstr "Aktiviteter"
|
||||||
|
|
||||||
@ -914,22 +815,22 @@ msgstr "Volum"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "Mikrofon"
|
msgstr "Mikrofon"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:563
|
#: ../js/ui/telepathyClient.js:561
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s er tilkoblet."
|
msgstr "%s er tilkoblet."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:568
|
#: ../js/ui/telepathyClient.js:566
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s er frakoblet."
|
msgstr "%s er frakoblet."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:571
|
#: ../js/ui/telepathyClient.js:569
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "«%s» er borte."
|
msgstr "«%s» er borte."
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:574
|
#: ../js/ui/telepathyClient.js:572
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s er opptatt."
|
msgstr "%s er opptatt."
|
||||||
@ -937,7 +838,7 @@ msgstr "%s er opptatt."
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:668
|
#: ../js/ui/telepathyClient.js:666
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "Sendt %X på %A"
|
msgstr "Sendt %X på %A"
|
||||||
|
341
po/pa.po
341
po/pa.po
@ -7,8 +7,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."
|
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug."
|
||||||
"cgi?product=gnome-shell&component=general\n"
|
"cgi?product=gnome-shell&component=general\n"
|
||||||
"POT-Creation-Date: 2011-02-02 12:03+0000\n"
|
"POT-Creation-Date: 2011-01-15 00:23+0000\n"
|
||||||
"PO-Revision-Date: 2011-02-03 08:24+0530\n"
|
"PO-Revision-Date: 2011-01-16 11:07+0530\n"
|
||||||
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
|
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
|
||||||
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
|
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
@ -74,8 +74,7 @@ msgstr "ਜੇ ਚੋਣ ਕੀਤੀ ਤਾਂ ਕੈਲੰਡਰ ਵਿੱਚ
|
|||||||
msgid "List of desktop file IDs for favorite applications"
|
msgid "List of desktop file IDs for favorite applications"
|
||||||
msgstr "ਪਸੰਦੀਦਾ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਡੈਸਕਟਾਪ ਫਾਇਲ ID ਦੀ ਲਿਸਟ ਹੈ"
|
msgstr "ਪਸੰਦੀਦਾ ਐਪਲੀਕੇਸ਼ਨ ਲਈ ਡੈਸਕਟਾਪ ਫਾਇਲ ID ਦੀ ਲਿਸਟ ਹੈ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
#: ../data/org.gnome.shell.gschema.xml.in.h:11
|
||||||
#, no-c-format
|
|
||||||
msgid ""
|
msgid ""
|
||||||
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
"Sets the GStreamer pipeline used to encode recordings. It follows the syntax "
|
||||||
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
"used for gst-launch. The pipeline should have an unconnected sink pad where "
|
||||||
@ -84,31 +83,29 @@ msgid ""
|
|||||||
"pipeline can also take care of its own output - this might be used to send "
|
"pipeline can also take care of its own output - this might be used to send "
|
||||||
"the output to an icecast server via shout2send or similar. When unset or set "
|
"the output to an icecast server via shout2send or similar. When unset or set "
|
||||||
"to an empty value, the default pipeline will be used. This is currently "
|
"to an empty value, the default pipeline will be used. This is currently "
|
||||||
"'videorate ! vp8enc quality=10 speed=2 threads=%T ! queue ! webmmux' and "
|
"'videorate ! theoraenc ! oggmux' and records to Ogg Theora."
|
||||||
"records to WEBM using the VP8 codec. %T is used as a placeholder for a guess "
|
|
||||||
"at the optimal thread count on the system."
|
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
#: ../data/org.gnome.shell.gschema.xml.in.h:12
|
||||||
msgid "Show date in clock"
|
msgid "Show date in clock"
|
||||||
msgstr "ਘੜੀ ਵਿੱਚ ਮਿਤੀ ਵੇਖੋ"
|
msgstr "ਘੜੀ ਵਿੱਚ ਮਿਤੀ ਵੇਖੋ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
#: ../data/org.gnome.shell.gschema.xml.in.h:13
|
||||||
msgid "Show the week date in the calendar"
|
msgid "Show the week date in the calendar"
|
||||||
msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਹਫ਼ਤਾ ਮਿਤੀ ਵੇਖੋ"
|
msgstr "ਕੈਲੰਡਰ ਵਿੱਚ ਹਫ਼ਤਾ ਮਿਤੀ ਵੇਖੋ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
#: ../data/org.gnome.shell.gschema.xml.in.h:14
|
||||||
msgid "Show time with seconds"
|
msgid "Show time with seconds"
|
||||||
msgstr "ਸਮਾਂ ਵਿੱਚ ਸਕਿੰਟ ਵੇਖੋ"
|
msgstr "ਸਮਾਂ ਵਿੱਚ ਸਕਿੰਟ ਵੇਖੋ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
#: ../data/org.gnome.shell.gschema.xml.in.h:15
|
||||||
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 ""
|
||||||
"ਇਹਨਾਂ ਐਂਡਟਟੀਫਾਇਰ ਨਾਲ ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਸੰਦੀਦਾ ਖੇਤਰ 'ਚ ਵੇਖਾਇਆ ਜਾਵੇਗਾ।"
|
"ਇਹਨਾਂ ਐਂਡਟਟੀਫਾਇਰ ਨਾਲ ਸਬੰਧਿਤ ਐਪਲੀਕੇਸ਼ਨ ਨੂੰ ਪਸੰਦੀਦਾ ਖੇਤਰ 'ਚ ਵੇਖਾਇਆ ਜਾਵੇਗਾ।"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
#: ../data/org.gnome.shell.gschema.xml.in.h:16
|
||||||
msgid ""
|
msgid ""
|
||||||
"The filename for recorded screencasts will be a unique filename based on the "
|
"The filename for recorded screencasts will be a unique filename based on the "
|
||||||
"current date, and use this extension. It should be changed when recording to "
|
"current date, and use this extension. It should be changed when recording to "
|
||||||
@ -120,7 +117,7 @@ msgstr ""
|
|||||||
"ਰਿਕਾਰਡ ਕੀਤਾ "
|
"ਰਿਕਾਰਡ ਕੀਤਾ "
|
||||||
"ਜਾਵੇਗਾ।"
|
"ਜਾਵੇਗਾ।"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
#: ../data/org.gnome.shell.gschema.xml.in.h:17
|
||||||
msgid ""
|
msgid ""
|
||||||
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
"The framerate of the resulting screencast recordered by GNOME Shell's "
|
||||||
"screencast recorder in frames-per-second."
|
"screencast recorder in frames-per-second."
|
||||||
@ -129,11 +126,11 @@ msgstr ""
|
|||||||
"ਫਰੇਮ ਪ੍ਰਤੀ "
|
"ਫਰੇਮ ਪ੍ਰਤੀ "
|
||||||
"ਸਕਿੰਟ 'ਚ ਹੈ।"
|
"ਸਕਿੰਟ 'ਚ ਹੈ।"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
#: ../data/org.gnome.shell.gschema.xml.in.h:18
|
||||||
msgid "The gstreamer pipeline used to encode the screencast"
|
msgid "The gstreamer pipeline used to encode the screencast"
|
||||||
msgstr "ਸਕਰੀਨਕਾਸਟ ਇੰਕੋਡ ਕਰਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਜੀਸਟਰੀਮਰ ਪਾਇਪਲਾਇਨ"
|
msgstr "ਸਕਰੀਨਕਾਸਟ ਇੰਕੋਡ ਕਰਨ ਲਈ ਵਰਤਣ ਵਾਸਤੇ ਜੀਸਟਰੀਮਰ ਪਾਇਪਲਾਇਨ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
#: ../data/org.gnome.shell.gschema.xml.in.h:19
|
||||||
msgid ""
|
msgid ""
|
||||||
"The shell normally monitors active applications in order to present the most "
|
"The shell normally monitors active applications in order to present the most "
|
||||||
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
"used ones (e.g. in launchers). While this data will be kept private, you may "
|
||||||
@ -148,18 +145,14 @@ msgstr ""
|
|||||||
"ਕਰਨ ਨਾਲ ਪਹਿਲਾਂ "
|
"ਕਰਨ ਨਾਲ ਪਹਿਲਾਂ "
|
||||||
"ਸੰਭਾਲਿਆ ਗਿਆ ਡਾਟਾ ਹਟਾਇਆ ਨਹੀਂ ਜਾਵੇਗਾ।"
|
"ਸੰਭਾਲਿਆ ਗਿਆ ਡਾਟਾ ਹਟਾਇਆ ਨਹੀਂ ਜਾਵੇਗਾ।"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
#: ../data/org.gnome.shell.gschema.xml.in.h:20
|
||||||
msgid "Uuids of extensions to disable"
|
msgid "Uuids of extensions to disable"
|
||||||
msgstr "ਇਕਟੈਨਸ਼ਨ ਦੀ Uuids ਬੰਦ ਹੈ"
|
msgstr "ਇਕਟੈਨਸ਼ਨ ਦੀ Uuids ਬੰਦ ਹੈ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:22
|
#: ../data/org.gnome.shell.gschema.xml.in.h:21
|
||||||
msgid "Whether to collect stats about applications usage"
|
msgid "Whether to collect stats about applications usage"
|
||||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਬਾਰੇ ਅੰਕੜੇ ਇੱਕਠੇ ਕਰਨੇ ਹਨ"
|
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਵਰਤੋਂ ਬਾਰੇ ਅੰਕੜੇ ਇੱਕਠੇ ਕਰਨੇ ਹਨ"
|
||||||
|
|
||||||
#: ../data/org.gnome.shell.gschema.xml.in.h:23
|
|
||||||
msgid "disabled OpenSearch providers"
|
|
||||||
msgstr "ਓਪਨਸਰਚ ਉਪਲੱਬਧ ਕਰਵਾਉਣ ਵਾਲੇ ਬੰਦ ਹਨ"
|
|
||||||
|
|
||||||
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
|
#: ../data/org.gnome.accessibility.magnifier.gschema.xml.in.h:1
|
||||||
msgid "Clip the crosshairs at the center"
|
msgid "Clip the crosshairs at the center"
|
||||||
msgstr "ਸੈਂਟਰ ਉੱਤੇ ਕਰਾਂਸਹੇਅਰ ਕਲਿੱਪ ਕਰੋ"
|
msgstr "ਸੈਂਟਰ ਉੱਤੇ ਕਰਾਂਸਹੇਅਰ ਕਲਿੱਪ ਕਰੋ"
|
||||||
@ -297,47 +290,45 @@ msgstr ""
|
|||||||
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
msgid "Width of the vertical and horizontal lines that make up the crosshairs."
|
||||||
msgstr "ਵਰਟੀਕਲ ਤੇ ਹਰੀਜੱਟਲ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ, ਜੋ ਕਿ ਕਰਾਂਸਹੇਅਰ ਬਣਾਉਂਦੀਆਂ ਹਨ"
|
msgstr "ਵਰਟੀਕਲ ਤੇ ਹਰੀਜੱਟਲ ਲਾਈਨਾਂ ਦੀ ਚੌੜਾਈ, ਜੋ ਕਿ ਕਰਾਂਸਹੇਅਰ ਬਣਾਉਂਦੀਆਂ ਹਨ"
|
||||||
|
|
||||||
#: ../js/misc/util.js:86
|
|
||||||
msgid "Command not found"
|
|
||||||
msgstr "ਕਮਾਂਡ ਨਹੀਂ ਲੱਭੀ"
|
|
||||||
|
|
||||||
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
#. Replace "Error invoking GLib.shell_parse_argv: " with
|
||||||
#. something nicer
|
#. something nicer
|
||||||
#: ../js/misc/util.js:113
|
#: ../js/misc/util.js:108
|
||||||
|
#| msgid "Please enter a command:"
|
||||||
msgid "Could not parse command:"
|
msgid "Could not parse command:"
|
||||||
msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:"
|
msgstr "ਕਮਾਂਡ ਪਾਰਸ ਨਹੀਂ ਕੀਤੀ ਜਾ ਸਕੀ:"
|
||||||
|
|
||||||
#: ../js/misc/util.js:135
|
#: ../js/misc/util.js:130
|
||||||
|
#| msgid "Applications"
|
||||||
msgid "No such application"
|
msgid "No such application"
|
||||||
msgstr "ਇੰਞ ਦੀ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਹੈ"
|
msgstr "ਇੰਞ ਦੀ ਕੋਈ ਐਪਲੀਕੇਸ਼ਨ ਨਹੀਂ ਹੈ"
|
||||||
|
|
||||||
#: ../js/misc/util.js:148
|
#: ../js/misc/util.js:143 ../js/ui/runDialog.js:364
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Execution of '%s' failed:"
|
msgid "Execution of '%s' failed:"
|
||||||
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
|
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ:"
|
||||||
|
|
||||||
#. Translators: Filter to display all applications
|
#. Translators: Filter to display all applications
|
||||||
#: ../js/ui/appDisplay.js:164
|
#: ../js/ui/appDisplay.js:155
|
||||||
msgid "All"
|
msgid "All"
|
||||||
msgstr "ਸਭ"
|
msgstr "ਸਭ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:245
|
#: ../js/ui/appDisplay.js:236
|
||||||
msgid "APPLICATIONS"
|
msgid "APPLICATIONS"
|
||||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:275
|
#: ../js/ui/appDisplay.js:266
|
||||||
msgid "PREFERENCES"
|
msgid "PREFERENCES"
|
||||||
msgstr "ਪਸੰਦ"
|
msgstr "ਪਸੰਦ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:572
|
#: ../js/ui/appDisplay.js:563
|
||||||
msgid "New Window"
|
msgid "New Window"
|
||||||
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
|
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:576
|
#: ../js/ui/appDisplay.js:567
|
||||||
msgid "Remove from Favorites"
|
msgid "Remove from Favorites"
|
||||||
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
|
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
|
||||||
|
|
||||||
#: ../js/ui/appDisplay.js:577
|
#: ../js/ui/appDisplay.js:568
|
||||||
msgid "Add to Favorites"
|
msgid "Add to Favorites"
|
||||||
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
|
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
|
||||||
|
|
||||||
@ -351,155 +342,22 @@ msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਵਿੱਚ ਸ਼ਾਮ
|
|||||||
msgid "%s has been removed from your favorites."
|
msgid "%s has been removed from your favorites."
|
||||||
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।"
|
msgstr "%s ਨੂੰ ਤੁਹਾਡੀ ਪਸੰਦ ਤੋਂ ਹਟਾਇਆ ਜਾ ਚੁੱਕਿਆ ਹੈ।"
|
||||||
|
|
||||||
#. Translators: Shown in calendar event list for all day events
|
|
||||||
#: ../js/ui/calendar.js:62
|
|
||||||
#| msgid "All"
|
|
||||||
msgid "All Day"
|
|
||||||
msgstr "ਸਭ ਦਿਨ"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Sunday.
|
|
||||||
#. *
|
|
||||||
#. * NOTE: These abbreviations are always shown together and in
|
|
||||||
#. * order, e.g. "S M T W T F S".
|
|
||||||
#.
|
|
||||||
#. Translators: Calendar grid abbreviation for Saturday
|
|
||||||
#. Translators: Event list abbreviation for Saturday
|
|
||||||
#: ../js/ui/calendar.js:112 ../js/ui/calendar.js:124 ../js/ui/calendar.js:149
|
|
||||||
msgid "S"
|
|
||||||
msgstr "ਐ"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Monday
|
|
||||||
#. Translators: Event list abbreviation for Monday
|
|
||||||
#: ../js/ui/calendar.js:114 ../js/ui/calendar.js:139
|
|
||||||
msgid "M"
|
|
||||||
msgstr "ਸੋ"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Tuesday
|
|
||||||
#. Translators: Calendar grid abbreviation for Thursday
|
|
||||||
#. Translators: Event list abbreviation for Tuesday
|
|
||||||
#: ../js/ui/calendar.js:116 ../js/ui/calendar.js:120 ../js/ui/calendar.js:141
|
|
||||||
msgid "T"
|
|
||||||
msgstr "ਮੰ"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Wednesday
|
|
||||||
#. Translators: Event list abbreviation for Wednesday
|
|
||||||
#: ../js/ui/calendar.js:118 ../js/ui/calendar.js:143
|
|
||||||
msgid "W"
|
|
||||||
msgstr "ਬੁੱ"
|
|
||||||
|
|
||||||
#. Translators: Calendar grid abbreviation for Friday
|
|
||||||
#. Translators: Event list abbreviation for Friday
|
|
||||||
#: ../js/ui/calendar.js:122 ../js/ui/calendar.js:147
|
|
||||||
msgid "F"
|
|
||||||
msgstr "ਸ਼ੁੱ"
|
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Sunday.
|
|
||||||
#. *
|
|
||||||
#. * NOTE: These abbreviations are normally not shown together
|
|
||||||
#. * so they need to be unique (e.g. Tuesday and Thursday cannot
|
|
||||||
#. * both be 'T').
|
|
||||||
#.
|
|
||||||
#: ../js/ui/calendar.js:137
|
|
||||||
msgid "Su"
|
|
||||||
msgstr "ਐ"
|
|
||||||
|
|
||||||
#. Translators: Event list abbreviation for Thursday
|
|
||||||
#: ../js/ui/calendar.js:145
|
|
||||||
msgid "Th"
|
|
||||||
msgstr "ਵੀ"
|
|
||||||
|
|
||||||
#. Translators: Text to show if there are no events
|
|
||||||
#: ../js/ui/calendar.js:696
|
|
||||||
msgid "Nothing Scheduled"
|
|
||||||
msgstr "ਕੋਈ ਵੀ ਸੈਡਿਊਲ ਨਹੀਂ ਹੈ"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:723
|
|
||||||
msgid "Today"
|
|
||||||
msgstr "ਅੱਜ"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:727
|
|
||||||
msgid "Tomorrow"
|
|
||||||
msgstr "ਭਲਕ"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:736
|
|
||||||
msgid "This week"
|
|
||||||
msgstr "ਇਹ ਹਫ਼ਤਾ"
|
|
||||||
|
|
||||||
#: ../js/ui/calendar.js:744
|
|
||||||
msgid "Next week"
|
|
||||||
msgstr "ਹਫ਼ਤਾ ਅੱਗੇ"
|
|
||||||
|
|
||||||
#: ../js/ui/dash.js:27
|
#: ../js/ui/dash.js:27
|
||||||
msgid "Remove"
|
msgid "Remove"
|
||||||
msgstr "ਹਟਾਓ"
|
msgstr "ਹਟਾਓ"
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:91
|
|
||||||
#| msgid "System Settings"
|
|
||||||
msgid "Date and Time Settings"
|
|
||||||
msgstr "ਮਿਤੀ ਤੇ ਸਮਾਂ ਸੈਟਿੰਗ"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:110
|
|
||||||
msgid "Open Calendar"
|
|
||||||
msgstr "ਕੈਲੰਡਰ ਖੋਲ੍ਹੋ"
|
|
||||||
|
|
||||||
#. Translators: This is the time format with date used
|
|
||||||
#. in 24-hour mode.
|
|
||||||
#: ../js/ui/dateMenu.js:149
|
|
||||||
msgid "%a %b %e, %R:%S"
|
|
||||||
msgstr "%a, %e %b %R:%S"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:150
|
|
||||||
msgid "%a %b %e, %R"
|
|
||||||
msgstr "%a %e %b, %R"
|
|
||||||
|
|
||||||
#. Translators: This is the time format without date used
|
|
||||||
#. in 24-hour mode.
|
|
||||||
#: ../js/ui/dateMenu.js:154
|
|
||||||
msgid "%a %R:%S"
|
|
||||||
msgstr "%a %R:%S"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:155
|
|
||||||
msgid "%a %R"
|
|
||||||
msgstr "%a %R"
|
|
||||||
|
|
||||||
#. Translators: This is a time format with date used
|
|
||||||
#. for AM/PM.
|
|
||||||
#: ../js/ui/dateMenu.js:162
|
|
||||||
msgid "%a %b %e, %l:%M:%S %p"
|
|
||||||
msgstr "%a %e %b, %l:%M:%S %p"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:163
|
|
||||||
msgid "%a %b %e, %l:%M %p"
|
|
||||||
msgstr "%a %e %b, %l:%M %p"
|
|
||||||
|
|
||||||
#. Translators: This is a time format without date used
|
|
||||||
#. for AM/PM.
|
|
||||||
#: ../js/ui/dateMenu.js:167
|
|
||||||
msgid "%a %l:%M:%S %p"
|
|
||||||
msgstr "%a %l:%M:%S %p"
|
|
||||||
|
|
||||||
#: ../js/ui/dateMenu.js:168
|
|
||||||
msgid "%a %l:%M %p"
|
|
||||||
msgstr "%a %l:%M %p"
|
|
||||||
|
|
||||||
#. Translators: This is the date format to use when the calendar popup is
|
|
||||||
#. * shown - it is shown just below the time in the shell (e.g. "Tue 9:29 AM").
|
|
||||||
#.
|
|
||||||
#: ../js/ui/dateMenu.js:194
|
|
||||||
#| msgid "%a %b %e, %R"
|
|
||||||
msgid "%A %B %e, %Y"
|
|
||||||
msgstr "%A, %e %B %Y"
|
|
||||||
|
|
||||||
#: ../js/ui/docDisplay.js:18
|
#: ../js/ui/docDisplay.js:18
|
||||||
msgid "RECENT ITEMS"
|
msgid "RECENT ITEMS"
|
||||||
msgstr "ਤਾਜ਼ਾ ਆਈਟਮਾਂ"
|
msgstr "ਤਾਜ਼ਾ ਆਈਟਮਾਂ"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:63
|
#: ../js/ui/endSessionDialog.js:63
|
||||||
#, c-format
|
#, c-format
|
||||||
|
#| msgid "Log Out..."
|
||||||
msgid "Log Out %s"
|
msgid "Log Out %s"
|
||||||
msgstr "%s ਲਾਗਆਉਟ"
|
msgstr "%s ਲਾਗਆਉਟ"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69
|
#: ../js/ui/endSessionDialog.js:64 ../js/ui/endSessionDialog.js:69
|
||||||
|
#| msgid "Log Out..."
|
||||||
msgid "Log Out"
|
msgid "Log Out"
|
||||||
msgstr "ਲਾਗਆਉਟ"
|
msgstr "ਲਾਗਆਉਟ"
|
||||||
|
|
||||||
@ -523,6 +381,7 @@ msgid "Logging out of the system."
|
|||||||
msgstr "ਸਿਸਟਮ ਲਾਗ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
|
msgstr "ਸਿਸਟਮ ਲਾਗ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78
|
#: ../js/ui/endSessionDialog.js:74 ../js/ui/endSessionDialog.js:78
|
||||||
|
#| msgid "Shut Down..."
|
||||||
msgid "Shut Down"
|
msgid "Shut Down"
|
||||||
msgstr "ਬੰਦ ਕਰੋ"
|
msgstr "ਬੰਦ ਕਰੋ"
|
||||||
|
|
||||||
@ -540,6 +399,7 @@ msgid "Shutting down the system."
|
|||||||
msgstr "ਸਿਸਟਮ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
|
msgstr "ਸਿਸਟਮ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88
|
#: ../js/ui/endSessionDialog.js:84 ../js/ui/endSessionDialog.js:88
|
||||||
|
#| msgid "Restart..."
|
||||||
msgid "Restart"
|
msgid "Restart"
|
||||||
msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ"
|
msgstr "ਮੁੜ-ਚਾਲੂ ਕਰੋ"
|
||||||
|
|
||||||
@ -561,7 +421,7 @@ msgstr "ਸਿਸਟਮ ਮੁੜ-ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ
|
|||||||
msgid "Confirm"
|
msgid "Confirm"
|
||||||
msgstr "ਪੁਸ਼ਟੀ"
|
msgstr "ਪੁਸ਼ਟੀ"
|
||||||
|
|
||||||
#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:470
|
#: ../js/ui/endSessionDialog.js:400 ../js/ui/status/bluetooth.js:469
|
||||||
msgid "Cancel"
|
msgid "Cancel"
|
||||||
msgstr "ਰੱਦ ਕਰੋ"
|
msgstr "ਰੱਦ ਕਰੋ"
|
||||||
|
|
||||||
@ -595,48 +455,89 @@ msgstr "ਸਰੋਤ ਵੇਖੋ"
|
|||||||
msgid "Web Page"
|
msgid "Web Page"
|
||||||
msgstr "ਵੈੱਬ ਪੇਜ਼"
|
msgstr "ਵੈੱਬ ਪੇਜ਼"
|
||||||
|
|
||||||
#: ../js/ui/messageTray.js:1809
|
#: ../js/ui/messageTray.js:1748
|
||||||
|
#| msgid "Account Information..."
|
||||||
msgid "System Information"
|
msgid "System Information"
|
||||||
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
|
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:88
|
#: ../js/ui/overview.js:75
|
||||||
msgid "Undo"
|
msgid "Undo"
|
||||||
msgstr "ਵਾਪਸ"
|
msgstr "ਵਾਪਸ"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:159
|
#: ../js/ui/overview.js:140
|
||||||
msgid "Windows"
|
msgid "Windows"
|
||||||
msgstr "ਵਿੰਡੋ"
|
msgstr "ਵਿੰਡੋ"
|
||||||
|
|
||||||
#: ../js/ui/overview.js:162
|
#: ../js/ui/overview.js:143
|
||||||
msgid "Applications"
|
msgid "Applications"
|
||||||
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
msgstr "ਐਪਲੀਕੇਸ਼ਨ"
|
||||||
|
|
||||||
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
#. TODO - _quit() doesn't really work on apps in state STARTING yet
|
||||||
#: ../js/ui/panel.js:480
|
#: ../js/ui/panel.js:479
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Quit %s"
|
msgid "Quit %s"
|
||||||
msgstr "%s ਬੰਦ ਕਰੋ"
|
msgstr "%s ਬੰਦ ਕਰੋ"
|
||||||
|
|
||||||
|
#. Translators: This is the time format with date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:564
|
||||||
|
msgid "%a %b %e, %R:%S"
|
||||||
|
msgstr "%a, %e %b %R:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:565
|
||||||
|
msgid "%a %b %e, %R"
|
||||||
|
msgstr "%a %e %b, %R"
|
||||||
|
|
||||||
|
#. Translators: This is the time format without date used
|
||||||
|
#. in 24-hour mode.
|
||||||
|
#: ../js/ui/panel.js:569
|
||||||
|
msgid "%a %R:%S"
|
||||||
|
msgstr "%a %R:%S"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:570
|
||||||
|
msgid "%a %R"
|
||||||
|
msgstr "%a %R"
|
||||||
|
|
||||||
|
#. Translators: This is a time format with date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:577
|
||||||
|
msgid "%a %b %e, %l:%M:%S %p"
|
||||||
|
msgstr "%a %e %b, %l:%M:%S %p"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:578
|
||||||
|
msgid "%a %b %e, %l:%M %p"
|
||||||
|
msgstr "%a %e %b, %l:%M %p"
|
||||||
|
|
||||||
|
#. Translators: This is a time format without date used
|
||||||
|
#. for AM/PM.
|
||||||
|
#: ../js/ui/panel.js:582
|
||||||
|
msgid "%a %l:%M:%S %p"
|
||||||
|
msgstr "%a %l:%M:%S %p"
|
||||||
|
|
||||||
|
#: ../js/ui/panel.js:583
|
||||||
|
msgid "%a %l:%M %p"
|
||||||
|
msgstr "%a %l:%M %p"
|
||||||
|
|
||||||
#. Button on the left side of the panel.
|
#. Button on the left side of the panel.
|
||||||
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
#. Translators: If there is no suitable word for "Activities" in your language, you can use the word for "Overview".
|
||||||
#: ../js/ui/panel.js:614
|
#: ../js/ui/panel.js:728
|
||||||
msgid "Activities"
|
msgid "Activities"
|
||||||
msgstr "ਸਰਗਰਮੀਆਂ"
|
msgstr "ਸਰਗਰਮੀਆਂ"
|
||||||
|
|
||||||
#: ../js/ui/placeDisplay.js:106
|
#: ../js/ui/placeDisplay.js:112
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to unmount '%s'"
|
msgid "Failed to unmount '%s'"
|
||||||
msgstr "'%s' ਅਣ-ਮਾਊਂਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
|
msgstr "'%s' ਅਣ-ਮਾਊਂਟ ਕਰਨ ਲਈ ਫੇਲ੍ਹ"
|
||||||
|
|
||||||
#: ../js/ui/placeDisplay.js:109
|
#: ../js/ui/placeDisplay.js:115
|
||||||
msgid "Retry"
|
msgid "Retry"
|
||||||
msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼"
|
msgstr "ਮੁੜ-ਕੋਸ਼ਿਸ਼"
|
||||||
|
|
||||||
#: ../js/ui/placeDisplay.js:150
|
#: ../js/ui/placeDisplay.js:160
|
||||||
msgid "Connect to..."
|
msgid "Connect to..."
|
||||||
msgstr "...ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ"
|
msgstr "...ਨਾਲ ਕੁਨੈਕਟ ਕਰੋ"
|
||||||
|
|
||||||
#: ../js/ui/placeDisplay.js:386
|
#: ../js/ui/placeDisplay.js:559
|
||||||
msgid "PLACES & DEVICES"
|
msgid "PLACES & DEVICES"
|
||||||
msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ"
|
msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ"
|
||||||
|
|
||||||
@ -649,7 +550,7 @@ msgstr "ਥਾਵਾਂ ਤੇ ਜੰਤਰ"
|
|||||||
msgid "toggle-switch-us"
|
msgid "toggle-switch-us"
|
||||||
msgstr "toggle-switch-us"
|
msgstr "toggle-switch-us"
|
||||||
|
|
||||||
#: ../js/ui/runDialog.js:209
|
#: ../js/ui/runDialog.js:222
|
||||||
msgid "Please enter a command:"
|
msgid "Please enter a command:"
|
||||||
msgstr "ਕਮਾਂਡ ਦਿਓ ਜੀ:"
|
msgstr "ਕਮਾਂਡ ਦਿਓ ਜੀ:"
|
||||||
|
|
||||||
@ -733,7 +634,7 @@ msgstr "ਵੱਧ ਕਨਟਰਾਸਟ"
|
|||||||
msgid "Large Text"
|
msgid "Large Text"
|
||||||
msgstr "ਵੱਡੇ ਅੱਖਰ"
|
msgstr "ਵੱਡੇ ਅੱਖਰ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:241
|
#: ../js/ui/status/bluetooth.js:42 ../js/ui/status/bluetooth.js:240
|
||||||
msgid "Bluetooth"
|
msgid "Bluetooth"
|
||||||
msgstr "ਬਲਿਊਟੁੱਥ"
|
msgstr "ਬਲਿਊਟੁੱਥ"
|
||||||
|
|
||||||
@ -749,110 +650,106 @@ msgstr "...ਜੰਤਰ ਨੂੰ ਫਾਇਲਾਂ ਭੇਜੋ"
|
|||||||
msgid "Setup a New Device..."
|
msgid "Setup a New Device..."
|
||||||
msgstr "...ਨਵਾਂ ਜੰਤਰ ਸੈਟਅੱਪ"
|
msgstr "...ਨਵਾਂ ਜੰਤਰ ਸੈਟਅੱਪ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:95
|
#: ../js/ui/status/bluetooth.js:94
|
||||||
msgid "Bluetooth Settings"
|
msgid "Bluetooth Settings"
|
||||||
msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ"
|
msgstr "ਬਲਿਊਟੁੱਥ ਸੈਟਿੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:192
|
#: ../js/ui/status/bluetooth.js:191
|
||||||
msgid "Connection"
|
msgid "Connection"
|
||||||
msgstr "ਕੁਨੈਕਸ਼ਨ"
|
msgstr "ਕੁਨੈਕਸ਼ਨ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:228
|
#: ../js/ui/status/bluetooth.js:227
|
||||||
msgid "Send Files..."
|
msgid "Send Files..."
|
||||||
msgstr "...ਫਾਇਲਾਂ ਭੇਜੋ"
|
msgstr "...ਫਾਇਲਾਂ ਭੇਜੋ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:233
|
#: ../js/ui/status/bluetooth.js:232
|
||||||
msgid "Browse Files..."
|
msgid "Browse Files..."
|
||||||
msgstr "...ਫਾਇਲਾਂ ਦੀ ਝਲਕ"
|
msgstr "...ਫਾਇਲਾਂ ਦੀ ਝਲਕ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:242
|
#: ../js/ui/status/bluetooth.js:241
|
||||||
msgid "Error browsing device"
|
msgid "Error browsing device"
|
||||||
msgstr "ਜੰਤਰ ਬਰਾਊਜ਼ ਕਰਨ ਲਈ ਗਲਤੀ"
|
msgstr "ਜੰਤਰ ਬਰਾਊਜ਼ ਕਰਨ ਲਈ ਗਲਤੀ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:243
|
#: ../js/ui/status/bluetooth.js:242
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "The requested device cannot be browsed, error is '%s'"
|
msgid "The requested device cannot be browsed, error is '%s'"
|
||||||
msgstr "ਮੰਗ ਕੀਤੇ ਗਏ ਜੰਤਰ ਨੂੰ ਬਰਾਊਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਗਲਤੀ ਸੀ '%s'"
|
msgstr "ਮੰਗ ਕੀਤੇ ਗਏ ਜੰਤਰ ਨੂੰ ਬਰਾਊਜ਼ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ, ਗਲਤੀ ਸੀ '%s'"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:251
|
#: ../js/ui/status/bluetooth.js:250 ../js/ui/status/keyboard.js:78
|
||||||
msgid "Keyboard Settings"
|
msgid "Keyboard Settings"
|
||||||
msgstr "ਕੀਬੋਰਡ ਸੈਟਿੰਗ"
|
msgstr "ਕੀਬੋਰਡ ਸੈਟਿੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:256
|
#: ../js/ui/status/bluetooth.js:255
|
||||||
msgid "Mouse Settings"
|
msgid "Mouse Settings"
|
||||||
msgstr "ਮਾਊਸ ਸੈਟਿੰਗ"
|
msgstr "ਮਾਊਸ ਸੈਟਿੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:263 ../js/ui/status/volume.js:63
|
#: ../js/ui/status/bluetooth.js:262 ../js/ui/status/volume.js:63
|
||||||
msgid "Sound Settings"
|
msgid "Sound Settings"
|
||||||
msgstr "ਸਾਊਂਡ ਸੈਟਿੰਗ"
|
msgstr "ਸਾਊਂਡ ਸੈਟਿੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:337 ../js/ui/status/bluetooth.js:371
|
#: ../js/ui/status/bluetooth.js:336 ../js/ui/status/bluetooth.js:370
|
||||||
#: ../js/ui/status/bluetooth.js:411 ../js/ui/status/bluetooth.js:444
|
#: ../js/ui/status/bluetooth.js:410 ../js/ui/status/bluetooth.js:443
|
||||||
msgid "Bluetooth Agent"
|
msgid "Bluetooth Agent"
|
||||||
msgstr "ਬਲਿਊਟੁੱਥ ਏਜੰਟ"
|
msgstr "ਬਲਿਊਟੁੱਥ ਏਜੰਟ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:372
|
#: ../js/ui/status/bluetooth.js:371
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Authorization request from %s"
|
msgid "Authorization request from %s"
|
||||||
msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ"
|
msgstr "'%s' ਤੋਂ ਪਰਮਾਣਕਿਤਾ ਮੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:378
|
#: ../js/ui/status/bluetooth.js:377
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants access to the service '%s'"
|
msgid "Device %s wants access to the service '%s'"
|
||||||
msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।"
|
msgstr "ਜੰਤਰ %s ਸਰਵਿਸ '%s' ਨੂੰ ਵਰਤਣੀ ਚਾਹੁੰਦਾ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:380
|
#: ../js/ui/status/bluetooth.js:379
|
||||||
msgid "Always grant access"
|
msgid "Always grant access"
|
||||||
msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ"
|
msgstr "ਹਮੇਸ਼ਾ ਪਹੁੰਚ ਮਨਜ਼ੂਰ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:381
|
#: ../js/ui/status/bluetooth.js:380
|
||||||
msgid "Grant this time only"
|
msgid "Grant this time only"
|
||||||
msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ"
|
msgstr "ਕੇਵਲ ਇਸ ਸਮੇਂ ਹੀ ਮਨਜ਼ੂਰ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:382
|
#: ../js/ui/status/bluetooth.js:381
|
||||||
msgid "Reject"
|
msgid "Reject"
|
||||||
msgstr "ਨਾ-ਮਨਜ਼ੂਰ"
|
msgstr "ਨਾ-ਮਨਜ਼ੂਰ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:412
|
#: ../js/ui/status/bluetooth.js:411
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing confirmation for %s"
|
msgid "Pairing confirmation for %s"
|
||||||
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ"
|
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਪੁਸ਼ਟੀ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:418 ../js/ui/status/bluetooth.js:452
|
#: ../js/ui/status/bluetooth.js:417 ../js/ui/status/bluetooth.js:451
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Device %s wants to pair with this computer"
|
msgid "Device %s wants to pair with this computer"
|
||||||
msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ"
|
msgstr "ਜੰਤਰ %s ਇਸ ਕੰਪਿਊਟਰ ਨਾਲ ਪੇਅਰ ਹੋਣਾ ਚਾਹੁੰਦਾ ਹੈ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:419
|
#: ../js/ui/status/bluetooth.js:418
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
msgid "Please confirm whether the PIN '%s' matches the one on the device."
|
||||||
msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਿੰਨ '%s' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।"
|
msgstr "ਪੁਸ਼ਟੀ ਕਰੋ ਜੀ ਕਿ ਪਿੰਨ '%s' ਜੰਤਰ ਉੱਤੇ ਮੌਜੂਦ ਪਿੰਨ ਨਾਲ ਮਿਲਦਾ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:421
|
#: ../js/ui/status/bluetooth.js:420
|
||||||
msgid "Matches"
|
msgid "Matches"
|
||||||
msgstr "ਮਿਲਦਾ ਹੈ"
|
msgstr "ਮਿਲਦਾ ਹੈ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:422
|
#: ../js/ui/status/bluetooth.js:421
|
||||||
msgid "Does not match"
|
msgid "Does not match"
|
||||||
msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ"
|
msgstr "ਮਿਲਦਾ ਨਹੀਂ ਹੈ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:445
|
#: ../js/ui/status/bluetooth.js:444
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Pairing request for %s"
|
msgid "Pairing request for %s"
|
||||||
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ"
|
msgstr "%s ਲਈ ਪੇਅਰ ਕਰਨ ਦੀ ਮੰਗ"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:453
|
#: ../js/ui/status/bluetooth.js:452
|
||||||
msgid "Please enter the PIN mentioned on the device."
|
msgid "Please enter the PIN mentioned on the device."
|
||||||
msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।"
|
msgstr "ਜੰਤਰ ਉੱਤੇ ਦਿੱਤਾ ਗਿਆ ਪਿੰਨ ਦਿਉ ਜੀ।"
|
||||||
|
|
||||||
#: ../js/ui/status/bluetooth.js:469
|
#: ../js/ui/status/bluetooth.js:468
|
||||||
msgid "OK"
|
msgid "OK"
|
||||||
msgstr "ਠੀਕ ਹੈ"
|
msgstr "ਠੀਕ ਹੈ"
|
||||||
|
|
||||||
#: ../js/ui/status/keyboard.js:78
|
|
||||||
msgid "Localization Settings"
|
|
||||||
msgstr "ਲੋਕਲਾਈਜ਼ੇਸ਼ਨ ਸੈਟਿੰਗ"
|
|
||||||
|
|
||||||
#: ../js/ui/status/power.js:85
|
#: ../js/ui/status/power.js:85
|
||||||
msgid "Power Settings"
|
msgid "Power Settings"
|
||||||
msgstr "ਪਾਵਰ ਸੈਟਿੰਗ"
|
msgstr "ਪਾਵਰ ਸੈਟਿੰਗ"
|
||||||
@ -945,22 +842,22 @@ msgstr "ਆਵਾਜ਼"
|
|||||||
msgid "Microphone"
|
msgid "Microphone"
|
||||||
msgstr "ਮਾਈਕਰੋਫੋਨ"
|
msgstr "ਮਾਈਕਰੋਫੋਨ"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:563
|
#: ../js/ui/telepathyClient.js:561
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is online."
|
msgid "%s is online."
|
||||||
msgstr "%s ਆਨਲਾਈਨ ਹੈ।"
|
msgstr "%s ਆਨਲਾਈਨ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:568
|
#: ../js/ui/telepathyClient.js:566
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is offline."
|
msgid "%s is offline."
|
||||||
msgstr "%s ਆਫਲਾਈਨ ਹੈ।"
|
msgstr "%s ਆਫਲਾਈਨ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:571
|
#: ../js/ui/telepathyClient.js:569
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is away."
|
msgid "%s is away."
|
||||||
msgstr "%s ਦੂਰ ਹੈ।"
|
msgstr "%s ਦੂਰ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/telepathyClient.js:574
|
#: ../js/ui/telepathyClient.js:572
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%s is busy."
|
msgid "%s is busy."
|
||||||
msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।"
|
msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।"
|
||||||
@ -968,7 +865,7 @@ msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।"
|
|||||||
#. Translators: this is a time format string followed by a date.
|
#. Translators: this is a time format string followed by a date.
|
||||||
#. If applicable, replace %X with a strftime format valid for your
|
#. If applicable, replace %X with a strftime format valid for your
|
||||||
#. locale, without seconds.
|
#. locale, without seconds.
|
||||||
#: ../js/ui/telepathyClient.js:668
|
#: ../js/ui/telepathyClient.js:666
|
||||||
#, no-c-format
|
#, no-c-format
|
||||||
msgid "Sent at %X on %A"
|
msgid "Sent at %X on %A"
|
||||||
msgstr "%2$A ਨੂੰ %1$X ਵਜੇ ਭੇਜਿਆ"
|
msgstr "%2$A ਨੂੰ %1$X ਵਜੇ ਭੇਜਿਆ"
|
||||||
@ -987,14 +884,14 @@ msgstr "%s ਸ਼ੁਰੂ ਹੋਣਾ ਖਤਮ ਹੋਇਆ"
|
|||||||
msgid "'%s' is ready"
|
msgid "'%s' is ready"
|
||||||
msgstr "'%s' ਤਿਆਰ ਹੈ"
|
msgstr "'%s' ਤਿਆਰ ਹੈ"
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:243
|
#: ../js/ui/workspacesView.js:244
|
||||||
msgid ""
|
msgid ""
|
||||||
"Can't add a new workspace because maximum workspaces limit has been reached."
|
"Can't add a new workspace because maximum workspaces limit has been reached."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ "
|
"ਨਵਾਂ ਵਰਕਸਪੇਸ ਜੋੜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਕਿਉਂਕਿ ਵਰਕਸਪੇਸਾਂ ਦੀ ਵੱਧੋ-ਵੱਧ ਗਿਣਤੀ ਪੂਰੀ ਹੋ "
|
||||||
"ਚੁੱਕੀ ਹੈ।"
|
"ਚੁੱਕੀ ਹੈ।"
|
||||||
|
|
||||||
#: ../js/ui/workspacesView.js:259
|
#: ../js/ui/workspacesView.js:260
|
||||||
msgid "Can't remove the first workspace."
|
msgid "Can't remove the first workspace."
|
||||||
msgstr "ਪਹਿਲਾਂ ਵਰਕਸਪੇਸ ਨਹੀਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ।"
|
msgstr "ਪਹਿਲਾਂ ਵਰਕਸਪੇਸ ਨਹੀਂ ਹਟਾਇਆ ਜਾ ਸਕਦਾ।"
|
||||||
|
|
||||||
@ -1020,32 +917,32 @@ msgstr[1] "%u ਇੰਪੁੱਟ"
|
|||||||
msgid "System Sounds"
|
msgid "System Sounds"
|
||||||
msgstr "ਸਿਸਟਮ ਸਾਊਂਡ"
|
msgstr "ਸਿਸਟਮ ਸਾਊਂਡ"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1365
|
#: ../src/shell-global.c:1233
|
||||||
msgid "Less than a minute ago"
|
msgid "Less than a minute ago"
|
||||||
msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ"
|
msgstr "ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ ਚਿਰ ਪਹਿਲਾਂ"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1369
|
#: ../src/shell-global.c:1237
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d minute ago"
|
msgid "%d minute ago"
|
||||||
msgid_plural "%d minutes ago"
|
msgid_plural "%d minutes ago"
|
||||||
msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
|
msgstr[0] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
|
||||||
msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
|
msgstr[1] "%d ਮਿੰਟ ਪਹਿਲਾਂ"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1374
|
#: ../src/shell-global.c:1242
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d hour ago"
|
msgid "%d hour ago"
|
||||||
msgid_plural "%d hours ago"
|
msgid_plural "%d hours ago"
|
||||||
msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ"
|
msgstr[0] "%d ਘੰਟਾ ਪਹਿਲਾਂ"
|
||||||
msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ"
|
msgstr[1] "%d ਘੰਟੇ ਪਹਿਲਾਂ"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1379
|
#: ../src/shell-global.c:1247
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d day ago"
|
msgid "%d day ago"
|
||||||
msgid_plural "%d days ago"
|
msgid_plural "%d days ago"
|
||||||
msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ"
|
msgstr[0] "%d ਦਿਨ ਪਹਿਲਾਂ"
|
||||||
msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ"
|
msgstr[1] "%d ਦਿਨ ਪਹਿਲਾਂ"
|
||||||
|
|
||||||
#: ../src/shell-global.c:1384
|
#: ../src/shell-global.c:1252
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "%d week ago"
|
msgid "%d week ago"
|
||||||
msgid_plural "%d weeks ago"
|
msgid_plural "%d weeks ago"
|
||||||
|
@ -411,8 +411,6 @@ shell_app_activate_window (ShellApp *app,
|
|||||||
/**
|
/**
|
||||||
* shell_app_activate:
|
* shell_app_activate:
|
||||||
* @app: a #ShellApp
|
* @app: a #ShellApp
|
||||||
* @workspace: launch on this workspace, or -1 for default. Ignored if
|
|
||||||
* activating an existing window
|
|
||||||
*
|
*
|
||||||
* Perform an appropriate default action for operating on this application,
|
* Perform an appropriate default action for operating on this application,
|
||||||
* dependent on its current state. For example, if the application is not
|
* dependent on its current state. For example, if the application is not
|
||||||
@ -421,19 +419,13 @@ shell_app_activate_window (ShellApp *app,
|
|||||||
* recently used transient for that window).
|
* recently used transient for that window).
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
shell_app_activate (ShellApp *app,
|
shell_app_activate (ShellApp *app)
|
||||||
int workspace)
|
|
||||||
{
|
{
|
||||||
switch (app->state)
|
switch (app->state)
|
||||||
{
|
{
|
||||||
case SHELL_APP_STATE_STOPPED:
|
case SHELL_APP_STATE_STOPPED:
|
||||||
/* TODO sensibly handle this error */
|
/* TODO sensibly handle this error */
|
||||||
shell_app_info_launch_full (app->info,
|
shell_app_info_launch (app->info, NULL);
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
workspace,
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
break;
|
break;
|
||||||
case SHELL_APP_STATE_STARTING:
|
case SHELL_APP_STATE_STARTING:
|
||||||
break;
|
break;
|
||||||
@ -446,13 +438,11 @@ shell_app_activate (ShellApp *app,
|
|||||||
/**
|
/**
|
||||||
* shell_app_open_new_window:
|
* shell_app_open_new_window:
|
||||||
* @app: a #ShellApp
|
* @app: a #ShellApp
|
||||||
* @workspace: open on this workspace, or -1 for default
|
|
||||||
*
|
*
|
||||||
* Request that the application create a new window.
|
* Request that the application create a new window.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
shell_app_open_new_window (ShellApp *app,
|
shell_app_open_new_window (ShellApp *app)
|
||||||
int workspace)
|
|
||||||
{
|
{
|
||||||
/* Here we just always launch the application again, even if we know
|
/* Here we just always launch the application again, even if we know
|
||||||
* it was already running. For most applications this
|
* it was already running. For most applications this
|
||||||
@ -462,12 +452,7 @@ shell_app_open_new_window (ShellApp *app,
|
|||||||
* as say Pidgin. Ideally, we have the application express to us
|
* as say Pidgin. Ideally, we have the application express to us
|
||||||
* that it supports an explicit new-window action.
|
* that it supports an explicit new-window action.
|
||||||
*/
|
*/
|
||||||
shell_app_info_launch_full (app->info,
|
shell_app_info_launch (app->info, NULL);
|
||||||
0,
|
|
||||||
NULL,
|
|
||||||
workspace,
|
|
||||||
NULL,
|
|
||||||
NULL);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -44,11 +44,9 @@ gboolean shell_app_is_transient (ShellApp *app);
|
|||||||
|
|
||||||
void shell_app_activate_window (ShellApp *app, MetaWindow *window, guint32 timestamp);
|
void shell_app_activate_window (ShellApp *app, MetaWindow *window, guint32 timestamp);
|
||||||
|
|
||||||
void shell_app_activate (ShellApp *app,
|
void shell_app_activate (ShellApp *app);
|
||||||
int workspace);
|
|
||||||
|
|
||||||
void shell_app_open_new_window (ShellApp *app,
|
void shell_app_open_new_window (ShellApp *app);
|
||||||
int workspace);
|
|
||||||
|
|
||||||
ShellAppState shell_app_get_state (ShellApp *app);
|
ShellAppState shell_app_get_state (ShellApp *app);
|
||||||
|
|
||||||
|
@ -227,24 +227,17 @@ shell_doc_system_on_recent_changed (GtkRecentManager *manager,
|
|||||||
* shell_doc_system_open:
|
* shell_doc_system_open:
|
||||||
* @system: A #ShellDocSystem
|
* @system: A #ShellDocSystem
|
||||||
* @info: A #GtkRecentInfo
|
* @info: A #GtkRecentInfo
|
||||||
* @workspace: Open on this workspace, or -1 for default
|
|
||||||
*
|
*
|
||||||
* Launch the default application associated with the mime type of
|
* Launch the default application associated with the mime type of
|
||||||
* @info, using its uri.
|
* @info, using its uri.
|
||||||
*/
|
*/
|
||||||
void
|
void
|
||||||
shell_doc_system_open (ShellDocSystem *system,
|
shell_doc_system_open (ShellDocSystem *system,
|
||||||
GtkRecentInfo *info,
|
GtkRecentInfo *info)
|
||||||
int workspace)
|
|
||||||
{
|
{
|
||||||
GFile *file;
|
GFile *file;
|
||||||
GAppInfo *app_info;
|
GAppInfo *app_info;
|
||||||
gboolean needs_uri;
|
gboolean needs_uri;
|
||||||
GAppLaunchContext *context;
|
|
||||||
|
|
||||||
context = shell_global_create_app_launch_context (shell_global_get ());
|
|
||||||
if (workspace != -1)
|
|
||||||
gdk_app_launch_context_set_desktop ((GdkAppLaunchContext *)context, workspace);
|
|
||||||
|
|
||||||
file = g_file_new_for_uri (gtk_recent_info_get_uri (info));
|
file = g_file_new_for_uri (gtk_recent_info_get_uri (info));
|
||||||
needs_uri = g_file_get_path (file) == NULL;
|
needs_uri = g_file_get_path (file) == NULL;
|
||||||
@ -255,7 +248,7 @@ shell_doc_system_open (ShellDocSystem *system,
|
|||||||
{
|
{
|
||||||
GList *uris;
|
GList *uris;
|
||||||
uris = g_list_prepend (NULL, (gpointer)gtk_recent_info_get_uri (info));
|
uris = g_list_prepend (NULL, (gpointer)gtk_recent_info_get_uri (info));
|
||||||
g_app_info_launch_uris (app_info, uris, context, NULL);
|
g_app_info_launch_uris (app_info, uris, shell_global_create_app_launch_context (shell_global_get ()), NULL);
|
||||||
g_list_free (uris);
|
g_list_free (uris);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -274,6 +267,7 @@ shell_doc_system_open (ShellDocSystem *system,
|
|||||||
if (gtk_recent_info_get_application_info (info, app_name, &app_exec, &count, &time))
|
if (gtk_recent_info_get_application_info (info, app_name, &app_exec, &count, &time))
|
||||||
{
|
{
|
||||||
GRegex *regex;
|
GRegex *regex;
|
||||||
|
GAppLaunchContext *context;
|
||||||
|
|
||||||
/* TODO: Change this once better support for creating
|
/* TODO: Change this once better support for creating
|
||||||
GAppInfo is added to GtkRecentInfo, as right now
|
GAppInfo is added to GtkRecentInfo, as right now
|
||||||
@ -304,13 +298,13 @@ shell_doc_system_open (ShellDocSystem *system,
|
|||||||
despite passing the app launch context, no startup
|
despite passing the app launch context, no startup
|
||||||
notification occurs.
|
notification occurs.
|
||||||
*/
|
*/
|
||||||
|
context = shell_global_create_app_launch_context (shell_global_get ());
|
||||||
g_app_info_launch (app_info, NULL, context, NULL);
|
g_app_info_launch (app_info, NULL, context, NULL);
|
||||||
|
g_object_unref (context);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_free (app_name);
|
g_free (app_name);
|
||||||
}
|
}
|
||||||
|
|
||||||
g_object_unref (context);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -41,7 +41,6 @@ void shell_doc_system_queue_existence_check (ShellDocSystem *system,
|
|||||||
guint n_items);
|
guint n_items);
|
||||||
|
|
||||||
void shell_doc_system_open (ShellDocSystem *system,
|
void shell_doc_system_open (ShellDocSystem *system,
|
||||||
GtkRecentInfo *info,
|
GtkRecentInfo *info);
|
||||||
int workspace);
|
|
||||||
|
|
||||||
#endif /* __SHELL_DOC_SYSTEM_H__ */
|
#endif /* __SHELL_DOC_SYSTEM_H__ */
|
||||||
|
@ -99,7 +99,7 @@ shell_evolution_event_source_request_range (ShellEvolutionEventSource *source,
|
|||||||
gint64 msec_begin,
|
gint64 msec_begin,
|
||||||
gint64 msec_end)
|
gint64 msec_end)
|
||||||
{
|
{
|
||||||
GDateTime *middle_utc, *middle;
|
GDateTime *middle;
|
||||||
|
|
||||||
/* The CalendarClient type is a convenience wrapper on top of
|
/* The CalendarClient type is a convenience wrapper on top of
|
||||||
* Evolution Data Server. It is based on the assumption that only
|
* Evolution Data Server. It is based on the assumption that only
|
||||||
@ -112,10 +112,7 @@ shell_evolution_event_source_request_range (ShellEvolutionEventSource *source,
|
|||||||
* days before and after) it works out just fine.
|
* days before and after) it works out just fine.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
middle_utc = g_date_time_new_from_unix_utc ((msec_begin + msec_end) / 2 / 1000);
|
middle = g_date_time_new_from_unix_utc ((msec_begin + msec_end) / 2 / 1000);
|
||||||
/* CalendarClient uses localtime rather than UTC */
|
|
||||||
middle = g_date_time_to_local (middle_utc);
|
|
||||||
g_date_time_unref (middle_utc);
|
|
||||||
g_date_time_get_ymd (middle, &source->req_year, &source->req_mon, NULL);
|
g_date_time_get_ymd (middle, &source->req_year, &source->req_mon, NULL);
|
||||||
g_date_time_unref (middle);
|
g_date_time_unref (middle);
|
||||||
calendar_client_select_month (source->client, source->req_mon - 1, source->req_year);
|
calendar_client_select_month (source->client, source->req_mon - 1, source->req_year);
|
||||||
@ -155,22 +152,15 @@ shell_evolution_event_source_get_events (ShellEvolutionEventSource *source,
|
|||||||
{
|
{
|
||||||
GList *result;
|
GList *result;
|
||||||
GDateTime *cur_date;
|
GDateTime *cur_date;
|
||||||
GDateTime *begin_date_utc, *begin_date;
|
GDateTime *begin_date;
|
||||||
GDateTime *end_date_utc, *end_date;
|
GDateTime *end_date;
|
||||||
|
|
||||||
g_return_val_if_fail (msec_begin <= msec_end, NULL);
|
g_return_val_if_fail (msec_begin <= msec_end, NULL);
|
||||||
|
|
||||||
result = NULL;
|
result = NULL;
|
||||||
|
|
||||||
begin_date_utc = g_date_time_new_from_unix_utc (msec_begin / 1000);
|
begin_date = g_date_time_new_from_unix_utc (msec_begin / 1000);
|
||||||
end_date_utc = g_date_time_new_from_unix_utc (msec_end / 1000);
|
end_date = g_date_time_new_from_unix_utc (msec_end / 1000);
|
||||||
|
|
||||||
/* CalendarClient uses localtime rather than UTC */
|
|
||||||
begin_date = g_date_time_to_local (begin_date_utc);
|
|
||||||
end_date = g_date_time_to_local (end_date_utc);
|
|
||||||
g_date_time_unref (begin_date_utc);
|
|
||||||
g_date_time_unref (end_date_utc);
|
|
||||||
|
|
||||||
cur_date = g_date_time_ref (begin_date);
|
cur_date = g_date_time_ref (begin_date);
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,6 @@ struct _StContainerPrivate
|
|||||||
GList *children;
|
GList *children;
|
||||||
ClutterActor *first_child;
|
ClutterActor *first_child;
|
||||||
ClutterActor *last_child;
|
ClutterActor *last_child;
|
||||||
gboolean block_update_pseude_classes;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static void clutter_container_iface_init (ClutterContainerIface *iface);
|
static void clutter_container_iface_init (ClutterContainerIface *iface);
|
||||||
@ -51,9 +50,6 @@ st_container_update_pseudo_classes (StContainer *container)
|
|||||||
ClutterActor *first_child, *last_child;
|
ClutterActor *first_child, *last_child;
|
||||||
StContainerPrivate *priv = container->priv;
|
StContainerPrivate *priv = container->priv;
|
||||||
|
|
||||||
if (priv->block_update_pseude_classes)
|
|
||||||
return;
|
|
||||||
|
|
||||||
first_item = priv->children;
|
first_item = priv->children;
|
||||||
first_child = first_item ? first_item->data : NULL;
|
first_child = first_item ? first_item->data : NULL;
|
||||||
if (first_child != priv->first_child)
|
if (first_child != priv->first_child)
|
||||||
@ -95,6 +91,28 @@ st_container_update_pseudo_classes (StContainer *container)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* st_container_remove_all:
|
||||||
|
* @container: An #StContainer
|
||||||
|
*
|
||||||
|
* Removes all child actors from @container.
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
st_container_remove_all (StContainer *container)
|
||||||
|
{
|
||||||
|
StContainerPrivate *priv = container->priv;
|
||||||
|
|
||||||
|
/* copied from clutter_group_remove_all() */
|
||||||
|
while (priv->children)
|
||||||
|
{
|
||||||
|
ClutterActor *child = priv->children->data;
|
||||||
|
priv->children = priv->children->next;
|
||||||
|
|
||||||
|
clutter_container_remove_actor (CLUTTER_CONTAINER (container), child);
|
||||||
|
}
|
||||||
|
st_container_update_pseudo_classes (container);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* st_container_destroy_children:
|
* st_container_destroy_children:
|
||||||
* @container: An #StContainer
|
* @container: An #StContainer
|
||||||
@ -106,14 +124,13 @@ st_container_destroy_children (StContainer *container)
|
|||||||
{
|
{
|
||||||
StContainerPrivate *priv = container->priv;
|
StContainerPrivate *priv = container->priv;
|
||||||
|
|
||||||
priv->block_update_pseude_classes = TRUE;
|
|
||||||
|
|
||||||
while (priv->children)
|
while (priv->children)
|
||||||
clutter_actor_destroy (priv->children->data);
|
{
|
||||||
|
ClutterActor *child = priv->children->data;
|
||||||
|
priv->children = priv->children->next;
|
||||||
|
|
||||||
priv->block_update_pseude_classes = FALSE;
|
clutter_actor_destroy (child);
|
||||||
|
}
|
||||||
st_container_update_pseudo_classes (container);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
@ -53,6 +53,7 @@ struct _StContainerClass {
|
|||||||
|
|
||||||
GType st_container_get_type (void) G_GNUC_CONST;
|
GType st_container_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
|
void st_container_remove_all (StContainer *container);
|
||||||
void st_container_destroy_children (StContainer *container);
|
void st_container_destroy_children (StContainer *container);
|
||||||
|
|
||||||
GList * st_container_get_focus_chain (StContainer *container);
|
GList * st_container_get_focus_chain (StContainer *container);
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
#define __NA_TRAY_CHILD_H__
|
#define __NA_TRAY_CHILD_H__
|
||||||
|
|
||||||
#include <gtk/gtk.h>
|
#include <gtk/gtk.h>
|
||||||
#include <gtk/gtkx.h>
|
|
||||||
#include <gdk/gdkx.h>
|
#include <gdk/gdkx.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
@ -315,13 +315,19 @@ pending_message_free (PendingMessage *message)
|
|||||||
g_free (message);
|
g_free (message);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static GdkFilterReturn
|
||||||
na_tray_manager_handle_message_data (NaTrayManager *manager,
|
na_tray_manager_handle_client_message_message_data (GdkXEvent *xev,
|
||||||
XClientMessageEvent *xevent)
|
GdkEvent *event,
|
||||||
|
gpointer data)
|
||||||
{
|
{
|
||||||
GList *p;
|
XClientMessageEvent *xevent;
|
||||||
int len;
|
NaTrayManager *manager;
|
||||||
|
GList *p;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
xevent = (XClientMessageEvent *) xev;
|
||||||
|
manager = data;
|
||||||
|
|
||||||
/* Try to see if we can find the pending message in the list */
|
/* Try to see if we can find the pending message in the list */
|
||||||
for (p = manager->messages; p; p = p->next)
|
for (p = manager->messages; p; p = p->next)
|
||||||
{
|
{
|
||||||
@ -355,6 +361,8 @@ na_tray_manager_handle_message_data (NaTrayManager *manager,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return GDK_FILTER_REMOVE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -374,17 +382,13 @@ na_tray_manager_handle_begin_message (NaTrayManager *manager,
|
|||||||
if (!socket)
|
if (!socket)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
timeout = xevent->data.l[2];
|
|
||||||
len = xevent->data.l[3];
|
|
||||||
id = xevent->data.l[4];
|
|
||||||
|
|
||||||
/* Check if the same message is already in the queue and remove it if so */
|
/* Check if the same message is already in the queue and remove it if so */
|
||||||
for (p = manager->messages; p; p = p->next)
|
for (p = manager->messages; p; p = p->next)
|
||||||
{
|
{
|
||||||
PendingMessage *pmsg = p->data;
|
PendingMessage *pmsg = p->data;
|
||||||
|
|
||||||
if (xevent->window == pmsg->window &&
|
if (xevent->window == pmsg->window &&
|
||||||
id == pmsg->id)
|
xevent->data.l[4] == pmsg->id)
|
||||||
{
|
{
|
||||||
/* Hmm, we found it, now remove it */
|
/* Hmm, we found it, now remove it */
|
||||||
pending_message_free (pmsg);
|
pending_message_free (pmsg);
|
||||||
@ -394,6 +398,10 @@ na_tray_manager_handle_begin_message (NaTrayManager *manager,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
timeout = xevent->data.l[2];
|
||||||
|
len = xevent->data.l[3];
|
||||||
|
id = xevent->data.l[4];
|
||||||
|
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
{
|
{
|
||||||
g_signal_emit (manager, manager_signals[MESSAGE_SENT], 0,
|
g_signal_emit (manager, manager_signals[MESSAGE_SENT], 0,
|
||||||
@ -420,9 +428,6 @@ na_tray_manager_handle_cancel_message (NaTrayManager *manager,
|
|||||||
{
|
{
|
||||||
GList *p;
|
GList *p;
|
||||||
GtkSocket *socket;
|
GtkSocket *socket;
|
||||||
long id;
|
|
||||||
|
|
||||||
id = xevent->data.l[2];
|
|
||||||
|
|
||||||
/* Check if the message is in the queue and remove it if so */
|
/* Check if the message is in the queue and remove it if so */
|
||||||
for (p = manager->messages; p; p = p->next)
|
for (p = manager->messages; p; p = p->next)
|
||||||
@ -430,7 +435,7 @@ na_tray_manager_handle_cancel_message (NaTrayManager *manager,
|
|||||||
PendingMessage *msg = p->data;
|
PendingMessage *msg = p->data;
|
||||||
|
|
||||||
if (xevent->window == msg->window &&
|
if (xevent->window == msg->window &&
|
||||||
id == msg->id)
|
xevent->data.l[4] == msg->id)
|
||||||
{
|
{
|
||||||
pending_message_free (msg);
|
pending_message_free (msg);
|
||||||
manager->messages = g_list_remove_link (manager->messages, p);
|
manager->messages = g_list_remove_link (manager->messages, p);
|
||||||
@ -449,6 +454,39 @@ na_tray_manager_handle_cancel_message (NaTrayManager *manager,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static GdkFilterReturn
|
||||||
|
na_tray_manager_handle_client_message_opcode (GdkXEvent *xev,
|
||||||
|
GdkEvent *event,
|
||||||
|
gpointer data)
|
||||||
|
{
|
||||||
|
XClientMessageEvent *xevent;
|
||||||
|
NaTrayManager *manager;
|
||||||
|
|
||||||
|
xevent = (XClientMessageEvent *) xev;
|
||||||
|
manager = data;
|
||||||
|
|
||||||
|
switch (xevent->data.l[1])
|
||||||
|
{
|
||||||
|
case SYSTEM_TRAY_REQUEST_DOCK:
|
||||||
|
/* Ignore this one since we don't know on which window this was received
|
||||||
|
* and so we can't know for which screen this is. It will be handled
|
||||||
|
* in na_tray_manager_window_filter() since we also receive it there */
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SYSTEM_TRAY_BEGIN_MESSAGE:
|
||||||
|
na_tray_manager_handle_begin_message (manager, xevent);
|
||||||
|
return GDK_FILTER_REMOVE;
|
||||||
|
|
||||||
|
case SYSTEM_TRAY_CANCEL_MESSAGE:
|
||||||
|
na_tray_manager_handle_cancel_message (manager, xevent);
|
||||||
|
return GDK_FILTER_REMOVE;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return GDK_FILTER_CONTINUE;
|
||||||
|
}
|
||||||
|
|
||||||
static GdkFilterReturn
|
static GdkFilterReturn
|
||||||
na_tray_manager_window_filter (GdkXEvent *xev,
|
na_tray_manager_window_filter (GdkXEvent *xev,
|
||||||
GdkEvent *event,
|
GdkEvent *event,
|
||||||
@ -459,7 +497,8 @@ na_tray_manager_window_filter (GdkXEvent *xev,
|
|||||||
|
|
||||||
if (xevent->type == ClientMessage)
|
if (xevent->type == ClientMessage)
|
||||||
{
|
{
|
||||||
/* _NET_SYSTEM_TRAY_OPCODE: SYSTEM_TRAY_REQUEST_DOCK */
|
/* We handle this client message here. See comment in
|
||||||
|
* na_tray_manager_handle_client_message_opcode() for details */
|
||||||
if (xevent->xclient.message_type == manager->opcode_atom &&
|
if (xevent->xclient.message_type == manager->opcode_atom &&
|
||||||
xevent->xclient.data.l[1] == SYSTEM_TRAY_REQUEST_DOCK)
|
xevent->xclient.data.l[1] == SYSTEM_TRAY_REQUEST_DOCK)
|
||||||
{
|
{
|
||||||
@ -467,29 +506,6 @@ na_tray_manager_window_filter (GdkXEvent *xev,
|
|||||||
(XClientMessageEvent *) xevent);
|
(XClientMessageEvent *) xevent);
|
||||||
return GDK_FILTER_REMOVE;
|
return GDK_FILTER_REMOVE;
|
||||||
}
|
}
|
||||||
/* _NET_SYSTEM_TRAY_OPCODE: SYSTEM_TRAY_BEGIN_MESSAGE */
|
|
||||||
else if (xevent->xclient.message_type == manager->opcode_atom &&
|
|
||||||
xevent->xclient.data.l[1] == SYSTEM_TRAY_BEGIN_MESSAGE)
|
|
||||||
{
|
|
||||||
na_tray_manager_handle_begin_message (manager,
|
|
||||||
(XClientMessageEvent *) event);
|
|
||||||
return GDK_FILTER_REMOVE;
|
|
||||||
}
|
|
||||||
/* _NET_SYSTEM_TRAY_OPCODE: SYSTEM_TRAY_CANCEL_MESSAGE */
|
|
||||||
else if (xevent->xclient.message_type == manager->opcode_atom &&
|
|
||||||
xevent->xclient.data.l[1] == SYSTEM_TRAY_CANCEL_MESSAGE)
|
|
||||||
{
|
|
||||||
na_tray_manager_handle_cancel_message (manager,
|
|
||||||
(XClientMessageEvent *) event);
|
|
||||||
return GDK_FILTER_REMOVE;
|
|
||||||
}
|
|
||||||
/* _NET_SYSTEM_TRAY_MESSAGE_DATA */
|
|
||||||
else if (xevent->xclient.message_type == manager->message_data_atom)
|
|
||||||
{
|
|
||||||
na_tray_manager_handle_message_data (manager,
|
|
||||||
(XClientMessageEvent *) event);
|
|
||||||
return GDK_FILTER_REMOVE;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (xevent->type == SelectionClear)
|
else if (xevent->type == SelectionClear)
|
||||||
{
|
{
|
||||||
@ -547,6 +563,9 @@ na_tray_manager_unmanage (NaTrayManager *manager)
|
|||||||
TRUE);
|
TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//FIXME: we should also use gdk_remove_client_message_filter when it's
|
||||||
|
//available
|
||||||
|
// See bug #351254
|
||||||
gdk_window_remove_filter (window,
|
gdk_window_remove_filter (window,
|
||||||
na_tray_manager_window_filter, manager);
|
na_tray_manager_window_filter, manager);
|
||||||
|
|
||||||
@ -717,8 +736,6 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
|
|||||||
|
|
||||||
message_data_atom = gdk_atom_intern ("_NET_SYSTEM_TRAY_MESSAGE_DATA",
|
message_data_atom = gdk_atom_intern ("_NET_SYSTEM_TRAY_MESSAGE_DATA",
|
||||||
FALSE);
|
FALSE);
|
||||||
manager->message_data_atom = gdk_x11_atom_to_xatom_for_display (display,
|
|
||||||
message_data_atom);
|
|
||||||
|
|
||||||
/* Add a window filter */
|
/* Add a window filter */
|
||||||
#if 0
|
#if 0
|
||||||
@ -727,8 +744,17 @@ na_tray_manager_manage_screen_x11 (NaTrayManager *manager,
|
|||||||
G_CALLBACK (na_tray_manager_selection_clear_event),
|
G_CALLBACK (na_tray_manager_selection_clear_event),
|
||||||
manager);
|
manager);
|
||||||
#endif
|
#endif
|
||||||
|
/* This is for SYSTEM_TRAY_REQUEST_DOCK and SelectionClear */
|
||||||
gdk_window_add_filter (window,
|
gdk_window_add_filter (window,
|
||||||
na_tray_manager_window_filter, manager);
|
na_tray_manager_window_filter, manager);
|
||||||
|
/* This is for SYSTEM_TRAY_BEGIN_MESSAGE and SYSTEM_TRAY_CANCEL_MESSAGE */
|
||||||
|
gdk_display_add_client_message_filter (display, opcode_atom,
|
||||||
|
na_tray_manager_handle_client_message_opcode,
|
||||||
|
manager);
|
||||||
|
/* This is for _NET_SYSTEM_TRAY_MESSAGE_DATA */
|
||||||
|
gdk_display_add_client_message_filter (display, message_data_atom,
|
||||||
|
na_tray_manager_handle_client_message_message_data,
|
||||||
|
manager);
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -50,7 +50,6 @@ struct _NaTrayManager
|
|||||||
#ifdef GDK_WINDOWING_X11
|
#ifdef GDK_WINDOWING_X11
|
||||||
GdkAtom selection_atom;
|
GdkAtom selection_atom;
|
||||||
Atom opcode_atom;
|
Atom opcode_atom;
|
||||||
Atom message_data_atom;
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
GtkWidget *invisible;
|
GtkWidget *invisible;
|
||||||
|
@ -62,8 +62,7 @@ fi
|
|||||||
# libxklavier, libxml2, ORBit2, pam, python, readline,
|
# libxklavier, libxml2, ORBit2, pam, python, readline,
|
||||||
# spidermonkey ({mozilla,firefox,xulrunner}-js), startup-notification,
|
# spidermonkey ({mozilla,firefox,xulrunner}-js), startup-notification,
|
||||||
# xdamage, icon-naming-utils, upower, libtool-ltdl, libvorbis,
|
# xdamage, icon-naming-utils, upower, libtool-ltdl, libvorbis,
|
||||||
# libgcrypt, libtasn1, libgnome-keyring, libgtop, cups,
|
# libgcrypt, libtasn1, libgnome-keyring, libgtop, cups
|
||||||
# evolution-data-server
|
|
||||||
#
|
#
|
||||||
# Non-devel packages needed by gnome-shell and its deps:
|
# Non-devel packages needed by gnome-shell and its deps:
|
||||||
# glxinfo, gstreamer-plugins-base, gstreamer-plugins-good,
|
# glxinfo, gstreamer-plugins-base, gstreamer-plugins-good,
|
||||||
|
@ -88,10 +88,17 @@
|
|||||||
</dependencies>
|
</dependencies>
|
||||||
</autotools>
|
</autotools>
|
||||||
|
|
||||||
|
<autotools id="gtk-theme-engine-clearlooks">
|
||||||
|
<branch repo="git.gnome.org" module="gtk-theme-engine-clearlooks"/>
|
||||||
|
<dependencies>
|
||||||
|
<dep package="gtk3"/>
|
||||||
|
</dependencies>
|
||||||
|
</autotools>
|
||||||
|
|
||||||
<autotools id="gnome-themes-standard">
|
<autotools id="gnome-themes-standard">
|
||||||
<branch repo="git.gnome.org" module="gnome-themes-standard"/>
|
<branch repo="git.gnome.org" module="gnome-themes-standard"/>
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<dep package="gtk3"/>
|
<dep package="gtk-theme-engine-clearlooks"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</autotools>
|
</autotools>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user