diff --git a/BWClipboard.js b/BWClipboard.js
index 9a78fbc5..b4e7d67a 100644
--- a/BWClipboard.js
+++ b/BWClipboard.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2021 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
diff --git a/README.md b/README.md
index d0bc146b..9ac517ad 100644
--- a/README.md
+++ b/README.md
@@ -17,8 +17,8 @@ Also, check out my related [Google Earth View wallpaper extension](https://githu
* Shuffle/randomise wallpapers at adjustable intervals (including from your stored Bing images)
* Image gallery to view, select and curate stored images
* Optionally delete old images after a week, or you can keep (and curate) them forever
-* Override the lockscreen blur
-* Language support: English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN, zh_TW), French (fr_FR), Portuguese (pt, pt_BR), Ukrainian (uk), Russian (ru_RU), Spanish (es), Korean (ko), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Japanese (ja) - a HUGE thanks to the translators
+* Override the lockscreen blur (NEW: lockscreen blur is now dynamic!)
+* Language support: English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN, zh_TW), French (fr_FR), Portuguese (pt, pt_BR), Ukrainian (uk), Russian (ru_RU), Spanish (es), Korean (ko), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (nn), Swedish (sv), Arabic (ar), Hungarian (hu), Japanese (ja), Czech (cs_CZ), Finnish (fi_FI) and Turkish (tr) - a HUGE thanks to the translators
* Image preview in menus & ability to manually set wallpapers individually or copy image to clipboard
* A selection of different theme-aware indicator (tray) icons to choose (or hide it completely)
diff --git a/blur.js b/blur.js
index 659b6a7c..60b7018a 100644
--- a/blur.js
+++ b/blur.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2021 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
diff --git a/carousel.js b/carousel.js
index 81804fc4..97c36b93 100644
--- a/carousel.js
+++ b/carousel.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2021 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
@@ -111,6 +111,16 @@ var Carousel = class Carousel {
let applyButton = buildable.get_object('applyButton');
let infoButton = buildable.get_object('infoButton');
let deleteButton = buildable.get_object('deleteButton');
+ let favButton = buildable.get_object('favButton');
+ let unfavButton = buildable.get_object('unfavButton');
+
+ if (Utils.isFavourite(image)) {
+ favButton.set_visible(false);
+ this.log('image is favourited');
+ }
+ else {
+ unfavButton.set_visible(false);
+ }
try {
this._load_image(galleryImage, filename);
@@ -151,6 +161,22 @@ var Carousel = class Carousel {
if (this.callbackfunc)
this.callbackfunc();
});
+
+ // button is unchecked, so we want to make the checked one visible
+ favButton.connect('clicked', (widget) => {
+ this.log('favourited '+Utils.getImageUrlBase(image));
+ widget.set_visible(false);
+ unfavButton.set_visible(true);
+ Utils.setImageFavouriteStatus(this.settings, image.urlbase, true);
+ });
+
+ // button is checked, so we want to make the unchecked one visible
+ unfavButton.connect('clicked', (widget) => {
+ this.log('unfavourited '+Utils.getImageUrlBase(image));
+ widget.set_visible(false);
+ favButton.set_visible(true);
+ Utils.setImageFavouriteStatus(this.settings, image.urlbase, false);
+ });
let item = buildable.get_object('flowBoxChild');
return item;
diff --git a/extension.js b/extension.js
index 70c81b51..ba0c2068 100644
--- a/extension.js
+++ b/extension.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2022 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
@@ -40,6 +40,8 @@ const ICON_PAUSE_MODE_BUTTON = 'media-playback-pause-symbolic';
const ICON_PLAY_MODE_BUTTON = 'media-playback-start-symbolic';
const ICON_REFRESH = 'view-refresh-symbolic';
const ICON_RANDOM = Me.dir.get_child('icons').get_path() + '/'+'game-die-symbolic.svg';
+const ICON_FAVE_BUTTON = Me.dir.get_child('icons').get_path() + '/'+'fav-symbolic.svg';
+const ICON_UNFAVE_BUTTON = Me.dir.get_child('icons').get_path() + '/'+'unfav-symbolic.svg';
let bingWallpaperIndicator = null;
let blur = null;
@@ -111,6 +113,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this.clipboard = new BWClipboard.BWClipboard();
this.imageIndex = null;
this.logger = null;
+ this.favourite_status = false;
if (!blur) // as Blur isn't disabled on screen lock (like the rest of the extension is)
blur = new Blur.Blur();
@@ -156,11 +159,12 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this.toggleSetBackground = newMenuSwitchItem(_("Set background image"), this._settings.get_boolean('set-background'));
this.toggleSelectNew = newMenuSwitchItem(_("Always show new images"), this._settings.get_boolean('revert-to-current-image'));
this.toggleShuffle = newMenuSwitchItem(_("Image shuffle mode"), true);
+ this.toggleShuffleOnlyFaves = newMenuSwitchItem(_("Image shuffle only favourites"), this._settings.get_boolean('random-mode-include-only-favourites'));
this.toggleNotifications = newMenuSwitchItem(_("Enable desktop notifications"), this._settings.get_boolean('notify'));
this.toggleImageCount = newMenuSwitchItem(_("Show image count"), this._settings.get_boolean('show-count-in-image-title'));
[this.toggleNotifications, this.toggleImageCount, this.toggleSetBackground, this.toggleSelectNew,
- this.toggleShuffle]
+ this.toggleShuffle, this.toggleShuffleOnlyFaves]
.forEach(e => this.settingsSubMenu.menu.addMenuItem(e));
// these items are a bit unique, we'll populate them in _setControls()
@@ -289,11 +293,14 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this._settings.set_boolean('show-count-in-image-title', state);
this._selectImage(false);
});
+ this.toggleShuffleOnlyFaves.connect('toggled', (item, state) => {
+ this._settings.set_boolean('random-mode-include-only-favourites', state);
+ });
// shuffle is a special case
this._setShuffleToggleState();
this.toggleShuffle.connect('toggled', this._toggleShuffle.bind(this));
-
+
this.folderItem.connect('activate', Utils.openImageFolder.bind(this, this._settings));
if (this.clipboard.clipboard) { // only if we have a clipboard
this.clipboardImageItem.connect('activate', this._copyImageToClipboard.bind(this));
@@ -429,6 +436,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
else {
this.explainItem.label.set_text(this.explanation ? this.explanation : '');
}
+ this._setFavouriteIcon(this.favourite_status?ICON_FAVE_BUTTON:ICON_UNFAVE_BUTTON);
}
_wrapLabelItem(menuItem) {
@@ -440,6 +448,10 @@ class BingWallpaperIndicator extends PanelMenu.Button {
}
_setControls() {
+ this.favouriteBtn = this._newMenuIcon(
+ this.favourite_status?ICON_FAVE_BUTTON:ICON_UNFAVE_BUTTON,
+ this.controlItem,
+ this._favouriteImage);
this.prevBtn = this._newMenuIcon(
ICON_PREVIOUS_BUTTON,
this.controlItem,
@@ -478,7 +490,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
y_expand: true
});
- if (position) {
+ if (position !== null) {
getActorCompat(parent).insert_child_at_index(iconBtn, position);
}
else {
@@ -546,6 +558,10 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this.toggleShuffle.setToggleState(this._settings.get_string('selected-image') == 'random');
}
+ _toggleShuffleOnlyFaves() {
+
+ }
+
_toggleShuffle() {
if (this._settings.get_string('selected-image') == 'random') {
this._settings.set_string('selected-image', 'current');
@@ -557,6 +573,20 @@ class BingWallpaperIndicator extends PanelMenu.Button {
log('switched mode to ' + this._settings.get_string('selected-image'));
}
+ _favouriteImage() {
+ log('favourite image '+this.imageURL+' status was '+this.favourite_status);
+ this.favourite_status = !this.favourite_status;
+ Utils.setImageFavouriteStatus(this._settings, this.imageURL, this.favourite_status);
+ this._setFavouriteIcon(this.favourite_status?ICON_FAVE_BUTTON:ICON_UNFAVE_BUTTON);
+ }
+
+ _setFavouriteIcon(icon_name) {
+ let gicon = Gio.icon_new_for_string(icon_name);
+ this.favouriteBtn.get_children().forEach( (x, i) => {
+ x.set_gicon(gicon);
+ });
+ }
+
_gotoImage(relativePos) {
let imageList = Utils.getImageList(this._settings);
let curIndex = 0;
@@ -697,10 +727,21 @@ class BingWallpaperIndicator extends PanelMenu.Button {
}
if (this._settings.get_boolean('notify')) {
- newImages.forEach((image, index) => {
- log('New image to notify: ' + Utils.getImageTitle(image));
- this._createNotification(image);
- });
+ if (!this._settings.get_boolean('notify-only-latest')) {
+ // notify all new images
+ newImages.forEach((image, index) => {
+ log('New image to notify: ' + Utils.getImageTitle(image));
+ this._createNotification(image);
+ });
+ }
+ else {
+ // notify only the most recent image
+ let last = newImages.pop();
+ if (last) {
+ log('New image to notify: ' + Utils.getImageTitle(last));
+ this._createNotification(last);
+ }
+ }
}
this._restartTimeoutFromLongDate(parsed.images[0].fullstartdate); // timing is set by Bing, and possibly varies by market
@@ -721,7 +762,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
// set notifications icon
let source = new MessageTray.Source('Bing Wallpaper', 'preferences-desktop-wallpaper-symbolic');
Main.messageTray.add(source);
- let msg = _('Bing Wallpaper of the Day for') + ' ' + this._localeDate(image.longstartdate);
+ let msg = _('Bing Wallpaper of the Day for') + ' ' + this._localeDate(image.fullstartdate);
let details = Utils.getImageTitle(image);
let notification = new MessageTray.Notification(source, msg, details);
notification.setTransient(this._settings.get_boolean('transient'));
@@ -729,11 +770,18 @@ class BingWallpaperIndicator extends PanelMenu.Button {
}
_selectImage(force_shuffle = false) {
- let imageList = JSON.parse(this._settings.get_string('bing-json'));
+ let imageList = Utils.getImageList(this._settings);
let image = null;
// special values, 'current' is most recent (default mode), 'random' picks one at random, anything else should be filename
if (this.selected_image == 'random' || force_shuffle) {
+ if (this._settings.get_boolean('random-mode-include-only-favourites')) {
+ let favImageList = imageList.filter(Utils.isFavourite);
+ if (favImageList.length > 0)
+ imageList = favImageList;
+ else
+ log('not enough favourites available to shuffle');
+ }
this.imageIndex = Utils.getRandomInt(imageList.length);
image = imageList[this.imageIndex];
this._restartShuffleTimeout();
@@ -763,6 +811,13 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this.imageinfolink = image.copyrightlink.replace(/^http:\/\//i, 'https://');
this.imageURL = BingURL + image.urlbase + '_' + resolution + '.jpg'; // generate image url for user's resolution
this.filename = toFilename(BingWallpaperDir, image.startdate, image.urlbase, resolution);
+
+ if (("favourite" in image) && image.favourite === true ) {
+ this.favourite_status = true;
+ }
+ else {
+ this.favourite_status = false;
+ }
let file = Gio.file_new_for_path(this.filename);
let file_exists = file.query_exists(null);
@@ -796,7 +851,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
let maxLongDate = Utils.getMaxLongDate(this._settings); // refresh date from most recent Bing image
let state = {maxlongdate: maxLongDate, title: this.title, explanation: this.explanation, copyright: this.copyright,
longstartdate: this.longstartdate, imageinfolink: this.imageinfolink, imageURL: this.imageURL,
- filename: this.filename};
+ filename: this.filename, favourite: this.favourite_status};
let stateJSON = JSON.stringify(state);
log('Storing state as JSON: ' + stateJSON);
@@ -822,6 +877,12 @@ class BingWallpaperIndicator extends PanelMenu.Button {
this.imageURL = state.imageURL;
this.filename = state.filename;
this._selected_image = this._settings.get_string('selected-image');
+ if ("favourite" in state && state.favourite === true) {
+ this.favourite_status = true;
+ }
+ else {
+ this.favourite_status = false;
+ }
// update menus and thumbnail
this._setMenuText();
this._setBackground();
@@ -832,7 +893,7 @@ class BingWallpaperIndicator extends PanelMenu.Button {
}
if (this.selected_image == 'random') {
- this._setRandom();
+ this._shuffleImage();
this._restartTimeoutFromLongDate(maxLongDate);
}
else {
diff --git a/icons/checked-symbolic.svg b/icons/checked-symbolic.svg
new file mode 100644
index 00000000..c7a08034
--- /dev/null
+++ b/icons/checked-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/fav-symbolic.svg b/icons/fav-symbolic.svg
new file mode 100644
index 00000000..899bf9ee
--- /dev/null
+++ b/icons/fav-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/unchecked-symbolic.svg b/icons/unchecked-symbolic.svg
new file mode 100644
index 00000000..1ebd652e
--- /dev/null
+++ b/icons/unchecked-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/unfav-symbolic.svg b/icons/unfav-symbolic.svg
new file mode 100644
index 00000000..6febe382
--- /dev/null
+++ b/icons/unfav-symbolic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/locale/BingWallpaper.pot b/locale/BingWallpaper.pot
index 5d693a09..3c273c4e 100644
--- a/locale/BingWallpaper.pot
+++ b/locale/BingWallpaper.pot
@@ -6,11 +6,11 @@ msgstr ""
msgid "Indicator icon"
msgstr ""
-#: ui/Settings.ui.h:3 ui/Settings4.ui.h:4 extension.js:159
+#: ui/Settings.ui.h:3 ui/Settings4.ui.h:4 extension.js:163
msgid "Enable desktop notifications"
msgstr ""
-#: ui/Settings.ui.h:4 ui/Settings4.ui.h:5 extension.js:142 extension.js:156
+#: ui/Settings.ui.h:4 ui/Settings4.ui.h:5 extension.js:145 extension.js:159
msgid "Set background image"
msgstr ""
@@ -46,7 +46,7 @@ msgstr ""
msgid "Bing locale"
msgstr ""
-#: ui/Settings.ui.h:13 ui/Settings4.ui.h:12 extension.js:145
+#: ui/Settings.ui.h:13 ui/Settings4.ui.h:12 extension.js:148
msgid "Settings"
msgstr ""
@@ -106,7 +106,7 @@ msgstr ""
msgid "Enable logging to system journal"
msgstr ""
-#: ui/Settings.ui.h:28 ui/Settings4.ui.h:27 extension.js:157
+#: ui/Settings.ui.h:28 ui/Settings4.ui.h:27 extension.js:160
msgid "Always show new images"
msgstr ""
@@ -220,99 +220,107 @@ msgstr ""
msgid "GNOME shell extension version "
msgstr ""
-#: ui/carousel.ui.h:1 ui/carousel4.ui.h:1
+#: ui/carousel.ui.h:1 ui/carousel4.ui.h:2
msgid "Apply"
msgstr ""
-#: ui/carousel.ui.h:2 ui/carousel4.ui.h:2
+#: ui/carousel.ui.h:2 ui/carousel4.ui.h:3
msgid "View"
msgstr ""
-#: ui/carousel.ui.h:3 ui/carousel4.ui.h:3
+#: ui/carousel.ui.h:3 ui/carousel4.ui.h:4
msgid "Info"
msgstr ""
-#: ui/carousel.ui.h:4 ui/carousel4.ui.h:4
+#: ui/carousel.ui.h:4 ui/carousel4.ui.h:5
msgid "Delete"
msgstr ""
-#: ui/carousel.ui.h:5 ui/carousel4.ui.h:6
+#: ui/carousel.ui.h:5 ui/carousel4.ui.h:7
msgid "Set random mode"
msgstr ""
-#: ui/carousel4.ui.h:5
+#: ui/carousel4.ui.h:1
+msgid "Favorite"
+msgstr ""
+
+#: ui/carousel4.ui.h:6
msgid ""
msgstr ""
-#: ui/carousel4.ui.h:7
+#: ui/carousel4.ui.h:8
msgid "Load image gallery"
msgstr ""
-#: extension.js:135
+#: extension.js:138
msgid ""
msgstr ""
-#: extension.js:136 extension.js:137 extension.js:138
+#: extension.js:139 extension.js:140 extension.js:141
msgid "Awaiting refresh..."
msgstr ""
-#: extension.js:139
+#: extension.js:142
msgid "Copy image to clipboard"
msgstr ""
-#: extension.js:140
+#: extension.js:143
msgid "Copy image URL to clipboard"
msgstr ""
-#: extension.js:141
+#: extension.js:144
msgid "Open image folder"
msgstr ""
-#: extension.js:143
+#: extension.js:146
msgid "Set lock screen image"
msgstr ""
-#: extension.js:144
+#: extension.js:147
msgid "Refresh Now"
msgstr ""
-#: extension.js:146
+#: extension.js:149
msgid "Open in image viewer"
msgstr ""
-#: extension.js:147
+#: extension.js:150
msgid "Open Bing image information page"
msgstr ""
-#: extension.js:154
+#: extension.js:157
msgid "Quick settings"
msgstr ""
-#: extension.js:158
+#: extension.js:161
msgid "Image shuffle mode"
msgstr ""
-#: extension.js:160
+#: extension.js:162
+msgid "Image shuffle only favourites"
+msgstr ""
+
+#: extension.js:164
msgid "Show image count"
msgstr ""
-#: extension.js:326
+#: extension.js:333
msgid "Next refresh"
msgstr ""
-#: extension.js:327
+#: extension.js:334
msgid "Last refresh"
msgstr ""
-#: extension.js:724 extension.js:760
+#: extension.js:765 extension.js:808
msgid "Bing Wallpaper of the Day for"
msgstr ""
-#: extension.js:784
+#: extension.js:839
msgid "No wallpaper available"
msgstr ""
-#: extension.js:785
+#: extension.js:840
msgid "No picture for today."
msgstr ""
@@ -332,14 +340,14 @@ msgstr ""
msgid "Error fetching change log: "
msgstr ""
-#: utils.js:350 utils.js:353
+#: utils.js:370 utils.js:373
msgid "minutes"
msgstr ""
-#: utils.js:356
+#: utils.js:376
msgid "days"
msgstr ""
-#: utils.js:359
+#: utils.js:379
msgid "hours"
msgstr ""
diff --git a/locale/tr/LC_MESSAGES/BingWallpaper.mo b/locale/tr/LC_MESSAGES/BingWallpaper.mo
new file mode 100644
index 00000000..45c643e8
Binary files /dev/null and b/locale/tr/LC_MESSAGES/BingWallpaper.mo differ
diff --git a/locale/tr/LC_MESSAGES/BingWallpaper.po b/locale/tr/LC_MESSAGES/BingWallpaper.po
new file mode 100644
index 00000000..5b46754f
--- /dev/null
+++ b/locale/tr/LC_MESSAGES/BingWallpaper.po
@@ -0,0 +1,454 @@
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2023-01-23 18:58+0000\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"Language: \n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Loco-Source-Locale: tr_TR\n"
+"X-Loco-Parser: loco_parse_po\n"
+"X-Generator: Loco https://localise.biz/"
+
+#: ui/Settings.ui.h:1 ui/Settings4.ui.h:2
+msgctxt "Göstergeyi gizle"
+msgid "Hide the indicator"
+msgstr ""
+
+#: ui/Settings.ui.h:2 ui/Settings4.ui.h:3
+msgctxt "Gösterge simgesi"
+msgid "Indicator icon"
+msgstr ""
+
+#: ui/Settings.ui.h:3 ui/Settings4.ui.h:4 extension.js:159
+msgctxt "Masaüstü bildirimlerini etkinleştir"
+msgid "Enable desktop notifications"
+msgstr ""
+
+#: ui/Settings.ui.h:4 ui/Settings4.ui.h:5 extension.js:142 extension.js:156
+msgctxt "Arka plan resmi olarak ayarla"
+msgid "Set background image"
+msgstr ""
+
+#: ui/Settings.ui.h:5 ui/Settings4.ui.h:6
+msgctxt "Arka plan stili seçeneği"
+msgid "Background style option"
+msgstr ""
+
+#: ui/Settings.ui.h:6 ui/Settings4.ui.h:7
+msgctxt "Klasörü indir"
+msgid "Download folder"
+msgstr ""
+
+#: ui/Settings.ui.h:7 ui/Settings4.ui.h:1
+msgctxt "Bing Wallpaper Fotoğraf klasörü"
+msgid "Bing Wallpaper pictures folder"
+msgstr ""
+
+#: ui/Settings.ui.h:8 ui/Settings4.ui.h:8
+msgctxt "Klasörü aç"
+msgid "Open folder"
+msgstr ""
+
+#: ui/Settings.ui.h:9 ui/Settings4.ui.h:9
+msgctxt "Daha önce indirilen duvar kağıtlarını sil"
+msgid "Delete previously downloaded wallpapers"
+msgstr ""
+
+#: ui/Settings.ui.h:10 ui/Settings4.ui.h:10
+msgctxt "Seçili resim"
+msgid "Selected image"
+msgstr ""
+
+#: ui/Settings.ui.h:11
+msgctxt "Galeriden resim seç"
+msgid "Select from image gallery"
+msgstr ""
+
+#: ui/Settings.ui.h:12 ui/Settings4.ui.h:11
+msgctxt "Bing konumu"
+msgid "Bing locale"
+msgstr ""
+
+#: ui/Settings.ui.h:13 ui/Settings4.ui.h:12 extension.js:145
+msgctxt "Ayarlar"
+msgid "Settings"
+msgstr ""
+
+#: ui/Settings.ui.h:14 ui/Settings4.ui.h:13
+msgctxt "Özel bulanıklık ve parlaklık kullan"
+msgid "Use custom blur and brightness"
+msgstr ""
+
+#: ui/Settings.ui.h:15 ui/Settings4.ui.h:14
+msgctxt "GDM3 kilit ekranı efektlerini geçersiz kıl"
+msgid "Override GDM3 lockscreen effects"
+msgstr ""
+
+#: ui/Settings.ui.h:16 ui/Settings4.ui.h:15
+msgctxt "Bulanıklaştırma, oturum açma isteminin okunabilirliğini artırabilir"
+msgid "Blur can improve readability of login prompt"
+msgstr ""
+
+#: ui/Settings.ui.h:17 ui/Settings4.ui.h:16
+msgctxt "Arka plan bulanıklık yoğunluğu"
+msgid "Background blur intensity"
+msgstr ""
+
+#: ui/Settings.ui.h:18 ui/Settings4.ui.h:17
+msgctxt "Oturum açma isteminin kontrastı iyileştirebilir"
+msgid "Can improve contrast of login prompt"
+msgstr ""
+
+#: ui/Settings.ui.h:19 ui/Settings4.ui.h:18
+msgctxt "Arka plan parlaklığı"
+msgid "Background brightness"
+msgstr ""
+
+#: ui/Settings.ui.h:20 ui/Settings4.ui.h:19
+msgctxt "Ön Ayarlar"
+msgid "Presets"
+msgstr ""
+
+#: ui/Settings.ui.h:21
+msgctxt "Yaygın olarak kullanılan ön ayarlar"
+msgid "Commonly used presets"
+msgstr ""
+
+#: ui/Settings.ui.h:22 ui/Settings4.ui.h:20
+msgctxt "Bulanıklık yok, hafif loş"
+msgid "No blur, slight dim"
+msgstr ""
+
+#: ui/Settings.ui.h:23 ui/Settings4.ui.h:21
+msgctxt "GNOME varsayılanı"
+msgid "GNOME default"
+msgstr ""
+
+#: ui/Settings.ui.h:24 ui/Settings4.ui.h:22
+msgctxt "Hafif bulanıklık, hafif loşluk"
+msgid "Slight blur, slight dim"
+msgstr ""
+
+#: ui/Settings.ui.h:25 ui/Settings4.ui.h:23
+msgctxt "Kilit Ekranı"
+msgid "Lock Screen"
+msgstr ""
+
+#: ui/Settings.ui.h:26 ui/Settings4.ui.h:25
+msgctxt "Hata ayıklama günlüğü"
+msgid "Debug logging"
+msgstr ""
+
+#: ui/Settings.ui.h:27 ui/Settings4.ui.h:24
+msgctxt "Sistem günlüğüne günlüğe kaydetmeyi etkinleştirme"
+msgid "Enable logging to system journal"
+msgstr ""
+
+#: ui/Settings.ui.h:28 ui/Settings4.ui.h:27 extension.js:157
+msgctxt "Her zaman yeni görüntüler gösterin"
+msgid "Always show new images"
+msgstr ""
+
+#: ui/Settings.ui.h:29 ui/Settings4.ui.h:26
+msgctxt "Mevcut olduğunda yeni görüntülere geçin (rastgele modda değilse)"
+msgid "Switch to new images when available (unless on random mode)"
+msgstr ""
+
+#: ui/Settings.ui.h:30 ui/Settings4.ui.h:29
+msgctxt "Wayland üzerindeki tüm özellikleri etkinleştirin"
+msgid "Enable all features on Wayland"
+msgstr ""
+
+#: ui/Settings.ui.h:31 ui/Settings4.ui.h:28
+msgctxt "Bazı yeni özellikler Wayland üzerinde kararsız olabilir"
+msgid "Some newer features may be unstable on Wayland"
+msgstr ""
+
+#: ui/Settings.ui.h:32 ui/Settings4.ui.h:30
+msgctxt "Ekran çözünürlüğü"
+msgid "Screen resolution"
+msgstr ""
+
+#: ui/Settings.ui.h:33 ui/Settings4.ui.h:31
+msgctxt "Otomatik çözünürlük seçimini geçersiz kılma"
+msgid "Override automatic resolution selection"
+msgstr ""
+
+#: ui/Settings.ui.h:34 ui/Settings4.ui.h:32
+msgctxt "Rastgele aralığı manuel olarak ayarlama (saniye)"
+msgid "Manually adjust random interval (seconds)"
+msgstr ""
+
+#: ui/Settings.ui.h:35 ui/Settings4.ui.h:33
+msgctxt "Rastgele aralık"
+msgid "Random interval"
+msgstr ""
+
+#: ui/Settings.ui.h:36 ui/Settings4.ui.h:34
+msgctxt "Bing Wallpaper verilerini içe aktarma"
+msgid "Import Bing Wallpaper data"
+msgstr ""
+
+#: ui/Settings.ui.h:37 ui/Settings4.ui.h:35
+msgctxt ""
+"Duvar kağıdı dizininden önceden dışa aktarılmış JSON verilerini içe aktarma"
+msgid "Import previously exported JSON data from wallpaper directory"
+msgstr ""
+
+#: ui/Settings.ui.h:38 ui/Settings4.ui.h:36
+msgctxt "İçe Aktar"
+msgid "Import"
+msgstr ""
+
+#: ui/Settings.ui.h:39 ui/Settings4.ui.h:37
+msgctxt "Bing Wallpaper verilerini dışa aktarma"
+msgid "Export Bing Wallpaper data"
+msgstr ""
+
+#: ui/Settings.ui.h:40 ui/Settings4.ui.h:38
+msgid "Export JSON data to wallpaper dir for backup or data migration"
+msgstr ""
+
+#: ui/Settings.ui.h:41 ui/Settings4.ui.h:39
+msgctxt "Dışa Aktar"
+msgid "Export"
+msgstr ""
+
+#: ui/Settings.ui.h:42 ui/Settings4.ui.h:40
+msgctxt "Bing verilerini her zaman dışa aktarın"
+msgid "Always export Bing data"
+msgstr ""
+
+#: ui/Settings.ui.h:43 ui/Settings4.ui.h:41
+msgctxt "Veriler değiştiğinde Bing JSON'u dışa aktarın"
+msgid "Export Bing JSON whenever data changes"
+msgstr ""
+
+#: ui/Settings.ui.h:44 ui/Settings4.ui.h:42
+msgctxt "Hata ayıklama seçenekleri"
+msgid "Debug options"
+msgstr ""
+
+#: ui/Settings.ui.h:45 ui/Settings4.ui.h:44
+msgctxt "Bing'den her gün yeni duvar kağıdı görselleri"
+msgid "New wallpaper images everyday from Bing"
+msgstr ""
+
+#: ui/Settings.ui.h:46
+msgctxt "GNOME kabuk uzantısı sürümü "
+msgid "Gnome shell extension version "
+msgstr ""
+
+#: ui/Settings.ui.h:47 ui/Settings4.ui.h:46
+msgctxt "Michael Carroll tarafından geliştiriliyor"
+msgid "Maintained by Michael Carroll"
+msgstr ""
+
+#: ui/Settings.ui.h:48 ui/Settings4.ui.h:47
+msgctxt ""
+"Yazara desteğinizi Flattr veya GitHub Sponsors üzerinden "
+"gösterin."
+msgid ""
+"Show your support to the author on "
+"Flattr or Github "
+"Sponsors."
+msgstr ""
+
+#: ui/Settings.ui.h:49 ui/Settings4.ui.h:48
+msgctxt "Son sürümden bu yana yapılan değişiklikler"
+msgid "Changes since last version"
+msgstr ""
+
+#: ui/Settings.ui.h:50 ui/Settings4.ui.h:49
+msgctxt "Elia Argentieri'nin NASA APOD GNOME kabuk uzantısına dayanmaktadır"
+msgid "Based on NASA APOD Gnome shell extension by Elia Argentieri"
+msgstr ""
+
+#: ui/Settings.ui.h:51 ui/Settings4.ui.h:50
+msgctxt ""
+"Bu program KESİNLİKLE HİÇBİR GARANTİ vermez.\n"
+"Ayrıntılar için GNU "
+"Genel Kamu Lisansı, sürüm 3 veya sonrası'na bakın."
+msgid ""
+"This program comes with ABSOLUTELY NO WARRANTY.\n"
+"See the GNU General "
+"Public License, version 3 or later for details."
+msgstr ""
+
+#: ui/Settings.ui.h:53 ui/Settings4.ui.h:52
+msgctxt "Hakkında"
+msgid "About"
+msgstr ""
+
+#: ui/Settings4.ui.h:43
+msgctxt "Galeri"
+msgid "Gallery"
+msgstr ""
+
+#: ui/Settings4.ui.h:45
+msgctxt "GNOME kabuk uzantısı sürümü "
+msgid "GNOME shell extension version "
+msgstr ""
+
+#: ui/carousel.ui.h:1 ui/carousel4.ui.h:1
+msgctxt "Uygula"
+msgid "Apply"
+msgstr ""
+
+#: ui/carousel.ui.h:2 ui/carousel4.ui.h:2
+msgctxt "Görünüm"
+msgid "View"
+msgstr ""
+
+#: ui/carousel.ui.h:3 ui/carousel4.ui.h:3
+msgctxt "Bilgi"
+msgid "Info"
+msgstr ""
+
+#: ui/carousel.ui.h:4 ui/carousel4.ui.h:4
+msgctxt "Sil"
+msgid "Delete"
+msgstr ""
+
+#: ui/carousel.ui.h:5 ui/carousel4.ui.h:6
+msgctxt "Rastgele modu ayarla"
+msgid "Set random mode"
+msgstr ""
+
+#: ui/carousel4.ui.h:5
+msgctxt ""
+msgid ""
+msgstr ""
+
+#: ui/carousel4.ui.h:7
+msgctxt "Resim galerisini yükle"
+msgid "Load image gallery"
+msgstr ""
+
+#: extension.js:135
+msgctxt ""
+msgid ""
+msgstr ""
+
+#: extension.js:136 extension.js:137 extension.js:138
+msgctxt "Yenilenmeyi bekliyor..."
+msgid "Awaiting refresh..."
+msgstr ""
+
+#: extension.js:139
+msgctxt "Görüntüyü panoya kopyala"
+msgid "Copy image to clipboard"
+msgstr ""
+
+#: extension.js:140
+msgctxt "Görüntü URL'sini panoya kopyala"
+msgid "Copy image URL to clipboard"
+msgstr ""
+
+#: extension.js:141
+msgctxt "Görüntü klasörünü açın"
+msgid "Open image folder"
+msgstr ""
+
+#: extension.js:143
+msgctxt "Kilit ekranı görüntüsünü ayarla"
+msgid "Set lock screen image"
+msgstr ""
+
+#: extension.js:144
+msgctxt "Şimdi Yenile"
+msgid "Refresh Now"
+msgstr ""
+
+#: extension.js:146
+msgctxt "Resim görüntüleyicide aç"
+msgid "Open in image viewer"
+msgstr ""
+
+#: extension.js:147
+msgctxt "Bing resim bilgi sayfasını açın"
+msgid "Open Bing image information page"
+msgstr ""
+
+#: extension.js:154
+msgctxt "Hızlı ayarlar"
+msgid "Quick settings"
+msgstr ""
+
+#: extension.js:158
+msgctxt "Görüntü karıştırma modu"
+msgid "Image shuffle mode"
+msgstr ""
+
+#: extension.js:160
+msgctxt "Görüntü sayısını göster"
+msgid "Show image count"
+msgstr ""
+
+#: extension.js:326
+msgctxt "Sonraki yenileme"
+msgid "Next refresh"
+msgstr ""
+
+#: extension.js:327
+msgctxt "Son yenileme"
+msgid "Last refresh"
+msgstr ""
+
+#: extension.js:724 extension.js:760
+msgctxt "Bing için Günün Duvar Kağıdı"
+msgid "Bing Wallpaper of the Day for"
+msgstr ""
+
+#: extension.js:784
+msgctxt "Duvar kağıdı mevcut değil"
+msgid "No wallpaper available"
+msgstr ""
+
+#: extension.js:785
+msgctxt "Bugün için fotoğraf yok."
+msgid "No picture for today."
+msgstr ""
+
+#: prefs.js:181
+msgctxt "Klasör seçin"
+msgid "Select folder"
+msgstr ""
+
+#: prefs.js:249
+msgctxt "En son görüntü"
+msgid "Most recent image"
+msgstr ""
+
+#: prefs.js:250
+msgctxt "Rastgele görüntü"
+msgid "Random image"
+msgstr ""
+
+#: utils.js:135
+msgctxt "Değişiklik günlüğü alınırken hata oluştu: "
+msgid "Error fetching change log: "
+msgstr ""
+
+#: utils.js:350 utils.js:353
+msgctxt "dakika"
+msgid "minutes"
+msgstr ""
+
+#: utils.js:356
+msgctxt "gün"
+msgid "days"
+msgstr ""
+
+#: utils.js:359
+msgctxt "saat"
+msgid "hours"
+msgstr ""
diff --git a/metadata.json b/metadata.json
index 01c998af..14fd7391 100644
--- a/metadata.json
+++ b/metadata.json
@@ -1,6 +1,6 @@
{
"uuid": "BingWallpaper@ineffable-gmail.com",
- "shell-version": ["3.36", "3.38", "40", "41", "42", "43"],
+ "shell-version": ["3.36", "3.38", "40", "41", "42", "43", "44"],
"name": "Bing Wallpaper",
"settings-schema": "org.gnome.shell.extensions.bingwallpaper",
"description": "Sync your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nFeatures:\n* UHD resolution wallpapers\n* Automatically fetches current Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n * random mode (from previously downloaded wallpapers)\n *NEW: select/cycle wallpaper through previously downloaded images\n* Language support: English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN, zh_TW), French (fr_FR), Portuguese (pt, pt_BR), Ukrainian (uk), Russian (ru_RU), Spanish (es), Korean (ko), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Japanese (ja) - a HUGE thanks to the translators\n\nThis extension was forked from the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nAlways restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:",
diff --git a/prefs.js b/prefs.js
index 3045def5..b39b9138 100644
--- a/prefs.js
+++ b/prefs.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2022 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
diff --git a/schemas/gschemas.compiled b/schemas/gschemas.compiled
index eb2969a5..8d343d6a 100644
Binary files a/schemas/gschemas.compiled and b/schemas/gschemas.compiled differ
diff --git a/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml b/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml
index 5aa1322c..3e1c0513 100644
--- a/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml
+++ b/schemas/org.gnome.shell.extensions.bingwallpaper.gschema.xml
@@ -15,6 +15,12 @@
Send a notification with explanation when a new image is available
+
+ true
+ Send a notifications only on most recent image
+ Notify only the most recent image, in combination with 'notify' setting
+
+
true
Use transient notifications (auto dismiss)
@@ -138,6 +144,12 @@
+
+ false
+ Only pick from favourites in random mode
+
+
+
true
Override safe defaults for Wayland desktop
diff --git a/screenshot/notification.png b/screenshot/notification.png
index 894a6855..3fc112df 100644
Binary files a/screenshot/notification.png and b/screenshot/notification.png differ
diff --git a/thumbnail.js b/thumbnail.js
index c054e637..e5474821 100644
--- a/thumbnail.js
+++ b/thumbnail.js
@@ -1,5 +1,5 @@
// Bing Wallpaper GNOME extension
-// Copyright (C) 2017-2021 Michael Carroll
+// Copyright (C) 2017-2023 Michael Carroll
// This extension is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
diff --git a/ui/carousel4.ui b/ui/carousel4.ui
index 3794d780..4be8a98d 100644
--- a/ui/carousel4.ui
+++ b/ui/carousel4.ui
@@ -68,6 +68,26 @@ Author: Michael Carroll
vertical
1
center
+
+
+
+
+
+