diff --git a/.github/workflows/flatpak-nightly.yml b/.github/workflows/flatpak-nightly.yml
new file mode 100644
index 000000000..613457218
--- /dev/null
+++ b/.github/workflows/flatpak-nightly.yml
@@ -0,0 +1,19 @@
+name: Build flatpak nightly
+on:
+ push:
+ branches: [next]
+jobs:
+ flatpak:
+ name: "Flatpak"
+ runs-on: ubuntu-latest
+ container:
+ image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
+ options: --privileged
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3.0.2
+ - uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4
+ with:
+ bundle: com.github.AdwCustomizerTeam.AdwCustomizer.Devel.flatpak
+ manifest-path: com.github.AdwCustomizerTeam.AdwCustomizer.Devel.json
+ cache-key: flatpak-builder-${{ github.sha }}-nightly
\ No newline at end of file
diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml
new file mode 100644
index 000000000..69360a41c
--- /dev/null
+++ b/.github/workflows/flatpak.yml
@@ -0,0 +1,19 @@
+name: Build flatpak
+on:
+ push:
+ branches: [main]
+jobs:
+ flatpak:
+ name: "Flatpak"
+ runs-on: ubuntu-latest
+ container:
+ image: bilelmoussaoui/flatpak-github-actions:gnome-nightly
+ options: --privileged
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3.0.2
+ - uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4
+ with:
+ bundle: com.github.AdwCustomizerTeam.AdwCustomizer.flatpak
+ manifest-path: com.github.AdwCustomizerTeam.AdwCustomizer.json
+ cache-key: flatpak-builder-${{ github.sha }}
\ No newline at end of file
diff --git a/com.github.AdwCustomizerTeam.AdwCustomizer.Devel.json b/com.github.AdwCustomizerTeam.AdwCustomizer.Devel.json
new file mode 100644
index 000000000..31be453cf
--- /dev/null
+++ b/com.github.AdwCustomizerTeam.AdwCustomizer.Devel.json
@@ -0,0 +1,82 @@
+{
+ "app-id" : "com.github.AdwCustomizerTeam.AdwCustomizer",
+ "runtime" : "org.gnome.Platform",
+ "runtime-version" : "master",
+ "sdk" : "org.gnome.Sdk",
+ "command" : "adwcustomizer",
+ "finish-args" : [
+ "--share=network",
+ "--share=ipc",
+ "--socket=fallback-x11",
+ "--device=dri",
+ "--socket=wayland",
+ "--filesystem=xdg-config/gtk-3.0",
+ "--filesystem=xdg-config/gtk-4.0"
+ ],
+ "cleanup" : [
+ "/include",
+ "/lib/pkgconfig",
+ "/man",
+ "/share/doc",
+ "/share/gtk-doc",
+ "/share/man",
+ "/share/pkgconfig",
+ "*.la",
+ "*.a"
+ ],
+ "modules" : [
+ "pypi-dependencies.json",
+ {
+ "name" : "blueprint-compiler",
+ "buildsystem" : "meson",
+ "sources" : [
+ {
+ "type" : "git",
+ "url" : "https://gitlab.gnome.org/jwestman/blueprint-compiler",
+ "branch" : "main"
+ }
+ ]
+ },
+ {
+ "name": "libportal",
+ "buildsystem": "meson",
+ "config-opts": ["-Ddocs=false", "-Dvapi=false", "-Dbackends=gtk4"],
+ "sources": [
+ {
+ "type": "git",
+ "url": "https://github.com/flatpak/libportal",
+ "branch": "main"
+ }
+ ]
+ },
+ {
+ "name": "material-color-utilities-python",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"material_color_utilities_python~=0.1.0\" --no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+ "path": "./monet/material_color_utilities_python-0.1.0-py3-none-any.whl",
+ "sha256": "735d40c0afae660e319798c697da8fe332cfc7103fbed8a081a187f437ed4523"
+ }
+ ]
+ },
+ {
+ "name" : "adwcustomizer",
+ "builddir" : true,
+ "buildsystem" : "meson",
+ "sources" : [
+ {
+ "type" : "git",
+ "path" : ".",
+ "branch": "next"
+ }
+ ]
+ }
+ ],
+ "build-options" : {
+ "env" : { }
+ }
+}
diff --git a/com.github.AdwCustomizerTeam.AdwCustomizer.json b/com.github.AdwCustomizerTeam.AdwCustomizer.json
index bccf7bf12..2bb34ef9d 100644
--- a/com.github.AdwCustomizerTeam.AdwCustomizer.json
+++ b/com.github.AdwCustomizerTeam.AdwCustomizer.json
@@ -49,6 +49,20 @@
}
]
},
+ {
+ "name": "material-color-utilities-python",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"material_color_utilities_python~=0.1.0\" --no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+ "path": "./monet/material_color_utilities_python-0.1.0-py3-none-any.whl",
+ "sha256": "735d40c0afae660e319798c697da8fe332cfc7103fbed8a081a187f437ed4523"
+ }
+ ]
+ },
{
"name" : "adwcustomizer",
"builddir" : true,
diff --git a/data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in b/data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in
index b37c49bf3..0c3a7ce66 100644
--- a/data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in
+++ b/data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in
@@ -104,13 +104,29 @@
First release of Adwaita Manager.
+
+ - Add AdwViewSwitcher in the header bar.
+ - Move CSS to the "Advanced" tab
+ - Move the rest to the "Colours" tab
+ - Add Monet tab which generates a theme from a background
+ - Add disk saved and disk unsaved icon in the header bar
+ - Update about dialog
+ - Change license to GNU GPLv3
+ - Begin plugin support
+ - Move preset selector to a drop-down called palette (icon palette)
+ - Add ability to apply the theme onlyfor dark theme or oy for light theme
+ - Automaticly use Adwaita-dark preset if the user prefered scheme is dark.
+ - Added Flatpak CI build
+ - Added issue template for bug and feature request
+ - `Main` branch is now protected by GitHub branch protection. The development is done on `next` branch
+
https://github.com/AdwCustomizerTeam/AdwCustomizer
https://github.com/AdwCustomizerTeam/AdwCustomizer/issues
- https://github.com/AdwCustomizerTeam/AdwCustomizer/issues
+ https://github.com/orgs/AdwCustomizerTeam/discussions
https://www.transifex.com/adwcustomizerteam/adwcustomizer
- add-team-email-here
+ AdwCustomizerTeam@proton.me
diff --git a/data/com.github.AdwCustomizerTeam.AdwCustomizer.gschema.xml b/data/com.github.AdwCustomizerTeam.AdwCustomizer.gschema.xml
index 16539ddce..fe28f5558 100644
--- a/data/com.github.AdwCustomizerTeam.AdwCustomizer.gschema.xml
+++ b/data/com.github.AdwCustomizerTeam.AdwCustomizer.gschema.xml
@@ -13,5 +13,8 @@
false
+
+ true
+
\ No newline at end of file
diff --git a/meson.build b/meson.build
index 36f2ff2f4..e22a4fc1e 100644
--- a/meson.build
+++ b/meson.build
@@ -1,11 +1,15 @@
project('adwcustomizer',
- version: 'git',
+ version: '0.1.0',
meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2',
'werror=false',
],
)
+dependency('glib-2.0')
+dependency('pygobject-3.0')
+dependency('libadwaita-1')
+
i18n = import('i18n')
gnome = import('gnome')
diff --git a/monet/material_color_utilities_python-0.1.0-py3-none-any.whl b/monet/material_color_utilities_python-0.1.0-py3-none-any.whl
new file mode 100644
index 000000000..d1d1e19d4
Binary files /dev/null and b/monet/material_color_utilities_python-0.1.0-py3-none-any.whl differ
diff --git a/po/AdwCustomizer.pot b/po/AdwCustomizer.pot
index c45e60352..13f7a243a 100644
--- a/po/AdwCustomizer.pot
+++ b/po/AdwCustomizer.pot
@@ -1,6 +1,6 @@
# Adwaita Manager POT file
# Copyright (C) 2022 Adwaita Manager Team
-# This file is distributed under the MIT/X11 license.
+# This file is distributed under the GNU GPLv3 license.
# Adwaita Manager Team, 2022.
#
#, fuzzy
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2022-08-09 22:21+0300\n"
+"POT-Creation-Date: 2022-08-12 11:24+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
@@ -18,11 +18,13 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: data/com.github.AdwCustomizerTeam.AdwCustomizer.desktop.in:3
-#: src/ui/window.blp:5 src/main.py:332
+#: data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in:6
+#: src/ui/window.blp:5 src/main.py:642
msgid "Adwaita Manager"
msgstr ""
#: data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in:7
+#: data/com.github.AdwCustomizerTeam.AdwCustomizer.appdata.xml.in:9
msgid "Change the look of Adwaita, with ease"
msgstr ""
@@ -70,225 +72,236 @@ msgstr ""
msgid "Toggle Text Value"
msgstr ""
-#: src/ui/window.blp:13 src/main.py:245
+#: src/ui/window.blp:23 src/main.py:428
msgid "Apply"
msgstr ""
-#: src/ui/window.blp:20
-msgid "Save Preset"
+#: src/ui/window.blp:35
+msgid "Presets"
msgstr ""
-#: src/ui/window.blp:36
-msgid "Presets"
+#: src/ui/window.blp:42
+msgid "Save Preset"
msgstr ""
-#: src/ui/window.blp:58
+#: src/ui/window.blp:112
msgid "Built-in Presets"
msgstr ""
-#: src/ui/window.blp:73
+#: src/ui/window.blp:134
+msgid "Release Notes"
+msgstr ""
+
+#: src/ui/window.blp:138
msgid "Reset Applied Color Scheme"
msgstr ""
-#: src/ui/window.blp:74
+#: src/ui/window.blp:142
msgid "About Adwaita Manager"
msgstr ""
-#: src/app_type_dialog.py:43 src/main.py:264
+#: src/app_type_dialog.py:44 src/main.py:474
msgid "Cancel"
msgstr ""
-#: src/main.py:123
+#: src/main.py:140 src/main.py:146
msgid "Failed to load preset"
msgstr ""
-#: src/main.py:139
+#: src/main.py:163
msgid "Open in File Manager"
msgstr ""
-#: src/main.py:142
+#: src/main.py:169
msgid "User Defined Presets"
msgstr ""
-#: src/main.py:203
+#: src/main.py:358
msgid "Unsaved changes"
msgstr ""
-#: src/main.py:243
+#: src/main.py:423
msgid "Apply this color scheme?"
msgstr ""
-#: src/main.py:244
+#: src/main.py:425
msgid ""
"Warning: any custom CSS files for those app types will be irreversibly "
"overwritten!"
msgstr ""
-#: src/main.py:251
+#: src/main.py:448
msgid "Reset applied color scheme?"
msgstr ""
-#: src/main.py:252
+#: src/main.py:449
msgid "Make sure you have the current settings saved as a preset."
msgstr ""
-#: src/main.py:253
+#: src/main.py:451
msgid "Reset"
msgstr ""
-#: src/main.py:260
+#: src/main.py:461
msgid "Save preset as..."
msgstr ""
-#: src/main.py:261 src/main.py:274 src/main.py:277
+#: src/main.py:463 src/main.py:487 src/main.py:501
#, python-brace-format
msgid ""
"Saving preset to {0}. If that preset already exists, it will be "
"overwritten!"
msgstr ""
-#: src/main.py:265
+#: src/main.py:475
msgid "Save"
msgstr ""
-#: src/main.py:334
-msgid "Adwaita Manager Team"
+#: src/main.py:541
+msgid "Scheme successfully saved!"
msgstr ""
-#. Translators: This is a place to put your credits (formats: "Name https://example.com" or "Name ", no quotes) and is not meant to be translated literally.
-#: src/main.py:338
-msgid "translator-credits"
+#: src/main.py:605
+msgid "Scheme set successfully!"
msgstr ""
-#: src/option.py:55
+#: src/main.py:637
+msgid "Reset successfully!"
+msgstr ""
+
+#: src/main.py:644
+msgid "Adwaita Manager Team"
+msgstr ""
+
+#: src/option.py:47
msgid "This option is only partially supported by the adw-gtk3 theme."
msgstr ""
-#: src/option.py:58
+#: src/option.py:52
msgid "This option is not supported by the adw-gtk3 theme."
msgstr ""
-#: src/option.py:97
+#: src/option.py:94
msgid "Not a color, see text value"
msgstr ""
-#: src/settings_schema.py:5
+#: src/settings_schema.py:23
msgid "Accent Colors"
msgstr ""
-#: src/settings_schema.py:6
+#: src/settings_schema.py:25
msgid ""
"These colors are used across many different widgets, such as buttons, "
"labels, and entries, to indicate that a widget is important, interactive, or "
"currently active."
msgstr ""
-#: src/settings_schema.py:10 src/settings_schema.py:33
-#: src/settings_schema.py:56 src/settings_schema.py:79
-#: src/settings_schema.py:102
+#: src/settings_schema.py:30 src/settings_schema.py:57
+#: src/settings_schema.py:84 src/settings_schema.py:111
+#: src/settings_schema.py:138
msgid "Standalone Color"
msgstr ""
-#: src/settings_schema.py:11 src/settings_schema.py:34
-#: src/settings_schema.py:57 src/settings_schema.py:80
-#: src/settings_schema.py:103
+#: src/settings_schema.py:32 src/settings_schema.py:59
+#: src/settings_schema.py:86 src/settings_schema.py:113
+#: src/settings_schema.py:140
msgid ""
"The standalone colors are similar to the background ones, but provide better "
"contrast when used as foreground color on top of a neutral background - for "
"example, colorful text in a window."
msgstr ""
-#: src/settings_schema.py:16 src/settings_schema.py:39
-#: src/settings_schema.py:62 src/settings_schema.py:85
-#: src/settings_schema.py:108 src/settings_schema.py:125
-#: src/settings_schema.py:142 src/settings_schema.py:159
-#: src/settings_schema.py:194 src/settings_schema.py:217
-#: src/settings_schema.py:234
+#: src/settings_schema.py:38 src/settings_schema.py:65
+#: src/settings_schema.py:92 src/settings_schema.py:119
+#: src/settings_schema.py:146 src/settings_schema.py:163
+#: src/settings_schema.py:182 src/settings_schema.py:201
+#: src/settings_schema.py:242 src/settings_schema.py:267
+#: src/settings_schema.py:284
msgid "Background Color"
msgstr ""
-#: src/settings_schema.py:21 src/settings_schema.py:44
-#: src/settings_schema.py:67 src/settings_schema.py:90
-#: src/settings_schema.py:113 src/settings_schema.py:130
-#: src/settings_schema.py:147 src/settings_schema.py:164
-#: src/settings_schema.py:199 src/settings_schema.py:222
-#: src/settings_schema.py:239
+#: src/settings_schema.py:43 src/settings_schema.py:70
+#: src/settings_schema.py:97 src/settings_schema.py:124
+#: src/settings_schema.py:151 src/settings_schema.py:168
+#: src/settings_schema.py:187 src/settings_schema.py:206
+#: src/settings_schema.py:247 src/settings_schema.py:272
+#: src/settings_schema.py:289
msgid "Foreground Color"
msgstr ""
-#: src/settings_schema.py:28
+#: src/settings_schema.py:50
msgid "Destructive Colors"
msgstr ""
-#: src/settings_schema.py:29
+#: src/settings_schema.py:52
msgid ""
"These colors are used for buttons to indicate a dangerous action, such as "
"deleting a file."
msgstr ""
-#: src/settings_schema.py:51
+#: src/settings_schema.py:77
msgid "Success Colors"
msgstr ""
-#: src/settings_schema.py:52
+#: src/settings_schema.py:79
msgid ""
"These colors are used across many different widgets, such as buttons, "
"labels, entries, and level bars, to indicate a success or a high level."
msgstr ""
-#: src/settings_schema.py:74
+#: src/settings_schema.py:104
msgid "Warning Colors"
msgstr ""
-#: src/settings_schema.py:75
+#: src/settings_schema.py:106
msgid ""
"These colors are used across many different widgets, such as buttons, "
"labels, entries, and level bars, to indicate a warning or a low level."
msgstr ""
-#: src/settings_schema.py:97
+#: src/settings_schema.py:131
msgid "Error Colors"
msgstr ""
-#: src/settings_schema.py:98
+#: src/settings_schema.py:133
msgid ""
"These colors are used across many different widgets, such as buttons, "
"labels, and entries, to indicate a failure."
msgstr ""
-#: src/settings_schema.py:120
+#: src/settings_schema.py:158
msgid "Window Colors"
msgstr ""
-#: src/settings_schema.py:121
+#: src/settings_schema.py:159
msgid "These colors are used primarily for windows."
msgstr ""
-#: src/settings_schema.py:137
+#: src/settings_schema.py:175
msgid "View Colors"
msgstr ""
-#: src/settings_schema.py:138
+#: src/settings_schema.py:177
msgid ""
"These colors are used in a variety of widgets, such as text views and "
"entries."
msgstr ""
-#: src/settings_schema.py:154
+#: src/settings_schema.py:194
msgid "Header Bar Colors"
msgstr ""
-#: src/settings_schema.py:155
+#: src/settings_schema.py:196
msgid ""
"These colors are used for header bars, as well as widgets that are meant to "
"be visually attached to it, such as search bars or tab bars."
msgstr ""
-#: src/settings_schema.py:169
+#: src/settings_schema.py:211
msgid "Border Color"
msgstr ""
-#: src/settings_schema.py:170
+#: src/settings_schema.py:213
msgid ""
"The border color has the same default value as a foreground color, but "
"doesn't change along with it. This can be useful if a light window has a "
@@ -297,11 +310,11 @@ msgid ""
"example, separators between the two header bars in a split header bar layout."
msgstr ""
-#: src/settings_schema.py:175
+#: src/settings_schema.py:219
msgid "Backdrop Color"
msgstr ""
-#: src/settings_schema.py:176
+#: src/settings_schema.py:221
msgid ""
"The backdrop color is used instead of the background color when the window "
"is not focused. By default it's an alias of the window's background color "
@@ -309,113 +322,139 @@ msgid ""
"it to a value matching your header bar background color."
msgstr ""
-#: src/settings_schema.py:181 src/settings_schema.py:204
-#: src/settings_schema.py:251
+#: src/settings_schema.py:227 src/settings_schema.py:252
+#: src/settings_schema.py:301
msgid "Shade Color"
msgstr ""
-#: src/settings_schema.py:182
+#: src/settings_schema.py:229
msgid ""
"The shade color is used to provide a dark border for header bars and similar "
"widgets that separates them from the main window."
msgstr ""
-#: src/settings_schema.py:189
+#: src/settings_schema.py:237
msgid "Card Colors"
msgstr ""
-#: src/settings_schema.py:190
+#: src/settings_schema.py:238
msgid "These colors are used for cards and boxed lists."
msgstr ""
-#: src/settings_schema.py:205
+#: src/settings_schema.py:254
msgid ""
"The shade color is used for shadows that are used by cards to separate "
"themselves from the window background, as well as for row dividers in the "
"cards."
msgstr ""
-#: src/settings_schema.py:212
+#: src/settings_schema.py:262
msgid "Dialog Colors"
msgstr ""
-#: src/settings_schema.py:213
+#: src/settings_schema.py:263
msgid "These colors are used for message dialogs."
msgstr ""
-#: src/settings_schema.py:229
+#: src/settings_schema.py:279
msgid "Popover Colors"
msgstr ""
-#: src/settings_schema.py:230
+#: src/settings_schema.py:280
msgid "These colors are used for popovers."
msgstr ""
-#: src/settings_schema.py:246
+#: src/settings_schema.py:296
msgid "Miscalleneous Colors"
msgstr ""
-#: src/settings_schema.py:247
+#: src/settings_schema.py:297
msgid "Colors that don't fit in any particular group."
msgstr ""
-#: src/settings_schema.py:252
+#: src/settings_schema.py:303
msgid ""
"The shade color is used by inline tab bars, as well as the transitions in "
"leaflets and flaps, and info bar borders."
msgstr ""
-#: src/settings_schema.py:257
+#: src/settings_schema.py:309
msgid "Scrollbar Outline Color"
msgstr ""
-#: src/settings_schema.py:258
+#: src/settings_schema.py:311
msgid ""
"The scrollbar outline color is used by scrollbars to ensure that overlay "
"scrollbars are visible regardless of the content color."
msgstr ""
-#: src/settings_schema.py:267
+#: src/settings_schema.py:319
msgid "Blue"
msgstr ""
-#: src/settings_schema.py:272
+#: src/settings_schema.py:320
msgid "Green"
msgstr ""
-#: src/settings_schema.py:277
+#: src/settings_schema.py:321
msgid "Yellow"
msgstr ""
-#: src/settings_schema.py:282
+#: src/settings_schema.py:322
msgid "Orange"
msgstr ""
-#: src/settings_schema.py:287
+#: src/settings_schema.py:323
msgid "Red"
msgstr ""
-#: src/settings_schema.py:292
+#: src/settings_schema.py:324
msgid "Purple"
msgstr ""
-#: src/settings_schema.py:297
+#: src/settings_schema.py:325
msgid "Brown"
msgstr ""
-#: src/settings_schema.py:302
+#: src/settings_schema.py:326
msgid "Light"
msgstr ""
-#: src/settings_schema.py:307
+#: src/settings_schema.py:327
msgid "Dark"
msgstr ""
-#: src/window.py:70
+#: src/window.py:104
+msgid "Monet Engine"
+msgstr ""
+
+#: src/window.py:107
+msgid ""
+"Monet is an engine that generates Material Design 3 palette from backgrounds "
+"color. The generation can be slow"
+msgstr ""
+
+#: src/window.py:112
+msgid "Background Image"
+msgstr ""
+
+#: src/window.py:118
+msgid "Choose a file"
+msgstr ""
+
+#: src/window.py:137
+msgid "Tone"
+msgstr ""
+
+#: src/window.py:149
+msgid "Theme"
+msgstr ""
+
+#: src/window.py:189
msgid "Palette Colors"
msgstr ""
-#: src/window.py:71
+#: src/window.py:192
msgid ""
"Named palette colors used by some applications. Default colors follow the GNOME Human "
diff --git a/po/update_potfile.sh b/po/update_potfile.sh
index b20cc2c9e..8c9c7f35f 100755
--- a/po/update_potfile.sh
+++ b/po/update_potfile.sh
@@ -3,7 +3,7 @@ po_dir=$(dirname "$(realpath "$0")")
xgettext -f "$po_dir"/POTFILES -o "$po_dir"/AdwCustomizer.pot --add-comments=Translators --keyword=_ --keyword=C_1c,2 --from-code=UTF-8
sed -i "s/SOME DESCRIPTIVE TITLE./Adwaita Manager POT file/" "$po_dir"/AdwCustomizer.pot
sed -i "s/YEAR THE PACKAGE'S COPYRIGHT HOLDER/$(date +%Y) Adwaita Manager Team/" "$po_dir"/AdwCustomizer.pot
-sed -i "s@same license as the PACKAGE package.@MIT/X11 license.@" "$po_dir"/AdwCustomizer.pot
+sed -i "s@same license as the PACKAGE package.@GNU GPLv3 license.@" "$po_dir"/AdwCustomizer.pot
sed -i "s/FIRST AUTHOR , YEAR./Adwaita Manager Team, $(date +%Y)./" "$po_dir"/AdwCustomizer.pot
regex="$po_dir/([a-zA-Z_]*).po"
diff --git a/pypi-dependencies.json b/pypi-dependencies.json
index 55270718e..04f5137ac 100644
--- a/pypi-dependencies.json
+++ b/pypi-dependencies.json
@@ -1,14 +1,49 @@
{
- "name": "python3-anyascii",
+ "name": "pypi-dependencies",
"buildsystem": "simple",
- "build-commands": [
- "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"anyascii~=0.3\" --no-build-isolation"
- ],
- "sources": [
+ "build-commands": [],
+ "modules": [
{
- "type": "file",
- "url": "https://files.pythonhosted.org/packages/39/f6/7c1e3a2a54f18b67c5bd092c25ac7327083d4b3b15731b98a9c193df2db9/anyascii-0.3.1-py3-none-any.whl",
- "sha256": "8707d3185017435933360462a65e2c70a4818490745804f38a5ca55e59eb56a0"
+ "name": "python3-anyascii",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"anyascii~=0.3\" --no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+ "url": "https://files.pythonhosted.org/packages/39/f6/7c1e3a2a54f18b67c5bd092c25ac7327083d4b3b15731b98a9c193df2db9/anyascii-0.3.1-py3-none-any.whl",
+ "sha256": "8707d3185017435933360462a65e2c70a4818490745804f38a5ca55e59eb56a0"
+ }
+ ]
+ },
+ {
+ "name": "python3-Pillow",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"Pillow>=9.2.0\" --no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+ "url": "https://files.pythonhosted.org/packages/8c/92/2975b464d9926dc667020ed1abfa6276e68c3571dcb77e43347e15ee9eed/Pillow-9.2.0.tar.gz",
+ "sha256": "75e636fd3e0fb872693f23ccb8a5ff2cd578801251f3a4f6854c6a5d437d3c04"
+ }
+ ]
+ },
+ {
+ "name": "python3-regex",
+ "buildsystem": "simple",
+ "build-commands": [
+ "pip3 install --verbose --exists-action=i --no-index --find-links=\"file://${PWD}\" --prefix=${FLATPAK_DEST} \"regex\" --no-build-isolation"
+ ],
+ "sources": [
+ {
+ "type": "file",
+ "url": "https://files.pythonhosted.org/packages/c6/5a/e266ef579433b9cbd3e704032bb3ffa66b89ff3f0b0874a8cbaa4d451427/regex-2022.7.25.tar.gz",
+ "sha256": "bd0883e86964cd61360ffc36dbebbc49b928e92a306f886eab02c11dfde5b7aa"
+ }
+ ]
}
]
}
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
index ece31cd81..280847f0f 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,7 +1,27 @@
+# requirements.txt
+#
+# Change the look of Adwaita, with ease
+# Copyright (C) 2022 Adwaita Manager Team
+#
+# 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 .
+
# After changing this file, download the flatpak pip generator script:
# curl -O https://raw.githubusercontent.com/flatpak/flatpak-builder-tools/master/pip/flatpak-pip-generator
# chmod +x flatpak-pip-generator
# Then run:
# ./flatpak-pip-generator --requirements-file=requirements.txt --output pypi-dependencies
-anyascii~=0.3
\ No newline at end of file
+anyascii~=0.3
+Pillow>=9.2.0
+regex
diff --git a/src/adwcustomizer.gresource.xml b/src/adwcustomizer.gresource.xml
index 26e33d912..fa71a5932 100644
--- a/src/adwcustomizer.gresource.xml
+++ b/src/adwcustomizer.gresource.xml
@@ -20,5 +20,37 @@
preprocess="xml-stripblanks"
alias="palette-symbolic.svg"
>icons/com.github.AdwCustomizerTeam.AdwCustomizer-palette-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-larger-brush-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-color-picker-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-code-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-saved-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-open-menu-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-fill-symbolic.svg
+ icons/com.github.AdwCustomizerTeam.AdwCustomizer-settings-symbolic.svg
diff --git a/src/adwcustomizer.in b/src/adwcustomizer.in
index 7bca420bc..7f88fc5f5 100755
--- a/src/adwcustomizer.in
+++ b/src/adwcustomizer.in
@@ -2,31 +2,21 @@
# adwcustomizer.in
#
-# Copyright 2022 Adwaita Manager Team
+# Change the look of Adwaita, with ease
+# Copyright (C) 2022 Adwaita Manager Team
#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name(s) of the above copyright
-# holders shall not be used in advertising or otherwise to promote the sale,
-# use or other dealings in this Software without prior written
-# authorization.
+# 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 .
import os
import sys
diff --git a/src/app_type_dialog.py b/src/app_type_dialog.py
index fd48494d6..f7f88133d 100644
--- a/src/app_type_dialog.py
+++ b/src/app_type_dialog.py
@@ -1,41 +1,42 @@
# window.py
#
-# Copyright 2022 Adwaita Manager Team
+# Change the look of Adwaita, with ease
+# Copyright (C) 2022 Adwaita Manager Team
#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
+# 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.
#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
+# 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.
#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name(s) of the above copyright
-# holders shall not be used in advertising or otherwise to promote the sale,
-# use or other dealings in this Software without prior written
-# authorization.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
from gi.repository import Gtk, Adw
-@Gtk.Template(resource_path='/com/github/AdwCustomizerTeam/AdwCustomizer/ui/app_type_dialog.ui')
+
+@Gtk.Template(
+ resource_path="/com/github/AdwCustomizerTeam/AdwCustomizer/ui/app_type_dialog.ui"
+)
class AdwcustomizerAppTypeDialog(Adw.MessageDialog):
- __gtype_name__ = 'AdwcustomizerAppTypeDialog'
+ __gtype_name__ = "AdwcustomizerAppTypeDialog"
gtk4_app_type = Gtk.Template.Child("gtk4-app-type")
gtk3_app_type = Gtk.Template.Child("gtk3-app-type")
- def __init__(self, heading, body, ok_response_name, ok_response_label, ok_response_appearance, **kwargs):
+ def __init__(
+ self,
+ heading,
+ body,
+ ok_response_name,
+ ok_response_label,
+ ok_response_appearance,
+ **kwargs
+ ):
super().__init__(**kwargs)
self.set_heading(heading)
self.set_body(body)
@@ -49,5 +50,5 @@ def __init__(self, heading, body, ok_response_name, ok_response_label, ok_respon
def get_app_types(self):
return {
"gtk4": self.gtk4_app_type.get_active(),
- "gtk3": self.gtk3_app_type.get_active()
+ "gtk3": self.gtk3_app_type.get_active(),
}
diff --git a/src/custom_css_group.py b/src/custom_css_group.py
index 84219c513..1f98ab800 100644
--- a/src/custom_css_group.py
+++ b/src/custom_css_group.py
@@ -1,36 +1,29 @@
# custom_css_group.py
#
-# Copyright 2022 Adwaita Manager Team
+# Change the look of Adwaita, with ease
+# Copyright (C) 2022 Adwaita Manager Team
#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
+# 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.
#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
+# 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.
#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name(s) of the above copyright
-# holders shall not be used in advertising or otherwise to promote the sale,
-# use or other dealings in this Software without prior written
-# authorization.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
from gi.repository import Gtk, Adw
-@Gtk.Template(resource_path='/com/github/AdwCustomizerTeam/AdwCustomizer/ui/custom_css_group.ui')
+
+@Gtk.Template(
+ resource_path="/com/github/AdwCustomizerTeam/AdwCustomizer/ui/custom_css_group.ui"
+)
class AdwcustomizerCustomCSSGroup(Adw.PreferencesGroup):
- __gtype_name__ = 'AdwcustomizerCustomCSSGroup'
+ __gtype_name__ = "AdwcustomizerCustomCSSGroup"
app_type_dropdown = Gtk.Template.Child("app-type-dropdown")
custom_css_text_view = Gtk.Template.Child("custom-css-text-view")
@@ -41,14 +34,21 @@ def __init__(self, **kwargs):
def load_custom_css(self, custom_css):
self.custom_css = custom_css
- self.custom_css_text_view.get_buffer().set_text(list(self.custom_css.values())[self.app_type_dropdown.get_selected()])
+ self.custom_css_text_view.get_buffer().set_text(
+ list(self.custom_css.values())[self.app_type_dropdown.get_selected()]
+ )
@Gtk.Template.Callback()
def on_custom_css_changed(self, buffer):
Gtk.Application.get_default().mark_as_dirty()
- Gtk.Application.get_default().update_custom_css_text(list(self.custom_css.keys())[self.app_type_dropdown.get_selected()], buffer.props.text)
+ Gtk.Application.get_default().update_custom_css_text(
+ list(self.custom_css.keys())[self.app_type_dropdown.get_selected()],
+ buffer.props.text,
+ )
@Gtk.Template.Callback()
def on_dropdown_notify(self, _unused, pspec):
if pspec.name == "selected":
- self.custom_css_text_view.get_buffer().set_text(list(self.custom_css.values())[self.app_type_dropdown.get_selected()])
+ self.custom_css_text_view.get_buffer().set_text(
+ list(self.custom_css.values())[self.app_type_dropdown.get_selected()]
+ )
diff --git a/src/error.py b/src/error.py
index db99a8f90..2760bd544 100644
--- a/src/error.py
+++ b/src/error.py
@@ -1,36 +1,27 @@
# error.py
#
-# Copyright 2022 Adwaita Manager Team
+# Change the look of Adwaita, with ease
+# Copyright (C) 2022 Adwaita Manager Team
#
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
+# 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.
#
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
+# 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.
#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-# NONINFRINGEMENT. IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# Except as contained in this notice, the name(s) of the above copyright
-# holders shall not be used in advertising or otherwise to promote the sale,
-# use or other dealings in this Software without prior written
-# authorization.
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see .
from gi.repository import Gtk
-@Gtk.Template(resource_path='/com/github/AdwCustomizerTeam/AdwCustomizer/ui/error.ui')
+
+@Gtk.Template(resource_path="/com/github/AdwCustomizerTeam/AdwCustomizer/ui/error.ui")
class AdwcustomizerError(Gtk.ListBoxRow):
- __gtype_name__ = 'AdwcustomizerError'
+ __gtype_name__ = "AdwcustomizerError"
error_label = Gtk.Template.Child("error-label")
element_label = Gtk.Template.Child("element-label")
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-code-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-code-symbolic.svg
new file mode 100644
index 000000000..540341b83
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-code-symbolic.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-color-picker-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-color-picker-symbolic.svg
new file mode 100644
index 000000000..3c37c4177
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-color-picker-symbolic.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-saved-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-saved-symbolic.svg
new file mode 100644
index 000000000..79a74915b
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-saved-symbolic.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-fill-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-fill-symbolic.svg
new file mode 100644
index 000000000..cb4f2ae5e
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-fill-symbolic.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-symbolic.svg
new file mode 100644
index 000000000..4d4e0c273
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-disk-unsaved-symbolic.svg
@@ -0,0 +1,6 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-larger-brush-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-larger-brush-symbolic.svg
new file mode 100644
index 000000000..25f758677
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-larger-brush-symbolic.svg
@@ -0,0 +1,2 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-open-menu-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-open-menu-symbolic.svg
new file mode 100644
index 000000000..7f4474335
--- /dev/null
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-open-menu-symbolic.svg
@@ -0,0 +1,8 @@
+
+
diff --git a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-palette-symbolic.svg b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-palette-symbolic.svg
index 93d29cccd..2198e0591 100644
--- a/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-palette-symbolic.svg
+++ b/src/icons/com.github.AdwCustomizerTeam.AdwCustomizer-palette-symbolic.svg
@@ -1,5 +1,5 @@
-