re-rebrand

main
mirkobrombin 2 years ago
parent 59b7d5751a
commit 1af370a675

@ -35,4 +35,4 @@ jobs:
prerelease: false prerelease: false
automatic_release_tag: ${{ steps.get_version.outputs.VERSION }} automatic_release_tag: ${{ steps.get_version.outputs.VERSION }}
title: ${{ steps.get_version.outputs.VERSION }} title: ${{ steps.get_version.outputs.VERSION }}
files: ../sugar-cubes_*.deb files: ../vanilla-first-setup_*.deb

2
.gitignore vendored

@ -2,5 +2,5 @@
mesonbuild/ mesonbuild/
build/ build/
debian/files debian/files
debian/sugar-cubes* debian/vanilla-first-setup*
debian/.debhelper debian/.debhelper

@ -1,5 +1,5 @@
<div align="center"> <div align="center">
<h1>Sugar Cubes</h1> <h1>Vanilla OS First Setup</h1>
<p>This utility is meant to be used in <a href="https://github.com/vanilla-os">Vanilla OS</a> <p>This utility is meant to be used in <a href="https://github.com/vanilla-os">Vanilla OS</a>
as a first-setup wizard. It's purpose is to help the user to configure the as a first-setup wizard. It's purpose is to help the user to configure the
system to his needs, e.g. by configuring snap, flatpak, flathub, etc.</p> system to his needs, e.g. by configuring snap, flatpak, flathub, etc.</p>
@ -28,5 +28,5 @@ sudo ninja -C build install
## Run ## Run
```bash ```bash
sugar-cubes vanilla-first-setup
``` ```

@ -1,4 +1,4 @@
application_id = 'io.github.vanilla-os.SugarCubes' application_id = 'io.github.vanilla-os.FirstSetup'
scalable_dir = join_paths('hicolor', 'scalable', 'apps') scalable_dir = join_paths('hicolor', 'scalable', 'apps')
install_data( install_data(

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<component type="desktop"> <component type="desktop">
<id>io.github.vanilla-os.SugarCubes.desktop</id> <id>io.github.vanilla-os.FirstSetup.desktop</id>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-only</project_license> <project_license>GPL-3.0-only</project_license>
<name translatable="no">Sugar Cubes</name> <name translatable="no">Vanilla OS First Setup</name>
<summary>Tweak your Ubuntu Vanilla GNOME installation.</summary> <summary>Tweak your Ubuntu Vanilla GNOME installation.</summary>
<developer_name translatable="no">Mirko Brombin</developer_name> <developer_name translatable="no">Mirko Brombin</developer_name>
<description> <description>
<p>No description</p> <p>No description</p>
</description> </description>
<screenshots></screenshots> <screenshots></screenshots>
<translation type="gettext">io.github.vanilla-os.SugarCubes</translation> <translation type="gettext">io.github.vanilla-os.FirstSetup</translation>
<content_rating type="oars-1.1"/> <content_rating type="oars-1.1"/>
<recommends> <recommends>
<control>pointing</control> <control>pointing</control>

@ -0,0 +1,8 @@
[Desktop Entry]
Name=Vanilla OS First Setup
Exec=vanilla-first-setup
Icon=io.github.vanilla-os.FirstSetup
Terminal=false
Type=Application
Categories=GTK;
StartupNotify=true

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="vanilla-first-setup">
<schema id="io.github.vanilla-os.FirstSetup" path="/pm/mirko/FirstSetup/">
</schema>
</schemalist>

@ -1,8 +0,0 @@
[Desktop Entry]
Name=Sugar Cubes
Exec=sugar-cubes
Icon=io.github.vanilla-os.SugarCubes
Terminal=false
Type=Application
Categories=GTK;
StartupNotify=true

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="sugar-cubes">
<schema id="io.github.vanilla-os.SugarCubes" path="/pm/mirko/SugarCubes/">
</schema>
</schemalist>

@ -1,6 +1,6 @@
desktop_file = i18n.merge_file( desktop_file = i18n.merge_file(
input: 'io.github.vanilla-os.SugarCubes.desktop.in', input: 'io.github.vanilla-os.FirstSetup.desktop.in',
output: 'io.github.vanilla-os.SugarCubes.desktop', output: 'io.github.vanilla-os.FirstSetup.desktop',
type: 'desktop', type: 'desktop',
po_dir: '../po', po_dir: '../po',
install: true, install: true,
@ -15,8 +15,8 @@ if desktop_utils.found()
endif endif
appstream_file = i18n.merge_file( appstream_file = i18n.merge_file(
input: 'io.github.vanilla-os.SugarCubes.appdata.xml.in', input: 'io.github.vanilla-os.FirstSetup.appdata.xml.in',
output: 'io.github.vanilla-os.SugarCubes.appdata.xml', output: 'io.github.vanilla-os.FirstSetup.appdata.xml',
po_dir: '../po', po_dir: '../po',
install: true, install: true,
install_dir: join_paths(get_option('datadir'), 'appdata') install_dir: join_paths(get_option('datadir'), 'appdata')
@ -29,7 +29,7 @@ if appstream_util.found()
) )
endif endif
install_data('io.github.vanilla-os.SugarCubes.gschema.xml', install_data('io.github.vanilla-os.FirstSetup.gschema.xml',
install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas') install_dir: join_paths(get_option('datadir'), 'glib-2.0/schemas')
) )

2
debian/changelog vendored

@ -1,4 +1,4 @@
sugar-cubes (0.0.3) jammy; urgency=low vanilla-first-setup (0.0.3) jammy; urgency=low
* First release * First release

10
debian/control vendored

@ -1,4 +1,4 @@
Source: sugar-cubes Source: vanilla-first-setup
Section: utils Section: utils
Priority: optional Priority: optional
Maintainer: Mirko Brombin <send@mirko.pm> Maintainer: Mirko Brombin <send@mirko.pm>
@ -11,12 +11,12 @@ Build-Depends:
gettext, gettext,
desktop-file-utils, desktop-file-utils,
make make
Homepage: https://github.com/mirkobrombin/sugar-cubes/ Homepage: https://github.com/mirkobrombin/vanilla-first-setup/
Vcs-Browser: hhttps://github.com/mirkobrombin/sugar-cubes Vcs-Browser: hhttps://github.com/mirkobrombin/vanilla-first-setup
Vcs-Git: https://github.com/mirkobrombin/sugar-cubes.git Vcs-Git: https://github.com/mirkobrombin/vanilla-first-setup.git
Rules-Requires-Root: no Rules-Requires-Root: no
Package: sugar-cubes Package: vanilla-first-setup
Architecture: any Architecture: any
Depends: python3, Depends: python3,
python3-gi, python3-gi,

4
debian/copyright vendored

@ -1,6 +1,6 @@
Format: http://dep.debian.net/deps/dep5 Format: http://dep.debian.net/deps/dep5
Upstream-Name: Sugar Cubes Upstream-Name: Vanilla OS First Setup
Source: https://github.com/mirko-brombin/sugar-cubes Source: https://github.com/mirko-brombin/vanilla-first-setup
Files: * Files: *
Copyright: 2022 Mirko Brombin <send@mirko.pm> Copyright: 2022 Mirko Brombin <send@mirko.pm>

@ -1,4 +1,4 @@
Package: sugar-cubes Package: vanilla-first-setup
Version: 0.0.1 Version: 0.0.1
Architecture: amd64 Architecture: amd64
Maintainer: Mirko Brombin <send@mirko.pm> Maintainer: Mirko Brombin <send@mirko.pm>
@ -6,5 +6,5 @@ Installed-Size: 65
Depends: dconf-gsettings-backend | gsettings-backend, python3, python3-gi, libadwaita-1, gir1.2-gtk-4.0, gir1.2-adw-1 Depends: dconf-gsettings-backend | gsettings-backend, python3, python3-gi, libadwaita-1, gir1.2-gtk-4.0, gir1.2-adw-1
Section: utils Section: utils
Priority: optional Priority: optional
Homepage: https://github.com/mirkobrombin/sugar-cubes/ Homepage: https://github.com/mirkobrombin/vanilla-first-setup/
Description: This utility is meant to be used in Ubuntu Vanilla GNOME as a first-setup wizard. Description: This utility is meant to be used in Ubuntu Vanilla GNOME as a first-setup wizard.

@ -1,24 +1,24 @@
3f84a85bd8dcb22475ca07a2d69063ac usr/bin/sugar-cubes 3f84a85bd8dcb22475ca07a2d69063ac usr/bin/vanilla-first-setup
e53214a91cfee2c537138e64d0d2357e usr/bin/sugar-cubes-processor e53214a91cfee2c537138e64d0d2357e usr/bin/vanilla-first-setup-processor
f62ae2de8dd39b794fa94951db288612 usr/share/appdata/pm.mirko.SugarCubes.appdata.xml f62ae2de8dd39b794fa94951db288612 usr/share/appdata/pm.mirko.FirstSetup.appdata.xml
572c7ac7342d5e999af8cf5fc99fc7ba usr/share/applications/pm.mirko.SugarCubes.desktop 572c7ac7342d5e999af8cf5fc99fc7ba usr/share/applications/pm.mirko.FirstSetup.desktop
632c1335ca45192e9b887308023c156c usr/share/doc/sugar-cubes/changelog.gz 632c1335ca45192e9b887308023c156c usr/share/doc/vanilla-first-setup/changelog.gz
62ed186d7529beecf72bcf7c48b53a76 usr/share/doc/sugar-cubes/copyright 62ed186d7529beecf72bcf7c48b53a76 usr/share/doc/vanilla-first-setup/copyright
3ff815595db45e9dcd137d06f9d8718c usr/share/glib-2.0/schemas/pm.mirko.SugarCubes.gschema.xml 3ff815595db45e9dcd137d06f9d8718c usr/share/glib-2.0/schemas/pm.mirko.FirstSetup.gschema.xml
a3cd0585c74138a988a7225dd57fc171 usr/share/icons/hicolor/scalable/apps/pm.mirko.SugarCubes.svg a3cd0585c74138a988a7225dd57fc171 usr/share/icons/hicolor/scalable/apps/pm.mirko.FirstSetup.svg
a3cd0585c74138a988a7225dd57fc171 usr/share/icons/hicolor/symbolic/apps/pm.mirko.SugarCubes-symbolic.svg a3cd0585c74138a988a7225dd57fc171 usr/share/icons/hicolor/symbolic/apps/pm.mirko.FirstSetup-symbolic.svg
75fdbd9173045311c140056e34292035 usr/share/pm.mirko.SugarCubes/sugar-cubes.gresource 75fdbd9173045311c140056e34292035 usr/share/pm.mirko.FirstSetup/vanilla-first-setup.gresource
d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.SugarCubes/sugar_cubes/__init__.py d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.FirstSetup/vanilla_first_setup/__init__.py
cacabd792fe13148f625e90b1d63e343 usr/share/pm.mirko.SugarCubes/sugar_cubes/main.py cacabd792fe13148f625e90b1d63e343 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/main.py
d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.SugarCubes/sugar_cubes/models/__init__.py d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.FirstSetup/vanilla_first_setup/models/__init__.py
655cc3575fd9547bcc28605a40adecb4 usr/share/pm.mirko.SugarCubes/sugar_cubes/models/config.py 655cc3575fd9547bcc28605a40adecb4 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/models/config.py
19a9c8ef77a0b94b9bd9da204bf619be usr/share/pm.mirko.SugarCubes/sugar_cubes/models/preset.py 19a9c8ef77a0b94b9bd9da204bf619be usr/share/pm.mirko.FirstSetup/vanilla_first_setup/models/preset.py
d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/__init__.py d41d8cd98f00b204e9800998ecf8427e usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/__init__.py
24bb5bd4e6d6262c1b454b3656ab24e0 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/apt.py 24bb5bd4e6d6262c1b454b3656ab24e0 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/apt.py
4d805e042731d213eb5139530d8aa638 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/checks.py 4d805e042731d213eb5139530d8aa638 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/checks.py
7823cbc7898533c975d6a44bc5805480 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/configurator.py 7823cbc7898533c975d6a44bc5805480 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/configurator.py
d757da1b73916417336840cc67295681 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/flatpak.py d757da1b73916417336840cc67295681 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/flatpak.py
f2595187532f527875795277675234a5 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/processor.py f2595187532f527875795277675234a5 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/processor.py
0ebff648510796f3d38e84739469f97e usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/run_async.py 0ebff648510796f3d38e84739469f97e usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/run_async.py
ebbd22d7a8847f604900387b8c9d86a2 usr/share/pm.mirko.SugarCubes/sugar_cubes/utils/snap.py ebbd22d7a8847f604900387b8c9d86a2 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/utils/snap.py
f07c8b3e157f197d2cefd0a89862b3c1 usr/share/pm.mirko.SugarCubes/sugar_cubes/window.py f07c8b3e157f197d2cefd0a89862b3c1 usr/share/pm.mirko.FirstSetup/vanilla_first_setup/window.py

@ -1,6 +1,6 @@
#!/usr/bin/python3 #!/usr/bin/python3
# sugar-cubes.in # vanilla-first-setup.in
# #
# Copyright 2022 mirkobrombin # Copyright 2022 mirkobrombin
# #
@ -23,21 +23,21 @@ import locale
import gettext import gettext
VERSION = '0.0.1' VERSION = '0.0.1'
pkgdatadir = '/usr/share/pm.mirko.SugarCubes' pkgdatadir = '/usr/share/pm.mirko.FirstSetup'
localedir = '/usr/share/locale' localedir = '/usr/share/locale'
sys.path.insert(1, pkgdatadir) sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir) locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('sugar_cubes') locale.textdomain('vanilla_first_setup')
gettext.install('sugar_cubes', localedir) gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__': if __name__ == '__main__':
import gi import gi
from gi.repository import Gio from gi.repository import Gio
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'sugar-cubes.gresource')) resource = Gio.Resource.load(os.path.join(pkgdatadir, 'vanilla-first-setup.gresource'))
resource._register() resource._register()
from sugar_cubes import main from vanilla_first_setup import main
sys.exit(main.main(VERSION)) sys.exit(main.main(VERSION))

@ -1,6 +1,6 @@
#!/usr/bin/python3 #!/usr/bin/python3
# sugar-cubes-processor.in # vanilla-first-setup-processor.in
# #
# Copyright 2022 mirkobrombin # Copyright 2022 mirkobrombin
# #
@ -24,18 +24,18 @@ import gettext
import argparse import argparse
VERSION = '0.0.1' VERSION = '0.0.1'
pkgdatadir = '/usr/share/pm.mirko.SugarCubes' pkgdatadir = '/usr/share/pm.mirko.FirstSetup'
localedir = '/usr/share/locale' localedir = '/usr/share/locale'
sys.path.insert(1, pkgdatadir) sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir) locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('sugar_cubes') locale.textdomain('vanilla_first_setup')
gettext.install('sugar_cubes', localedir) gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__': if __name__ == '__main__':
from sugar_cubes.utils.configurator import Configurator from vanilla_first_setup.utils.configurator import Configurator
from sugar_cubes.models.config import Config from vanilla_first_setup.models.config import Config
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('config', help='The configuration string (e.g. snap::True|flatpak::False|apport::True)') parser.add_argument('config', help='The configuration string (e.g. snap::True|flatpak::False|apport::True)')

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<component type="desktop"> <component type="desktop">
<id>pm.mirko.SugarCubes.desktop</id> <id>pm.mirko.FirstSetup.desktop</id>
<metadata_license>CC0-1.0</metadata_license> <metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-only</project_license> <project_license>GPL-3.0-only</project_license>
<name translatable="no">Sugar Cubes</name> <name translatable="no">Vanilla OS First Setup</name>
<summary>Tweak your Ubuntu Vanilla GNOME installation.</summary> <summary>Tweak your Ubuntu Vanilla GNOME installation.</summary>
<developer_name translatable="no">Mirko Brombin</developer_name> <developer_name translatable="no">Mirko Brombin</developer_name>
<description> <description>
<p>No description</p> <p>No description</p>
</description> </description>
<screenshots/> <screenshots/>
<translation type="gettext">pm.mirko.SugarCubes</translation> <translation type="gettext">pm.mirko.FirstSetup</translation>
<content_rating type="oars-1.1"/> <content_rating type="oars-1.1"/>
<recommends> <recommends>
<control>pointing</control> <control>pointing</control>

@ -1,7 +1,7 @@
[Desktop Entry] [Desktop Entry]
Name=Sugar Cubes Name=Vanilla OS First Setup
Exec=sugar-cubes Exec=vanilla-first-setup
Icon=pm.mirko.SugarCubes Icon=pm.mirko.FirstSetup
Terminal=false Terminal=false
Type=Application Type=Application
Categories=GTK; Categories=GTK;

@ -1,6 +1,6 @@
Format: http://dep.debian.net/deps/dep5 Format: http://dep.debian.net/deps/dep5
Upstream-Name: Sugar Cubes Upstream-Name: Vanilla OS First Setup
Source: https://github.com/mirko-brombin/sugar-cubes Source: https://github.com/mirko-brombin/vanilla-first-setup
Files: * Files: *
Copyright: 2022 Mirko Brombin <send@mirko.pm> Copyright: 2022 Mirko Brombin <send@mirko.pm>

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="sugar-cubes"> <schemalist gettext-domain="vanilla-first-setup">
<schema id="pm.mirko.SugarCubes" path="/pm/mirko/SugarCubes/"> <schema id="pm.mirko.FirstSetup" path="/pm/mirko/FirstSetup/">
</schema> </schema>
</schemalist> </schemalist>

@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from sugar_cubes.window import SugarCubesWindow from vanilla_first_setup.window import FirstSetupWindow
from gi.repository import Gtk, Gio, Adw from gi.repository import Gtk, Gio, Adw
import sys import sys
import gi import gi
@ -27,11 +27,11 @@ gi.require_version('Adw', '1')
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
class SugarCubesApplication(Adw.Application): class FirstSetupApplication(Adw.Application):
"""The main application singleton class.""" """The main application singleton class."""
def __init__(self): def __init__(self):
super().__init__(application_id='pm.mirko.SugarCubes', super().__init__(application_id='pm.mirko.FirstSetup',
flags=Gio.ApplicationFlags.FLAGS_NONE) flags=Gio.ApplicationFlags.FLAGS_NONE)
self.create_action('quit', self.close, ['<primary>q']) self.create_action('quit', self.close, ['<primary>q'])
@ -43,7 +43,7 @@ class SugarCubesApplication(Adw.Application):
""" """
win = self.props.active_window win = self.props.active_window
if not win: if not win:
win = SugarCubesWindow(application=self) win = FirstSetupWindow(application=self)
win.present() win.present()
def create_action(self, name, callback, shortcuts=None): def create_action(self, name, callback, shortcuts=None):
@ -68,5 +68,5 @@ class SugarCubesApplication(Adw.Application):
def main(version): def main(version):
"""The application's entry point.""" """The application's entry point."""
app = SugarCubesApplication() app = FirstSetupApplication()
return app.run(sys.argv) return app.run(sys.argv)

@ -2,13 +2,13 @@ import os
import time import time
import logging import logging
from sugar_cubes.utils import checks from vanilla_first_setup.utils import checks
from sugar_cubes.utils.apt import Apt from vanilla_first_setup.utils.apt import Apt
from sugar_cubes.utils.flatpak import Flatpak from vanilla_first_setup.utils.flatpak import Flatpak
from sugar_cubes.utils.snap import Snap from vanilla_first_setup.utils.snap import Snap
logger = logging.getLogger("SugarCubes::Configurator") logger = logging.getLogger("FirstSetup::Configurator")
class Configurator: class Configurator:
@ -79,7 +79,7 @@ class Configurator:
if self.fake: if self.fake:
return self.__fake("Fake: Disable on startup") return self.__fake("Fake: Disable on startup")
autostart_file = os.path.expanduser("~/.config/autostart/sugar-cubes.desktop") autostart_file = os.path.expanduser("~/.config/autostart/vanilla-first-setup.desktop")
if os.path.exists(autostart_file): if os.path.exists(autostart_file):
os.remove(autostart_file) os.remove(autostart_file)
@ -87,13 +87,13 @@ class Configurator:
if self.fake: if self.fake:
return self.__fake("Fake: Enable on startup") return self.__fake("Fake: Enable on startup")
autostart_file = os.path.expanduser("~/.config/autostart/sugar-cubes.desktop") autostart_file = os.path.expanduser("~/.config/autostart/vanilla-first-setup.desktop")
if not os.path.exists(autostart_file): if not os.path.exists(autostart_file):
with open(autostart_file, "w") as f: with open(autostart_file, "w") as f:
f.write("[Desktop Entry]") f.write("[Desktop Entry]")
f.write("Type=Application") f.write("Type=Application")
f.write("Name=Sugar Cubes") f.write("Name=Vanilla OS First Setup")
f.write("Exec=sugar-cubes") f.write("Exec=vanilla-first-setup")
f.write("Terminal=false") f.write("Terminal=false")
f.write("X-GNOME-Autostart-enabled=true") f.write("X-GNOME-Autostart-enabled=true")

@ -8,11 +8,11 @@ class Processor:
def run(self): def run(self):
proc = subprocess.run( proc = subprocess.run(
["pkexec", "sugar-cubes-processor", self.__config.get_str()], ["pkexec", "vanilla-first-setup-processor", self.__config.get_str()],
check=True check=True
) )
if proc.returncode != 0: if proc.returncode != 0:
return False, "Error executing the Sugar Cubes Processor" return False, "Error executing the Vanilla OS First Setup Processor"
return True return True

@ -23,7 +23,7 @@ import logging
from gi.repository import GLib from gi.repository import GLib
logger = logging.getLogger("SugarCubes::Async") logger = logging.getLogger("FirstSetup::Async")
class RunAsync(threading.Thread): class RunAsync(threading.Thread):

@ -16,15 +16,15 @@
from gi.repository import Gtk, Gio, Adw from gi.repository import Gtk, Gio, Adw
from sugar_cubes.models.preset import Preset from vanilla_first_setup.models.preset import Preset
from sugar_cubes.models.config import Config from vanilla_first_setup.models.config import Config
from sugar_cubes.utils.processor import Processor from vanilla_first_setup.utils.processor import Processor
from sugar_cubes.utils.run_async import RunAsync from vanilla_first_setup.utils.run_async import RunAsync
@Gtk.Template(resource_path='/pm/mirko/SugarCubes/gtk/window.ui') @Gtk.Template(resource_path='/pm/mirko/FirstSetup/gtk/window.ui')
class SugarCubesWindow(Adw.ApplicationWindow): class FirstSetupWindow(Adw.ApplicationWindow):
__gtype_name__ = 'SugarCubesWindow' __gtype_name__ = 'FirstSetupWindow'
carousel = Gtk.Template.Child() carousel = Gtk.Template.Child()
btn_start = Gtk.Template.Child() btn_start = Gtk.Template.Child()

@ -1,4 +1,4 @@
project('io.github.vanilla-os.SugarCubes', project('io.github.vanilla-os.FirstSetup',
version: '0.0.3', version: '0.0.3',
meson_version: '>= 0.59.0', meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2', default_options: [ 'warning_level=2',
@ -11,7 +11,7 @@ i18n = import('i18n')
gnome = import('gnome') gnome = import('gnome')
subdir('data') subdir('data')
subdir('sugar_cubes') subdir('vanilla_first_setup')
subdir('po') subdir('po')
gnome.post_install( gnome.post_install(

@ -1 +1 @@
i18n.gettext('sugar-cubes', preset: 'glib') i18n.gettext('vanilla-first-setup', preset: 'glib')

@ -2,10 +2,10 @@
<interface> <interface>
<requires lib="gtk" version="4.0"/> <requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.0" /> <requires lib="libadwaita" version="1.0" />
<template class="SugarCubesWindow" parent="AdwApplicationWindow"> <template class="FirstSetupWindow" parent="AdwApplicationWindow">
<property name="default-width">800</property> <property name="default-width">800</property>
<property name="default-height">600</property> <property name="default-height">600</property>
<property name="title">Sugar Cubes</property> <property name="title">Vanilla OS First Setup</property>
<child> <child>
<object class="GtkBox"> <object class="GtkBox">
<property name="orientation">vertical</property> <property name="orientation">vertical</property>
@ -32,8 +32,8 @@
<!-- Welcome --> <!-- Welcome -->
<child> <child>
<object class="AdwStatusPage"> <object class="AdwStatusPage" id="status_welcome">
<property name="icon-name">io.github.vanilla-os.SugarCubes</property> <property name="icon-name">io.github.vanilla-os.FirstSetup</property>
<property name="title">Welcome!</property> <property name="title">Welcome!</property>
<property name="description">Make your choices, this wizard will take care of everything.</property> <property name="description">Make your choices, this wizard will take care of everything.</property>
<property name="halign">fill</property> <property name="halign">fill</property>

@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from sugar_cubes.window import SugarCubesWindow from vanilla_first_setup.window import FirstSetupWindow
from gi.repository import Gtk, Gio, Adw from gi.repository import Gtk, Gio, Adw
import sys import sys
import gi import gi
@ -27,11 +27,11 @@ gi.require_version('Adw', '1')
logging.basicConfig(level=logging.INFO) logging.basicConfig(level=logging.INFO)
class SugarCubesApplication(Adw.Application): class FirstSetupApplication(Adw.Application):
"""The main application singleton class.""" """The main application singleton class."""
def __init__(self): def __init__(self):
super().__init__(application_id='io.github.vanilla-os.SugarCubes', super().__init__(application_id='io.github.vanilla-os.FirstSetup',
flags=Gio.ApplicationFlags.FLAGS_NONE) flags=Gio.ApplicationFlags.FLAGS_NONE)
self.create_action('quit', self.close, ['<primary>q']) self.create_action('quit', self.close, ['<primary>q'])
@ -43,7 +43,7 @@ class SugarCubesApplication(Adw.Application):
""" """
win = self.props.active_window win = self.props.active_window
if not win: if not win:
win = SugarCubesWindow(application=self) win = FirstSetupWindow(application=self)
win.present() win.present()
def create_action(self, name, callback, shortcuts=None): def create_action(self, name, callback, shortcuts=None):
@ -68,5 +68,5 @@ class SugarCubesApplication(Adw.Application):
def main(version): def main(version):
"""The application's entry point.""" """The application's entry point."""
app = SugarCubesApplication() app = FirstSetupApplication()
return app.run(sys.argv) return app.run(sys.argv)

@ -1,9 +1,9 @@
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
moduledir = join_paths(pkgdatadir, 'sugar_cubes') moduledir = join_paths(pkgdatadir, 'vanilla_first_setup')
gnome = import('gnome') gnome = import('gnome')
gnome.compile_resources('sugar-cubes', gnome.compile_resources('vanilla-first-setup',
'sugar-cubes.gresource.xml', 'vanilla-first-setup.gresource.xml',
gresource_bundle: true, gresource_bundle: true,
install: true, install: true,
install_dir: pkgdatadir, install_dir: pkgdatadir,
@ -18,16 +18,16 @@ conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir')))
conf.set('pkgdatadir', pkgdatadir) conf.set('pkgdatadir', pkgdatadir)
configure_file( configure_file(
input: 'sugar-cubes.in', input: 'vanilla-first-setup.in',
output: 'sugar-cubes', output: 'vanilla-first-setup',
configuration: conf, configuration: conf,
install: true, install: true,
install_dir: get_option('bindir') install_dir: get_option('bindir')
) )
configure_file( configure_file(
input: 'sugar-cubes-processor.in', input: 'vanilla-first-setup-processor.in',
output: 'sugar-cubes-processor', output: 'vanilla-first-setup-processor',
configuration: conf, configuration: conf,
install: true, install: true,
install_dir: get_option('bindir') install_dir: get_option('bindir')
@ -36,10 +36,10 @@ configure_file(
subdir('utils') subdir('utils')
subdir('models') subdir('models')
sugar_cubes_sources = [ vanilla_first_setup_sources = [
'__init__.py', '__init__.py',
'main.py', 'main.py',
'window.py', 'window.py',
] ]
install_data(sugar_cubes_sources, install_dir: moduledir) install_data(vanilla_first_setup_sources, install_dir: moduledir)

@ -1,5 +1,5 @@
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
modelsdir = join_paths(pkgdatadir, 'sugar_cubes/models') modelsdir = join_paths(pkgdatadir, 'vanilla_first_setup/models')
sources = [ sources = [
'__init__.py', '__init__.py',

@ -3,13 +3,13 @@ import time
import logging import logging
import subprocess import subprocess
from sugar_cubes.utils import checks from vanilla_first_setup.utils import checks
from sugar_cubes.utils.apt import Apt from vanilla_first_setup.utils.apt import Apt
from sugar_cubes.utils.flatpak import Flatpak from vanilla_first_setup.utils.flatpak import Flatpak
from sugar_cubes.utils.snap import Snap from vanilla_first_setup.utils.snap import Snap
logger = logging.getLogger("SugarCubes::Configurator") logger = logging.getLogger("FirstSetup::Configurator")
class Configurator: class Configurator:
@ -92,6 +92,6 @@ class Configurator:
if self.fake: if self.fake:
return self.__fake("Fake: Disable on startup") return self.__fake("Fake: Disable on startup")
autostart_file = os.path.expanduser("~/.config/autostart/sugar-cubes.desktop") autostart_file = os.path.expanduser("~/.config/autostart/vanilla-first-setup.desktop")
if os.path.exists(autostart_file): if os.path.exists(autostart_file):
os.remove(autostart_file) os.remove(autostart_file)

@ -1,5 +1,5 @@
pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name()) pkgdatadir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
utilsdir = join_paths(pkgdatadir, 'sugar_cubes/utils') utilsdir = join_paths(pkgdatadir, 'vanilla_first_setup/utils')
sources = [ sources = [
'__init__.py', '__init__.py',
@ -10,6 +10,7 @@ sources = [
'configurator.py', 'configurator.py',
'run_async.py', 'run_async.py',
'processor.py', 'processor.py',
'welcome_langs.py',
] ]
install_data(sources, install_dir: utilsdir) install_data(sources, install_dir: utilsdir)

@ -8,11 +8,11 @@ class Processor:
def run(self): def run(self):
proc = subprocess.run( proc = subprocess.run(
["pkexec", "sugar-cubes-processor", self.__config.get_str()], ["pkexec", "vanilla-first-setup-processor", self.__config.get_str()],
check=True check=True
) )
if proc.returncode != 0: if proc.returncode != 0:
return False, "Error executing the Sugar Cubes Processor" return False, "Error executing the Vanilla OS First Setup Processor"
return True return True

@ -23,7 +23,7 @@ import logging
from gi.repository import GLib from gi.repository import GLib
logger = logging.getLogger("SugarCubes::Async") logger = logging.getLogger("FirstSetup::Async")
class RunAsync(threading.Thread): class RunAsync(threading.Thread):

@ -0,0 +1,36 @@
welcome = [
'Welcome',
'Benvenuto',
'Bienvenido',
'Bienvenue',
'Willkommen',
'Bem-vindo',
'Добро пожаловать',
'欢迎',
'ようこそ',
'환영합니다',
'أهلا بك',
'ברוך הבא',
'Καλώς ήρθατε',
'Hoşgeldiniz',
'Welkom',
'Witamy',
'Välkommen',
'Tervetuloa',
'Vítejte',
'Üdvözöljük',
'Bun venit',
'Vitajte',
'Tere tulemast',
'Sveiki atvykę',
'Dobrodošli',
'خوش آمدید',
'आपका स्वागत है',
'স্বাগতম',
'வரவேற்கிறோம்',
'స్వాగతం',
'मुबारक हो',
'સુસ્વાગત છે',
'ಸುಸ್ವಾಗತ',
'സ്വാഗതം'
]

@ -1,6 +1,6 @@
#!@PYTHON@ #!@PYTHON@
# sugar-cubes-processor.in # vanilla-first-setup-processor.in
# #
# Copyright 2022 mirkobrombin # Copyright 2022 mirkobrombin
# #
@ -29,13 +29,13 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir) sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir) locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('sugar_cubes') locale.textdomain('vanilla_first_setup')
gettext.install('sugar_cubes', localedir) gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__': if __name__ == '__main__':
from sugar_cubes.utils.configurator import Configurator from vanilla_first_setup.utils.configurator import Configurator
from sugar_cubes.models.config import Config from vanilla_first_setup.models.config import Config
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument('config', help='The configuration string (e.g. snap::True|flatpak::False|apport::True)') parser.add_argument('config', help='The configuration string (e.g. snap::True|flatpak::False|apport::True)')

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<gresources> <gresources>
<gresource prefix="/pm/mirko/SugarCubes"> <gresource prefix="/pm/mirko/FirstSetup">
<file>gtk/window.ui</file> <file>gtk/window.ui</file>
</gresource> </gresource>
</gresources> </gresources>

@ -1,6 +1,6 @@
#!@PYTHON@ #!@PYTHON@
# sugar-cubes.in # vanilla-first-setup.in
# #
# Copyright 2022 mirkobrombin # Copyright 2022 mirkobrombin
# #
@ -28,16 +28,16 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir) sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL) signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir) locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('sugar_cubes') locale.textdomain('vanilla_first_setup')
gettext.install('sugar_cubes', localedir) gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__': if __name__ == '__main__':
import gi import gi
from gi.repository import Gio from gi.repository import Gio
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'sugar-cubes.gresource')) resource = Gio.Resource.load(os.path.join(pkgdatadir, 'vanilla-first-setup.gresource'))
resource._register() resource._register()
from sugar_cubes import main from vanilla_first_setup import main
sys.exit(main.main(VERSION)) sys.exit(main.main(VERSION))

@ -14,17 +14,19 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
from gi.repository import Gtk, Gio, Adw import time
from gi.repository import Gtk, Gio, GLib, Adw
from sugar_cubes.models.preset import Preset from vanilla_first_setup.models.preset import Preset
from sugar_cubes.models.config import Config from vanilla_first_setup.models.config import Config
from sugar_cubes.utils.processor import Processor from vanilla_first_setup.utils.processor import Processor
from sugar_cubes.utils.run_async import RunAsync from vanilla_first_setup.utils.run_async import RunAsync
from vanilla_first_setup.utils.welcome_langs import welcome
@Gtk.Template(resource_path='/pm/mirko/SugarCubes/gtk/window.ui') @Gtk.Template(resource_path='/pm/mirko/FirstSetup/gtk/window.ui')
class SugarCubesWindow(Adw.ApplicationWindow): class FirstSetupWindow(Adw.ApplicationWindow):
__gtype_name__ = 'SugarCubesWindow' __gtype_name__ = 'FirstSetupWindow'
carousel = Gtk.Template.Child() carousel = Gtk.Template.Child()
btn_start = Gtk.Template.Child() btn_start = Gtk.Template.Child()
@ -34,11 +36,12 @@ class SugarCubesWindow(Adw.ApplicationWindow):
switch_flatpak = Gtk.Template.Child() switch_flatpak = Gtk.Template.Child()
switch_apport = Gtk.Template.Child() switch_apport = Gtk.Template.Child()
switch_distrobox = Gtk.Template.Child() switch_distrobox = Gtk.Template.Child()
spinner = Gtk.Template.Child()
status_welcome = Gtk.Template.Child()
page_welcome = -1 page_welcome = -1
page_configuration = 0 page_configuration = 0
page_progress = 1 page_progress = 1
page_done = 2 page_done = 2
spinner = Gtk.Template.Child()
def __init__(self, **kwargs): def __init__(self, **kwargs):
super().__init__(**kwargs) super().__init__(**kwargs)
@ -50,6 +53,7 @@ class SugarCubesWindow(Adw.ApplicationWindow):
) )
self.__buiild_ui() self.__buiild_ui()
self.__connect_signals() self.__connect_signals()
self.__start_welcome_animation()
def __buiild_ui(self): def __buiild_ui(self):
self.switch_snap.set_active(Preset.snap) self.switch_snap.set_active(Preset.snap)
@ -100,3 +104,11 @@ class SugarCubesWindow(Adw.ApplicationWindow):
def on_btn_close_clicked(self, widget): def on_btn_close_clicked(self, widget):
self.get_application().quit() self.get_application().quit()
def __start_welcome_animation(self):
def change_langs():
for lang in welcome:
GLib.idle_add(self.status_welcome.set_title, lang )
time.sleep(1.5)
RunAsync(change_langs, None)
Loading…
Cancel
Save