From 2939e6efbab6076e97c854121370e2bdd27c5efb Mon Sep 17 00:00:00 2001
From: rene-coty <irenee.thirion@e.email>
Date: Mon, 23 May 2022 15:07:28 +0000
Subject: [PATCH 01/11] Update POTFILES.in

---
 po/POTFILES.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/po/POTFILES.in b/po/POTFILES.in
index 2ac364b..bbebd75 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -2,9 +2,9 @@ data/org.gabmus.hydrapaper.appdata.xml.in
 data/org.gabmus.hydrapaper.Daemon.desktop.in
 data/org.gabmus.hydrapaper.desktop.in
 data/ui/headerbar.blp
+data/ui/shortcutsWindow.blp
 data/ui/monitors_flowbox_item.blp
 data/ui/shortcutsWindow.blp
-data/ui/headerbar.blp
 data/ui/wallpaper_flowbox_item_popover.blp
 data/ui/wallpapers_folders_view.blp
 data/ui/wp_mode_popover_menu.blp
-- 
2.40.1


From 796d950b872873f816ca83c8a0c986addecf8360 Mon Sep 17 00:00:00 2001
From: rene-coty <irenee.thirion@e.email>
Date: Mon, 23 May 2022 15:11:10 +0000
Subject: [PATCH 02/11] Add French Translation

---
 po/LINGUAS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/po/LINGUAS b/po/LINGUAS
index b615122..4524f90 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,6 +1,7 @@
 # Please keep this list alphabetically sorted
 de
 es
+fr
 it
 pt_BR
 ru
-- 
2.40.1


From bac00aeb699a047be61f2b052ca36647b168523b Mon Sep 17 00:00:00 2001
From: rene-coty <irenee.thirion@e.email>
Date: Mon, 23 May 2022 15:13:09 +0000
Subject: [PATCH 03/11] Add French Translation

---
 po/fr.po | 803 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 803 insertions(+)
 create mode 100644 po/fr.po

diff --git a/po/fr.po b/po/fr.po
new file mode 100644
index 0000000..04a67a9
--- /dev/null
+++ b/po/fr.po
@@ -0,0 +1,803 @@
+# French translations for hydrapaper package.
+# Copyright (C) 2022 THE hydrapaper'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the hydrapaper package.
+# Irénée THIRION <irenee.thirion@e.email>, 2022.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: hydrapaper 3.3.1\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2022-05-23 00:19+0200\n"
+"PO-Revision-Date: 2022-05-23 17:03+0200\n"
+"Last-Translator: Irénée THIRION <irenee.thirion@e.email>\n"
+"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+"X-Generator: Poedit 3.0.1\n"
+
+#: ../hydrapaper/__main__.py:112
+#, python-brace-format
+msgid "Error: you passed {0} wallpapers for {1} monitors"
+msgstr "Erreur : vous avez passé {0} fonds d'écran pour {1} écrans"
+
+#: ../hydrapaper/__main__.py:121
+#, python-brace-format
+msgid "Error: you passed {0} modes for {1} wallpapers"
+msgstr "Erreur : vous avez passé {0} modes pour {1} fonds d'écran"
+
+#: ../hydrapaper/__main__.py:130
+#, python-brace-format
+msgid ""
+"Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, "
+"fit_blur, center_black, center_blur"
+msgstr ""
+"Erreur : le mode de fond d'écran {0} n'est pas valide. Les valeurs "
+"autorisées sont : zoom, centré_noir, centré_flou, ajusté_noir, ajusté_flou"
+
+#: ../hydrapaper/__main__.py:140
+#, python-brace-format
+msgid "Error: {0} is not a valid image path"
+msgstr "Erreur : {0} n'est pas un chemin d'image valide"
+
+#: ../hydrapaper/__main__.py:196
+msgid "set wallpapers from command line"
+msgstr "définir les fonds d'écran par ligne de commande"
+
+#: ../hydrapaper/__main__.py:202
+msgid ""
+"specify the modes for the wallpapers (zoom, center_black, center_blur, "
+"fit_black, fit_blur)"
+msgstr ""
+"spécifier les modes pour les fonds d'écran (zoom, centré_noir, centré_flou, "
+"ajusté_noir, ajusté_flou)"
+
+#: ../hydrapaper/__main__.py:209
+msgid "set the dark mode wallpapers (specific to GNOME 42+)"
+msgstr "définir les fonds d'écran de mode sombre (pour GNOME 42+)"
+
+#: ../hydrapaper/__main__.py:215
+msgid "set wallpapers randomly"
+msgstr "définir les fonds d'écran de manière aléatoire"
+
+#: ../hydrapaper/base_preferences.py:106
+msgid "Choose a folder"
+msgstr "Choisissez un dossier"
+
+#: ../hydrapaper/main_stack.py:19
+msgid "Wallpapers"
+msgstr "Fonds d'écran"
+
+#: ../hydrapaper/main_stack.py:24
+msgid "Favorites"
+msgstr "Favoris"
+
+#: ../hydrapaper/monitor_parser.py:116
+msgid "Error parsing monitors (Gdk)"
+msgstr "Erreur lors de l'analyse des écrans (Gdk)"
+
+#: ../hydrapaper/monitor_parser.py:156
+msgid "Combined spanned monitor"
+msgstr "Écran combiné étendu"
+
+#: ../hydrapaper/preferences_window.py:18
+msgid "Start daemon on login"
+msgstr "Démarrer le daemon lors de la connexion"
+
+#: ../hydrapaper/preferences_window.py:19
+msgid "React to monitor changes and start slideshow mode"
+msgstr "Réagir au changement d'écran et commencer le mode diaporama"
+
+#: ../hydrapaper/preferences_window.py:79
+msgid "Save each wallpaper separately"
+msgstr "Enregistrer chaque fond d'écran séparément"
+
+#: ../hydrapaper/preferences_window.py:81
+msgid ""
+"Warning: this feature will use a lot of disk space. Periodically clear the "
+"cache to mitigate this problem"
+msgstr ""
+"Attention : cette fonctionnalité utilisera beaucoup d'espace disque. Videz "
+"le cache périodiquement pour éviter ce problème"
+
+#: ../hydrapaper/preferences_window.py:91
+msgid "Enable daemon"
+msgstr "Activer le daemon"
+
+#: ../hydrapaper/preferences_window.py:93
+msgid "Needed for slideshow mode and to detect display changes"
+msgstr "Utilisé pour le mode diaporama et détecter les changements d'affichage"
+
+#: ../hydrapaper/preferences_window.py:101
+msgid "General"
+msgstr "Général"
+
+#: ../hydrapaper/preferences_window.py:104
+msgid "General preferences"
+msgstr "Paramètres généraux"
+
+#: ../hydrapaper/preferences_window.py:107
+msgid "Cache and favorites"
+msgstr "Cache et favoris"
+
+#: ../hydrapaper/preferences_window.py:109
+msgid "Clear favorites"
+msgstr "Vider les favoris"
+
+#: ../hydrapaper/preferences_window.py:110
+#: ../hydrapaper/preferences_window.py:117
+msgid "Clear"
+msgstr "Vider"
+
+#: ../hydrapaper/preferences_window.py:116
+msgid "Clear caches"
+msgstr "Vider le cache"
+
+#: ../hydrapaper/preferences_window.py:143
+msgid "Appearance"
+msgstr "Apparence"
+
+#: ../hydrapaper/preferences_window.py:146
+msgid "Appearance preferences"
+msgstr "Préférences d'apparence"
+
+#: ../hydrapaper/preferences_window.py:148
+msgid "Dark mode"
+msgstr "Mode sombre"
+
+#: ../hydrapaper/preferences_window.py:154
+msgid "Use big thumbnails for the monitors previews"
+msgstr "Utiliser de grandes miniatures pour la prévisualisation des écrans"
+
+#: ../hydrapaper/preferences_window.py:160
+msgid "Show full path in folder view"
+msgstr "Montrer le chemin entier dans la vue des dossiers"
+
+#: ../hydrapaper/slideshow_listbox_row.py:30
+msgid "Move up"
+msgstr "Déplacer vers le haut"
+
+#: ../hydrapaper/slideshow_listbox_row.py:35
+msgid "Remove"
+msgstr "Supprimer"
+
+#: ../hydrapaper/slideshow_listbox_row.py:40
+msgid "Move down"
+msgstr "Déplacer vers le bas"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:32
+msgid "Remove favorite"
+msgstr "Supprimer des favoris"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:34
+msgid "Add favorite"
+msgstr "Ajouter aux favoris"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:155
+msgid "ERROR: cannot create thumbnail for file"
+msgstr "Erreur : impossible de créer une miniature pour le fichier"
+
+#: ../hydrapaper/wallpapers_folders_view.py:55
+msgid "Add wallpaper folders"
+msgstr "Ajouter des dossiers de fonds d'écran"
+
+#: ../data/ui/headerbar.blp:6
+msgid "Single Spanned Wallpaper Mode"
+msgstr "Mode fond d'écran unique étendu"
+
+#: ../data/ui/headerbar.blp:7 ../data/ui/shortcutsWindow.blp:31
+msgid "Set Random Wallpapers"
+msgstr "Définir des fonds d'écran aléatoires"
+
+#: ../data/ui/headerbar.blp:10
+msgid "Preferences"
+msgstr "Préférences"
+
+#: ../data/ui/headerbar.blp:11
+msgid "Shortcuts"
+msgstr "Raccourcis"
+
+#: ../data/ui/headerbar.blp:12
+msgid "About HydraPaper"
+msgstr "À propos de HydraPaper"
+
+#: ../data/ui/headerbar.blp:28
+msgid "Wallpaper Folders"
+msgstr "Dossiers de fonds d'écran"
+
+#: ../data/ui/headerbar.blp:33 ../data/ui/shortcutsWindow.blp:19
+msgid "Search"
+msgstr "Rechercher"
+
+#: ../data/ui/headerbar.blp:37
+msgid "Menu"
+msgstr "Menu"
+
+#: ../data/ui/headerbar.blp:46
+msgid "Apply for Dark Mode"
+msgstr "Appliquer pour le mode sombre"
+
+#: ../data/ui/headerbar.blp:51
+msgid "Apply"
+msgstr "Appliquer"
+
+#: ../data/ui/headerbar.blp:60
+msgid "Add to Slideshow"
+msgstr "Ajouter au diaporama"
+
+#: ../data/ui/headerbar.blp:66
+msgid "Manage Slideshow Mode"
+msgstr "Gérer le mode diaporama"
+
+#: ../data/ui/headerbar.blp:93
+msgid "Slideshow Mode"
+msgstr "Mode diaporama"
+
+#: ../data/ui/headerbar.blp:104
+msgid "Wallpaper duration"
+msgstr "Durée du fond d'écran"
+
+#: ../data/ui/monitors_flowbox_item.blp:14
+#: ../data/ui/wp_mode_popover_menu.blp:16
+msgid "Wallpaper Mode"
+msgstr "Mode de fond d'écran"
+
+#: ../data/ui/shortcutsWindow.blp:11
+msgid "Open Keyboard Shortcuts"
+msgstr "Ouvrir les Raccourcis clavier"
+
+#: ../data/ui/shortcutsWindow.blp:15
+msgid "Open Menu"
+msgstr "Ouvrir le Menu"
+
+#: ../data/ui/shortcutsWindow.blp:23
+msgid "Open Preferences"
+msgstr "Ouvrir les Préférences"
+
+#: ../data/ui/shortcutsWindow.blp:27
+msgid "Quit"
+msgstr "Quitter"
+
+#: ../data/ui/wallpaper_flowbox_item_popover.blp:18
+msgid "Add Favorite"
+msgstr "Ajouter aux favoris"
+
+#: ../data/ui/wallpaper_flowbox_item_popover.blp:27
+msgid "Path:"
+msgstr "Chemin :"
+
+#: ../data/ui/wallpapers_folders_view.blp:21
+msgid "Add Folder"
+msgstr "Ajouter le dossier"
+
+#: ../data/ui/wallpapers_folders_view.blp:27
+msgid "Remove Folder"
+msgstr "Supprimer le dossier"
+
+#: ../data/ui/wallpapers_folders_view.blp:36
+msgid "Activate All Folders"
+msgstr "Activer tous les dossiers"
+
+#: ../data/ui/wallpapers_folders_view.blp:41
+msgid "Deactivate All Folders"
+msgstr "Désactiver tous les dossiers"
+
+#: ../data/ui/wp_mode_popover_menu.blp:20
+msgid "Zoom"
+msgstr "Zoom"
+
+#: ../data/ui/wp_mode_popover_menu.blp:25
+msgid "Fit (black background)"
+msgstr "Ajuster (fond noir)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:30
+msgid "Fit (blur)"
+msgstr "Ajuster (flou)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:35
+msgid "Center (black backgrond)"
+msgstr "Centrer (fond noir)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:40
+msgid "Center (blur)"
+msgstr "Centrer (flou)"
+
+#: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3
+msgid "@appid@.Daemon"
+msgstr "@appid@.Daemon"
+
+#: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4
+msgid "Daemon for HydraPaper"
+msgstr "Daemon pour HydraPaper"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:3
+msgid "@prettyname@"
+msgstr "@prettyname@"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:4
+msgid "Wallpaper manager with multimonitor support"
+msgstr "Gestionnaire de fonds d'écran avec support pour de multiples écrans"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:12
+msgid "wallpaper;background;monitor;"
+msgstr "wallpaper;background;monitor;écran;arrière-plan;fond;"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:18
+msgid "Set random wallpapers"
+msgstr "Définir des fonds d'écran aléatoires"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:4
+msgid "HydraPaper"
+msgstr "HydraPaper"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:5
+msgid "Gabriele Musco"
+msgstr "Gabriele Musco"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:6
+msgid "Wallpaper manager with multi monitor support"
+msgstr "Gestionnaire de fonds d'écran avec support pour de multiples écrans"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:15
+msgid ""
+"HydraPaper is a wallpaper manager, specifically designed to work around the "
+"lack of functionality of many desktop environments to set a different "
+"wallpaper for each monitor in a multi monitor setup. It accomplishes this by "
+"scaling and merging different wallpapers into a single one and setting it as "
+"spanned."
+msgstr ""
+"HydraPaper est un gestionnaire de fonds d'écran, étudié spécialement pour "
+"contourner le manque de fonctionnalité de nombreux environnements de bureau "
+"pour définir un fond d'écran différent pour chaque écran, dans une "
+"configuration multi-écrans. Il permet cela en mettant à l'échelle et en "
+"fusionnant différents fonds d'écran en un seul et en le définissant comme "
+"étendu."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:16
+msgid ""
+"It currently supports various desktop environments, including GNOME, MATE, "
+"Cinnamon and Budgie. Experimental support is included for the sway window "
+"manager."
+msgstr ""
+"Il supporte actuellement différents environnements de bureau incluant GNOME, "
+"MATE, Cinnamon et Budgie. Un support expérimental est inclus pour le "
+"gestionnaire de fenêtre sway."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:48
+msgid "Show apply button for dark mode in Ubuntu GNOME sessions"
+msgstr ""
+"Montre le bouton « appliquer » pour le mode sombre dans les sessions Ubuntu "
+"GNOME"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:56
+msgid "Added separate apply button for dark mode"
+msgstr "Ajout d'un bouton « appliquer » séparé pour le mode sombre"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:57
+msgid "Show wallpaper names"
+msgstr "Montre les noms des fonds d'écran"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:58
+msgid "Added search for file name and resolution"
+msgstr "Ajout de la recherche par nom de fichier et résolution"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:66
+msgid ""
+"Wallpaper folder selection popover converted to Flap (auto-hide sidebar)"
+msgstr ""
+"Le fenêtre contextuelle de sélection des dossiers de fond d'écran a été "
+"convertie en volet (masquage automatique de la barre latérale)."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:67
+msgid "Updated support for libadwaita to version 1.0.0.alpha.4"
+msgstr "Mise à jour du support pour libadwaita vers la version 1.0.0.alpha.4"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:68
+msgid "Fixed window size save/restore"
+msgstr ""
+"Correction de l'enregistrement / restauration de la taille de la fenêtre"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:76
+msgid "Added support for heterogeneous DPI scaling"
+msgstr ""
+"Ajout de la prise en charge de la mise à l'échelle pour des DPI hétérogènes"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:77
+msgid "Added support for libadwaita 1.0.0-alpha.2"
+msgstr "Ajout du support pour libadwaita 1.0.0-alpha.2"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:85
+msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!"
+msgstr "🚀 HydraPaper a été mis à jour vers GTK4 et libadwaita !"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:86
+msgid "Bug fixes for Fit and Center wallpaper modes"
+msgstr "Correction de bogues pour les modes de fond d'écran Ajusté et Centré"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:94
+msgid "Minor improvements to the UI"
+msgstr "Améliorations mineures pour l'interface"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:95
+msgid "Improved phone compatibility"
+msgstr "Compatibilité pour les téléphones améliorée"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:103
+msgid "Fix for different wallpaper modes not working on single display setups"
+msgstr ""
+"Correction pour différents modes de fond d'écran ne fonctionnant pas sur des "
+"configurations comportant un seul écran"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:110
+msgid "Fixed random wallpaper"
+msgstr "Correction de la fonction fond d'écran aléatoire"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:117
+msgid "Updated to the latest version of libhandy"
+msgstr "Mise à jour vers la dernière version de libhandy"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:118
+msgid "New option to set a single wallpaper as spanned across all the monitors"
+msgstr ""
+"Nouvelle option pour définir un unique fond d'écran étendu pour tous les "
+"écrans"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:119
+msgid "Added Cinnamon support"
+msgstr "Ajout du support pour l'environnement de bureau Cinnamon"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:120
+msgid ""
+"New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with "
+"the choice of either a black or a blurred background"
+msgstr ""
+"Nouveaux modes de fonds d'écran : définissez vos fonds d'écran comme "
+"agrandis, centrés ou ajustés, avec le choix d'un fond noir ou flou"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:121
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:139
+msgid "Various improvements and bug fixes"
+msgstr "Diverses améliorations et corrections de bogues"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:128
+msgid "Added Brazilian Portuguese translation"
+msgstr "Ajout d'une traduction en portugais brésilien"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:129
+msgid "Updated to support the latest version of libhandy"
+msgstr "Mise à jour vers la dernière version de libhandy"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:130
+msgid "Added more keyboard shortcuts"
+msgstr "Ajout de plus de raccourcis clavier"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:137
+msgid "New icon courtesy of Tobias Bernard"
+msgstr "Nouvelle icône grâce à Tobias Bernard"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:138
+msgid "New minimal favorite wallpaper badge"
+msgstr "Nouveau badge minimaliste de fond d'écran favori"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:147
+msgid "New quick buttons to toggle on/off all wallpaper folders at once"
+msgstr ""
+"Nouveaux boutons rapides pour activer / désactiver tous les dossiers de "
+"fonds d'écran à la fois"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:155
+msgid "Updated flatpak dependencies and GNOME runtime"
+msgstr ""
+"Mise à jour des dépendances flatpak et de l'environnement d'exécution GNOME"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:156
+msgid ""
+"Removed libwnck dependency and functionalities (lower other windows toggle)"
+msgstr ""
+"Suppression de la dépendance et des fonctionnalités de libwnck (bouton pour "
+"minimiser d'autres fenêtres)"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:163
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:193
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:347
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:362
+msgid "Various bug fixes"
+msgstr "Diverses corrections de bogues"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:170
+msgid "You can now set lockscreen wallpapers from the command line"
+msgstr ""
+"Vous pouvez désormais définir des fonds d'écran de verrouillage depuis la "
+"commande en ligne"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:171
+msgid "New preference to save wallpapers with random names"
+msgstr ""
+"Nouveau paramètre pour enregistrer des fonds d'écran avec des noms aléatoires"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:172
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:318
+msgid "Various bug fixes and improvements"
+msgstr "Diverses corrections de bogues et améliorations"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:179
+msgid "Ordering wallpapers folders alphabetically"
+msgstr "Tri des dossiers d'arrière-plans par ordre alphabétique"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:180
+msgid "Fixed folder adding"
+msgstr "Correction de l'ajout de dossiers"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:187
+msgid "You can now add multiple folders at once!"
+msgstr "Vous pouvez maintenant ajouter de multiples dossiers en une fois !"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:188
+msgid "Slight design overhaul"
+msgstr "Légère refonte du design"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:189
+msgid "Added German and Russian translations (courtesy of Alessandra Gallia)"
+msgstr ""
+"Ajout de traductions en allemand et en russe (grâce à Alessandra Gallia)"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:190
+msgid "Redesigned symbolic icon"
+msgstr "Redesign de l'icône symbolique"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:191
+msgid "Initial support for sway (still broken in Flatpak)"
+msgstr ""
+"Support initial pour sway (ne marche pas pour les installations Flatpak)"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:192
+msgid "Small performance improvements"
+msgstr "Petites améliorations de performance"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:200
+msgid "Fixed conflict between desktop and lockscreen wallpapers"
+msgstr "Corrige le conflit entre fond d'écran de bureau et de verrouillage"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:207
+msgid ""
+"Merged wallpapers aren't cached anymore. Just keep one and save lots of space"
+msgstr ""
+"Les fonds d'écran fusionnés ne sont plus mis en cache. Gardez-en un et "
+"économisez beaucoup d'espace"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:214
+msgid "Fixed path enable/disable bug"
+msgstr "Corrige le bogue d'activation / désactivation des chemins"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:221
+msgid "Moved app menu to the far right"
+msgstr "Menu d'application déplacé tout à droite"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:222
+msgid "Added view switcher bar when window is too small"
+msgstr ""
+"Ajout d'une barre de changement d'affichage lorsque la fenêtre est trop "
+"petite"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:229
+msgid "Added option to set lockscreen wallpapers in GNOME"
+msgstr ""
+"Ajout d'une option pour définir un fond d'écran de verrouillage pour GNOME"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:236
+msgid "Internationalization support and Italian translation"
+msgstr "Support de traductions multilingues et traduction italienne"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:237
+msgid "New widgets from Purism's libhandy"
+msgstr "Nouveaux widgets dans le style libhandy de Purism"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:238
+msgid "Removed animated spinner"
+msgstr "Suppression de la toupie animée"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:239
+msgid "Paths in folders view show only the folder name by default"
+msgstr ""
+"Les chemins dans la vue des dossiers montrent seulement le nom du dossier "
+"par défaut"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:240
+msgid "New website"
+msgstr "Nouveau site web"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:247
+msgid "Properly implemented MATE support"
+msgstr "Support pour MATE implémenté proprement"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:248
+msgid "Added post-installation commands"
+msgstr "Ajout de commandes post-installation"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:255
+msgid "Fixing wrong import"
+msgstr "Correction du mauvais import"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:262
+msgid "Fixed support for MATE under Flatpak"
+msgstr "Correction du support pour MATE pour les Flatpaks"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:269
+msgid "New icon! Should be closer to GNOME HIG."
+msgstr "Nouvelle icône ! Plus proche des directives d'interface de GNOME."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:270
+msgid ""
+"Exposed random wallpaper functionality from the in-app menu and desktop file"
+msgstr ""
+"Exposition de la fonctionnalité de fond d'écran aléatoire depuis le menu de "
+"l'application et le fichier de bureau"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:277
+msgid "Added random wallpaper functionality from command line with -r option"
+msgstr ""
+"Ajout d'une fonctionnalité d'arrière-plans aléatoires en ligne de commande "
+"avec l'option -r"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:284
+msgid "Fixing startup error when added folders get deleted"
+msgstr ""
+"Correction de l'erreur de démarrage quand des dossiers ajoutés sont supprimés"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:291
+msgid "Get correct localized Pictures folder on first startup"
+msgstr "Dossier d'images localisé correct au premier démarrage"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:292
+msgid "App doesn't crash anymore if a folder doesn't exist"
+msgstr "L'application ne plante plus si un dossier n'existe pas"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:299
+msgid "Fixed wallpapers not hiding on startup"
+msgstr "Correction des arrière-plans non-cachés au démarrage"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:306
+msgid "Complete code refactoring"
+msgstr "Refonte complète du code"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:307
+msgid "Made the whole build system more modular"
+msgstr "Ensemble du système de construction rendu plus modulaire"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:308
+msgid "Moved app menu to the headerbar"
+msgstr "Menu d'application déplacé vers la barre du haut"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:309
+msgid "Initial support for keyboard shortcuts"
+msgstr "Support initial pour les raccourcis clavier"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:316
+msgid "Fixed thumbnail creation for PNGs with alpha channel"
+msgstr "Corrige la création de vignettes pour fichiers PNG avec le canal alpha"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:317
+msgid "Added option to clear cache"
+msgstr "Ajout d'une option pour vider le cache"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:325
+msgid "Improved thumbnail generation and caching for better performance"
+msgstr ""
+"Amélioration de la génération de vignettes et de la mise en cache pour de "
+"meilleures performances"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:332
+msgid "Updated dependencies"
+msgstr "Dépendances mises à jour"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:333
+msgid "Added support for command line usage"
+msgstr "Ajout du support pour l'utilisation en ligne de commande"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:334
+msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)"
+msgstr ""
+"Implémentation de boilerplate pour GTK via gmgtk (gitlab.com/gabmus/gmgtk)"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:335
+msgid ""
+"Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)"
+msgstr ""
+"Migration de la gestion de la configuration vers gmconfig (gitlab.com/gabmus/"
+"gmconfig)"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:336
+msgid "Migrated to GitLab"
+msgstr "Migration vers GitLab"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:343
+msgid "Better filename generation"
+msgstr "Meilleure génération de noms de fichiers"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:344
+msgid "Added support for vertical setups"
+msgstr "Ajout du support pour les configurations verticales"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:345
+msgid "Added symbolic icon"
+msgstr "Ajout d'une icône symbolique"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:346
+msgid "Added support for MATE"
+msgstr "Ajout du support pour MATE"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:354
+msgid "Design makeover"
+msgstr "Refonte du design"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:355
+msgid "Added longpress/rightclick menu"
+msgstr "Ajout du menu pression longue / clic droit"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:356
+msgid "Implemented favorites"
+msgstr "Implémentation des favoris"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:357
+msgid "Added option to temporarely disable paths"
+msgstr "Ajout de l'option pour désactiver temporairement les chemins"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:358
+msgid "Added option to minimize/restore all other windows"
+msgstr "Ajout de l'option minimiser / restaurer toutes les autres fenêtres"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:359
+msgid "Improved performance"
+msgstr "Performance améliorée"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:360
+msgid "Various optimizations for flatpak distribution"
+msgstr "Diverses optimisations pour la distribution via flatpak"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:361
+msgid "Removed the dependency on xmltodict"
+msgstr "Suppression de la dépendance sur xmltodict"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:369
+msgid "Changed icon"
+msgstr "Icône changée"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:370
+msgid "Added support for monitors.xml version 1"
+msgstr "Ajout du support pour la version 1 de monitors.xml"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:377
+msgid "Improved 3+ monitors configuration"
+msgstr "Amélioration de la configuration de 3 écrans ou +"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:378
+msgid "Remember previously set wallpapers throughout sessions"
+msgstr ""
+"Mémorise les fonds d'écran précédemment définis tout au long des sessions"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:379
+msgid "Implemented cache hitting"
+msgstr "Implémentation de la recherche de cache"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:380
+msgid "Added checks and user friendly error messages for monitors.xml"
+msgstr ""
+"Ajout de vérifications et de messages d'erreur conviviaux pour monitors.xml"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:387
+msgid "Bug fixes"
+msgstr "Correction de bogues"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:388
+msgid "Added settings window"
+msgstr "Ajout d'une fenêtre de paramètres"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:395
+msgid "Port to pillow"
+msgstr "Portage vers pillow"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:402
+msgid "First release"
+msgstr "Première version"
-- 
2.40.1


From ac504c2836ac010a6c0d02f9513710f23eccacd3 Mon Sep 17 00:00:00 2001
From: Lucki <lucki@holarse-linuxgaming.de>
Date: Thu, 1 Dec 2022 00:13:02 +0000
Subject: [PATCH 04/11] Do not ignore XDG spec on non flatpak

---
 hydrapaper/confManager.py | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/hydrapaper/confManager.py b/hydrapaper/confManager.py
index 6eede24..6b62eea 100644
--- a/hydrapaper/confManager.py
+++ b/hydrapaper/confManager.py
@@ -6,6 +6,7 @@ from .is_image import is_image
 from os import makedirs, listdir, system
 from os import environ as Env
 import json
+import os
 from threading import Thread
 
 pictures_dir = GLib.get_user_special_dir(GLib.UserDirectory.DIRECTORY_PICTURES)
@@ -107,12 +108,8 @@ class ConfManager(metaclass=Singleton):
             ) or 'WAYLAND_DISPLAY' in Env.keys()
         )
 
-        if self.is_flatpak:
-            self.config_home = Env.get('XDG_CONFIG_HOME')
-            self.cache_home = Env.get('XDG_CACHE_HOME')
-        else:
-            self.config_home = f'{Env.get("HOME")}/.config'
-            self.cache_home = f'{Env.get("HOME")}/.cache'
+        self.config_home = os.getenv('XDG_CONFIG_HOME', f'{Env.get("HOME")}/.config')
+        self.cache_home = os.getenv('XDG_CACHE_HOME', f'{Env.get("HOME")}/.cache')
         self.path = Path(
             f'{self.config_home}/org.gabmus.hydrapaper.json'
         )
-- 
2.40.1


From 786d73a8bd6971a5889bc53a67b9acdcb285827a Mon Sep 17 00:00:00 2001
From: Lucki <lucki@holarse-linuxgaming.de>
Date: Thu, 1 Dec 2022 00:24:47 +0000
Subject: [PATCH 05/11] Fix all issues mentioned in #53

---
 hydrapaper_daemon/hydrapaperd.in.py | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/hydrapaper_daemon/hydrapaperd.in.py b/hydrapaper_daemon/hydrapaperd.in.py
index abc2782..40a945a 100755
--- a/hydrapaper_daemon/hydrapaperd.in.py
+++ b/hydrapaper_daemon/hydrapaperd.in.py
@@ -95,7 +95,7 @@ class HydrapaperDaemon(dbus.service.Object):
                 fwp = list(last_wps['wps'].values())[0]
                 virt_monitor.wallpaper = fwp['wp']
                 virt_monitor.mode = fwp.get('mode', 'zoom')
-                apply_wallpapers([virt_monitor])
+                apply_wallpapers([virt_monitor], set_dark=self.config['dark_mode'])
                 return
             for m in self.monitors:
                 cm = last_wps['wps'].get(
@@ -103,7 +103,7 @@ class HydrapaperDaemon(dbus.service.Object):
                 )
                 m.wallpaper = cm['wp']
                 m.mode = cm['mode']
-        apply_wallpapers(self.monitors, skip_save=True)
+        apply_wallpapers(self.monitors, skip_save=True, set_dark=self.config['dark_mode'])
 
     @dbus.service.method(
             dbus_interface=PACKAGE,
@@ -188,8 +188,9 @@ class HydrapaperDaemon(dbus.service.Object):
                 virt_monitor.wallpaper = wp_paths[0]
                 apply_wallpapers(
                     [virt_monitor],
-                    lockscreen=False, force_random_name=True,
-                    skip_save=True
+                    force_random_name=True,
+                    skip_save=True,
+                    set_dark=self.config['dark_mode']
                 )
                 return
             cycle_wps = cycle(wp_paths)
@@ -207,8 +208,9 @@ class HydrapaperDaemon(dbus.service.Object):
         elif None in [m.wallpaper for m in self.monitors]:
             return
         apply_wallpapers(
-            self.monitors, lockscreen=False, force_random_name=True,
-            skip_save=True
+            self.monitors, force_random_name=True,
+            skip_save=True,
+            set_dark=self.config['dark_mode']
         )
 
 
-- 
2.40.1


From 90dace5626c7ea9d7761f08868a0ad4f5108a41e Mon Sep 17 00:00:00 2001
From: Lucki <lucki@holarse-linuxgaming.de>
Date: Thu, 1 Dec 2022 00:27:56 +0000
Subject: [PATCH 06/11] Fix parenting level

---
 hydrapaper/wallpaper_flowbox_item.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hydrapaper/wallpaper_flowbox_item.py b/hydrapaper/wallpaper_flowbox_item.py
index bc734e6..f0fcac0 100644
--- a/hydrapaper/wallpaper_flowbox_item.py
+++ b/hydrapaper/wallpaper_flowbox_item.py
@@ -26,7 +26,7 @@ class WallpaperItemPopover(Gtk.Popover):
     def popup(self, *args):
         if (
                 self.parent_w.get_parent().get_parent().get_parent(
-                    ).get_parent().is_favorites or
+                    ).is_favorites or
                 self.parent_w.is_fav
         ):
             self.favorite_btn.set_label(_('Remove favorite'))
-- 
2.40.1


From e9b49208258064b79bfb7d695e4006a9cbf19538 Mon Sep 17 00:00:00 2001
From: Lucki <lucki@holarse-linuxgaming.de>
Date: Thu, 1 Dec 2022 00:41:24 +0000
Subject: [PATCH 07/11] Don't forget hyperpaperd

---
 hydrapaper_daemon/hydrapaperd.in.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hydrapaper_daemon/hydrapaperd.in.py b/hydrapaper_daemon/hydrapaperd.in.py
index abc2782..452cb60 100755
--- a/hydrapaper_daemon/hydrapaperd.in.py
+++ b/hydrapaper_daemon/hydrapaperd.in.py
@@ -10,6 +10,7 @@ from dbus.mainloop.glib import DBusGMainLoop
 from os.path import isfile
 from os import environ as Env
 import json
+import os
 from hydrapaper.monitor_parser import (
     build_monitors_autodetect,
     build_combined_spanned_monitor
@@ -26,8 +27,7 @@ is_flatpak = (
     isfile(f'{Env["XDG_RUNTIME_DIR"]}/flatpak-info')
 )
 CONFIG_PATH = '{0}/org.gabmus.hydrapaper.json'.format(
-    Env.get('XDG_CONFIG_HOME') if is_flatpak
-    else Env.get('HOME') + '/.config'
+    os.getenv('XDG_CONFIG_HOME', f'{Env.get("HOME")}/.config')
 )
 
 PACKAGE = 'org.gabmus.hydrapaper.Daemon'
-- 
2.40.1


From 2c2b3a6ca59a460ab506acb254f5a2352b7d4e77 Mon Sep 17 00:00:00 2001
From: sabriunal <libreajans@gmail.com>
Date: Thu, 29 Sep 2022 22:02:11 +0300
Subject: [PATCH 08/11] Add Turkish translation

---
 po/LINGUAS |   1 +
 po/tr.po   | 764 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 765 insertions(+)
 create mode 100644 po/tr.po

diff --git a/po/LINGUAS b/po/LINGUAS
index b615122..d3b93c7 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -5,3 +5,4 @@ it
 pt_BR
 ru
 sv
+tr
diff --git a/po/tr.po b/po/tr.po
new file mode 100644
index 0000000..1d26abc
--- /dev/null
+++ b/po/tr.po
@@ -0,0 +1,764 @@
+# Turkish translation for HydraPaper
+# Copyright (C) 2022-2023 HydraPaper's COPYRIGHT HOLDER
+# This file is distributed under the same license as the HydraPaper package.
+#
+# Sabri Ünal <libreajans@gmail.com>, 2022, 2023.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: HydraPaper master\n"
+"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GabMus/HydraPaper\n"
+"POT-Creation-Date: 2022-06-21 23:43+0300\n"
+"PO-Revision-Date: 2023-01-06 03:17+0300\n"
+"Last-Translator: Sabri Ünal <libreajans@gmail.com>\n"
+"Language-Team: Turkish <gnome-turk@gnome.org>\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0;\n"
+"X-Generator: Poedit 3.1.1\n"
+"X-Project-Style: gnome\n"
+
+#: ../hydrapaper/monitor_parser.py:116
+msgid "Error parsing monitors (Gdk)"
+msgstr " Ekranlar ayrıştırılırken hata oluştu (Gdk)"
+
+#: ../hydrapaper/monitor_parser.py:156
+msgid "Combined spanned monitor"
+msgstr "Birleşik yayılmış ekran"
+
+#: ../hydrapaper/preferences_window.py:18
+msgid "Start daemon on login"
+msgstr "Girişte artalan sürecini başlat"
+
+#: ../hydrapaper/preferences_window.py:19
+msgid "React to monitor changes and start slideshow mode"
+msgstr "Ekran değişikliklerine tepki ver ve slayt gösterisi kipini başlat"
+
+#: ../hydrapaper/preferences_window.py:79
+msgid "Save each wallpaper separately"
+msgstr "Duvar kağıtlarını ayrı ayrı kaydet"
+
+#: ../hydrapaper/preferences_window.py:81
+msgid ""
+"Warning: this feature will use a lot of disk space. Periodically clear the "
+"cache to mitigate this problem"
+msgstr ""
+"Uyarı: Bu özellik çok fazla disk alanı kullanır. Bu sorunu azaltmak için "
+"önbelleği düzenli aralıklarla temizleyin"
+
+#: ../hydrapaper/preferences_window.py:91
+msgid "Enable daemon"
+msgstr "Artalan sürecini başlat"
+
+#: ../hydrapaper/preferences_window.py:93
+msgid "Needed for slideshow mode and to detect display changes"
+msgstr ""
+"Slayt gösterisi kipini ve ekran değişikliklerini algılamak için gerekli"
+
+#: ../hydrapaper/preferences_window.py:101
+msgid "General"
+msgstr "Genel"
+
+#: ../hydrapaper/preferences_window.py:104
+msgid "General preferences"
+msgstr "Genel tercihler"
+
+#: ../hydrapaper/preferences_window.py:107
+msgid "Cache and favorites"
+msgstr "Önbellek ve gözdeler"
+
+#: ../hydrapaper/preferences_window.py:109
+msgid "Clear favorites"
+msgstr "Gözdeleri temizle"
+
+#: ../hydrapaper/preferences_window.py:110
+#: ../hydrapaper/preferences_window.py:117
+msgid "Clear"
+msgstr "Temizle"
+
+#: ../hydrapaper/preferences_window.py:116
+msgid "Clear caches"
+msgstr "Önbellekleri temizle"
+
+#: ../hydrapaper/preferences_window.py:143
+msgid "Appearance"
+msgstr "Görünüm"
+
+#: ../hydrapaper/preferences_window.py:146
+msgid "Appearance preferences"
+msgstr "Görünüm tercihleri"
+
+#: ../hydrapaper/preferences_window.py:148
+msgid "Dark mode"
+msgstr "Koyu kip"
+
+#: ../hydrapaper/preferences_window.py:154
+msgid "Use big thumbnails for the monitors previews"
+msgstr "Ekran önizlemeleri için büyük minyatürler kullan"
+
+#: ../hydrapaper/preferences_window.py:160
+msgid "Show full path in folder view"
+msgstr "Klasör görünümünde tam yolu göster"
+
+#: ../hydrapaper/slideshow_listbox_row.py:30
+msgid "Move up"
+msgstr "Yukarı taşı"
+
+#: ../hydrapaper/slideshow_listbox_row.py:35
+msgid "Remove"
+msgstr "Kaldır"
+
+#: ../hydrapaper/slideshow_listbox_row.py:40
+msgid "Move down"
+msgstr "Aşağı taşı"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:32
+msgid "Remove favorite"
+msgstr "Gözdelerden kaldır"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:34
+msgid "Add favorite"
+msgstr "Gözdelere ekle"
+
+#: ../hydrapaper/wallpaper_flowbox_item.py:155
+msgid "ERROR: cannot create thumbnail for file"
+msgstr "HATA: dosya için minyatür oluşturulamadı"
+
+#: ../hydrapaper/base_preferences.py:106
+msgid "Choose a folder"
+msgstr "Klasör seç"
+
+#: ../hydrapaper/wallpapers_folders_view.py:55
+msgid "Add wallpaper folders"
+msgstr "Duvar kağıtları klasörlerine ekle"
+
+# Başlık çubuğunda yer aldığı için Başlık Düzeni tercih edilmeli.
+#: ../hydrapaper/main_stack.py:19
+msgid "Wallpapers"
+msgstr "Duvar Kağıtları"
+
+#: ../hydrapaper/main_stack.py:24
+msgid "Favorites"
+msgstr "Gözdeler"
+
+#: ../hydrapaper/__main__.py:112
+#, python-brace-format
+msgid "Error: you passed {0} wallpapers for {1} monitors"
+msgstr "Hata: {1} ekran için {0} duvar kağıdını geçtiniz"
+
+#: ../hydrapaper/__main__.py:121
+#, python-brace-format
+msgid "Error: you passed {0} modes for {1} wallpapers"
+msgstr "Hata: {1} duvar kağıdı için {0} kip geçtiniz"
+
+#: ../hydrapaper/__main__.py:130
+#, python-brace-format
+msgid ""
+"Error: wallpaper mode {0} is not valid. Allowed values are: zoom, fit_black, "
+"fit_blur, center_black, center_blur"
+msgstr ""
+"Hata: duvar kağıdı kipi {0} geçerli değil. İzin verilen değerler: zoom, "
+"fit_black, fit_blur, center_black, center_blur"
+
+#: ../hydrapaper/__main__.py:140
+#, python-brace-format
+msgid "Error: {0} is not a valid image path"
+msgstr "Hata: {0} geçerli bir resim yolu değil"
+
+#: ../hydrapaper/__main__.py:196
+msgid "set wallpapers from command line"
+msgstr "duvar kağıtlarını komut satırından ayarla"
+
+#: ../hydrapaper/__main__.py:202
+msgid ""
+"specify the modes for the wallpapers (zoom, center_black, center_blur, "
+"fit_black, fit_blur)"
+msgstr ""
+"duvar kağıtları için kipleri belirtin (zoom, center_black, center_blur, "
+"fit_black, fit_blur)"
+
+#: ../hydrapaper/__main__.py:209
+msgid "set the dark mode wallpapers (specific to GNOME 42+)"
+msgstr "Koyu kip duvar kağıtlarını ayarlayın (GNOME 42+ sürümüne özel)"
+
+#: ../hydrapaper/__main__.py:215
+msgid "set wallpapers randomly"
+msgstr "duvar kağıtlarını rastgele ayarla"
+
+#: ../data/ui/shortcutsWindow.blp:11
+msgid "Open Keyboard Shortcuts"
+msgstr "Klavye Kısayollarını Aç"
+
+#: ../data/ui/shortcutsWindow.blp:15
+msgid "Open Menu"
+msgstr "Menüyü Aç"
+
+#: ../data/ui/shortcutsWindow.blp:19 ../data/ui/headerbar.blp:33
+msgid "Search"
+msgstr "Ara"
+
+#: ../data/ui/shortcutsWindow.blp:23
+msgid "Open Preferences"
+msgstr "Tercihleri Aç"
+
+#: ../data/ui/shortcutsWindow.blp:27
+msgid "Quit"
+msgstr "Çık"
+
+#: ../data/ui/shortcutsWindow.blp:31 ../data/ui/headerbar.blp:7
+msgid "Set Random Wallpapers"
+msgstr "Rastgele Duvar Kağıtları Ayarla"
+
+#: ../data/ui/wallpaper_flowbox_item_popover.blp:18
+msgid "Add Favorite"
+msgstr "Gözdelere ekle"
+
+#: ../data/ui/wallpaper_flowbox_item_popover.blp:27
+msgid "Path:"
+msgstr "Yol:"
+
+#: ../data/ui/wp_mode_popover_menu.blp:16
+#: ../data/ui/monitors_flowbox_item.blp:14
+msgid "Wallpaper Mode"
+msgstr "Duvar Kağıdı Kipi"
+
+#: ../data/ui/wp_mode_popover_menu.blp:20
+msgid "Zoom"
+msgstr "Yaklaştır"
+
+#: ../data/ui/wp_mode_popover_menu.blp:25
+msgid "Fit (black background)"
+msgstr "Sığdır (siyah arka plan)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:30
+msgid "Fit (blur)"
+msgstr "Sığdır (bulanık)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:35
+msgid "Center (black backgrond)"
+msgstr "Merkez (siyah arka plan)"
+
+#: ../data/ui/wp_mode_popover_menu.blp:40
+msgid "Center (blur)"
+msgstr "Merkez (bulanık)"
+
+#: ../data/ui/headerbar.blp:6
+msgid "Single Spanned Wallpaper Mode"
+msgstr "Tek Yayılmış Duvar Kağıdı Kipi"
+
+#: ../data/ui/headerbar.blp:10
+msgid "Preferences"
+msgstr "Tercihler"
+
+#: ../data/ui/headerbar.blp:11
+msgid "Shortcuts"
+msgstr "Kısayollar"
+
+#: ../data/ui/headerbar.blp:12
+msgid "About HydraPaper"
+msgstr "HydraPaper Hakkında"
+
+#: ../data/ui/headerbar.blp:28
+msgid "Wallpaper Folders"
+msgstr "Duvar Kağıdı Klasörleri"
+
+#: ../data/ui/headerbar.blp:37
+msgid "Menu"
+msgstr "Menü"
+
+#: ../data/ui/headerbar.blp:46
+msgid "Apply for Dark Mode"
+msgstr "Koyu Kip İçin Uygula"
+
+#: ../data/ui/headerbar.blp:51
+msgid "Apply"
+msgstr "Uygula"
+
+#: ../data/ui/headerbar.blp:60
+msgid "Add to Slideshow"
+msgstr "Slay Gösterisine Ekle"
+
+#: ../data/ui/headerbar.blp:66
+msgid "Manage Slideshow Mode"
+msgstr "Slayt Gösterisi Kipini Yönet"
+
+#: ../data/ui/headerbar.blp:93
+msgid "Slideshow Mode"
+msgstr "Slayt Gösterisi Kipi"
+
+#: ../data/ui/headerbar.blp:104
+msgid "Wallpaper duration"
+msgstr "Duvar kağıdı süresi"
+
+#: ../data/ui/wallpapers_folders_view.blp:21
+msgid "Add Folder"
+msgstr "Klasör Ekle"
+
+#: ../data/ui/wallpapers_folders_view.blp:27
+msgid "Remove Folder"
+msgstr "Klasör Kaldır"
+
+#: ../data/ui/wallpapers_folders_view.blp:36
+msgid "Activate All Folders"
+msgstr "Tüm Klasörleri Etkinleştir"
+
+#: ../data/ui/wallpapers_folders_view.blp:41
+msgid "Deactivate All Folders"
+msgstr "Tüm Klasörleri Pasifleştir"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:3
+msgid "@prettyname@"
+msgstr "@prettyname@"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:4
+msgid "Wallpaper manager with multimonitor support"
+msgstr "Çoklu ekran destekli duvar kağıdı yöneticisi"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:12
+msgid "wallpaper;background;monitor;"
+msgstr "duvar kağıdı;arkaplan;ekran;monitör;monitor;"
+
+#: ../data/org.gabmus.hydrapaper.desktop.in:18
+msgid "Set random wallpapers"
+msgstr "Rastgele duvar kağıtları ayarla"
+
+#: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:3
+msgid "@appid@.Daemon"
+msgstr "@appid@.Daemon"
+
+#: ../data/org.gabmus.hydrapaper.Daemon.desktop.in:4
+msgid "Daemon for HydraPaper"
+msgstr "HydraPaper Artalan Süreci"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:4
+msgid "HydraPaper"
+msgstr "HydraPaper"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:5
+msgid "Gabriele Musco"
+msgstr "Gabriele Musco"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:6
+msgid "Wallpaper manager with multi monitor support"
+msgstr "Çoklu ekran destekli duvar kağıdı yöneticisi"
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:15
+msgid ""
+"HydraPaper is a wallpaper manager, specifically designed to work around the "
+"lack of functionality of many desktop environments to set a different "
+"wallpaper for each monitor in a multi monitor setup. It accomplishes this by "
+"scaling and merging different wallpapers into a single one and setting it as "
+"spanned."
+msgstr ""
+"HydraPaper, çoklu ekran kurulumunda her ekran için farklı duvar kağıdı "
+"ayarlamak için birçok masaüstü ortamının işlevsellik eksikliğini gidermek "
+"için özel olarak tasarlanmış bir duvar kağıdı yöneticisidir. Bunu, farklı "
+"duvar kağıtlarını tek bir duvar kağıdında ölçeklendirip birleştirerek ve "
+"yayarak gerçekleştirir."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:16
+msgid ""
+"It currently supports various desktop environments, including GNOME, MATE, "
+"Cinnamon and Budgie. Experimental support is included for the sway window "
+"manager."
+msgstr ""
+"Şu anda GNOME, MATE, Cinnamon ve Budgie dahil çeşitli masaüstü ortamlarını "
+"desteklemektedir. Sway pencere yöneticisi için deneysel destek dahildir."
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:48
+msgid "Show apply button for dark mode in Ubuntu GNOME sessions"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:56
+msgid "Added separate apply button for dark mode"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:57
+msgid "Show wallpaper names"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:58
+msgid "Added search for file name and resolution"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:66
+msgid ""
+"Wallpaper folder selection popover converted to Flap (auto-hide sidebar)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:67
+msgid "Updated support for libadwaita to version 1.0.0.alpha.4"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:68
+msgid "Fixed window size save/restore"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:76
+msgid "Added support for heterogeneous DPI scaling"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:77
+msgid "Added support for libadwaita 1.0.0-alpha.2"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:85
+msgid "🚀 HydraPaper has been updated to GTK4 and libadwaita!"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:86
+msgid "Bug fixes for Fit and Center wallpaper modes"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:94
+msgid "Minor improvements to the UI"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:95
+msgid "Improved phone compatibility"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:103
+msgid "Fix for different wallpaper modes not working on single display setups"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:110
+msgid "Fixed random wallpaper"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:117
+msgid "Updated to the latest version of libhandy"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:118
+msgid "New option to set a single wallpaper as spanned across all the monitors"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:119
+msgid "Added Cinnamon support"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:120
+msgid ""
+"New wallpaper modes: set your wallpapers as zoomed, centered or fitted, with "
+"the choice of either a black or a blurred background"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:121
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:139
+msgid "Various improvements and bug fixes"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:128
+msgid "Added Brazilian Portuguese translation"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:129
+msgid "Updated to support the latest version of libhandy"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:130
+msgid "Added more keyboard shortcuts"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:137
+msgid "New icon courtesy of Tobias Bernard"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:138
+msgid "New minimal favorite wallpaper badge"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:147
+msgid "New quick buttons to toggle on/off all wallpaper folders at once"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:155
+msgid "Updated flatpak dependencies and GNOME runtime"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:156
+msgid ""
+"Removed libwnck dependency and functionalities (lower other windows toggle)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:163
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:193
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:347
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:362
+msgid "Various bug fixes"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:170
+msgid "You can now set lockscreen wallpapers from the command line"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:171
+msgid "New preference to save wallpapers with random names"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:172
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:318
+msgid "Various bug fixes and improvements"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:179
+msgid "Ordering wallpapers folders alphabetically"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:180
+msgid "Fixed folder adding"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:187
+msgid "You can now add multiple folders at once!"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:188
+msgid "Slight design overhaul"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:189
+msgid "Added German and Russian translations (courtesy of Alessandra Gallia)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:190
+msgid "Redesigned symbolic icon"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:191
+msgid "Initial support for sway (still broken in Flatpak)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:192
+msgid "Small performance improvements"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:200
+msgid "Fixed conflict between desktop and lockscreen wallpapers"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:207
+msgid ""
+"Merged wallpapers aren't cached anymore. Just keep one and save lots of space"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:214
+msgid "Fixed path enable/disable bug"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:221
+msgid "Moved app menu to the far right"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:222
+msgid "Added view switcher bar when window is too small"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:229
+msgid "Added option to set lockscreen wallpapers in GNOME"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:236
+msgid "Internationalization support and Italian translation"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:237
+msgid "New widgets from Purism's libhandy"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:238
+msgid "Removed animated spinner"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:239
+msgid "Paths in folders view show only the folder name by default"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:240
+msgid "New website"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:247
+msgid "Properly implemented MATE support"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:248
+msgid "Added post-installation commands"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:255
+msgid "Fixing wrong import"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:262
+msgid "Fixed support for MATE under Flatpak"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:269
+msgid "New icon! Should be closer to GNOME HIG."
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:270
+msgid ""
+"Exposed random wallpaper functionality from the in-app menu and desktop file"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:277
+msgid "Added random wallpaper functionality from command line with -r option"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:284
+msgid "Fixing startup error when added folders get deleted"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:291
+msgid "Get correct localized Pictures folder on first startup"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:292
+msgid "App doesn't crash anymore if a folder doesn't exist"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:299
+msgid "Fixed wallpapers not hiding on startup"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:306
+msgid "Complete code refactoring"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:307
+msgid "Made the whole build system more modular"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:308
+msgid "Moved app menu to the headerbar"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:309
+msgid "Initial support for keyboard shortcuts"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:316
+msgid "Fixed thumbnail creation for PNGs with alpha channel"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:317
+msgid "Added option to clear cache"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:325
+msgid "Improved thumbnail generation and caching for better performance"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:332
+msgid "Updated dependencies"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:333
+msgid "Added support for command line usage"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:334
+msgid "Implemented boilerplate for gtk via gmgtk (gitlab.com/gabmus/gmgtk)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:335
+msgid ""
+"Migrated configuration management to gmconfig (gitlab.com/gabmus/gmconfig)"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:336
+msgid "Migrated to GitLab"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:343
+msgid "Better filename generation"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:344
+msgid "Added support for vertical setups"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:345
+msgid "Added symbolic icon"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:346
+msgid "Added support for MATE"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:354
+msgid "Design makeover"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:355
+msgid "Added longpress/rightclick menu"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:356
+msgid "Implemented favorites"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:357
+msgid "Added option to temporarely disable paths"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:358
+msgid "Added option to minimize/restore all other windows"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:359
+msgid "Improved performance"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:360
+msgid "Various optimizations for flatpak distribution"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:361
+msgid "Removed the dependency on xmltodict"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:369
+msgid "Changed icon"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:370
+msgid "Added support for monitors.xml version 1"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:377
+msgid "Improved 3+ monitors configuration"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:378
+msgid "Remember previously set wallpapers throughout sessions"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:379
+msgid "Implemented cache hitting"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:380
+msgid "Added checks and user friendly error messages for monitors.xml"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:387
+msgid "Bug fixes"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:388
+msgid "Added settings window"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:395
+msgid "Port to pillow"
+msgstr ""
+
+#: ../data/org.gabmus.hydrapaper.appdata.xml.in:402
+msgid "First release"
+msgstr ""
-- 
2.40.1


From 4e63a6caf56165eaf51a93bdf85473ac3a027e82 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sabri=20=C3=9Cnal?= <libreajans@gmail.com>
Date: Fri, 6 Jan 2023 03:57:04 +0300
Subject: [PATCH 09/11] data: use Quotetion Mark for blp files

A lot of GNOME apps uses quotation mark in blp files
and avoids apostrophes.
---
 data/ui/headerbar.blp                      | 48 +++++++++++-----------
 data/ui/monitors_flowbox_item.blp          |  6 +--
 data/ui/shortcutsWindow.blp                | 16 ++++----
 data/ui/wallpaper_flowbox_item.blp         |  2 +-
 data/ui/wallpaper_flowbox_item_popover.blp |  8 ++--
 data/ui/wallpapers_flowbox.blp             |  4 +-
 data/ui/wallpapers_folders_view.blp        | 24 +++++------
 data/ui/wp_mode_popover_menu.blp           | 16 ++++----
 8 files changed, 62 insertions(+), 62 deletions(-)

diff --git a/data/ui/headerbar.blp b/data/ui/headerbar.blp
index 0d87336..95df78d 100644
--- a/data/ui/headerbar.blp
+++ b/data/ui/headerbar.blp
@@ -3,13 +3,13 @@ using Adw 1;
 
 menu generalMenu {
     section {
-        item (_('Single Spanned Wallpaper Mode'), 'app.spanned_mode')
-        item (_('Set Random Wallpapers'), 'app.set_random_wallpaper')
+        item (_("Single Spanned Wallpaper Mode"), "app.spanned_mode")
+        item (_("Set Random Wallpapers"), "app.set_random_wallpaper")
     }
     section {
-        item (_('Preferences'), 'app.settings')
-        item (_('Shortcuts'), 'app.shortcuts')
-        item (_('About HydraPaper'), 'app.about')
+        item (_("Preferences"), "app.settings")
+        item (_("Keyboard Shortcuts"), "app.shortcuts")
+        item (_("About HydraPaper"), "app.about")
     }
 }
 
@@ -25,45 +25,45 @@ template GHeaderbar : WindowHandle {
             Label nobox {}
         }
         ToggleButton wallpaper_folders_btn {
-            tooltip-text: _('Wallpaper Folders');
-            icon-name: 'folder-symbolic';
+            tooltip-text: _("Wallpaper Folders");
+            icon-name: "folder-symbolic";
             toggled => on_wallpaper_folders_btn_clicked();
         }
         ToggleButton search_toggle {
-            tooltip-text: _('Search');
-            icon-name: 'system-search-symbolic';
+            tooltip-text: _("Search");
+            icon-name: "system-search-symbolic";
         }
         [end] MenuButton menu_btn {
-            tooltip-text: _('Menu');
-            icon-name: 'open-menu-symbolic';
+            tooltip-text: _("Menu");
+            icon-name: "open-menu-symbolic";
             menu-model: generalMenu;
         }
         [end] Box {
-            styles ['linked']
+            styles ["linked"]
             orientation: horizontal;
             valign: center;
             Button apply_dark_btn {
-                tooltip-text: _('Apply for Dark Mode');
-                icon-name: 'apply-dark-symbolic';
+                tooltip-text: _("Apply for Dark Mode");
+                icon-name: "apply-dark-symbolic";
                 clicked => on_apply_dark_btn_clicked();
             }
             Button apply_btn {
-                tooltip-text: _('Apply');
-                icon-name: 'object-select-symbolic';
+                tooltip-text: _("Apply");
+                icon-name: "object-select-symbolic";
                 clicked => on_apply_btn_clicked();
             }
         }
         [end] Button add_to_slideshow_btn {
-            styles ['suggested-action']
+            styles ["suggested-action"]
             visible: false;
-            icon-name: 'list-add-symbolic';
-            tooltip-text: _('Add to Slideshow');
+            icon-name: "list-add-symbolic";
+            tooltip-text: _("Add to Slideshow");
             clicked => on_add_to_slideshow();
         }
         [end] MenuButton slideshow_menu_btn {
-            icon-name: 'slideshowmode-symbolic';
+            icon-name: "slideshowmode-symbolic";
             popover: slideshow_popover;
-            tooltip-text: _('Manage Slideshow Mode');
+            tooltip-text: _("Manage Slideshow Mode");
         }
 
         Popover slideshow_popover {
@@ -73,7 +73,7 @@ template GHeaderbar : WindowHandle {
                 orientation: vertical;
                 spacing: 6;
                 ScrolledWindow {
-                    styles ['frame']
+                    styles ["frame"]
                     hscrollbar-policy: never;
                     vexpand: true;
                     ListBox slideshow_listbox {
@@ -90,7 +90,7 @@ template GHeaderbar : WindowHandle {
                         layout { row: 0; column: 0; }
                         hexpand: true;
                         xalign: 0.0;
-                        label: _('Slideshow Mode');
+                        label: _("Slideshow Mode");
                     }
                     Switch slideshow_switch {
                         layout { row: 0; column: 1; }
@@ -101,7 +101,7 @@ template GHeaderbar : WindowHandle {
                         layout { row: 1; column: 0; }
                         hexpand: true;
                         xalign: 0.0;
-                        label: _('Wallpaper duration');
+                        label: _("Wallpaper duration");
                     }
                     SpinButton slideshow_time_spinbutton {
                         layout { row: 1; column: 1; }
diff --git a/data/ui/monitors_flowbox_item.blp b/data/ui/monitors_flowbox_item.blp
index d2c4a66..138d175 100644
--- a/data/ui/monitors_flowbox_item.blp
+++ b/data/ui/monitors_flowbox_item.blp
@@ -10,10 +10,10 @@ template MonitorsFlowboxItem : FlowBoxChild {
             vexpand: true;
             Image image {}
             [overlay] MenuButton wp_mode_btn {
-                styles ['circular']
-                tooltip-text: _('Wallpaper Mode');
+                styles ["circular"]
+                tooltip-text: _("Wallpaper Mode");
                 halign: end; valign: end;
-                icon-name: 'view-more-horizontal';
+                icon-name: "view-more-horizontal";
             }
         }
         Label label {}
diff --git a/data/ui/shortcutsWindow.blp b/data/ui/shortcutsWindow.blp
index 1c81dbe..f98c104 100644
--- a/data/ui/shortcutsWindow.blp
+++ b/data/ui/shortcutsWindow.blp
@@ -3,32 +3,32 @@ using Gtk 4.0;
 ShortcutsWindow shortcuts-hydrapaper {
     ShortcutsSection {
         visible: true;
-        section-name: 'shortcuts';
+        section-name: "shortcuts";
         ShortcutsGroup {
-            title: _('General');
+            title: _("General");
             ShortcutsShortcut {
-                accelerator: '<ctrl>question';
                 title: _('Open Keyboard Shortcuts');
+                accelerator: "<ctrl>question";
             }
             ShortcutsShortcut {
-                accelerator: 'F10';
                 title: _('Open Menu');
+                accelerator: "F10";
             }
             ShortcutsShortcut {
-                accelerator: '<ctrl>f';
                 title: _('Search');
+                accelerator: "<ctrl>f";
             }
             ShortcutsShortcut {
-                accelerator: '<ctrl>comma';
                 title: _('Open Preferences');
+                accelerator: "<ctrl>comma";
             }
             ShortcutsShortcut {
-                accelerator: '<ctrl>Q';
                 title: _('Quit');
+                accelerator: "<ctrl>Q";
             }
             ShortcutsShortcut {
-                accelerator: '<ctrl><shift>R';
                 title: _('Set Random Wallpapers');
+                accelerator: "<ctrl><shift>R";
             }
         }
     }
diff --git a/data/ui/wallpaper_flowbox_item.blp b/data/ui/wallpaper_flowbox_item.blp
index 762261c..4b5a9c8 100644
--- a/data/ui/wallpaper_flowbox_item.blp
+++ b/data/ui/wallpaper_flowbox_item.blp
@@ -18,7 +18,7 @@ template WallpaperBox : FlowBoxChild {
                 visible: false;
                 halign: start; valign: center;
                 margin-start: 12;
-                resource: '/org/gabmus/hydrapaper/icons/favorite-badge.svg';
+                resource: "/org/gabmus/hydrapaper/icons/favorite-badge.svg";
             }
         }
         Label label {
diff --git a/data/ui/wallpaper_flowbox_item_popover.blp b/data/ui/wallpaper_flowbox_item_popover.blp
index c82c340..6d09ecf 100644
--- a/data/ui/wallpaper_flowbox_item_popover.blp
+++ b/data/ui/wallpaper_flowbox_item_popover.blp
@@ -8,14 +8,14 @@ template WallpaperFlowboxItemPopover : Popover {
         margin-top: 12; margin-bottom: 12;
         spacing: 6;
         Label wallpaper_name_label {
-            styles ['bigger_bold']
+            styles ["bigger_bold"]
             justify: center;
             ellipsize: end;
             single-line-mode: true;
             max-width-chars: 50;
         }
         Button favorite_btn {
-            label: _('Add Favorite');
+            label: _("Add Favorite");
             halign: center;
             clicked => on_favorite_btn_clicked();
         }
@@ -23,8 +23,8 @@ template WallpaperFlowboxItemPopover : Popover {
             orientation: horizontal;
             spacing: 6;
             Label {
-                styles ['dim-label']
-                label: _('Path:');
+                styles ["dim-label"]
+                label: _("Path:");
                 xalign: 0.0;
             }
             Entry wallpaper_path_entry {
diff --git a/data/ui/wallpapers_flowbox.blp b/data/ui/wallpapers_flowbox.blp
index 4cf69ed..8ae5f2b 100644
--- a/data/ui/wallpapers_flowbox.blp
+++ b/data/ui/wallpapers_flowbox.blp
@@ -1,11 +1,11 @@
 using Gtk 4.0;
 
 template WallpapersFlowbox : ScrolledWindow {
-    styles ['view']
+    styles ["view"]
     hscrollbar_policy: never;
     Viewport {
         FlowBox flowbox {
-            styles ['view', 'wallpapers-flowbox']
+            styles ["view", "wallpapers-flowbox"]
             valign: start; hexpand: true;
             activate-on-single-click: true;
             child-activated => on_flowbox_child_activated();
diff --git a/data/ui/wallpapers_folders_view.blp b/data/ui/wallpapers_folders_view.blp
index 27a644f..af1572d 100644
--- a/data/ui/wallpapers_folders_view.blp
+++ b/data/ui/wallpapers_folders_view.blp
@@ -1,45 +1,45 @@
 using Gtk 4.0;
 
 template WallpapersFoldersView : Box {
-    styles ['background']
+    styles ["background"]
     orientation: vertical;
     spacing: 6;
     ScrolledWindow {
         hscrollbar-policy: never;
         vexpand: true;
         ListBox listbox {
-            styles ['navigation-sidebar']
+            styles ["navigation-sidebar"]
             row-selected => on_listbox_row_selected();
         }
     }
     ActionBar {
         Box {
-            styles ['linked']
+            styles ["linked"]
             margin-top: 12; margin-bottom: 12;
             homogeneous: true;
             Button add_btn {
-                tooltip-text: _('Add Folder');
-                icon-name: 'list-add-symbolic';
+                tooltip-text: _("Add Folder");
+                icon-name: "list-add-symbolic";
                 clicked => on_add_btn_clicked();
             }
             Button del_btn {
                 sensitive: false;
-                tooltip-text: _('Remove Folder');
-                icon-name: 'user-trash-symbolic';
+                tooltip-text: _("Remove Folder");
+                icon-name: "user-trash-symbolic";
                 clicked => on_del_btn_clicked();
             }
         }
         [end] Box {
-            styles ['linked']
+            styles ["linked"]
             margin-top: 12; margin-bottom: 12;
             Button activate_all_btn {
-                tooltip-text: _('Activate All Folders');
-                icon-name: 'emblem-ok-symbolic';
+                tooltip-text: _("Activate All Folders");
+                icon-name: "emblem-ok-symbolic";
                 clicked => on_activate_all_btn_clicked();
             }
             Button deactivate_all_btn {
-                tooltip-text: _('Deactivate All Folders');
-                icon-name: 'window-close-symbolic';
+                tooltip-text: _("Deactivate All Folders");
+                icon-name: "window-close-symbolic";
                 clicked => on_deactivate_all_btn_clicked();
             }
         }
diff --git a/data/ui/wp_mode_popover_menu.blp b/data/ui/wp_mode_popover_menu.blp
index 1cf3d2d..64bfc50 100644
--- a/data/ui/wp_mode_popover_menu.blp
+++ b/data/ui/wp_mode_popover_menu.blp
@@ -4,40 +4,40 @@ template WallpaperModePopoverContent : ScrolledWindow {
     hscrollbar-policy: never; vscrollbar-policy: never;
     Stack {
         StackPage main {
-            name: 'main';
+            name: "main";
             child: Box menu_box {
                 margin-start: 6; margin-end: 6;
                 margin-top: 6; margin-bottom: 6;
                 orientation: vertical;
                 spacing: 6;
                 Label {
-                    styles ['dim-label']
+                    styles ["dim-label"]
                     xalign: 0.0;
-                    label: _('Wallpaper Mode');
+                    label: _("Wallpaper Mode");
                 }
                 CheckButton radio_zoom {
                     halign: start;
-                    label: _('Zoom');
+                    label: _("Zoom");
                     active: true;
                 }
                 CheckButton radio_fit_black {
                     halign: start;
-                    label: _('Fit (black background)');
+                    label: _("Fit (black background)");
                     group: radio_zoom;
                 }
                 CheckButton radio_fit_blur {
                     halign: start;
-                    label: _('Fit (blur)');
+                    label: _("Fit (blur)");
                     group: radio_zoom;
                 }
                 CheckButton radio_center_black {
                     halign: start;
-                    label: _('Center (black backgrond)');
+                    label: _("Center (black backgrond)");
                     group: radio_zoom;
                 }
                 CheckButton radio_center_blur {
                     halign: start;
-                    label: _('Center (blur)');
+                    label: _("Center (blur)");
                     group: radio_zoom;
                 }
             };
-- 
2.40.1


From 68d11b13e963b00499a5b882cff0b5edb38e1f06 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sabri=20=C3=9Cnal?= <libreajans@gmail.com>
Date: Fri, 6 Jan 2023 04:08:28 +0300
Subject: [PATCH 10/11] data: use "shortcut window" description for shortcuts

It's a common practice across GNOME to put description for shortcuts.
---
 data/ui/shortcutsWindow.blp | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/data/ui/shortcutsWindow.blp b/data/ui/shortcutsWindow.blp
index f98c104..fd632fb 100644
--- a/data/ui/shortcutsWindow.blp
+++ b/data/ui/shortcutsWindow.blp
@@ -7,28 +7,28 @@ ShortcutsWindow shortcuts-hydrapaper {
         ShortcutsGroup {
             title: _("General");
             ShortcutsShortcut {
-                title: _('Open Keyboard Shortcuts');
                 accelerator: "<ctrl>question";
+                title: C_("shortcut window", "Open keyboard shortcuts");
             }
             ShortcutsShortcut {
-                title: _('Open Menu');
                 accelerator: "F10";
+                title: C_("shortcut window", "Open menu");
             }
             ShortcutsShortcut {
-                title: _('Search');
                 accelerator: "<ctrl>f";
+                title: C_("shortcut window", "Search");
             }
             ShortcutsShortcut {
-                title: _('Open Preferences');
                 accelerator: "<ctrl>comma";
+                title: C_("shortcut window", "Open preferences");
             }
             ShortcutsShortcut {
-                title: _('Quit');
                 accelerator: "<ctrl>Q";
+                title: C_("shortcut window", "Quit");
             }
             ShortcutsShortcut {
-                title: _('Set Random Wallpapers');
                 accelerator: "<ctrl><shift>R";
+                title: C_("shortcut window", "Set random wallpapers");
             }
         }
     }
-- 
2.40.1


From d11971adf8dca1de33bf7ea4bd3c09e2f90ab7b6 Mon Sep 17 00:00:00 2001
From: Gabriele Musco <gabmus@disroot.org>
Date: Wed, 12 Apr 2023 07:32:56 +0200
Subject: [PATCH 11/11] update dependencies; remove daemon; use poetry for
 dependencies

---
 COPYING                                       | 675 ------------------
 bin/hydrapaper.in                             |   4 -
 bin/meson.build                               |   6 -
 data/meson.build                              |  34 -
 data/org.gabmus.hydrapaper.Daemon.desktop.in  |  10 -
 data/org.gabmus.hydrapaper.Daemon.service.in  |   3 -
 ...abmus.hydrapaper.Daemon.service.systemd.in |   7 -
 dist/flatpak/org.gabmus.hydrapaper.json       |  42 +-
 dist/flatpak/python-deps.json                 |  19 +
 hydrapaper/__main__.py                        |  14 +-
 hydrapaper/app_window.py                      |  14 +-
 hydrapaper/apply_wallpapers.py                |   6 +-
 hydrapaper/base_preferences.py                |   2 +-
 hydrapaper/confManager.py                     |   2 +-
 hydrapaper/daemon_helper.py                   |   4 -
 hydrapaper/folder_store.py                    |   2 +-
 hydrapaper/headerbar.py                       |  28 +-
 hydrapaper/main_stack.py                      |   4 +-
 hydrapaper/monitor_parser.py                  |   8 +-
 hydrapaper/monitors_flowbox.py                |   6 +-
 hydrapaper/preferences_window.py              |  75 +-
 hydrapaper/slideshow_listbox_row.py           |   2 +-
 hydrapaper/wallpaper_flowbox_item.py          |   2 +-
 hydrapaper/wallpaper_merger.py                |   2 +-
 hydrapaper/wallpapers_flowbox.py              |   6 +-
 hydrapaper/wallpapers_folder_listbox_row.py   |   4 +-
 hydrapaper/wallpapers_folders_view.py         |   8 +-
 hydrapaper_daemon/hydrapaperd.in.py           | 237 ------
 hydrapaper_daemon/meson.build                 |  10 -
 meson.build                                   |   6 -
 meson_options.txt                             |   5 -
 poetry.lock                                   |  97 +++
 pyproject.toml                                |  16 +
 33 files changed, 188 insertions(+), 1172 deletions(-)
 delete mode 100644 COPYING
 delete mode 100644 data/org.gabmus.hydrapaper.Daemon.desktop.in
 delete mode 100644 data/org.gabmus.hydrapaper.Daemon.service.in
 delete mode 100644 data/org.gabmus.hydrapaper.Daemon.service.systemd.in
 create mode 100644 dist/flatpak/python-deps.json
 delete mode 100644 hydrapaper/daemon_helper.py
 delete mode 100755 hydrapaper_daemon/hydrapaperd.in.py
 delete mode 100644 hydrapaper_daemon/meson.build
 delete mode 100644 meson_options.txt
 create mode 100644 poetry.lock
 create mode 100644 pyproject.toml

diff --git a/COPYING b/COPYING
deleted file mode 100644
index 10926e8..0000000
--- a/COPYING
+++ /dev/null
@@ -1,675 +0,0 @@
-                    GNU GENERAL PUBLIC LICENSE
-                       Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-                            Preamble
-
-  The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
-  The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works.  By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users.  We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors.  You can apply it to
-your programs, too.
-
-  When we speak of free software, we are referring to freedom, not
-price.  Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
-  To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights.  Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
-  For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received.  You must make sure that they, too, receive
-or can get the source code.  And you must show them these terms so they
-know their rights.
-
-  Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
-  For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software.  For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
-  Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so.  This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software.  The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable.  Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products.  If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
-  Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary.  To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.
-
-                       TERMS AND CONDITIONS
-
-  0. Definitions.
-
-  "This License" refers to version 3 of the GNU General Public License.
-
-  "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
-  "The Program" refers to any copyrightable work licensed under this
-License.  Each licensee is addressed as "you".  "Licensees" and
-"recipients" may be individuals or organizations.
-
-  To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy.  The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
-  A "covered work" means either the unmodified Program or a work based
-on the Program.
-
-  To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy.  Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
-  To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies.  Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
-  An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License.  If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
-  1. Source Code.
-
-  The "source code" for a work means the preferred form of the work
-for making modifications to it.  "Object code" means any non-source
-form of a work.
-
-  A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
-  The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form.  A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
-  The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities.  However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work.  For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
-  The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
-  The Corresponding Source for a work in source code form is that
-same work.
-
-  2. Basic Permissions.
-
-  All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met.  This License explicitly affirms your unlimited
-permission to run the unmodified Program.  The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work.  This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
-  You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force.  You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright.  Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
-  Conveying under any other circumstances is permitted solely under
-the conditions stated below.  Sublicensing is not allowed; section 10
-makes it unnecessary.
-
-  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
-  No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
-  When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
-  4. Conveying Verbatim Copies.
-
-  You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
-  You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
-  5. Conveying Modified Source Versions.
-
-  You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
-    a) The work must carry prominent notices stating that you modified
-    it, and giving a relevant date.
-
-    b) The work must carry prominent notices stating that it is
-    released under this License and any conditions added under section
-    7.  This requirement modifies the requirement in section 4 to
-    "keep intact all notices".
-
-    c) You must license the entire work, as a whole, under this
-    License to anyone who comes into possession of a copy.  This
-    License will therefore apply, along with any applicable section 7
-    additional terms, to the whole of the work, and all its parts,
-    regardless of how they are packaged.  This License gives no
-    permission to license the work in any other way, but it does not
-    invalidate such permission if you have separately received it.
-
-    d) If the work has interactive user interfaces, each must display
-    Appropriate Legal Notices; however, if the Program has interactive
-    interfaces that do not display Appropriate Legal Notices, your
-    work need not make them do so.
-
-  A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit.  Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
-  6. Conveying Non-Source Forms.
-
-  You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
-    a) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by the
-    Corresponding Source fixed on a durable physical medium
-    customarily used for software interchange.
-
-    b) Convey the object code in, or embodied in, a physical product
-    (including a physical distribution medium), accompanied by a
-    written offer, valid for at least three years and valid for as
-    long as you offer spare parts or customer support for that product
-    model, to give anyone who possesses the object code either (1) a
-    copy of the Corresponding Source for all the software in the
-    product that is covered by this License, on a durable physical
-    medium customarily used for software interchange, for a price no
-    more than your reasonable cost of physically performing this
-    conveying of source, or (2) access to copy the
-    Corresponding Source from a network server at no charge.
-
-    c) Convey individual copies of the object code with a copy of the
-    written offer to provide the Corresponding Source.  This
-    alternative is allowed only occasionally and noncommercially, and
-    only if you received the object code with such an offer, in accord
-    with subsection 6b.
-
-    d) Convey the object code by offering access from a designated
-    place (gratis or for a charge), and offer equivalent access to the
-    Corresponding Source in the same way through the same place at no
-    further charge.  You need not require recipients to copy the
-    Corresponding Source along with the object code.  If the place to
-    copy the object code is a network server, the Corresponding Source
-    may be on a different server (operated by you or a third party)
-    that supports equivalent copying facilities, provided you maintain
-    clear directions next to the object code saying where to find the
-    Corresponding Source.  Regardless of what server hosts the
-    Corresponding Source, you remain obligated to ensure that it is
-    available for as long as needed to satisfy these requirements.
-
-    e) Convey the object code using peer-to-peer transmission, provided
-    you inform other peers where the object code and Corresponding
-    Source of the work are being offered to the general public at no
-    charge under subsection 6d.
-
-  A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
-  A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling.  In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage.  For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product.  A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
-  "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source.  The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
-  If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information.  But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
-  The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed.  Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
-  Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
-  7. Additional Terms.
-
-  "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law.  If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
-  When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it.  (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.)  You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
-  Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
-    a) Disclaiming warranty or limiting liability differently from the
-    terms of sections 15 and 16 of this License; or
-
-    b) Requiring preservation of specified reasonable legal notices or
-    author attributions in that material or in the Appropriate Legal
-    Notices displayed by works containing it; or
-
-    c) Prohibiting misrepresentation of the origin of that material, or
-    requiring that modified versions of such material be marked in
-    reasonable ways as different from the original version; or
-
-    d) Limiting the use for publicity purposes of names of licensors or
-    authors of the material; or
-
-    e) Declining to grant rights under trademark law for use of some
-    trade names, trademarks, or service marks; or
-
-    f) Requiring indemnification of licensors and authors of that
-    material by anyone who conveys the material (or modified versions of
-    it) with contractual assumptions of liability to the recipient, for
-    any liability that these contractual assumptions directly impose on
-    those licensors and authors.
-
-  All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10.  If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term.  If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
-  If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
-  Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
-  8. Termination.
-
-  You may not propagate or modify a covered work except as expressly
-provided under this License.  Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
-  However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
-  Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
-  Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License.  If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
-  9. Acceptance Not Required for Having Copies.
-
-  You are not required to accept this License in order to receive or
-run a copy of the Program.  Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance.  However,
-nothing other than this License grants you permission to propagate or
-modify any covered work.  These actions infringe copyright if you do
-not accept this License.  Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
-  10. Automatic Licensing of Downstream Recipients.
-
-  Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License.  You are not responsible
-for enforcing compliance by third parties with this License.
-
-  An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations.  If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
-  You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License.  For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
-  11. Patents.
-
-  A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based.  The
-work thus licensed is called the contributor's "contributor version".
-
-  A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version.  For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
-  Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
-  In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement).  To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
-  If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients.  "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
-  If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
-  A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License.  You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
-  Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
-  12. No Surrender of Others' Freedom.
-
-  If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all.  For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
-  13. Use with the GNU Affero General Public License.
-
-  Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work.  The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
-  14. Revised Versions of this License.
-
-  The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time.  Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-  Each version is given a distinguishing version number.  If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation.  If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
-  If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
-  Later license versions may give you additional or different
-permissions.  However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
-  15. Disclaimer of Warranty.
-
-  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. Limitation of Liability.
-
-  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
-  17. Interpretation of Sections 15 and 16.
-
-  If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
-                     END OF TERMS AND CONDITIONS
-
-            How to Apply These Terms to Your New Programs
-
-  If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
-  To do so, attach the following notices to the program.  It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the program's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
-  If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
-    <program>  Copyright (C) <year>  <name of author>
-    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
-    This is free software, and you are welcome to redistribute it
-    under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License.  Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
-  You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
-  The GNU General Public License does not permit incorporating your program
-into proprietary programs.  If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library.  If this is what you want to do, use the GNU Lesser General
-Public License instead of this License.  But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
-
diff --git a/bin/hydrapaper.in b/bin/hydrapaper.in
index ab526ee..7d5aad0 100755
--- a/bin/hydrapaper.in
+++ b/bin/hydrapaper.in
@@ -66,9 +66,5 @@ if __name__ == '__main__':
     resource = Gio.Resource.load(os.path.join(pkgdatadir, '@appid@.gresource'))
     resource._register()
 
-    from hydrapaper import daemon_helper
-    daemon_helper.APPLICATIONS_DIR = '@applications_dir@'
-    daemon_helper.DAEMON_BUILD_ENABLED = @enable_daemon@
-
     from @projectname@ import __main__
     __main__.main()
diff --git a/bin/meson.build b/bin/meson.build
index 6c04d03..806f831 100644
--- a/bin/meson.build
+++ b/bin/meson.build
@@ -9,12 +9,6 @@ conf.set('projectname', meson.project_name())
 conf.set('authorfullname', authorfullname)
 conf.set('authoremail', authoremail)
 conf.set('appid', '.'.join([domain, author, meson.project_name()]))
-conf.set('applications_dir', join_paths(prefix, datadir, 'applications'))
-if enable_daemon == true
-    conf.set('enable_daemon', 'True')
-else
-    conf.set('enable_daemon', 'False')
-endif
 
 configure_file(
   input: meson.project_name() + '.in',
diff --git a/data/meson.build b/data/meson.build
index 2f80fed..fc2645e 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -28,40 +28,6 @@ configure_file(
     install_dir: dbus_service_dir
 )
 
-if enable_daemon
-    configure_file(
-        input: app_id + '.Daemon.service.in',
-        output: app_id + '.Daemon.service',
-        configuration: conf,
-        install: true,
-        install_dir: dbus_service_dir
-    )
-
-    configure_file(
-        input: app_id + '.Daemon.service.systemd.in',
-        output: app_id + 'd.service',
-        configuration: conf,
-        install: true,
-        install_dir: systemd_user_unit_dir
-    )
-
-    daemon_desktop_file = configure_file(
-        input: app_id + '.Daemon.desktop.in',
-        output: app_id + '.Daemon.desktop.i18n.in',
-        configuration: conf
-    )
-
-    i18n.merge_file(
-        input: daemon_desktop_file,
-        output: app_id + '.Daemon.desktop',
-        po_dir: '../po',
-        type: 'desktop',
-        install: true,
-        # install_dir: join_paths(etcdir, 'xdg', 'autostart')
-        install_dir: join_paths(datadir, 'applications')
-    )
-endif
-
 configure_file(
     input: app_id + '.gschema.xml.in',
     output: app_id + '.gschema.xml',
diff --git a/data/org.gabmus.hydrapaper.Daemon.desktop.in b/data/org.gabmus.hydrapaper.Daemon.desktop.in
deleted file mode 100644
index 2f539d6..0000000
--- a/data/org.gabmus.hydrapaper.Daemon.desktop.in
+++ /dev/null
@@ -1,10 +0,0 @@
-[Desktop Entry]
-Name=@appid@.Daemon
-Comment=Daemon for HydraPaper
-Icon=@appid@
-Exec=@libexecdir@/@projectname@d
-X-GNOME-Autostart-Delay=10
-StartupNotify=false
-NoDisplay=true
-Type=Application
-Categories=Utility;GTK;GNOME;
diff --git a/data/org.gabmus.hydrapaper.Daemon.service.in b/data/org.gabmus.hydrapaper.Daemon.service.in
deleted file mode 100644
index 8076ec1..0000000
--- a/data/org.gabmus.hydrapaper.Daemon.service.in
+++ /dev/null
@@ -1,3 +0,0 @@
-[D-BUS Service]
-Name=@appid@.Daemon
-Exec=@libexecdir@/@projectname@d
diff --git a/data/org.gabmus.hydrapaper.Daemon.service.systemd.in b/data/org.gabmus.hydrapaper.Daemon.service.systemd.in
deleted file mode 100644
index 9303781..0000000
--- a/data/org.gabmus.hydrapaper.Daemon.service.systemd.in
+++ /dev/null
@@ -1,7 +0,0 @@
-[Unit]
-Description=HydraPaper Daemon
-
-[Service]
-Type=dbus
-BusName=@appid@.Daemon
-ExecStart=@libexecdir@/@projectname@d
diff --git a/dist/flatpak/org.gabmus.hydrapaper.json b/dist/flatpak/org.gabmus.hydrapaper.json
index 9d16463..8f1ec97 100644
--- a/dist/flatpak/org.gabmus.hydrapaper.json
+++ b/dist/flatpak/org.gabmus.hydrapaper.json
@@ -2,7 +2,7 @@
     "app-id": "org.gabmus.hydrapaper",
     "command": "hydrapaper",
     "runtime": "org.gnome.Platform",
-    "runtime-version": "42",
+    "runtime-version": "44",
     "sdk": "org.gnome.Sdk",
     "finish-args": [
         "--share=ipc",
@@ -19,49 +19,22 @@
         "--filesystem=~/.config/dconf:ro",
         "--filesystem=~/.config/sway/config:rw",
         "--filesystem=~/.swaylock/config:rw",
-        "--filesystem=/usr/share/backgrounds",
+        "--persist=/usr/share/backgrounds",
         "--talk-name=ca.desrt.dconf",
         "--env=DCONF_USER_CONFIG_DIR=.config/dconf",
         "--own-name=org.gabmus.hydrapaper",
         "--own-name=org.gabmus.hydrapaper.Daemon"
     ],
     "modules": [
+        "python-deps.json",
         {
             "name": "blueprint-compiler",
             "buildsystem": "meson",
             "sources": [
                 {
-                    "type": "git",
-                    "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler",
-                    "commit": "3b39e0d541ed3f18441420228f1270bd167fa7fa"
-                }
-            ]
-        },
-        {
-            "name": "python-pillow",
-            "buildsystem": "simple",
-            "build-commands": [
-                "python3 setup.py install --prefix=/app --root=/"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "url": "https://github.com/python-pillow/Pillow",
-                    "tag": "8.4.0"
-                }
-            ]
-        },
-        {
-            "name": "python-dbus",
-            "buildsystem": "simple",
-            "build-commands": [
-                "python3 setup.py install --prefix=/app --root=/"
-            ],
-            "sources": [
-                {
-                    "type": "git",
-                    "url": "https://gitlab.freedesktop.org/dbus/dbus-python",
-                    "tag": "dbus-python-1.2.16"
+                    "type": "archive",
+                    "url": "https://gitlab.gnome.org/jwestman/blueprint-compiler/-/archive/v0.6.0/blueprint-compiler-v0.6.0.tar.gz",
+                    "sha256": "c9e3652b66803c1de6a24b71f4fa4638b32260b4b04b93c2f3d958e1ce2a175e"
                 }
             ]
         },
@@ -70,8 +43,7 @@
             "buildsystem": "meson",
             "builddir": true,
             "config-opts": [
-                "--buildtype=release",
-                "-Denabledaemon=false"
+                "--buildtype=release"
             ],
             "sources": [
                 {
diff --git a/dist/flatpak/python-deps.json b/dist/flatpak/python-deps.json
new file mode 100644
index 0000000..49c3284
--- /dev/null
+++ b/dist/flatpak/python-deps.json
@@ -0,0 +1,19 @@
+{
+    "name": "poetry-deps",
+    "buildsystem": "simple",
+    "build-commands": [
+        "pip3 install --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} dbus-python pillow"
+    ],
+    "sources": [
+        {
+            "type": "file",
+            "url": "https://files.pythonhosted.org/packages/b1/5c/ccfc167485806c1936f7d3ba97db6c448d0089c5746ba105b6eb22dba60e/dbus-python-1.2.18.tar.gz",
+            "sha256": "92bdd1e68b45596c833307a5ff4b217ee6929a1502f5341bae28fd120acf7260"
+        },
+        {
+            "type": "file",
+            "url": "https://files.pythonhosted.org/packages/00/d5/4903f310765e0ff2b8e91ffe55031ac6af77d982f0156061e20a4d1a8b2d/Pillow-9.5.0.tar.gz",
+            "sha256": "bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"
+        }
+    ]
+}
\ No newline at end of file
diff --git a/hydrapaper/__main__.py b/hydrapaper/__main__.py
index 7f0a392..24ae926 100644
--- a/hydrapaper/__main__.py
+++ b/hydrapaper/__main__.py
@@ -2,13 +2,13 @@ from gettext import gettext as _
 import sys
 import argparse
 from gi.repository import Gtk, Gio, GLib
-from .confManager import ConfManager
-from .app_window import HydraPaperAppWindow
-from .preferences_window import PreferencesWindow
-from .is_image import is_image
-from .monitor_parser import build_monitors_autodetect
-from .apply_wallpapers import apply_wallpapers
-from .base_app import BaseApp, AppAction
+from hydrapaper.confManager import ConfManager
+from hydrapaper.app_window import HydraPaperAppWindow
+from hydrapaper.preferences_window import PreferencesWindow
+from hydrapaper.is_image import is_image
+from hydrapaper.monitor_parser import build_monitors_autodetect
+from hydrapaper.apply_wallpapers import apply_wallpapers
+from hydrapaper.base_app import BaseApp, AppAction
 
 
 class HydraPaperApplication(BaseApp):
diff --git a/hydrapaper/app_window.py b/hydrapaper/app_window.py
index f4679d3..f40569e 100644
--- a/hydrapaper/app_window.py
+++ b/hydrapaper/app_window.py
@@ -1,11 +1,11 @@
 from gi.repository import Gtk, Adw
-from .confManager import ConfManager
-from .main_stack import HydraPaperMainStack
-from .monitors_flowbox import HydraPaperMonitorsFlowbox
-from .apply_wallpapers import apply_wallpapers
-from .headerbar import HydraPaperHeaderbar
-from .base_app import BaseWindow, AppShortcut
-from .search_bar import HpSearchBar
+from hydrapaper.confManager import ConfManager
+from hydrapaper.main_stack import HydraPaperMainStack
+from hydrapaper.monitors_flowbox import HydraPaperMonitorsFlowbox
+from hydrapaper.apply_wallpapers import apply_wallpapers
+from hydrapaper.headerbar import HydraPaperHeaderbar
+from hydrapaper.base_app import BaseWindow, AppShortcut
+from hydrapaper.search_bar import HpSearchBar
 
 
 class HydraPaperAppWindow(BaseWindow):
diff --git a/hydrapaper/apply_wallpapers.py b/hydrapaper/apply_wallpapers.py
index 4aa4bfa..ea9aa31 100644
--- a/hydrapaper/apply_wallpapers.py
+++ b/hydrapaper/apply_wallpapers.py
@@ -2,7 +2,7 @@ from threading import Thread
 from gi.repository import GLib
 from hashlib import sha256
 from os.path import isfile
-from .wallpaper_merger import (
+from hydrapaper.wallpaper_merger import (
     set_wallpaper_gnome,
     set_wallpaper_cinnamon,
     set_wallpaper_mate,
@@ -10,8 +10,8 @@ from .wallpaper_merger import (
     multi_setup_pillow,
     # cut_image
 )
-from .confManager import ConfManager
-from .get_desktop_environment import get_desktop_environment
+from hydrapaper.confManager import ConfManager
+from hydrapaper.get_desktop_environment import get_desktop_environment
 
 
 def widgets_set_sensitive(widgets, state: bool):
diff --git a/hydrapaper/base_preferences.py b/hydrapaper/base_preferences.py
index ea57d5d..9812470 100644
--- a/hydrapaper/base_preferences.py
+++ b/hydrapaper/base_preferences.py
@@ -1,6 +1,6 @@
 from gettext import gettext as _
-from .confManager import ConfManager
 from gi.repository import Gtk, Adw, Gio, GObject
+from hydrapaper.confManager import ConfManager
 from typing import Optional, Union, List, Callable
 
 
diff --git a/hydrapaper/confManager.py b/hydrapaper/confManager.py
index 6b62eea..ba5b067 100644
--- a/hydrapaper/confManager.py
+++ b/hydrapaper/confManager.py
@@ -79,7 +79,7 @@ class ConfManager(metaclass=Singleton):
             'width': 600,
             'height': 400
         },
-        'enable_daemon': True,
+        'enable_daemon': False,
         'last_wps': {
             'spanned': False,
             'wps': {}
diff --git a/hydrapaper/daemon_helper.py b/hydrapaper/daemon_helper.py
deleted file mode 100644
index 92c5c85..0000000
--- a/hydrapaper/daemon_helper.py
+++ /dev/null
@@ -1,4 +0,0 @@
-# These values will be populated by bin/hydrapaper
-
-APPLICATIONS_DIR = '@applications_dir@'
-DAEMON_BUILD_ENABLED = True
diff --git a/hydrapaper/folder_store.py b/hydrapaper/folder_store.py
index 9e3ddd2..7a88da6 100644
--- a/hydrapaper/folder_store.py
+++ b/hydrapaper/folder_store.py
@@ -1,7 +1,7 @@
 from pathlib import Path
 from typing import List, Union
 from gi.repository import Gtk, Gio, GObject
-from .confManager import ConfManager
+from hydrapaper.confManager import ConfManager
 
 
 class FolderObj(GObject.Object):
diff --git a/hydrapaper/headerbar.py b/hydrapaper/headerbar.py
index 9ddcf8d..2c280a9 100644
--- a/hydrapaper/headerbar.py
+++ b/hydrapaper/headerbar.py
@@ -1,10 +1,8 @@
 from gi.repository import Gtk
-from .get_desktop_environment import get_desktop_environment
-from .wallpapers_folders_view import HydraPaperWallpapersFoldersView
-from .confManager import ConfManager
-from .slideshow_listbox_row import SlideshowListboxRow
-from .daemon_helper import DAEMON_BUILD_ENABLED
-import dbus
+from hydrapaper.get_desktop_environment import get_desktop_environment
+from hydrapaper.wallpapers_folders_view import HydraPaperWallpapersFoldersView
+from hydrapaper.confManager import ConfManager
+from hydrapaper.slideshow_listbox_row import SlideshowListboxRow
 
 
 @Gtk.Template(resource_path='/org/gabmus/hydrapaper/ui/headerbar.ui')
@@ -44,7 +42,7 @@ class HydraPaperHeaderbar(Gtk.WindowHandle):
                 )
         )
 
-        if not DAEMON_BUILD_ENABLED:
+        if True:  # TODO: rework background worker
             self.slideshow_menu_btn.set_visible(False)
         self.slideshow_switch.set_state(
             self.confman.conf['Daemon']['wallpaper_rotation_enabled']
@@ -64,20 +62,8 @@ class HydraPaperHeaderbar(Gtk.WindowHandle):
         )
 
     def signal_daemon(self):
-        if not DAEMON_BUILD_ENABLED:
+        if True:  # TODO: rework background worker
             return
-        try:
-            bus = dbus.SessionBus()
-            d = bus.get_object(
-                'org.gabmus.hydrapaper.Daemon',
-                '/org/gabmus/hydrapaper/Daemon'
-            )
-            iface = dbus.Interface(
-                d, dbus_interface='org.gabmus.hydrapaper.Daemon'
-            )
-            iface.update_config()
-        except dbus.exceptions.DBusException:
-            print('Failed to communicate with HydraPaper daemon')
 
     @Gtk.Template.Callback()
     def on_slideshow_time_spinbutton_changed(self, *args):
@@ -115,7 +101,7 @@ class HydraPaperHeaderbar(Gtk.WindowHandle):
     @Gtk.Template.Callback()
     def on_slideshow_mode_changed(self, *args):
         n_state = self.slideshow_switch.get_active()
-        if not DAEMON_BUILD_ENABLED:
+        if True:  # TODO: rework background worker
             n_state = False
         self.confman.conf['Daemon']['wallpaper_rotation_enabled'] = n_state
         self.confman.save_conf_async()
diff --git a/hydrapaper/main_stack.py b/hydrapaper/main_stack.py
index 8f1c57f..3afb5ca 100644
--- a/hydrapaper/main_stack.py
+++ b/hydrapaper/main_stack.py
@@ -1,7 +1,7 @@
 from gettext import gettext as _
 from gi.repository import Adw
-from .wallpapers_flowbox import HydraPaperWallpapersFlowbox
-from .search_bar import HpSearchBar
+from hydrapaper.wallpapers_flowbox import HydraPaperWallpapersFlowbox
+from hydrapaper.search_bar import HpSearchBar
 
 
 class HydraPaperMainStack(Adw.Bin):
diff --git a/hydrapaper/monitor_parser.py b/hydrapaper/monitor_parser.py
index 8a8afda..c2aed43 100644
--- a/hydrapaper/monitor_parser.py
+++ b/hydrapaper/monitor_parser.py
@@ -2,11 +2,11 @@ from gettext import gettext as _
 from gi.repository import Gdk
 from subprocess import run, PIPE
 import json
-from .get_desktop_environment import get_desktop_environment
-from .confManager import ConfManager
-from .wallpaper_merger import get_combined_resolution
-import dbus
+from hydrapaper.get_desktop_environment import get_desktop_environment
+from hydrapaper.confManager import ConfManager
+from hydrapaper.wallpaper_merger import get_combined_resolution
 from os import environ as Env
+import dbus
 
 
 confman = ConfManager()
diff --git a/hydrapaper/monitors_flowbox.py b/hydrapaper/monitors_flowbox.py
index 614d295..49de5dc 100644
--- a/hydrapaper/monitors_flowbox.py
+++ b/hydrapaper/monitors_flowbox.py
@@ -1,10 +1,10 @@
 from gi.repository import Gtk, GdkPixbuf
-from .confManager import ConfManager
-from .monitor_parser import (
+from hydrapaper.confManager import ConfManager
+from hydrapaper.monitor_parser import (
     build_monitors_autodetect,
     build_combined_spanned_monitor
 )
-from .is_image import is_image
+from hydrapaper.is_image import is_image
 from hashlib import sha256
 from os.path import isfile
 
diff --git a/hydrapaper/preferences_window.py b/hydrapaper/preferences_window.py
index 3174d04..09459be 100644
--- a/hydrapaper/preferences_window.py
+++ b/hydrapaper/preferences_window.py
@@ -4,74 +4,13 @@ from os.path import isfile, abspath, join
 from os import remove, listdir
 from os import environ as Env
 from subprocess import run
-from .daemon_helper import APPLICATIONS_DIR, DAEMON_BUILD_ENABLED
-from .base_preferences import (
+from hydrapaper.base_preferences import (
     MPreferencesPage, MPreferencesGroup,
     PreferencesButtonRow, PreferencesToggleRow
 )
 from typing import Optional
 
 
-class AutostartToggleRow(PreferencesToggleRow):
-    def __init__(self):
-        super().__init__(
-            title=_('Start daemon on login'),
-            subtitle=_('React to monitor changes and start slideshow mode'),
-            conf_key=None
-        )
-        self.source_file = \
-            f'{APPLICATIONS_DIR}/org.gabmus.hydrapaper.Daemon.desktop'
-        self.autostart_dir = \
-            f'{Env.get("HOME")}/.config/autostart'
-        self.target_file = \
-            f'{self.autostart_dir}/org.gabmus.hydrapaper.Daemon.desktop'
-        self.toggle.set_active(self.target_exists())
-
-    def target_exists(self):
-        if isfile(self.target_file):
-            with open(self.target_file, 'r') as fd:
-                if fd.read().strip() != self.get_daemon_desktop_file().strip():
-                    self.create_autostart()
-                return True
-        return False
-
-    def get_daemon_desktop_file(self):
-        res = ''
-        with open(self.source_file, 'r') as fd:
-            res = fd.read()
-        if self.confman.is_flatpak:
-            res = res.replace(
-                '/app/libexec/hydrapaperd',
-                '/usr/bin/flatpak run --command=/app/libexec/hydrapaperd '
-                'org.gabmus.hydrapaper'
-            )
-        return res
-
-    def create_autostart(self):
-        self.delete_autostart()
-        cmds = [
-            f'mkdir -p {self.autostart_dir}',
-            (
-                f"cat <<'EOF' >> {self.target_file}\n"
-                f"{self.get_daemon_desktop_file()}\nEOF"
-            )
-        ]
-        for cmd in cmds:
-            if self.confman.is_flatpak:
-                cmd = 'flatpak-spawn --host ' + cmd
-            run(cmd, shell=True)
-
-    def delete_autostart(self):
-        if isfile(self.target_file):
-            remove(self.target_file)
-
-    def on_toggle_state_set(self, toggle, state):
-        if state:
-            self.create_autostart()
-        else:
-            self.delete_autostart()
-
-
 class GeneralPreferencesPage(MPreferencesPage):
     def __init__(self):
         general_rows = [
@@ -85,18 +24,6 @@ class GeneralPreferencesPage(MPreferencesPage):
                 conf_key='random_wallpapers_names'
             )
         ]
-        if DAEMON_BUILD_ENABLED:
-            general_rows.append(
-                PreferencesToggleRow(
-                    title=_('Enable daemon'),
-                    subtitle=_(
-                        'Needed for slideshow mode and to detect display '
-                        'changes'
-                    ),
-                    conf_key='enable_daemon'
-                )
-            )
-            general_rows.append(AutostartToggleRow())
         super().__init__(
             title=_('General'), icon_name='preferences-other-symbolic',
             pref_groups=[
diff --git a/hydrapaper/slideshow_listbox_row.py b/hydrapaper/slideshow_listbox_row.py
index a852039..270fa9d 100644
--- a/hydrapaper/slideshow_listbox_row.py
+++ b/hydrapaper/slideshow_listbox_row.py
@@ -1,7 +1,7 @@
 from gettext import gettext as _
 from gi.repository import Gtk
 from os.path import isfile
-from .confManager import ConfManager
+from hydrapaper.confManager import ConfManager
 
 
 class SlideshowListboxRow(Gtk.ListBoxRow):
diff --git a/hydrapaper/wallpaper_flowbox_item.py b/hydrapaper/wallpaper_flowbox_item.py
index f0fcac0..fef0905 100644
--- a/hydrapaper/wallpaper_flowbox_item.py
+++ b/hydrapaper/wallpaper_flowbox_item.py
@@ -3,7 +3,7 @@ from gi.repository import Gtk, GLib
 import os
 from PIL import Image
 from hashlib import sha256
-from .confManager import ConfManager
+from hydrapaper.confManager import ConfManager
 from pathlib import Path
 from threading import Thread
 
diff --git a/hydrapaper/wallpaper_merger.py b/hydrapaper/wallpaper_merger.py
index bb4b269..c6e17cb 100644
--- a/hydrapaper/wallpaper_merger.py
+++ b/hydrapaper/wallpaper_merger.py
@@ -4,7 +4,7 @@ from PIL.ImageFilter import GaussianBlur
 from os import environ as Env
 from subprocess import run
 import re
-from .confManager import ConfManager
+from hydrapaper.confManager import ConfManager
 # from .set_wallpaper_portal import set_wallpaper
 
 SWAY_CONF_PATH = f'{Env.get("HOME")}/.config/sway/config'
diff --git a/hydrapaper/wallpapers_flowbox.py b/hydrapaper/wallpapers_flowbox.py
index 5bc12b9..17974a2 100644
--- a/hydrapaper/wallpapers_flowbox.py
+++ b/hydrapaper/wallpapers_flowbox.py
@@ -1,7 +1,7 @@
 from gi.repository import Gtk
-from .confManager import ConfManager
-from .wallpaper_flowbox_item import WallpaperBox
-from .search_bar import HpSearchBar
+from hydrapaper.confManager import ConfManager
+from hydrapaper.wallpaper_flowbox_item import WallpaperBox
+from hydrapaper.search_bar import HpSearchBar
 import pathlib
 
 
diff --git a/hydrapaper/wallpapers_folder_listbox_row.py b/hydrapaper/wallpapers_folder_listbox_row.py
index 78eefa3..5db1d79 100644
--- a/hydrapaper/wallpapers_folder_listbox_row.py
+++ b/hydrapaper/wallpapers_folder_listbox_row.py
@@ -1,6 +1,6 @@
 from gi.repository import Gtk
-from .folder_store import FolderObj
-from .confManager import ConfManager
+from hydrapaper.folder_store import FolderObj
+from hydrapaper.confManager import ConfManager
 
 
 class WallpapersFolderListBoxRow(Gtk.ListBoxRow):
diff --git a/hydrapaper/wallpapers_folders_view.py b/hydrapaper/wallpapers_folders_view.py
index 040bcfb..764edd6 100644
--- a/hydrapaper/wallpapers_folders_view.py
+++ b/hydrapaper/wallpapers_folders_view.py
@@ -1,10 +1,10 @@
 from gettext import gettext as _
 from pathlib import Path
 from gi.repository import Gtk
-from .folder_store import FolderObj
-from .folder_store import FolderStore
-from .confManager import ConfManager
-from .wallpapers_folder_listbox_row import WallpapersFolderListBoxRow
+from hydrapaper.folder_store import FolderObj
+from hydrapaper.folder_store import FolderStore
+from hydrapaper.confManager import ConfManager
+from hydrapaper.wallpapers_folder_listbox_row import WallpapersFolderListBoxRow
 from os.path import isdir
 
 
diff --git a/hydrapaper_daemon/hydrapaperd.in.py b/hydrapaper_daemon/hydrapaperd.in.py
deleted file mode 100755
index 27d32bf..0000000
--- a/hydrapaper_daemon/hydrapaperd.in.py
+++ /dev/null
@@ -1,237 +0,0 @@
-#!@PYTHON@
-
-import gi
-gi.require_version('Gdk', '4.0')
-gi.require_version('Gtk', '4.0')
-from gi.repository import GLib, Gtk
-import dbus
-import dbus.service
-from dbus.mainloop.glib import DBusGMainLoop
-from os.path import isfile
-from os import environ as Env
-import json
-import os
-from hydrapaper.monitor_parser import (
-    build_monitors_autodetect,
-    build_combined_spanned_monitor
-)
-from hydrapaper.apply_wallpapers import apply_wallpapers
-from itertools import cycle
-from threading import Thread, Event
-from sys import exit
-from time import sleep
-
-
-is_flatpak = (
-    'XDG_RUNTIME_DIR' in Env.keys() and
-    isfile(f'{Env["XDG_RUNTIME_DIR"]}/flatpak-info')
-)
-CONFIG_PATH = '{0}/org.gabmus.hydrapaper.json'.format(
-    os.getenv('XDG_CONFIG_HOME', f'{Env.get("HOME")}/.config')
-)
-
-PACKAGE = 'org.gabmus.hydrapaper.Daemon'
-
-
-class HydrapaperDaemonDisabledException(Exception):
-    pass
-
-
-class HydrapaperDaemon(dbus.service.Object):
-    def __init__(self, bus_name):
-        super().__init__(
-            bus_name,
-            f'/{PACKAGE.replace(".", "/")}'
-        )
-        self.config = None
-        self.thread = None
-        self.thread_wait_event = None
-        self.cycling_wallpapers = None
-        self.stop_thread = False
-        # dummy window to let Gdk detect the monitors
-        self.dummy_window = Gtk.Window()
-        self.monitors = None
-        self.connect_monitor_changes()
-        self.update_config()
-
-    def connect_monitor_changes(self):
-        bus = dbus.SessionBus()
-        bus.add_signal_receiver(
-            self.on_monitors_changed, 'MonitorsChanged', None,
-            'org.gnome.Mutter.DisplayConfig', None
-        )
-
-    def on_monitors_changed(self, *args):
-        print('Monitors change detected')
-
-        def af():
-            sleep(2)
-            tries = 0
-            n_monitors = build_monitors_autodetect()
-            while not self.monitors_is_changed(n_monitors) and tries < 10:
-                sleep(1)
-                tries += 1
-                n_monitors = build_monitors_autodetect()
-            self.update_monitors(n_monitors)
-            self.update_config()
-            self.update_monitors_from_config_and_set_wallpapers()
-            # self.set_wallpapers()
-
-        Thread(target=af, daemon=True).start()
-
-    def update_monitors_from_config_and_set_wallpapers(self):
-        if (
-            self.config['Daemon']['wallpaper_rotation_enabled'] and
-            len(self.config['Daemon']['rotating_wallpapers']) > 0
-        ):
-            self.update_thread()
-            return
-        last_wps = self.config.get('last_wps', None)
-        if last_wps is not None and len(last_wps.get('wps', {})) > 0:
-            if last_wps.get('spanned', False):
-                virt_monitor = build_combined_spanned_monitor(
-                    self.monitors, skip_save=True
-                )
-                fwp = list(last_wps['wps'].values())[0]
-                virt_monitor.wallpaper = fwp['wp']
-                virt_monitor.mode = fwp.get('mode', 'zoom')
-                apply_wallpapers([virt_monitor], set_dark=self.config['dark_mode'])
-                return
-            for m in self.monitors:
-                cm = last_wps['wps'].get(
-                    m.name, {'wp': m.wallpaper, 'mode': m.mode}
-                )
-                m.wallpaper = cm['wp']
-                m.mode = cm['mode']
-        apply_wallpapers(self.monitors, skip_save=True, set_dark=self.config['dark_mode'])
-
-    @dbus.service.method(
-            dbus_interface=PACKAGE,
-            in_signature='', out_signature='b'
-    )
-    def update_config(self) -> bool:
-        if not isfile(CONFIG_PATH):
-            return False
-        config = None
-        with open(CONFIG_PATH, 'r') as fd:
-            config = json.loads(fd.read())
-        if not config.get('enable_daemon', False):
-            raise HydrapaperDaemonDisabledException
-        if 'Daemon' not in config.keys():
-            return False
-        self.config = config
-        self.update_thread()
-        return True
-
-    def update_thread(self):
-        if self.thread is not None:
-            self.stop_thread = True
-            self.thread_wait_event.set()  # stop event.wait
-            self.thread.join()
-            self.thread = None
-        if self.config['Daemon']['wallpaper_rotation_enabled'] and \
-                len(self.config['Daemon']['rotating_wallpapers']) > 0:
-            self.cycling_wallpapers = cycle(
-                self.config['Daemon']['rotating_wallpapers']
-            )
-            self.thread_wait_event = Event()
-            self.thread = Thread(target=self._thread_worker, daemon=True)
-            self.stop_thread = False
-            self.thread.start()
-
-    def _thread_worker(self):
-        while True:
-            if self.stop_thread:
-                self.stop_thread = False
-                break
-            if self.cycling_wallpapers is not None:
-                current = next(self.cycling_wallpapers)
-                self.set_wallpapers(
-                    [c['wallpaper'] for c in current],
-                    [c['mode'] for c in current],
-                    single_spanned=current[0]['single_spanned']
-                )
-            self.thread_wait_event.wait(
-                timeout=self.config['Daemon']['wallpaper_rotation_sleep_time']
-            )
-
-    def monitor_to_comparable_str(self, m):
-        return f'{m.name}-{m.width}x{m.height}+{m.offset_x}+{m.offset_y}'
-
-    def monitors_is_changed(self, n_monitors):
-        return (
-            self.monitors is None or
-            len(n_monitors) != len(self.monitors) or
-            set(
-                [self.monitor_to_comparable_str(m) for m in self.monitors]
-            ) != set(
-                [self.monitor_to_comparable_str(m) for m in n_monitors]
-            )
-        )
-
-    def update_monitors(self, n_monitors):
-        if self.monitors is not None:
-            old = cycle([(m.wallpaper, m.mode) for m in self.monitors])
-            for m in n_monitors:
-                m.wallpaper, m.mode = next(old)
-        self.monitors = n_monitors
-
-    def set_wallpapers(self, wp_paths=None, modes=None, single_spanned=False):
-        n_monitors = build_monitors_autodetect()
-        if self.monitors_is_changed(n_monitors):
-            self.update_monitors(n_monitors)
-        if wp_paths is not None:
-            if single_spanned:
-                for m in self.monitors:
-                    m.wallpaper = wp_paths[0]
-                virt_monitor = build_combined_spanned_monitor(self.monitors)
-                virt_monitor.wallpaper = wp_paths[0]
-                apply_wallpapers(
-                    [virt_monitor],
-                    force_random_name=True,
-                    skip_save=True,
-                    set_dark=self.config['dark_mode']
-                )
-                return
-            cycle_wps = cycle(wp_paths)
-            while len(wp_paths) < len(self.monitors):
-                wp_paths.append(next(cycle_wps))
-            if modes is None:
-                modes = [m.mode for m in self.monitors]
-            for monitor, mode, wp in zip(self.monitors, modes, wp_paths):
-                if mode not in ('zoom', 'fit_black', 'fit_blur',
-                                'center_black', 'center_blur'):
-                    monitor.mode = 'zoom'
-                else:
-                    monitor.mode = mode
-                monitor.wallpaper = wp
-        elif None in [m.wallpaper for m in self.monitors]:
-            return
-        apply_wallpapers(
-            self.monitors, force_random_name=True,
-            skip_save=True,
-            set_dark=self.config['dark_mode']
-        )
-
-
-if __name__ == '__main__':
-    DBusGMainLoop(set_as_default=True)
-    try:
-        bus_name = dbus.service.BusName(
-            PACKAGE, bus=dbus.SessionBus(), do_not_queue=True
-        )
-    except dbus.exceptions.NameExistsException:
-        print('HydrapaperDaemon: service is already running')
-        exit(1)
-    loop = GLib.MainLoop()
-    daemon = HydrapaperDaemon(bus_name)
-    try:
-        loop.run()
-    except KeyboardInterrupt:
-        print('HydrapaperDaemon: KeyboardInterrupt received')
-    except HydrapaperDaemonDisabledException:
-        print('HydrapaperDaemon: Daemon disabled, exiting...')
-    except Exception as e:
-        print('HydrapaperDaemon: Unhandled exception: `{}`'.format(str(e)))
-    finally:
-        loop.quit()
diff --git a/hydrapaper_daemon/meson.build b/hydrapaper_daemon/meson.build
deleted file mode 100644
index d447e38..0000000
--- a/hydrapaper_daemon/meson.build
+++ /dev/null
@@ -1,10 +0,0 @@
-daemon_conf = configuration_data()
-daemon_conf.set('PYTHON', py_installation.full_path())
-
-configure_file(
-    input: meson.project_name() + 'd.in.py',
-    output: meson.project_name() + 'd',
-    install: true,
-    install_dir: libexecdir,
-    configuration: daemon_conf
-)
diff --git a/meson.build b/meson.build
index f55d1df..7702b6e 100644
--- a/meson.build
+++ b/meson.build
@@ -76,13 +76,7 @@ app_id_aspath = '/'.join([
     meson.project_name()
 ])
 
-enable_daemon = get_option('enabledaemon')
-message(f'Daemon Enabled: @enable_daemon@')
-
 install_subdir(meson.project_name(), install_dir: pythondir)
-if enable_daemon == true
-    subdir('hydrapaper_daemon')
-endif
 subdir('data')
 subdir('bin')
 subdir('po')
diff --git a/meson_options.txt b/meson_options.txt
deleted file mode 100644
index 57703c1..0000000
--- a/meson_options.txt
+++ /dev/null
@@ -1,5 +0,0 @@
-option (
-    'enabledaemon',
-    type: 'boolean',
-    value: true
-)
diff --git a/poetry.lock b/poetry.lock
new file mode 100644
index 0000000..558391a
--- /dev/null
+++ b/poetry.lock
@@ -0,0 +1,97 @@
+# This file is automatically @generated by Poetry 1.4.2 and should not be changed by hand.
+
+[[package]]
+name = "dbus-python"
+version = "1.2.18"
+description = "Python bindings for libdbus"
+category = "main"
+optional = false
+python-versions = "*"
+files = [
+    {file = "dbus-python-1.2.18.tar.gz", hash = "sha256:92bdd1e68b45596c833307a5ff4b217ee6929a1502f5341bae28fd120acf7260"},
+]
+
+[[package]]
+name = "pillow"
+version = "9.5.0"
+description = "Python Imaging Library (Fork)"
+category = "main"
+optional = false
+python-versions = ">=3.7"
+files = [
+    {file = "Pillow-9.5.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:ace6ca218308447b9077c14ea4ef381ba0b67ee78d64046b3f19cf4e1139ad16"},
+    {file = "Pillow-9.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d3d403753c9d5adc04d4694d35cf0391f0f3d57c8e0030aac09d7678fa8030aa"},
+    {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5ba1b81ee69573fe7124881762bb4cd2e4b6ed9dd28c9c60a632902fe8db8b38"},
+    {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fe7e1c262d3392afcf5071df9afa574544f28eac825284596ac6db56e6d11062"},
+    {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f36397bf3f7d7c6a3abdea815ecf6fd14e7fcd4418ab24bae01008d8d8ca15e"},
+    {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:252a03f1bdddce077eff2354c3861bf437c892fb1832f75ce813ee94347aa9b5"},
+    {file = "Pillow-9.5.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:85ec677246533e27770b0de5cf0f9d6e4ec0c212a1f89dfc941b64b21226009d"},
+    {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:b416f03d37d27290cb93597335a2f85ed446731200705b22bb927405320de903"},
+    {file = "Pillow-9.5.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:1781a624c229cb35a2ac31cc4a77e28cafc8900733a864870c49bfeedacd106a"},
+    {file = "Pillow-9.5.0-cp310-cp310-win32.whl", hash = "sha256:8507eda3cd0608a1f94f58c64817e83ec12fa93a9436938b191b80d9e4c0fc44"},
+    {file = "Pillow-9.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:d3c6b54e304c60c4181da1c9dadf83e4a54fd266a99c70ba646a9baa626819eb"},
+    {file = "Pillow-9.5.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:7ec6f6ce99dab90b52da21cf0dc519e21095e332ff3b399a357c187b1a5eee32"},
+    {file = "Pillow-9.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:560737e70cb9c6255d6dcba3de6578a9e2ec4b573659943a5e7e4af13f298f5c"},
+    {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:96e88745a55b88a7c64fa49bceff363a1a27d9a64e04019c2281049444a571e3"},
+    {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d9c206c29b46cfd343ea7cdfe1232443072bbb270d6a46f59c259460db76779a"},
+    {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfcc2c53c06f2ccb8976fb5c71d448bdd0a07d26d8e07e321c103416444c7ad1"},
+    {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:a0f9bb6c80e6efcde93ffc51256d5cfb2155ff8f78292f074f60f9e70b942d99"},
+    {file = "Pillow-9.5.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:8d935f924bbab8f0a9a28404422da8af4904e36d5c33fc6f677e4c4485515625"},
+    {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fed1e1cf6a42577953abbe8e6cf2fe2f566daebde7c34724ec8803c4c0cda579"},
+    {file = "Pillow-9.5.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:c1170d6b195555644f0616fd6ed929dfcf6333b8675fcca044ae5ab110ded296"},
+    {file = "Pillow-9.5.0-cp311-cp311-win32.whl", hash = "sha256:54f7102ad31a3de5666827526e248c3530b3a33539dbda27c6843d19d72644ec"},
+    {file = "Pillow-9.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:cfa4561277f677ecf651e2b22dc43e8f5368b74a25a8f7d1d4a3a243e573f2d4"},
+    {file = "Pillow-9.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:965e4a05ef364e7b973dd17fc765f42233415974d773e82144c9bbaaaea5d089"},
+    {file = "Pillow-9.5.0-cp312-cp312-win32.whl", hash = "sha256:22baf0c3cf0c7f26e82d6e1adf118027afb325e703922c8dfc1d5d0156bb2eeb"},
+    {file = "Pillow-9.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:432b975c009cf649420615388561c0ce7cc31ce9b2e374db659ee4f7d57a1f8b"},
+    {file = "Pillow-9.5.0-cp37-cp37m-macosx_10_10_x86_64.whl", hash = "sha256:5d4ebf8e1db4441a55c509c4baa7a0587a0210f7cd25fcfe74dbbce7a4bd1906"},
+    {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:375f6e5ee9620a271acb6820b3d1e94ffa8e741c0601db4c0c4d3cb0a9c224bf"},
+    {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99eb6cafb6ba90e436684e08dad8be1637efb71c4f2180ee6b8f940739406e78"},
+    {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfaaf10b6172697b9bceb9a3bd7b951819d1ca339a5ef294d1f1ac6d7f63270"},
+    {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_aarch64.whl", hash = "sha256:763782b2e03e45e2c77d7779875f4432e25121ef002a41829d8868700d119392"},
+    {file = "Pillow-9.5.0-cp37-cp37m-manylinux_2_28_x86_64.whl", hash = "sha256:35f6e77122a0c0762268216315bf239cf52b88865bba522999dc38f1c52b9b47"},
+    {file = "Pillow-9.5.0-cp37-cp37m-win32.whl", hash = "sha256:aca1c196f407ec7cf04dcbb15d19a43c507a81f7ffc45b690899d6a76ac9fda7"},
+    {file = "Pillow-9.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:322724c0032af6692456cd6ed554bb85f8149214d97398bb80613b04e33769f6"},
+    {file = "Pillow-9.5.0-cp38-cp38-macosx_10_10_x86_64.whl", hash = "sha256:a0aa9417994d91301056f3d0038af1199eb7adc86e646a36b9e050b06f526597"},
+    {file = "Pillow-9.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:f8286396b351785801a976b1e85ea88e937712ee2c3ac653710a4a57a8da5d9c"},
+    {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c830a02caeb789633863b466b9de10c015bded434deb3ec87c768e53752ad22a"},
+    {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:fbd359831c1657d69bb81f0db962905ee05e5e9451913b18b831febfe0519082"},
+    {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8fc330c3370a81bbf3f88557097d1ea26cd8b019d6433aa59f71195f5ddebbf"},
+    {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_aarch64.whl", hash = "sha256:7002d0797a3e4193c7cdee3198d7c14f92c0836d6b4a3f3046a64bd1ce8df2bf"},
+    {file = "Pillow-9.5.0-cp38-cp38-manylinux_2_28_x86_64.whl", hash = "sha256:229e2c79c00e85989a34b5981a2b67aa079fd08c903f0aaead522a1d68d79e51"},
+    {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:9adf58f5d64e474bed00d69bcd86ec4bcaa4123bfa70a65ce72e424bfb88ed96"},
+    {file = "Pillow-9.5.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:662da1f3f89a302cc22faa9f14a262c2e3951f9dbc9617609a47521c69dd9f8f"},
+    {file = "Pillow-9.5.0-cp38-cp38-win32.whl", hash = "sha256:6608ff3bf781eee0cd14d0901a2b9cc3d3834516532e3bd673a0a204dc8615fc"},
+    {file = "Pillow-9.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:e49eb4e95ff6fd7c0c402508894b1ef0e01b99a44320ba7d8ecbabefddcc5569"},
+    {file = "Pillow-9.5.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:482877592e927fd263028c105b36272398e3e1be3269efda09f6ba21fd83ec66"},
+    {file = "Pillow-9.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3ded42b9ad70e5f1754fb7c2e2d6465a9c842e41d178f262e08b8c85ed8a1d8e"},
+    {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c446d2245ba29820d405315083d55299a796695d747efceb5717a8b450324115"},
+    {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8aca1152d93dcc27dc55395604dcfc55bed5f25ef4c98716a928bacba90d33a3"},
+    {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:608488bdcbdb4ba7837461442b90ea6f3079397ddc968c31265c1e056964f1ef"},
+    {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:60037a8db8750e474af7ffc9faa9b5859e6c6d0a50e55c45576bf28be7419705"},
+    {file = "Pillow-9.5.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:07999f5834bdc404c442146942a2ecadd1cb6292f5229f4ed3b31e0a108746b1"},
+    {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a127ae76092974abfbfa38ca2d12cbeddcdeac0fb71f9627cc1135bedaf9d51a"},
+    {file = "Pillow-9.5.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:489f8389261e5ed43ac8ff7b453162af39c3e8abd730af8363587ba64bb2e865"},
+    {file = "Pillow-9.5.0-cp39-cp39-win32.whl", hash = "sha256:9b1af95c3a967bf1da94f253e56b6286b50af23392a886720f563c547e48e964"},
+    {file = "Pillow-9.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:77165c4a5e7d5a284f10a6efaa39a0ae8ba839da344f20b111d62cc932fa4e5d"},
+    {file = "Pillow-9.5.0-pp38-pypy38_pp73-macosx_10_10_x86_64.whl", hash = "sha256:833b86a98e0ede388fa29363159c9b1a294b0905b5128baf01db683672f230f5"},
+    {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaf305d6d40bd9632198c766fb64f0c1a83ca5b667f16c1e79e1661ab5060140"},
+    {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0852ddb76d85f127c135b6dd1f0bb88dbb9ee990d2cd9aa9e28526c93e794fba"},
+    {file = "Pillow-9.5.0-pp38-pypy38_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:91ec6fe47b5eb5a9968c79ad9ed78c342b1f97a091677ba0e012701add857829"},
+    {file = "Pillow-9.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:cb841572862f629b99725ebaec3287fc6d275be9b14443ea746c1dd325053cbd"},
+    {file = "Pillow-9.5.0-pp39-pypy39_pp73-macosx_10_10_x86_64.whl", hash = "sha256:c380b27d041209b849ed246b111b7c166ba36d7933ec6e41175fd15ab9eb1572"},
+    {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7c9af5a3b406a50e313467e3565fc99929717f780164fe6fbb7704edba0cebbe"},
+    {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5671583eab84af046a397d6d0ba25343c00cd50bce03787948e0fff01d4fd9b1"},
+    {file = "Pillow-9.5.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:84a6f19ce086c1bf894644b43cd129702f781ba5751ca8572f08aa40ef0ab7b7"},
+    {file = "Pillow-9.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:1e7723bd90ef94eda669a3c2c19d549874dd5badaeefabefd26053304abe5799"},
+    {file = "Pillow-9.5.0.tar.gz", hash = "sha256:bf548479d336726d7a0eceb6e767e179fbde37833ae42794602631a070d630f1"},
+]
+
+[package.extras]
+docs = ["furo", "olefile", "sphinx (>=2.4)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinx-removed-in", "sphinxext-opengraph"]
+tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"]
+
+[metadata]
+lock-version = "2.0"
+python-versions = "^3.10"
+content-hash = "4bccd550d7dc8b9aa8839f715c414f94aad5e18dc3606e3a61f6a69d31dedaed"
diff --git a/pyproject.toml b/pyproject.toml
new file mode 100644
index 0000000..615ac50
--- /dev/null
+++ b/pyproject.toml
@@ -0,0 +1,16 @@
+[tool.poetry]
+name = "hydrapaper"
+version = "3.3.1"
+description = "Wallpaper manager with multimonitor support"
+authors = ["Gabriele Musco <gabmus@disroot.org>"]
+license = "GPL-3.0+"
+readme = "README.md"
+
+[tool.poetry.dependencies]
+python = "^3.10"
+Pillow = "^9.5.0"
+dbus-python = "1.2.18"
+
+[build-system]
+requires = ["poetry-core"]
+build-backend = "poetry.core.masonry.api"
-- 
2.40.1

