Compare commits
23 Commits
Author | SHA1 | Date | |
---|---|---|---|
4a9ffb5e2f | |||
4d72af73c8 | |||
cd40011e36 | |||
9e05e87b5c | |||
03b46a5510 | |||
e5c982351f | |||
470889f1c3 | |||
a6fb49b1e2 | |||
1e40de3779 | |||
a5370ce3bd | |||
312a749920 | |||
ae62bfa12d | |||
c5c3dd0997 | |||
64b31e9770 | |||
75a5f1accb | |||
a6d0e89ecb | |||
a9d6cc921e | |||
b84822b725 | |||
b28ea8ac92 | |||
6b34937ead | |||
1118cf1810 | |||
d981515b08 | |||
e78c59a4a8 |
14
NEWS
14
NEWS
@ -1,3 +1,17 @@
|
||||
3.10.4
|
||||
======
|
||||
* Fix keyboard activation of legacy tray icons [Giovanni; #721267]
|
||||
* Fix regressions from window-tracking changes in 3.10.3 [Florian; #722434,
|
||||
#722690, #722840, #723308, #722928]
|
||||
* Scale UI on high-resolution displays [Adel; #705410]
|
||||
* Misc. bug fixes [Giovanni, Jasper; #722547, #723197, #724256]
|
||||
|
||||
Contributors:
|
||||
Giovanni Campagna, Adel Gadllah, Florian Müllner, Jasper St. Pierre
|
||||
|
||||
Translations:
|
||||
Nilamdyuti Goswami [as], Stas Solovey [ru], A S Alam [pa]
|
||||
|
||||
3.10.3
|
||||
======
|
||||
* Fix reentrancy issue in message tray [Jasper; #711694]
|
||||
|
@ -1,5 +1,5 @@
|
||||
AC_PREREQ(2.63)
|
||||
AC_INIT([gnome-shell],[3.10.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
AC_INIT([gnome-shell],[3.10.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell],[gnome-shell])
|
||||
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AC_CONFIG_SRCDIR([src/shell-global.c])
|
||||
@ -60,7 +60,7 @@ AM_CONDITIONAL(BUILD_RECORDER, $build_recorder)
|
||||
CLUTTER_MIN_VERSION=1.13.4
|
||||
GOBJECT_INTROSPECTION_MIN_VERSION=0.10.1
|
||||
GJS_MIN_VERSION=1.38.1
|
||||
MUTTER_MIN_VERSION=3.10.1
|
||||
MUTTER_MIN_VERSION=3.10.4
|
||||
GTK_MIN_VERSION=3.7.9
|
||||
GIO_MIN_VERSION=2.37.0
|
||||
LIBECAL_MIN_VERSION=3.5.3
|
||||
|
@ -454,9 +454,10 @@ const AppSwitcher = new Lang.Class({
|
||||
appIcon.cachedWindows = allWindows.filter(function(w) {
|
||||
return windowTracker.get_window_app (w) == appIcon.app;
|
||||
});
|
||||
if (workspace == null || appIcon.cachedWindows.length > 0) {
|
||||
if (appIcon.cachedWindows.length > 0)
|
||||
this._addIcon(appIcon);
|
||||
}
|
||||
else if (workspace == null)
|
||||
throw new Error('%s appears to be running, but doesn\'t have any windows'.format(appIcon.app.get_name()));
|
||||
}
|
||||
|
||||
this._curApp = -1;
|
||||
|
@ -1026,6 +1026,9 @@ const Notification = new Lang.Class({
|
||||
Meta.later_add(Meta.LaterType.BEFORE_REDRAW,
|
||||
Lang.bind(this,
|
||||
function() {
|
||||
if (this._destroyed)
|
||||
return false;
|
||||
|
||||
if (this._canExpandContent()) {
|
||||
this._addBannerBody();
|
||||
this._table.add_style_class_name('multi-line-notification');
|
||||
|
@ -509,7 +509,7 @@ const SwitcherList = new Lang.Class({
|
||||
_getPreferredWidth: function (actor, forHeight, alloc) {
|
||||
let [maxChildMin, maxChildNat] = this._maxChildWidth(forHeight);
|
||||
|
||||
let totalSpacing = this._list.spacing * (this._items.length - 1);
|
||||
let totalSpacing = Math.max(this._list.spacing * (this._items.length - 1), 0);
|
||||
alloc.min_size = this._items.length * maxChildMin + totalSpacing;
|
||||
alloc.natural_size = alloc.min_size;
|
||||
this._minSize = alloc.min_size;
|
||||
@ -539,7 +539,7 @@ const SwitcherList = new Lang.Class({
|
||||
let childHeight = box.y2 - box.y1;
|
||||
|
||||
let [maxChildMin, maxChildNat] = this._maxChildWidth(childHeight);
|
||||
let totalSpacing = this._list.spacing * (this._items.length - 1);
|
||||
let totalSpacing = Math.max(this._list.spacing * (this._items.length - 1), 0);
|
||||
|
||||
let childWidth = Math.floor(Math.max(0, box.x2 - box.x1 - totalSpacing) / this._items.length);
|
||||
|
||||
|
350
po/as.po
350
po/as.po
@ -3,14 +3,14 @@
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
#
|
||||
# ngoswami <ngoswami@redhat.com>, 2011.
|
||||
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011, 2012, 2013.
|
||||
# Nilamdyuti Goswami <ngoswami@redhat.com>, 2011, 2012, 2013, 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-09-28 19:49+0000\n"
|
||||
"PO-Revision-Date: 2013-09-30 13:31+0530\n"
|
||||
"POT-Creation-Date: 2014-01-19 14:53+0000\n"
|
||||
"PO-Revision-Date: 2014-01-23 19:08+0630\n"
|
||||
"Last-Translator: Nilamdyuti Goswami <ngoswami@redhat.com>\n"
|
||||
"Language-Team: Assamese <kde-i18n-doc@kde.org>\n"
|
||||
"Language: as_IN\n"
|
||||
@ -279,23 +279,23 @@ msgstr ""
|
||||
msgid "Select an extension to configure using the combobox above."
|
||||
msgstr "উপৰত দিয়া কম্বোবাকচ ব্যৱহাৰ কৰি সংৰূপণ কৰিবলে এটা সম্প্ৰসাৰন বাছক।"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:145 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/gdm/authPrompt.js:146 ../js/ui/components/networkAgent.js:136
|
||||
#: ../js/ui/components/polkitAgent.js:161 ../js/ui/endSessionDialog.js:351
|
||||
#: ../js/ui/extensionDownloader.js:195 ../js/ui/shellMountOperation.js:399
|
||||
#: ../js/ui/status/bluetooth.js:222 ../js/ui/status/network.js:692
|
||||
#: ../js/ui/status/bluetooth.js:221 ../js/ui/status/network.js:739
|
||||
msgid "Cancel"
|
||||
msgstr "বাতিল কৰক"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:167 ../js/gdm/authPrompt.js:215
|
||||
#: ../js/gdm/authPrompt.js:168 ../js/gdm/authPrompt.js:216
|
||||
msgid "Next"
|
||||
msgstr "পৰৱৰ্তী"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:211 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/gdm/authPrompt.js:212 ../js/ui/shellMountOperation.js:403
|
||||
#: ../js/ui/unlockDialog.js:59
|
||||
msgid "Unlock"
|
||||
msgstr "আনলক কৰক"
|
||||
|
||||
#: ../js/gdm/authPrompt.js:213
|
||||
#: ../js/gdm/authPrompt.js:214
|
||||
msgctxt "button"
|
||||
msgid "Sign In"
|
||||
msgstr "ছাইন ইন কৰক"
|
||||
@ -322,23 +322,23 @@ msgstr "ব্যৱহাৰকাৰীৰ নাম: "
|
||||
msgid "Login Window"
|
||||
msgstr "লগিন উইন্ডো"
|
||||
|
||||
#: ../js/gdm/util.js:306
|
||||
#: ../js/gdm/util.js:321
|
||||
msgid "Authentication error"
|
||||
msgstr "প্ৰমাণীকৰণ ত্ৰুটি"
|
||||
|
||||
#: ../js/gdm/util.js:436
|
||||
#: ../js/gdm/util.js:451
|
||||
msgid "(or swipe finger)"
|
||||
msgstr "(অথবা আঙুলি স্বাইপ কৰক)"
|
||||
|
||||
#: ../js/misc/util.js:98
|
||||
#: ../js/misc/util.js:115
|
||||
msgid "Command not found"
|
||||
msgstr "কমান্ড পোৱা নগল"
|
||||
|
||||
#: ../js/misc/util.js:131
|
||||
#: ../js/misc/util.js:148
|
||||
msgid "Could not parse command:"
|
||||
msgstr "কমান্ড বিশ্লেষন কৰিব নোৱাৰি:"
|
||||
|
||||
#: ../js/misc/util.js:139
|
||||
#: ../js/misc/util.js:156
|
||||
#, javascript-format
|
||||
msgid "Execution of '%s' failed:"
|
||||
msgstr "'%s' ৰ প্ৰেৰণ ব্যৰ্থ হল:"
|
||||
@ -355,15 +355,15 @@ msgstr "সঘন"
|
||||
msgid "All"
|
||||
msgstr "সকলো"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1514
|
||||
#: ../js/ui/appDisplay.js:1525
|
||||
msgid "New Window"
|
||||
msgstr "নতুন উইন্ডো"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1517 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "পছন্দৰ পৰা আতৰাওক"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1518
|
||||
#: ../js/ui/appDisplay.js:1529
|
||||
msgid "Add to Favorites"
|
||||
msgstr "পছন্দলে যোগ কৰক"
|
||||
|
||||
@ -377,8 +377,8 @@ msgstr "%s ক আপোনাৰ পছন্দলে যোগ কৰা হ
|
||||
msgid "%s has been removed from your favorites."
|
||||
msgstr "%s ক আপোনাৰ পছন্দৰ পৰা আতৰোৱা হৈছে।"
|
||||
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:808
|
||||
#: ../js/ui/status/system.js:325
|
||||
#: ../js/ui/backgroundMenu.js:19 ../js/ui/panel.js:806
|
||||
#: ../js/ui/status/system.js:334
|
||||
msgid "Settings"
|
||||
msgstr "সংহতিসমূহ"
|
||||
|
||||
@ -568,16 +568,16 @@ msgstr "%s ৰ সৈতে খোলক"
|
||||
msgid "Eject"
|
||||
msgstr "উলিৱাওক"
|
||||
|
||||
#: ../js/ui/components/keyring.js:91 ../js/ui/components/polkitAgent.js:280
|
||||
#: ../js/ui/components/keyring.js:89 ../js/ui/components/polkitAgent.js:280
|
||||
msgid "Password:"
|
||||
msgstr "পাছৱাৰ্ড:"
|
||||
|
||||
#: ../js/ui/components/keyring.js:110
|
||||
#: ../js/ui/components/keyring.js:108
|
||||
msgid "Type again:"
|
||||
msgstr "আকৌ টাইপ কৰক:"
|
||||
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:275 ../js/ui/status/network.js:695
|
||||
#: ../js/ui/components/networkAgent.js:131 ../js/ui/status/network.js:132
|
||||
#: ../js/ui/status/network.js:295 ../js/ui/status/network.js:742
|
||||
msgid "Connect"
|
||||
msgstr "সংযোগ কৰক"
|
||||
|
||||
@ -671,60 +671,60 @@ msgstr "প্ৰমাণীত কৰক"
|
||||
msgid "Sorry, that didn't work. Please try again."
|
||||
msgstr "ক্ষমা কৰিব, সেয়া কাম নকৰিলে। অনুগ্ৰহ কৰি পুনৰ চেষ্টা কৰক।"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:238
|
||||
#: ../js/ui/components/telepathyClient.js:237
|
||||
msgid "Invitation"
|
||||
msgstr "নিমন্ত্ৰণ"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:298
|
||||
#: ../js/ui/components/telepathyClient.js:297
|
||||
msgid "Call"
|
||||
msgstr "কল"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:314
|
||||
#: ../js/ui/components/telepathyClient.js:313
|
||||
msgid "File Transfer"
|
||||
msgstr "ফাইল স্থানান্তৰ"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:418
|
||||
#: ../js/ui/components/telepathyClient.js:417
|
||||
msgid "Chat"
|
||||
msgstr "চেট"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:480
|
||||
#: ../js/ui/components/telepathyClient.js:479
|
||||
msgid "Unmute"
|
||||
msgstr "অমৌন কৰক"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:480
|
||||
#: ../js/ui/components/telepathyClient.js:479
|
||||
msgid "Mute"
|
||||
msgstr "মোন কৰক"
|
||||
|
||||
#. Translators: this is the word "Yesterday" followed by a time string. i.e. "Yesterday, 14:30"*/
|
||||
#: ../js/ui/components/telepathyClient.js:942
|
||||
#: ../js/ui/components/telepathyClient.js:941
|
||||
msgid "<b>Yesterday</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>যোৱাকালী</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the week day name followed by a time string. i.e. "Monday, 14:30*/
|
||||
#: ../js/ui/components/telepathyClient.js:948
|
||||
#: ../js/ui/components/telepathyClient.js:947
|
||||
msgid "<b>%A</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%A</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
|
||||
#: ../js/ui/components/telepathyClient.js:953
|
||||
#: ../js/ui/components/telepathyClient.js:952
|
||||
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
|
||||
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
|
||||
#: ../js/ui/components/telepathyClient.js:957
|
||||
#: ../js/ui/components/telepathyClient.js:956
|
||||
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
msgstr "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
#: ../js/ui/components/telepathyClient.js:986
|
||||
#: ../js/ui/components/telepathyClient.js:985
|
||||
#, javascript-format
|
||||
msgid "%s is now known as %s"
|
||||
msgstr "%s এতিয়া %s হিচাপে জনাজাত"
|
||||
|
||||
#. translators: argument is a room name like
|
||||
#. * room@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1089
|
||||
#: ../js/ui/components/telepathyClient.js:1088
|
||||
#, javascript-format
|
||||
msgid "Invitation to %s"
|
||||
msgstr "%s লে নিমন্ত্ৰণ"
|
||||
@ -732,38 +732,38 @@ msgstr "%s লে নিমন্ত্ৰণ"
|
||||
#. translators: first argument is the name of a contact and the second
|
||||
#. * one the name of a room. "Alice is inviting you to join room@jabber.org
|
||||
#. * for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1097
|
||||
#: ../js/ui/components/telepathyClient.js:1096
|
||||
#, javascript-format
|
||||
msgid "%s is inviting you to join %s"
|
||||
msgstr "%s এ আপোনাক %s ত অংশগ্ৰহণ কৰিবলে আমন্ত্ৰণ জনাইছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1099
|
||||
#: ../js/ui/components/telepathyClient.js:1140
|
||||
#: ../js/ui/components/telepathyClient.js:1180
|
||||
#: ../js/ui/components/telepathyClient.js:1243
|
||||
#: ../js/ui/components/telepathyClient.js:1098
|
||||
#: ../js/ui/components/telepathyClient.js:1139
|
||||
#: ../js/ui/components/telepathyClient.js:1179
|
||||
#: ../js/ui/components/telepathyClient.js:1242
|
||||
msgid "Decline"
|
||||
msgstr "নাকচ কৰক"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1100
|
||||
#: ../js/ui/components/telepathyClient.js:1181
|
||||
#: ../js/ui/components/telepathyClient.js:1244
|
||||
#: ../js/ui/components/telepathyClient.js:1099
|
||||
#: ../js/ui/components/telepathyClient.js:1180
|
||||
#: ../js/ui/components/telepathyClient.js:1243
|
||||
msgid "Accept"
|
||||
msgstr "গ্ৰহন কৰক"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1130
|
||||
#: ../js/ui/components/telepathyClient.js:1129
|
||||
#, javascript-format
|
||||
msgid "Video call from %s"
|
||||
msgstr "%s ৰ পৰা ভিডিঅ' কল"
|
||||
|
||||
#. translators: argument is a contact name like Alice for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1133
|
||||
#: ../js/ui/components/telepathyClient.js:1132
|
||||
#, javascript-format
|
||||
msgid "Call from %s"
|
||||
msgstr "%s ৰ পৰা কল"
|
||||
|
||||
#. translators: this is a button label (verb), not a noun */
|
||||
#: ../js/ui/components/telepathyClient.js:1142
|
||||
#: ../js/ui/components/telepathyClient.js:1141
|
||||
msgid "Answer"
|
||||
msgstr "উত্তৰ দিয়ক"
|
||||
|
||||
@ -772,110 +772,110 @@ msgstr "উত্তৰ দিয়ক"
|
||||
#. * file name. The string will be something
|
||||
#. * like: "Alice is sending you test.ogg"
|
||||
#. */
|
||||
#: ../js/ui/components/telepathyClient.js:1174
|
||||
#: ../js/ui/components/telepathyClient.js:1173
|
||||
#, javascript-format
|
||||
msgid "%s is sending you %s"
|
||||
msgstr "%s এ আপোনাক %s পঠাই আছে"
|
||||
|
||||
#. To translators: The parameter is the contact's alias */
|
||||
#: ../js/ui/components/telepathyClient.js:1209
|
||||
#: ../js/ui/components/telepathyClient.js:1208
|
||||
#, javascript-format
|
||||
msgid "%s would like permission to see when you are online"
|
||||
msgstr "আপুনি কেতিয়া অনলাইন আছে চাবলে %s এ অনুমতি বিচাৰিব"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1301
|
||||
#: ../js/ui/components/telepathyClient.js:1300
|
||||
msgid "Network error"
|
||||
msgstr "নেটৱাৰ্ক ত্ৰুটি"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1303
|
||||
#: ../js/ui/components/telepathyClient.js:1302
|
||||
msgid "Authentication failed"
|
||||
msgstr "প্ৰমাণীকৰণ ব্যৰ্থ"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1305
|
||||
#: ../js/ui/components/telepathyClient.js:1304
|
||||
msgid "Encryption error"
|
||||
msgstr "ইনক্ৰিপষণ ত্ৰুটি"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1307
|
||||
#: ../js/ui/components/telepathyClient.js:1306
|
||||
msgid "Certificate not provided"
|
||||
msgstr "প্ৰমাণপত্ৰ প্ৰদান কৰা হোৱা নাই"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1309
|
||||
#: ../js/ui/components/telepathyClient.js:1308
|
||||
msgid "Certificate untrusted"
|
||||
msgstr "প্ৰমাণপত্ৰক ভৰষা কৰিব নোৱাৰি"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1311
|
||||
#: ../js/ui/components/telepathyClient.js:1310
|
||||
msgid "Certificate expired"
|
||||
msgstr "প্ৰমাণপত্ৰৰ অৱসান ঘটিছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1313
|
||||
#: ../js/ui/components/telepathyClient.js:1312
|
||||
msgid "Certificate not activated"
|
||||
msgstr "প্ৰমাণপত্ৰ সক্ৰিয় কৰা হোৱা নাই"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1315
|
||||
#: ../js/ui/components/telepathyClient.js:1314
|
||||
msgid "Certificate hostname mismatch"
|
||||
msgstr "প্ৰমাণপত্ৰ হস্টনাম অমিল"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1317
|
||||
#: ../js/ui/components/telepathyClient.js:1316
|
||||
msgid "Certificate fingerprint mismatch"
|
||||
msgstr "প্ৰমাণপত্ৰ ফিংগাৰপ্ৰিন্ট অমিল"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1319
|
||||
#: ../js/ui/components/telepathyClient.js:1318
|
||||
msgid "Certificate self-signed"
|
||||
msgstr "প্ৰমাণপত্ৰ স্ব-স্বাক্ষৰীত"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1321
|
||||
#: ../js/ui/components/telepathyClient.js:1320
|
||||
msgid "Status is set to offline"
|
||||
msgstr "অৱস্থা অফলাইনলে সংহতি কৰা হৈছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1323
|
||||
#: ../js/ui/components/telepathyClient.js:1322
|
||||
msgid "Encryption is not available"
|
||||
msgstr "ইনক্ৰিপষণ উপলব্ধ নহয়"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1325
|
||||
#: ../js/ui/components/telepathyClient.js:1324
|
||||
msgid "Certificate is invalid"
|
||||
msgstr "প্ৰমাণপত্ৰ অবৈধ"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1327
|
||||
#: ../js/ui/components/telepathyClient.js:1326
|
||||
msgid "Connection has been refused"
|
||||
msgstr "সংযোগ নাকচ কৰা হৈছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1329
|
||||
#: ../js/ui/components/telepathyClient.js:1328
|
||||
msgid "Connection can't be established"
|
||||
msgstr "সংযোগ স্থাপন কৰিব নোৱাৰি"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1331
|
||||
#: ../js/ui/components/telepathyClient.js:1330
|
||||
msgid "Connection has been lost"
|
||||
msgstr "সংযোগ হেৰাইছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1333
|
||||
#: ../js/ui/components/telepathyClient.js:1332
|
||||
msgid "This account is already connected to the server"
|
||||
msgstr "এই একাওন্ট ইতিমধ্যে চাৰ্ভাৰৰ সৈতে সংযোগিত"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1335
|
||||
#: ../js/ui/components/telepathyClient.js:1334
|
||||
msgid ""
|
||||
"Connection has been replaced by a new connection using the same resource"
|
||||
msgstr "সংযোগক একে সম্পদ ব্যৱহাৰ কৰি এটা নতুন সংযোগৰে প্ৰতিস্থাপন কৰা হৈছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1337
|
||||
#: ../js/ui/components/telepathyClient.js:1336
|
||||
msgid "The account already exists on the server"
|
||||
msgstr "একাওন্ট ইতিমধ্যে চাৰ্ভাৰত উপস্থিত"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1339
|
||||
#: ../js/ui/components/telepathyClient.js:1338
|
||||
msgid "Server is currently too busy to handle the connection"
|
||||
msgstr "চাৰ্ভাৰ সংযোগ ব্যৱস্থাপনা কৰিবলে বৰ্তমানে অতি ব্যস্ত"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1341
|
||||
#: ../js/ui/components/telepathyClient.js:1340
|
||||
msgid "Certificate has been revoked"
|
||||
msgstr "প্ৰমাণপত্ৰ প্ৰত্যাহাৰ কৰা হৈছে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1343
|
||||
#: ../js/ui/components/telepathyClient.js:1342
|
||||
msgid ""
|
||||
"Certificate uses an insecure cipher algorithm or is cryptographically weak"
|
||||
msgstr ""
|
||||
"প্ৰমাণপত্ৰয় এটা অসুৰক্ষিত চিফাৰ এলগৰিথম ব্যৱহাৰ কৰে অথবা ক্ৰিপ্টোগ্ৰাফিয়ভাৱে "
|
||||
"দুৰ্বল"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1345
|
||||
#: ../js/ui/components/telepathyClient.js:1344
|
||||
msgid ""
|
||||
"The length of the server certificate, or the depth of the server certificate "
|
||||
"chain, exceed the limits imposed by the cryptography library"
|
||||
@ -884,22 +884,22 @@ msgstr ""
|
||||
"ক্ৰিপ্টোগ্ৰাফী "
|
||||
"লাইব্ৰেৰীয়ে প্ৰণয়ন কৰা সীমাসমূহত অতিক্ৰম কৰে"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1347
|
||||
#: ../js/ui/components/telepathyClient.js:1346
|
||||
msgid "Internal error"
|
||||
msgstr "অভ্যন্তৰীক ত্ৰুটি"
|
||||
|
||||
#. translators: argument is the account name, like
|
||||
#. * name@jabber.org for example. */
|
||||
#: ../js/ui/components/telepathyClient.js:1357
|
||||
#: ../js/ui/components/telepathyClient.js:1356
|
||||
#, javascript-format
|
||||
msgid "Unable to connect to %s"
|
||||
msgstr "%s ৰ সৈতে সংযোগ কৰিবলে অক্ষম"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1362
|
||||
#: ../js/ui/components/telepathyClient.js:1361
|
||||
msgid "View account"
|
||||
msgstr "একাওন্ট দৰ্শন কৰক"
|
||||
|
||||
#: ../js/ui/components/telepathyClient.js:1401
|
||||
#: ../js/ui/components/telepathyClient.js:1400
|
||||
msgid "Unknown reason"
|
||||
msgstr "অজ্ঞাত কাৰণ"
|
||||
|
||||
@ -1075,9 +1075,12 @@ msgstr "ত্ৰুটিসমূহ দেখুৱাওক"
|
||||
msgid "Enabled"
|
||||
msgstr "সামৰ্থবান কৰা আছে"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated
|
||||
#. because it's disabled by rfkill (airplane mode) */
|
||||
#. translators:
|
||||
#. * The device has been disabled
|
||||
#: ../js/ui/lookingGlass.js:765 ../src/gvc/gvc-mixer-control.c:1830
|
||||
#: ../js/ui/lookingGlass.js:765 ../js/ui/status/network.js:472
|
||||
#: ../src/gvc/gvc-mixer-control.c:1830
|
||||
msgid "Disabled"
|
||||
msgstr "অসামৰ্থবান কৰা আছে"
|
||||
|
||||
@ -1101,44 +1104,48 @@ msgstr "উৎস দৰ্শন কৰক"
|
||||
msgid "Web Page"
|
||||
msgstr "ৱেব পৃষ্ঠা"
|
||||
|
||||
#: ../js/ui/messageTray.js:1222
|
||||
#: ../js/ui/messageTray.js:1347
|
||||
msgid "Open"
|
||||
msgstr "খোলক"
|
||||
|
||||
#: ../js/ui/messageTray.js:1229
|
||||
#: ../js/ui/messageTray.js:1354
|
||||
msgid "Remove"
|
||||
msgstr "আতৰাওক"
|
||||
|
||||
#: ../js/ui/messageTray.js:1513
|
||||
#: ../js/ui/messageTray.js:1657
|
||||
msgid "Notifications"
|
||||
msgstr "অধিসূচনাসমূহ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1664
|
||||
msgid "Clear Messages"
|
||||
msgstr "বাৰ্তাসমূহ পৰিষ্কাৰ কৰক"
|
||||
|
||||
#: ../js/ui/messageTray.js:1540
|
||||
#: ../js/ui/messageTray.js:1683
|
||||
msgid "Notification Settings"
|
||||
msgstr "অধিসূচনা সংহতিসমূহ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1559
|
||||
#: ../js/ui/messageTray.js:1736
|
||||
msgid "Tray Menu"
|
||||
msgstr "ট্ৰে মেনু"
|
||||
|
||||
#: ../js/ui/messageTray.js:1775
|
||||
#: ../js/ui/messageTray.js:1952
|
||||
msgid "No Messages"
|
||||
msgstr "কোনো বাৰ্তা নাই"
|
||||
|
||||
#: ../js/ui/messageTray.js:1813
|
||||
#: ../js/ui/messageTray.js:1990
|
||||
msgid "Message Tray"
|
||||
msgstr "বাৰ্তা ট্ৰে"
|
||||
|
||||
#: ../js/ui/messageTray.js:2788
|
||||
#: ../js/ui/messageTray.js:2974
|
||||
msgid "System Information"
|
||||
msgstr "চিস্টেম তথ্য"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:629 ../src/shell-app.c:396
|
||||
#: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "অজ্ঞাত"
|
||||
|
||||
#: ../js/ui/overviewControls.js:491 ../js/ui/screenShield.js:152
|
||||
#: ../js/ui/overviewControls.js:488 ../js/ui/screenShield.js:153
|
||||
#, javascript-format
|
||||
msgid "%d new message"
|
||||
msgid_plural "%d new messages"
|
||||
@ -1161,21 +1168,21 @@ msgstr "অভাৰভিউ"
|
||||
msgid "Type to search…"
|
||||
msgstr "সন্ধান কৰিবলে টাইপ কৰক…"
|
||||
|
||||
#: ../js/ui/panel.js:518
|
||||
#: ../js/ui/panel.js:516
|
||||
msgid "Quit"
|
||||
msgstr "প্ৰস্থান কৰক"
|
||||
|
||||
#. Translators: If there is no suitable word for "Activities"
|
||||
#. in your language, you can use the word for "Overview". */
|
||||
#: ../js/ui/panel.js:570
|
||||
#: ../js/ui/panel.js:568
|
||||
msgid "Activities"
|
||||
msgstr "কাৰ্য্যসমূহ"
|
||||
|
||||
#: ../js/ui/panel.js:904
|
||||
#: ../js/ui/panel.js:900
|
||||
msgid "Top Bar"
|
||||
msgstr "উপৰৰ বাৰ"
|
||||
|
||||
#: ../js/ui/popupMenu.js:233
|
||||
#: ../js/ui/popupMenu.js:260
|
||||
msgid "toggle-switch-us"
|
||||
msgstr "toggle-switch-us"
|
||||
|
||||
@ -1189,30 +1196,30 @@ msgstr "বন্ধ কৰক"
|
||||
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#: ../js/ui/screenShield.js:88
|
||||
#: ../js/ui/screenShield.js:89
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
|
||||
#: ../js/ui/screenShield.js:154
|
||||
#: ../js/ui/screenShield.js:155
|
||||
#, javascript-format
|
||||
msgid "%d new notification"
|
||||
msgid_plural "%d new notifications"
|
||||
msgstr[0] "%d নতুন অধিসূচনা"
|
||||
msgstr[1] "%d নতুন অধিসূচনাসমূহ"
|
||||
|
||||
#: ../js/ui/screenShield.js:477 ../js/ui/status/system.js:333
|
||||
#: ../js/ui/screenShield.js:478 ../js/ui/status/system.js:342
|
||||
msgid "Lock"
|
||||
msgstr "লক কৰক"
|
||||
|
||||
#: ../js/ui/screenShield.js:704
|
||||
#: ../js/ui/screenShield.js:712
|
||||
msgid "GNOME needs to lock the screen"
|
||||
msgstr "GNOME এ পৰ্দা লক কৰিব লাগিব"
|
||||
|
||||
#: ../js/ui/screenShield.js:831 ../js/ui/screenShield.js:1297
|
||||
#: ../js/ui/screenShield.js:839 ../js/ui/screenShield.js:1305
|
||||
msgid "Unable to lock"
|
||||
msgstr "লক কৰিবলে অক্ষম"
|
||||
|
||||
#: ../js/ui/screenShield.js:832 ../js/ui/screenShield.js:1298
|
||||
#: ../js/ui/screenShield.js:840 ../js/ui/screenShield.js:1306
|
||||
msgid "Lock was blocked by an application"
|
||||
msgstr "লক কাৰ্য্য এটা এপ্লিকেচন দ্বাৰা প্ৰতিৰোধ কৰা হৈছিল"
|
||||
|
||||
@ -1252,135 +1259,135 @@ msgstr "পাছৱাৰ্ড মনত ৰাখক"
|
||||
msgid "Accessibility"
|
||||
msgstr "অভিগম্যতা"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:58
|
||||
#: ../js/ui/status/accessibility.js:56
|
||||
msgid "Zoom"
|
||||
msgstr "জুম কৰক"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:65
|
||||
#: ../js/ui/status/accessibility.js:63
|
||||
msgid "Screen Reader"
|
||||
msgstr "পৰ্দা ৰিডাৰ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:69
|
||||
#: ../js/ui/status/accessibility.js:67
|
||||
msgid "Screen Keyboard"
|
||||
msgstr "পৰ্দা কিবৰ্ড"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:73
|
||||
#: ../js/ui/status/accessibility.js:71
|
||||
msgid "Visual Alerts"
|
||||
msgstr "চক্ষ সতৰ্কবাৰ্তাসমূহ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:76
|
||||
#: ../js/ui/status/accessibility.js:74
|
||||
msgid "Sticky Keys"
|
||||
msgstr "স্টিকি কি'সমূহ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:79
|
||||
#: ../js/ui/status/accessibility.js:77
|
||||
msgid "Slow Keys"
|
||||
msgstr "মন্থৰ কি'সমূহ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:82
|
||||
#: ../js/ui/status/accessibility.js:80
|
||||
msgid "Bounce Keys"
|
||||
msgstr "বাউঞ্চ কি'সমূহ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:85
|
||||
#: ../js/ui/status/accessibility.js:83
|
||||
msgid "Mouse Keys"
|
||||
msgstr "মাউছ কি'সমূহ"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:144
|
||||
#: ../js/ui/status/accessibility.js:142
|
||||
msgid "High Contrast"
|
||||
msgstr "উচ্চ কন্ট্ৰাস্ট"
|
||||
|
||||
#: ../js/ui/status/accessibility.js:193
|
||||
#: ../js/ui/status/accessibility.js:191
|
||||
msgid "Large Text"
|
||||
msgstr "ডাঙৰ লিখনী"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:28 ../js/ui/status/bluetooth.js:63
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#: ../js/ui/status/bluetooth.js:164 ../js/ui/status/bluetooth.js:195
|
||||
#: ../js/ui/status/bluetooth.js:27 ../js/ui/status/bluetooth.js:62
|
||||
#: ../js/ui/status/bluetooth.js:99 ../js/ui/status/bluetooth.js:127
|
||||
#: ../js/ui/status/bluetooth.js:163 ../js/ui/status/bluetooth.js:194
|
||||
msgid "Bluetooth"
|
||||
msgstr "ব্লুটুথ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:30 ../js/ui/status/network.js:112
|
||||
#: ../js/ui/status/network.js:1040 ../js/ui/status/rfkill.js:46
|
||||
#: ../js/ui/status/bluetooth.js:29 ../js/ui/status/network.js:132
|
||||
#: ../js/ui/status/network.js:1099 ../js/ui/status/rfkill.js:46
|
||||
msgid "Turn Off"
|
||||
msgstr "বন্ধ কৰক"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:33
|
||||
#: ../js/ui/status/bluetooth.js:32
|
||||
msgid "Bluetooth Settings"
|
||||
msgstr "ব্লুটুথ সংহতিসমূহ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:58
|
||||
#: ../js/ui/status/bluetooth.js:57
|
||||
#, javascript-format
|
||||
msgid "%d Connected Device"
|
||||
msgid_plural "%d Connected Devices"
|
||||
msgstr[0] "%d সংযুক্ত ডিভাইচ"
|
||||
msgstr[1] "%d সংযুক্ত ডিভাইচসমূহ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:101 ../js/ui/status/bluetooth.js:129
|
||||
#: ../js/ui/status/bluetooth.js:100 ../js/ui/status/bluetooth.js:128
|
||||
#, javascript-format
|
||||
msgid "Authorization request from %s"
|
||||
msgstr "%s ৰ পৰা প্ৰমাণীকৰণ অনুৰোধ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:107 ../js/ui/status/bluetooth.js:172
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
#: ../js/ui/status/bluetooth.js:106 ../js/ui/status/bluetooth.js:171
|
||||
#: ../js/ui/status/bluetooth.js:202
|
||||
#, javascript-format
|
||||
msgid "Device %s wants to pair with this computer"
|
||||
msgstr "ডিভাইচ %s এ এই কমপিউটাৰৰ লগত সংযোগ কৰিব বিচাৰে"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
#: ../js/ui/status/bluetooth.js:108
|
||||
msgid "Allow"
|
||||
msgstr "অনুমতি দিয়ক"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:110
|
||||
#: ../js/ui/status/bluetooth.js:109
|
||||
msgid "Deny"
|
||||
msgstr "নাকচ কৰক"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:135
|
||||
#: ../js/ui/status/bluetooth.js:134
|
||||
#, javascript-format
|
||||
msgid "Device %s wants access to the service '%s'"
|
||||
msgstr "ডিভাইচ %s এ সেৱা '%s' লে অভিগম বিচাৰে"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
#: ../js/ui/status/bluetooth.js:136
|
||||
msgid "Always grant access"
|
||||
msgstr "সদায় অভিগম প্ৰদান কৰক"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
#: ../js/ui/status/bluetooth.js:137
|
||||
msgid "Grant this time only"
|
||||
msgstr "কেৱল এইবাৰৰ কাৰণে প্ৰদান কৰক"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:139
|
||||
#: ../js/ui/status/bluetooth.js:138
|
||||
msgid "Reject"
|
||||
msgstr "নাকচ কৰক"
|
||||
|
||||
#. Translators: argument is the device short name */
|
||||
#: ../js/ui/status/bluetooth.js:166
|
||||
#: ../js/ui/status/bluetooth.js:165
|
||||
#, javascript-format
|
||||
msgid "Pairing confirmation for %s"
|
||||
msgstr "%s ৰ কাৰণে যোৰ প্ৰতিশ্ৰুতি"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:173
|
||||
#: ../js/ui/status/bluetooth.js:172
|
||||
#, javascript-format
|
||||
msgid ""
|
||||
"Please confirm whether the Passkey '%06d' matches the one on the device."
|
||||
msgstr "অনুগ্ৰহ কৰি সুনিশ্চিত কৰক যে পাছকি '%06d' ডিভাইচত থকাটোৰ সৈতে মিল খায়।"
|
||||
|
||||
#. Translators: this is the verb, not the noun */
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
#: ../js/ui/status/bluetooth.js:175
|
||||
msgid "Matches"
|
||||
msgstr "মিলসমূহ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:177
|
||||
#: ../js/ui/status/bluetooth.js:176
|
||||
msgid "Does not match"
|
||||
msgstr "মিল নাখায়"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:196
|
||||
#: ../js/ui/status/bluetooth.js:195
|
||||
#, javascript-format
|
||||
msgid "Pairing request for %s"
|
||||
msgstr "%s ৰ কাৰণে যোৰ অনুৰোধ"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:204
|
||||
#: ../js/ui/status/bluetooth.js:203
|
||||
msgid "Please enter the PIN mentioned on the device."
|
||||
msgstr "অনুগ্ৰহ কৰি ডিভাইচত উল্লেখ কৰা PIN সুমুৱাওক।"
|
||||
|
||||
#: ../js/ui/status/bluetooth.js:221
|
||||
#: ../js/ui/status/bluetooth.js:220
|
||||
msgid "OK"
|
||||
msgstr "ঠিক আছে"
|
||||
|
||||
@ -1388,87 +1395,103 @@ msgstr "ঠিক আছে"
|
||||
msgid "Brightness"
|
||||
msgstr "উজ্জ্বলতা"
|
||||
|
||||
#: ../js/ui/status/network.js:72
|
||||
#: ../js/ui/status/network.js:71
|
||||
msgid "<unknown>"
|
||||
msgstr "<unknown>"
|
||||
|
||||
#: ../js/ui/status/network.js:203 ../js/ui/status/network.js:1055
|
||||
#: ../js/ui/status/network.js:222 ../js/ui/status/network.js:379
|
||||
#: ../js/ui/status/network.js:1120
|
||||
msgid "Off"
|
||||
msgstr "অফ"
|
||||
|
||||
#: ../js/ui/status/network.js:276 ../js/ui/status/network.js:961
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "নেটৱাৰ্ক সংহতিসমূহ"
|
||||
|
||||
#. Translators: this is for network devices that are physically present but are not
|
||||
#. under NetworkManager's control (and thus cannot be used in the menu) */
|
||||
#: ../js/ui/status/network.js:364
|
||||
#: ../js/ui/status/network.js:385
|
||||
msgid "unmanaged"
|
||||
msgstr "অব্যৱস্থাপিত"
|
||||
|
||||
#: ../js/ui/status/network.js:366
|
||||
#: ../js/ui/status/network.js:387
|
||||
msgid "disconnecting..."
|
||||
msgstr "বিচ্ছিনিত কৰা হৈছে..."
|
||||
|
||||
#: ../js/ui/status/network.js:372 ../js/ui/status/network.js:1106
|
||||
#: ../js/ui/status/network.js:393 ../js/ui/status/network.js:1174
|
||||
msgid "connecting..."
|
||||
msgstr "সংযোগ কৰা হৈছে..."
|
||||
|
||||
#. Translators: this is for network connections that require some kind of key or password */
|
||||
#: ../js/ui/status/network.js:375 ../js/ui/status/network.js:1109
|
||||
#: ../js/ui/status/network.js:396 ../js/ui/status/network.js:1177
|
||||
msgid "authentication required"
|
||||
msgstr "প্ৰমাণীকৰণৰ প্ৰয়োজন"
|
||||
|
||||
#. Translators: this is for devices that require some kind of firmware or kernel
|
||||
#. module, which is missing */
|
||||
#: ../js/ui/status/network.js:383
|
||||
#: ../js/ui/status/network.js:404
|
||||
msgid "firmware missing"
|
||||
msgstr "ফাৰ্মৱেৰ সন্ধানহীন"
|
||||
|
||||
#. Translators: this is for a network device that cannot be activated (for example it
|
||||
#. is disabled by rfkill, or it has no coverage */
|
||||
#: ../js/ui/status/network.js:387
|
||||
#: ../js/ui/status/network.js:408
|
||||
msgid "unavailable"
|
||||
msgstr "উপলব্ধ নাই"
|
||||
|
||||
#: ../js/ui/status/network.js:389 ../js/ui/status/network.js:1111
|
||||
#: ../js/ui/status/network.js:410 ../js/ui/status/network.js:1179
|
||||
msgid "connection failed"
|
||||
msgstr "সংযোগ ব্যৰ্থ"
|
||||
|
||||
#: ../js/ui/status/network.js:660
|
||||
#: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
|
||||
#| msgid "Mobile broadband"
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "মবাইল ব্ৰডবেণ্ড সংহতিসমূহ"
|
||||
|
||||
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
|
||||
#| msgid "hardware disabled"
|
||||
msgid "Hardware Disabled"
|
||||
msgstr "হাৰ্ডৱেৰ অসামৰ্থবান কৰা আছে"
|
||||
|
||||
#: ../js/ui/status/network.js:707
|
||||
msgid "Wi-Fi Networks"
|
||||
msgstr "Wi-Fi নেটৱাৰ্কসমূহ"
|
||||
|
||||
#: ../js/ui/status/network.js:662
|
||||
#: ../js/ui/status/network.js:709
|
||||
msgid "Select a network"
|
||||
msgstr "এটা নেটৱাৰ্ক বাছক"
|
||||
|
||||
#: ../js/ui/status/network.js:686
|
||||
#: ../js/ui/status/network.js:733
|
||||
msgid "No Networks"
|
||||
msgstr "কোনো নেটৱাৰ্ক নাই"
|
||||
|
||||
#: ../js/ui/status/network.js:955
|
||||
#: ../js/ui/status/network.js:1005
|
||||
msgid "Select Network"
|
||||
msgstr "নেটৱাৰ্ক বাছক"
|
||||
|
||||
#: ../js/ui/status/network.js:1040
|
||||
#: ../js/ui/status/network.js:1011
|
||||
#| msgid "Settings"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "Wi-Fi সংহতিসমূহ"
|
||||
|
||||
#: ../js/ui/status/network.js:1099
|
||||
msgid "Turn On"
|
||||
msgstr "অন কৰক"
|
||||
|
||||
#: ../js/ui/status/network.js:1173
|
||||
#: ../js/ui/status/network.js:1122
|
||||
#| msgid "Connect"
|
||||
msgid "Not Connected"
|
||||
msgstr "সংযুক্ত নহয়"
|
||||
|
||||
#: ../js/ui/status/network.js:1242
|
||||
msgid "VPN"
|
||||
msgstr "VPN"
|
||||
|
||||
#: ../js/ui/status/network.js:1313
|
||||
#: ../js/ui/status/network.js:1382
|
||||
msgid "Network Manager"
|
||||
msgstr "নেটৱাৰ্ক ব্যৱস্থাপক"
|
||||
|
||||
#: ../js/ui/status/network.js:1352
|
||||
#: ../js/ui/status/network.js:1421
|
||||
msgid "Connection failed"
|
||||
msgstr "সংযোগ ব্যৰ্থ"
|
||||
|
||||
#: ../js/ui/status/network.js:1353
|
||||
#: ../js/ui/status/network.js:1422
|
||||
msgid "Activation of network connection failed"
|
||||
msgstr "নেটৱাৰ্ক সংযোগ সক্ৰিয়কৰণ ব্যৰ্থ হল"
|
||||
|
||||
@ -1490,13 +1513,11 @@ msgstr "অনুমান কৰা হৈছে…"
|
||||
|
||||
#: ../js/ui/status/power.js:77
|
||||
#, javascript-format
|
||||
#| msgid "%d\\u2236%02d Remaining (%d%%)"
|
||||
msgid "%d∶%02d Remaining (%d%%)"
|
||||
msgstr "%d∶%02d অৱশিষ্ট (%d%%)"
|
||||
|
||||
#: ../js/ui/status/power.js:82
|
||||
#, javascript-format
|
||||
#| msgid "%d\\u2236%02d Until Full (%d%%)"
|
||||
msgid "%d∶%02d Until Full (%d%%)"
|
||||
msgstr "%d∶%02d সম্পূৰ্ণ হোৱালৈ (%d%%)"
|
||||
|
||||
@ -1508,23 +1529,27 @@ msgstr "বিমান অৱস্থা"
|
||||
msgid "On"
|
||||
msgstr "অন"
|
||||
|
||||
#: ../js/ui/status/system.js:305
|
||||
#: ../js/ui/status/rfkill.js:49
|
||||
msgid "Network Settings"
|
||||
msgstr "নেটৱাৰ্ক সংহতিসমূহ"
|
||||
|
||||
#: ../js/ui/status/system.js:314
|
||||
msgid "Switch User"
|
||||
msgstr "ব্যৱহাৰকাৰী পৰিবৰ্তন কৰক"
|
||||
|
||||
#: ../js/ui/status/system.js:310
|
||||
#: ../js/ui/status/system.js:319
|
||||
msgid "Log Out"
|
||||
msgstr "লগ আউট কৰক"
|
||||
|
||||
#: ../js/ui/status/system.js:329
|
||||
#: ../js/ui/status/system.js:338
|
||||
msgid "Orientation Lock"
|
||||
msgstr "দিশনিৰ্ণয় লক"
|
||||
|
||||
#: ../js/ui/status/system.js:337
|
||||
#: ../js/ui/status/system.js:346
|
||||
msgid "Suspend"
|
||||
msgstr "বাতিল কৰক"
|
||||
|
||||
#: ../js/ui/status/system.js:340
|
||||
#: ../js/ui/status/system.js:349
|
||||
msgid "Power Off"
|
||||
msgstr "বন্ধ কৰক"
|
||||
|
||||
@ -1810,9 +1835,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
|
||||
#~ msgid "Set Up a New Device…"
|
||||
#~ msgstr "এটা নতুন ডিভাইচ সংহতি কৰক…"
|
||||
|
||||
#~ msgid "hardware disabled"
|
||||
#~ msgstr "হাৰ্ডৱেৰ অসামৰ্থবান কৰা আছে"
|
||||
|
||||
#~ msgid "Connection"
|
||||
#~ msgstr "সংযোগ"
|
||||
|
||||
@ -1851,9 +1873,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
|
||||
#~ msgid "Auto Ethernet"
|
||||
#~ msgstr "স্বচালিত ইথাৰনেট"
|
||||
|
||||
#~ msgid "Mobile broadband"
|
||||
#~ msgstr "মবাইল ব্ৰডবেণ্ড"
|
||||
|
||||
#~ msgid "Auto broadband"
|
||||
#~ msgstr "স্বচালিত ব্ৰডবেণ্ড"
|
||||
|
||||
@ -1955,9 +1974,6 @@ msgstr "প্ৰমাণীকৰণ ডাইলগ ব্যৱহাৰক
|
||||
#~ msgid "Idle"
|
||||
#~ msgstr "অলস"
|
||||
|
||||
#~ msgid "Notifications"
|
||||
#~ msgstr "অধিসূচনাসমূহ"
|
||||
|
||||
#~ msgid "Your chat status will be set to busy"
|
||||
#~ msgstr "আপোনাৰ চেট অৱস্থা ব্যস্থলে সংহতি কৰা হব"
|
||||
|
||||
|
36
po/pa.po
36
po/pa.po
@ -1,15 +1,15 @@
|
||||
# Punjabi translation for gnome-shell.
|
||||
# Copyright (C) 2009 gnome-shell's COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the gnome-shell package.
|
||||
# A S Alam <aalam@users.sf.net>, 2009, 2010, 2011, 2012, 2013.
|
||||
# A S Alam <aalam@users.sf.net>, 2009, 2010, 2011, 2012, 2013, 2014.
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell master\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-12-07 09:13+0000\n"
|
||||
"PO-Revision-Date: 2013-12-07 19:03-0600\n"
|
||||
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
|
||||
"POT-Creation-Date: 2014-02-01 22:56+0000\n"
|
||||
"PO-Revision-Date: 2014-02-01 17:12-0600\n"
|
||||
"Last-Translator: Aman Alam <aalam@users.sf.net>\n"
|
||||
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
|
||||
"Language: pa\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
@ -1094,43 +1094,43 @@ msgstr "ਸਰੋਤ ਵੇਖੋ"
|
||||
msgid "Web Page"
|
||||
msgstr "ਵੈੱਬ ਪੇਜ਼"
|
||||
|
||||
#: ../js/ui/messageTray.js:1347
|
||||
#: ../js/ui/messageTray.js:1350
|
||||
msgid "Open"
|
||||
msgstr "ਖੋਲ੍ਹੋ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1354
|
||||
#: ../js/ui/messageTray.js:1357
|
||||
msgid "Remove"
|
||||
msgstr "ਹਟਾਓ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1657
|
||||
#: ../js/ui/messageTray.js:1660
|
||||
msgid "Notifications"
|
||||
msgstr "ਨੋਟੀਫਿਕੇਸ਼ਨ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1664
|
||||
#: ../js/ui/messageTray.js:1667
|
||||
msgid "Clear Messages"
|
||||
msgstr "ਸੁਨੇਹੇ ਸਾਫ਼ ਕਰੋ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1683
|
||||
#: ../js/ui/messageTray.js:1686
|
||||
msgid "Notification Settings"
|
||||
msgstr "ਸੂਚਨਾ ਸੈਟਿੰਗ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1736
|
||||
#: ../js/ui/messageTray.js:1739
|
||||
msgid "Tray Menu"
|
||||
msgstr "ਟਰੇ ਮੇਨੂ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1952
|
||||
#: ../js/ui/messageTray.js:1955
|
||||
msgid "No Messages"
|
||||
msgstr "ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ"
|
||||
|
||||
#: ../js/ui/messageTray.js:1990
|
||||
#: ../js/ui/messageTray.js:1993
|
||||
msgid "Message Tray"
|
||||
msgstr "ਸੁਨੇਹਾ ਟਰੇ"
|
||||
|
||||
#: ../js/ui/messageTray.js:2974
|
||||
#: ../js/ui/messageTray.js:2977
|
||||
msgid "System Information"
|
||||
msgstr "ਸਿਸਟਮ ਜਾਣਕਾਰੀ"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
|
||||
#: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:398
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "ਅਣਜਾਣ"
|
||||
@ -1430,12 +1430,10 @@ msgid "connection failed"
|
||||
msgstr "ਕੁਨੈਕਸ਼ਨ ਫੇਲ੍ਹ ਹੈ"
|
||||
|
||||
#: ../js/ui/status/network.js:426 ../js/ui/status/network.js:512
|
||||
#| msgid "Mobile broadband"
|
||||
msgid "Mobile Broadband Settings"
|
||||
msgstr "ਮੋਬਾਇਲ ਬਰਾਡਬੈਂਡ ਸੈਟਿੰਗ"
|
||||
|
||||
#: ../js/ui/status/network.js:468 ../js/ui/status/network.js:1118
|
||||
#| msgid "hardware disabled"
|
||||
msgid "Hardware Disabled"
|
||||
msgstr "ਹਾਰਡਵੇਅਰ ਬੰਦ ਹੈ"
|
||||
|
||||
@ -1456,7 +1454,6 @@ msgid "Select Network"
|
||||
msgstr "ਨੈੱਟਵਰਕ ਚੁਣੋ"
|
||||
|
||||
#: ../js/ui/status/network.js:1011
|
||||
#| msgid "Settings"
|
||||
msgid "Wi-Fi Settings"
|
||||
msgstr "ਵਾਈ-ਫਾਈ ਸੈਟਿੰਗ"
|
||||
|
||||
@ -1465,9 +1462,8 @@ msgid "Turn On"
|
||||
msgstr "ਚਾਲੂ ਕਰੋ"
|
||||
|
||||
#: ../js/ui/status/network.js:1122
|
||||
#| msgid "Connect"
|
||||
msgid "Not Connected"
|
||||
msgstr "ਕੁਨੈਕਟ ਨਹੀਂ ਹੈ"
|
||||
msgstr "ਕੁਨੈਕਟਡ ਨਹੀਂ"
|
||||
|
||||
#: ../js/ui/status/network.js:1242
|
||||
msgid "VPN"
|
||||
@ -1654,7 +1650,7 @@ msgstr "ਲਾਗਇਨ ਸਕਰੀਨ ਉੱਤੇ ਖਾਸ ਮੋਡ ਜਿ
|
||||
msgid "List possible modes"
|
||||
msgstr "ਸੰਭਵ ਮੋਡ ਵੇਖਾਓ"
|
||||
|
||||
#: ../src/shell-app.c:644
|
||||
#: ../src/shell-app.c:646
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "'%s' ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ"
|
||||
|
61
po/ru.po
61
po/ru.po
@ -9,24 +9,25 @@
|
||||
# Sergey Davidoff <shnatsel@gmail.com>, 2010.
|
||||
# Yuri Kozlov <yuray@komyakino.ru>, 2011, 2012.
|
||||
# Yuri Myasoedov <omerta13@yandex.ru>, 2012, 2013.
|
||||
# Stas Solovey <whats_up@tut.by>, 2011, 2013.
|
||||
# JDronova <juliette.tux@gmail.com>, 2013.
|
||||
# Stas Solovey <whats_up@tut.by>, 2011, 2013, 2014.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: gnome-shell\n"
|
||||
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
|
||||
"shell&keywords=I18N+L10N&component=general\n"
|
||||
"POT-Creation-Date: 2013-11-01 12:09+0000\n"
|
||||
"PO-Revision-Date: 2013-11-01 23:30+0400\n"
|
||||
"Last-Translator: Yuri Myasoedov <ymyasoedov@yandex.ru>\n"
|
||||
"Language-Team: Russian <gnome-cyr@gnome.org>\n"
|
||||
"POT-Creation-Date: 2014-01-23 17:46+0000\n"
|
||||
"PO-Revision-Date: 2014-01-28 19:19+0300\n"
|
||||
"Last-Translator: Stas Solovey <whats_up@tut.by>\n"
|
||||
"Language-Team: Русский <gnome-cyr@gnome.org>\n"
|
||||
"Language: ru\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
"X-Generator: Poedit 1.5.7\n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
|
||||
"X-Generator: Gtranslator 2.91.6\n"
|
||||
|
||||
#: ../data/50-gnome-shell-system.xml.in.h:1
|
||||
msgid "System"
|
||||
@ -356,15 +357,15 @@ msgstr "Популярные"
|
||||
msgid "All"
|
||||
msgstr "Все"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1523
|
||||
#: ../js/ui/appDisplay.js:1525
|
||||
msgid "New Window"
|
||||
msgstr "Новое окно"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1526 ../js/ui/dash.js:284
|
||||
#: ../js/ui/appDisplay.js:1528 ../js/ui/dash.js:284
|
||||
msgid "Remove from Favorites"
|
||||
msgstr "Удалить из избранного"
|
||||
|
||||
#: ../js/ui/appDisplay.js:1527
|
||||
#: ../js/ui/appDisplay.js:1529
|
||||
msgid "Add to Favorites"
|
||||
msgstr "Добавить в избранное"
|
||||
|
||||
@ -520,17 +521,19 @@ msgstr "Следующий месяц"
|
||||
msgid "Nothing Scheduled"
|
||||
msgstr "Нет событий"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки, за разъяснением обращаться к Stas Solovey <whats_up@tut.by>
|
||||
#. Translators: Shown on calendar heading when selected day occurs on current year */
|
||||
#: ../js/ui/calendar.js:771
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%A, %B %d"
|
||||
msgstr "%A, %d %b., %Y"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#. Translators: Shown on calendar heading when selected day occurs on different year */
|
||||
#: ../js/ui/calendar.js:774
|
||||
msgctxt "calendar heading"
|
||||
msgid "%A, %B %d, %Y"
|
||||
msgstr "%A, %B %d, %Y"
|
||||
msgstr "%A, %d %b., %Y"
|
||||
|
||||
#: ../js/ui/calendar.js:785
|
||||
msgid "Today"
|
||||
@ -705,15 +708,17 @@ msgstr "<b>Вчера</b>, <b>%H:%M</b>"
|
||||
msgid "<b>%A</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%A</b>, <b>%H:%M</b>"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#. Translators: this is the month name and day number followed by a time string. i.e. "May 25, 14:30"*/
|
||||
#: ../js/ui/components/telepathyClient.js:952
|
||||
msgid "<b>%B</b> <b>%d</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%d</b> <b>%B</b>, <b>%H:%M</b>"
|
||||
msgstr "<b>%d</b> <b>%b</b>., <b>%H:%M</b>"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#. Translators: this is the month name, day number, year number followed by a time string. i.e. "May 25 2012, 14:30"*/
|
||||
#: ../js/ui/components/telepathyClient.js:956
|
||||
msgid "<b>%B</b> <b>%d</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
msgstr "<b>%d</b> <b>%B</b> <b>%Y</b>, <b>%H:%M</b> "
|
||||
msgstr "<b>%d</b> <b>%b</b>., <b>%Y</b>, <b>%H:%M</b> "
|
||||
|
||||
#. Translators: this is the other person changing their old IM name to their new
|
||||
#. IM name. */
|
||||
@ -927,12 +932,13 @@ msgstr "Открыть часы"
|
||||
msgid "Date & Time Settings"
|
||||
msgstr "Настроить дату и время"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#. 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:202
|
||||
msgid "%A %B %e, %Y"
|
||||
msgstr "%A, %e %B, %Y"
|
||||
msgstr "%A, %e %b., %Y"
|
||||
|
||||
#: ../js/ui/endSessionDialog.js:62
|
||||
#, javascript-format
|
||||
@ -1110,43 +1116,43 @@ msgstr "Показать код"
|
||||
msgid "Web Page"
|
||||
msgstr "Веб-страница"
|
||||
|
||||
#: ../js/ui/messageTray.js:1347
|
||||
#: ../js/ui/messageTray.js:1350
|
||||
msgid "Open"
|
||||
msgstr "Открыть"
|
||||
|
||||
#: ../js/ui/messageTray.js:1354
|
||||
#: ../js/ui/messageTray.js:1357
|
||||
msgid "Remove"
|
||||
msgstr "Удалить"
|
||||
|
||||
#: ../js/ui/messageTray.js:1657
|
||||
#: ../js/ui/messageTray.js:1660
|
||||
msgid "Notifications"
|
||||
msgstr "Уведомления"
|
||||
|
||||
#: ../js/ui/messageTray.js:1664
|
||||
#: ../js/ui/messageTray.js:1667
|
||||
msgid "Clear Messages"
|
||||
msgstr "Очистить список сообщений"
|
||||
|
||||
#: ../js/ui/messageTray.js:1683
|
||||
#: ../js/ui/messageTray.js:1686
|
||||
msgid "Notification Settings"
|
||||
msgstr "Параметры уведомлений"
|
||||
|
||||
#: ../js/ui/messageTray.js:1736
|
||||
#: ../js/ui/messageTray.js:1739
|
||||
msgid "Tray Menu"
|
||||
msgstr "Меню панели"
|
||||
|
||||
#: ../js/ui/messageTray.js:1952
|
||||
#: ../js/ui/messageTray.js:1955
|
||||
msgid "No Messages"
|
||||
msgstr "Нет сообщений"
|
||||
|
||||
#: ../js/ui/messageTray.js:1990
|
||||
#: ../js/ui/messageTray.js:1993
|
||||
msgid "Message Tray"
|
||||
msgstr "Панель сообщений"
|
||||
|
||||
#: ../js/ui/messageTray.js:2965
|
||||
#: ../js/ui/messageTray.js:2977
|
||||
msgid "System Information"
|
||||
msgstr "Системная информация"
|
||||
|
||||
#: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:396
|
||||
#: ../js/ui/notificationDaemon.js:510 ../src/shell-app.c:398
|
||||
msgctxt "program"
|
||||
msgid "Unknown"
|
||||
msgstr "Неизвестно"
|
||||
@ -1201,11 +1207,12 @@ msgstr "Введите команду"
|
||||
msgid "Close"
|
||||
msgstr "Закрыть"
|
||||
|
||||
# fix для даты в календаре и на экране блокировки
|
||||
#. Translators: This is a time format for a date in
|
||||
#. long format */
|
||||
#: ../js/ui/screenShield.js:89
|
||||
msgid "%A, %B %d"
|
||||
msgstr "%d %B, %A"
|
||||
msgstr "%A, %d %b., %Y"
|
||||
|
||||
#: ../js/ui/screenShield.js:155
|
||||
#, javascript-format
|
||||
@ -1673,7 +1680,7 @@ msgstr ""
|
||||
msgid "List possible modes"
|
||||
msgstr "Список возможных режимов"
|
||||
|
||||
#: ../src/shell-app.c:644
|
||||
#: ../src/shell-app.c:646
|
||||
#, c-format
|
||||
msgid "Failed to launch '%s'"
|
||||
msgstr "Не удалось запустить «%s»"
|
||||
|
@ -277,7 +277,9 @@ default_log_handler (const char *log_domain,
|
||||
|
||||
g_get_current_time (&now);
|
||||
|
||||
tp_debug_sender_add_message (sender, &now, log_domain, log_level, message);
|
||||
/* Send telepathy debug through DBus */
|
||||
if (log_domain != NULL && g_str_has_prefix (log_domain, "tp-glib"))
|
||||
tp_debug_sender_add_message (sender, &now, log_domain, log_level, message);
|
||||
|
||||
/* Filter out telepathy-glib logs, we don't want to flood Shell's output
|
||||
* with those. */
|
||||
|
@ -36,6 +36,8 @@ typedef struct {
|
||||
|
||||
GSList *windows;
|
||||
|
||||
guint interesting_windows;
|
||||
|
||||
/* Whether or not we need to resort the windows; this is done on demand */
|
||||
gboolean window_sort_stale : 1;
|
||||
|
||||
@ -899,12 +901,6 @@ shell_app_state_transition (ShellApp *app,
|
||||
state == SHELL_APP_STATE_STARTING));
|
||||
app->state = state;
|
||||
|
||||
if (app->state == SHELL_APP_STATE_STOPPED && app->running_state)
|
||||
{
|
||||
unref_running_state (app->running_state);
|
||||
app->running_state = NULL;
|
||||
}
|
||||
|
||||
_shell_app_system_notify_app_state_changed (shell_app_system_get_default (), app);
|
||||
|
||||
g_object_notify (G_OBJECT (app), "state");
|
||||
@ -934,6 +930,37 @@ shell_app_on_user_time_changed (MetaWindow *window,
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
shell_app_sync_running_state (ShellApp *app)
|
||||
{
|
||||
g_return_if_fail (app->running_state != NULL);
|
||||
|
||||
if (app->running_state->interesting_windows == 0)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
|
||||
else if (app->state != SHELL_APP_STATE_STARTING)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
shell_app_on_skip_taskbar_changed (MetaWindow *window,
|
||||
GParamSpec *pspec,
|
||||
ShellApp *app)
|
||||
{
|
||||
g_assert (app->running_state != NULL);
|
||||
|
||||
/* we rely on MetaWindow:skip-taskbar only being notified
|
||||
* when it actually changes; when that assumption breaks,
|
||||
* we'll have to track the "interesting" windows themselves
|
||||
*/
|
||||
if (meta_window_is_skip_taskbar (window))
|
||||
app->running_state->interesting_windows--;
|
||||
else
|
||||
app->running_state->interesting_windows++;
|
||||
|
||||
shell_app_sync_running_state (app);
|
||||
}
|
||||
|
||||
static void
|
||||
shell_app_on_ws_switch (MetaScreen *screen,
|
||||
int from,
|
||||
@ -1030,12 +1057,14 @@ _shell_app_add_window (ShellApp *app,
|
||||
app->running_state->windows = g_slist_prepend (app->running_state->windows, g_object_ref (window));
|
||||
g_signal_connect (window, "unmanaged", G_CALLBACK(shell_app_on_unmanaged), app);
|
||||
g_signal_connect (window, "notify::user-time", G_CALLBACK(shell_app_on_user_time_changed), app);
|
||||
g_signal_connect (window, "notify::skip-taskbar", G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
|
||||
|
||||
shell_app_update_app_menu (app, window);
|
||||
shell_app_ensure_busy_watch (app);
|
||||
|
||||
if (app->state != SHELL_APP_STATE_STARTING)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_RUNNING);
|
||||
if (shell_window_tracker_is_window_interesting (window))
|
||||
app->running_state->interesting_windows++;
|
||||
shell_app_sync_running_state (app);
|
||||
|
||||
g_object_thaw_notify (G_OBJECT (app));
|
||||
|
||||
@ -1053,11 +1082,16 @@ _shell_app_remove_window (ShellApp *app,
|
||||
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_unmanaged), app);
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_user_time_changed), app);
|
||||
g_signal_handlers_disconnect_by_func (window, G_CALLBACK(shell_app_on_skip_taskbar_changed), app);
|
||||
g_object_unref (window);
|
||||
app->running_state->windows = g_slist_remove (app->running_state->windows, window);
|
||||
|
||||
if (app->running_state->windows == NULL)
|
||||
shell_app_state_transition (app, SHELL_APP_STATE_STOPPED);
|
||||
if (shell_window_tracker_is_window_interesting (window))
|
||||
app->running_state->interesting_windows--;
|
||||
shell_app_sync_running_state (app);
|
||||
|
||||
if (app->running_state && app->running_state->windows == NULL)
|
||||
g_clear_pointer (&app->running_state, unref_running_state);
|
||||
|
||||
g_signal_emit (app, shell_app_signals[WINDOWS_CHANGED], 0);
|
||||
}
|
||||
@ -1556,11 +1590,9 @@ shell_app_dispose (GObject *object)
|
||||
app->entry = NULL;
|
||||
}
|
||||
|
||||
if (app->running_state)
|
||||
{
|
||||
while (app->running_state->windows)
|
||||
_shell_app_remove_window (app, app->running_state->windows->data);
|
||||
}
|
||||
while (app->running_state)
|
||||
_shell_app_remove_window (app, app->running_state->windows->data);
|
||||
|
||||
/* We should have been transitioned when we removed all of our windows */
|
||||
g_assert (app->state == SHELL_APP_STATE_STOPPED);
|
||||
g_assert (app->running_state == NULL);
|
||||
|
@ -739,6 +739,20 @@ global_stage_after_paint (gpointer data)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
update_scale_factor (GdkScreen *screen, gpointer data)
|
||||
{
|
||||
ShellGlobal *global = SHELL_GLOBAL (data);
|
||||
ClutterStage *stage = CLUTTER_STAGE (global->stage);
|
||||
StThemeContext *context = st_theme_context_get_for_stage (stage);
|
||||
GValue value = G_VALUE_INIT;
|
||||
|
||||
g_value_init (&value, G_TYPE_INT);
|
||||
gdk_screen_get_setting (global->gdk_screen, "gdk-window-scaling-factor", &value);
|
||||
g_object_set (context, "scale-factor", g_value_get_int (&value), NULL);
|
||||
}
|
||||
|
||||
/* This is an IBus workaround. The flow of events with IBus is that every time
|
||||
* it gets gets a key event, it:
|
||||
*
|
||||
@ -917,9 +931,19 @@ _shell_global_set_plugin (ShellGlobal *global,
|
||||
g_signal_connect (global->meta_display, "notify::focus-window",
|
||||
G_CALLBACK (focus_window_changed), global);
|
||||
|
||||
/*
|
||||
* We connect to GdkScreen's monitors-changed here to avoid
|
||||
* a race condition. GdkScreen's monitors-changed signal is
|
||||
* emitted *after* the xsetting has been updated.
|
||||
*/
|
||||
g_signal_connect (global->gdk_screen, "monitors-changed",
|
||||
G_CALLBACK (update_scale_factor), global);
|
||||
|
||||
gdk_event_handler_set (gnome_shell_gdk_event_handler, global, NULL);
|
||||
|
||||
global->focus_manager = st_focus_manager_get_for_stage (global->stage);
|
||||
|
||||
update_scale_factor (global->gdk_screen, global);
|
||||
}
|
||||
|
||||
GjsContext *
|
||||
|
@ -172,8 +172,9 @@ shell_tray_icon_new (ShellEmbeddedWindow *window)
|
||||
* @event: the #ClutterEvent triggering the fake click
|
||||
*
|
||||
* Fakes a press and release on @icon. @event must be a
|
||||
* %CLUTTER_BUTTON_RELEASE event. Its relevant details will be passed
|
||||
* on to the icon, but its coordinates will be ignored; the click is
|
||||
* %CLUTTER_BUTTON_RELEASE, %CLUTTER_KEY_PRESS or %CLUTTER_KEY_RELEASE event.
|
||||
* Its relevant details will be passed on to the icon, but its
|
||||
* coordinates will be ignored; the click is
|
||||
* always made on the center of @icon.
|
||||
*/
|
||||
void
|
||||
@ -191,6 +192,7 @@ shell_tray_icon_click (ShellTrayIcon *icon,
|
||||
ClutterEventType event_type = clutter_event_type (event);
|
||||
|
||||
g_return_if_fail (event_type == CLUTTER_BUTTON_RELEASE ||
|
||||
event_type == CLUTTER_KEY_PRESS ||
|
||||
event_type == CLUTTER_KEY_RELEASE);
|
||||
|
||||
gdk_error_trap_push ();
|
||||
@ -249,12 +251,24 @@ shell_tray_icon_click (ShellTrayIcon *icon,
|
||||
xkevent.y_root = xcevent.y_root;
|
||||
xkevent.state = clutter_event_get_state (event);
|
||||
xkevent.same_screen = True;
|
||||
xkevent.type = KeyPress;
|
||||
xkevent.keycode = clutter_event_get_key_code (event);
|
||||
|
||||
xkevent.type = KeyPress;
|
||||
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent);
|
||||
|
||||
xkevent.type = KeyRelease;
|
||||
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent);
|
||||
if (event_type == CLUTTER_KEY_RELEASE)
|
||||
{
|
||||
/* If the application takes a grab on KeyPress, we don't
|
||||
* want to send it a KeyRelease. There's no good way of
|
||||
* knowing whether a tray icon will take a grab, so just
|
||||
* assume it does, and don't send the KeyRelease. That might
|
||||
* make the tracking for key events messed up if it doesn't take
|
||||
* a grab, but the tray icon won't get key focus in normal cases,
|
||||
* so let's hope this isn't too damaging...
|
||||
*/
|
||||
xkevent.type = KeyRelease;
|
||||
XSendEvent (xdisplay, xwindow, False, 0, (XEvent *)&xkevent);
|
||||
}
|
||||
}
|
||||
|
||||
/* And move the pointer back out */
|
||||
|
@ -144,37 +144,7 @@ shell_window_tracker_class_init (ShellWindowTrackerClass *klass)
|
||||
gboolean
|
||||
shell_window_tracker_is_window_interesting (MetaWindow *window)
|
||||
{
|
||||
if (meta_window_is_override_redirect (window)
|
||||
|| meta_window_is_skip_taskbar (window))
|
||||
return FALSE;
|
||||
|
||||
switch (meta_window_get_window_type (window))
|
||||
{
|
||||
/* Definitely ignore these. */
|
||||
case META_WINDOW_DESKTOP:
|
||||
case META_WINDOW_DOCK:
|
||||
case META_WINDOW_SPLASHSCREEN:
|
||||
/* Should have already been handled by override_redirect above,
|
||||
* but explicitly list here so we get the "unhandled enum"
|
||||
* warning if in the future anything is added.*/
|
||||
case META_WINDOW_DROPDOWN_MENU:
|
||||
case META_WINDOW_POPUP_MENU:
|
||||
case META_WINDOW_TOOLTIP:
|
||||
case META_WINDOW_NOTIFICATION:
|
||||
case META_WINDOW_COMBO:
|
||||
case META_WINDOW_DND:
|
||||
case META_WINDOW_OVERRIDE_OTHER:
|
||||
return FALSE;
|
||||
case META_WINDOW_NORMAL:
|
||||
case META_WINDOW_DIALOG:
|
||||
case META_WINDOW_MODAL_DIALOG:
|
||||
case META_WINDOW_MENU:
|
||||
case META_WINDOW_TOOLBAR:
|
||||
case META_WINDOW_UTILITY:
|
||||
break;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
return !meta_window_is_skip_taskbar (window);
|
||||
}
|
||||
|
||||
/*
|
||||
@ -384,8 +354,13 @@ get_app_for_window (ShellWindowTracker *tracker,
|
||||
MetaWindow *window)
|
||||
{
|
||||
ShellApp *result = NULL;
|
||||
MetaWindow *transient_for;
|
||||
const char *startup_id;
|
||||
|
||||
transient_for = meta_window_get_transient_for (window);
|
||||
if (transient_for != NULL)
|
||||
return get_app_for_window (tracker, transient_for);
|
||||
|
||||
/* First, we check whether we already know about this window,
|
||||
* if so, just return that.
|
||||
*/
|
||||
@ -470,6 +445,16 @@ update_focus_app (ShellWindowTracker *self)
|
||||
ShellApp *new_focus_app;
|
||||
|
||||
new_focus_win = meta_display_get_focus_window (shell_global_get_display (shell_global_get ()));
|
||||
|
||||
/* we only consider an app focused if the focus window can be clearly
|
||||
* associated with a running app; this is the case if the focus window
|
||||
* or one of its parents is visible in the taskbar, e.g.
|
||||
* - 'nautilus' should appear focused when its about dialog has focus
|
||||
* - 'nautilus' should not appear focused when the DESKTOP has focus
|
||||
*/
|
||||
while (new_focus_win && meta_window_is_skip_taskbar (new_focus_win))
|
||||
new_focus_win = meta_window_get_transient_for (new_focus_win);
|
||||
|
||||
new_focus_app = new_focus_win ? shell_window_tracker_get_window_app (self, new_focus_win) : NULL;
|
||||
|
||||
if (new_focus_app)
|
||||
@ -681,13 +666,8 @@ ShellApp *
|
||||
shell_window_tracker_get_window_app (ShellWindowTracker *tracker,
|
||||
MetaWindow *metawin)
|
||||
{
|
||||
MetaWindow *transient_for;
|
||||
ShellApp *app;
|
||||
|
||||
transient_for = meta_window_get_transient_for (metawin);
|
||||
if (transient_for != NULL)
|
||||
metawin = transient_for;
|
||||
|
||||
app = g_hash_table_lookup (tracker->window_to_app, metawin);
|
||||
if (app)
|
||||
g_object_ref (app);
|
||||
|
@ -34,6 +34,8 @@ struct _StThemeContext {
|
||||
|
||||
/* set of StThemeNode */
|
||||
GHashTable *nodes;
|
||||
|
||||
int scale_factor;
|
||||
};
|
||||
|
||||
struct _StThemeContextClass {
|
||||
@ -42,6 +44,12 @@ struct _StThemeContextClass {
|
||||
|
||||
#define DEFAULT_FONT "sans-serif 10"
|
||||
|
||||
enum
|
||||
{
|
||||
PROP_0,
|
||||
PROP_SCALE_FACTOR
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
CHANGED,
|
||||
@ -57,6 +65,15 @@ static void on_icon_theme_changed (StTextureCache *cache,
|
||||
StThemeContext *context);
|
||||
static void st_theme_context_changed (StThemeContext *context);
|
||||
|
||||
static void st_theme_context_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec);
|
||||
static void st_theme_context_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec);
|
||||
|
||||
static void
|
||||
st_theme_context_finalize (GObject *object)
|
||||
{
|
||||
@ -86,8 +103,23 @@ st_theme_context_class_init (StThemeContextClass *klass)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (klass);
|
||||
|
||||
object_class->set_property = st_theme_context_set_property;
|
||||
object_class->get_property = st_theme_context_get_property;
|
||||
object_class->finalize = st_theme_context_finalize;
|
||||
|
||||
/**
|
||||
* StThemeContext:scale-factor:
|
||||
*
|
||||
* The scaling factor used or high dpi scaling.
|
||||
*/
|
||||
g_object_class_install_property (object_class,
|
||||
PROP_SCALE_FACTOR,
|
||||
g_param_spec_int ("scale-factor",
|
||||
"Scale factor",
|
||||
"Integer scale factor used for high dpi scaling",
|
||||
0, G_MAXINT, 1,
|
||||
G_PARAM_READABLE | G_PARAM_WRITABLE));
|
||||
|
||||
signals[CHANGED] =
|
||||
g_signal_new ("changed",
|
||||
G_TYPE_FROM_CLASS (klass),
|
||||
@ -114,6 +146,53 @@ st_theme_context_init (StThemeContext *context)
|
||||
context->nodes = g_hash_table_new_full ((GHashFunc) st_theme_node_hash,
|
||||
(GEqualFunc) st_theme_node_equal,
|
||||
g_object_unref, NULL);
|
||||
context->scale_factor = 1;
|
||||
}
|
||||
|
||||
static void
|
||||
st_theme_context_set_property (GObject *object,
|
||||
guint prop_id,
|
||||
const GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
StThemeContext *context = ST_THEME_CONTEXT (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_SCALE_FACTOR:
|
||||
{
|
||||
int scale_factor = g_value_get_int (value);
|
||||
if (scale_factor != context->scale_factor)
|
||||
{
|
||||
context->scale_factor = scale_factor;
|
||||
st_theme_context_changed (context);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
st_theme_context_get_property (GObject *object,
|
||||
guint prop_id,
|
||||
GValue *value,
|
||||
GParamSpec *pspec)
|
||||
{
|
||||
StThemeContext *context = ST_THEME_CONTEXT (object);
|
||||
|
||||
switch (prop_id)
|
||||
{
|
||||
case PROP_SCALE_FACTOR:
|
||||
g_value_set_int (value, context->scale_factor);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1015,6 +1015,9 @@ get_length_from_term (StThemeNode *node,
|
||||
} type = ABSOLUTE;
|
||||
|
||||
double multiplier = 1.0;
|
||||
int scale_factor;
|
||||
|
||||
g_object_get (node->context, "scale-factor", &scale_factor, NULL);
|
||||
|
||||
if (term->type != TERM_NUMBER)
|
||||
{
|
||||
@ -1028,7 +1031,7 @@ get_length_from_term (StThemeNode *node,
|
||||
{
|
||||
case NUM_LENGTH_PX:
|
||||
type = ABSOLUTE;
|
||||
multiplier = 1;
|
||||
multiplier = 1 * scale_factor;
|
||||
break;
|
||||
case NUM_LENGTH_PT:
|
||||
type = POINTS;
|
||||
|
Reference in New Issue
Block a user