re-rebrand

main
mirkobrombin 2 years ago
parent 59b7d5751a
commit 1af370a675

@ -35,4 +35,4 @@ jobs:
prerelease: false
automatic_release_tag: ${{ 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/
build/
debian/files
debian/sugar-cubes*
debian/vanilla-first-setup*
debian/.debhelper

@ -1,5 +1,5 @@
<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>
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>
@ -28,5 +28,5 @@ sudo ninja -C build install
## Run
```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')
install_data(

@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<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>
<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>
<developer_name translatable="no">Mirko Brombin</developer_name>
<description>
<p>No description</p>
</description>
<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"/>
<recommends>
<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(
input: 'io.github.vanilla-os.SugarCubes.desktop.in',
output: 'io.github.vanilla-os.SugarCubes.desktop',
input: 'io.github.vanilla-os.FirstSetup.desktop.in',
output: 'io.github.vanilla-os.FirstSetup.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
@ -15,8 +15,8 @@ if desktop_utils.found()
endif
appstream_file = i18n.merge_file(
input: 'io.github.vanilla-os.SugarCubes.appdata.xml.in',
output: 'io.github.vanilla-os.SugarCubes.appdata.xml',
input: 'io.github.vanilla-os.FirstSetup.appdata.xml.in',
output: 'io.github.vanilla-os.FirstSetup.appdata.xml',
po_dir: '../po',
install: true,
install_dir: join_paths(get_option('datadir'), 'appdata')
@ -29,7 +29,7 @@ if appstream_util.found()
)
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')
)

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

10
debian/control vendored

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

4
debian/copyright vendored

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

@ -1,4 +1,4 @@
Package: sugar-cubes
Package: vanilla-first-setup
Version: 0.0.1
Architecture: amd64
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
Section: utils
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.

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

@ -1,6 +1,6 @@
#!/usr/bin/python3
# sugar-cubes.in
# vanilla-first-setup.in
#
# Copyright 2022 mirkobrombin
#
@ -23,21 +23,21 @@ import locale
import gettext
VERSION = '0.0.1'
pkgdatadir = '/usr/share/pm.mirko.SugarCubes'
pkgdatadir = '/usr/share/pm.mirko.FirstSetup'
localedir = '/usr/share/locale'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir)
locale.textdomain('sugar_cubes')
gettext.install('sugar_cubes', localedir)
locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('vanilla_first_setup')
gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__':
import gi
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()
from sugar_cubes import main
from vanilla_first_setup import main
sys.exit(main.main(VERSION))

@ -1,6 +1,6 @@
#!/usr/bin/python3
# sugar-cubes-processor.in
# vanilla-first-setup-processor.in
#
# Copyright 2022 mirkobrombin
#
@ -24,18 +24,18 @@ import gettext
import argparse
VERSION = '0.0.1'
pkgdatadir = '/usr/share/pm.mirko.SugarCubes'
pkgdatadir = '/usr/share/pm.mirko.FirstSetup'
localedir = '/usr/share/locale'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir)
locale.textdomain('sugar_cubes')
gettext.install('sugar_cubes', localedir)
locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('vanilla_first_setup')
gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__':
from sugar_cubes.utils.configurator import Configurator
from sugar_cubes.models.config import Config
from vanilla_first_setup.utils.configurator import Configurator
from vanilla_first_setup.models.config import Config
parser = argparse.ArgumentParser()
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"?>
<component type="desktop">
<id>pm.mirko.SugarCubes.desktop</id>
<id>pm.mirko.FirstSetup.desktop</id>
<metadata_license>CC0-1.0</metadata_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>
<developer_name translatable="no">Mirko Brombin</developer_name>
<description>
<p>No description</p>
</description>
<screenshots/>
<translation type="gettext">pm.mirko.SugarCubes</translation>
<translation type="gettext">pm.mirko.FirstSetup</translation>
<content_rating type="oars-1.1"/>
<recommends>
<control>pointing</control>

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

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

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

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

@ -2,13 +2,13 @@ import os
import time
import logging
from sugar_cubes.utils import checks
from sugar_cubes.utils.apt import Apt
from sugar_cubes.utils.flatpak import Flatpak
from sugar_cubes.utils.snap import Snap
from vanilla_first_setup.utils import checks
from vanilla_first_setup.utils.apt import Apt
from vanilla_first_setup.utils.flatpak import Flatpak
from vanilla_first_setup.utils.snap import Snap
logger = logging.getLogger("SugarCubes::Configurator")
logger = logging.getLogger("FirstSetup::Configurator")
class Configurator:
@ -79,7 +79,7 @@ class Configurator:
if self.fake:
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):
os.remove(autostart_file)
@ -87,13 +87,13 @@ class Configurator:
if self.fake:
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):
with open(autostart_file, "w") as f:
f.write("[Desktop Entry]")
f.write("Type=Application")
f.write("Name=Sugar Cubes")
f.write("Exec=sugar-cubes")
f.write("Name=Vanilla OS First Setup")
f.write("Exec=vanilla-first-setup")
f.write("Terminal=false")
f.write("X-GNOME-Autostart-enabled=true")

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

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

@ -16,15 +16,15 @@
from gi.repository import Gtk, Gio, Adw
from sugar_cubes.models.preset import Preset
from sugar_cubes.models.config import Config
from sugar_cubes.utils.processor import Processor
from sugar_cubes.utils.run_async import RunAsync
from vanilla_first_setup.models.preset import Preset
from vanilla_first_setup.models.config import Config
from vanilla_first_setup.utils.processor import Processor
from vanilla_first_setup.utils.run_async import RunAsync
@Gtk.Template(resource_path='/pm/mirko/SugarCubes/gtk/window.ui')
class SugarCubesWindow(Adw.ApplicationWindow):
__gtype_name__ = 'SugarCubesWindow'
@Gtk.Template(resource_path='/pm/mirko/FirstSetup/gtk/window.ui')
class FirstSetupWindow(Adw.ApplicationWindow):
__gtype_name__ = 'FirstSetupWindow'
carousel = 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',
meson_version: '>= 0.59.0',
default_options: [ 'warning_level=2',
@ -11,7 +11,7 @@ i18n = import('i18n')
gnome = import('gnome')
subdir('data')
subdir('sugar_cubes')
subdir('vanilla_first_setup')
subdir('po')
gnome.post_install(

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

@ -2,10 +2,10 @@
<interface>
<requires lib="gtk" version="4.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-height">600</property>
<property name="title">Sugar Cubes</property>
<property name="title">Vanilla OS First Setup</property>
<child>
<object class="GtkBox">
<property name="orientation">vertical</property>
@ -32,8 +32,8 @@
<!-- Welcome -->
<child>
<object class="AdwStatusPage">
<property name="icon-name">io.github.vanilla-os.SugarCubes</property>
<object class="AdwStatusPage" id="status_welcome">
<property name="icon-name">io.github.vanilla-os.FirstSetup</property>
<property name="title">Welcome!</property>
<property name="description">Make your choices, this wizard will take care of everything.</property>
<property name="halign">fill</property>

@ -14,7 +14,7 @@
# You should have received a copy of the GNU General Public License
# 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
import sys
import gi
@ -27,11 +27,11 @@ gi.require_version('Adw', '1')
logging.basicConfig(level=logging.INFO)
class SugarCubesApplication(Adw.Application):
class FirstSetupApplication(Adw.Application):
"""The main application singleton class."""
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)
self.create_action('quit', self.close, ['<primary>q'])
@ -43,7 +43,7 @@ class SugarCubesApplication(Adw.Application):
"""
win = self.props.active_window
if not win:
win = SugarCubesWindow(application=self)
win = FirstSetupWindow(application=self)
win.present()
def create_action(self, name, callback, shortcuts=None):
@ -68,5 +68,5 @@ class SugarCubesApplication(Adw.Application):
def main(version):
"""The application's entry point."""
app = SugarCubesApplication()
app = FirstSetupApplication()
return app.run(sys.argv)

@ -1,9 +1,9 @@
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.compile_resources('sugar-cubes',
'sugar-cubes.gresource.xml',
gnome.compile_resources('vanilla-first-setup',
'vanilla-first-setup.gresource.xml',
gresource_bundle: true,
install: true,
install_dir: pkgdatadir,
@ -18,16 +18,16 @@ conf.set('localedir', join_paths(get_option('prefix'), get_option('localedir')))
conf.set('pkgdatadir', pkgdatadir)
configure_file(
input: 'sugar-cubes.in',
output: 'sugar-cubes',
input: 'vanilla-first-setup.in',
output: 'vanilla-first-setup',
configuration: conf,
install: true,
install_dir: get_option('bindir')
)
configure_file(
input: 'sugar-cubes-processor.in',
output: 'sugar-cubes-processor',
input: 'vanilla-first-setup-processor.in',
output: 'vanilla-first-setup-processor',
configuration: conf,
install: true,
install_dir: get_option('bindir')
@ -36,10 +36,10 @@ configure_file(
subdir('utils')
subdir('models')
sugar_cubes_sources = [
vanilla_first_setup_sources = [
'__init__.py',
'main.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())
modelsdir = join_paths(pkgdatadir, 'sugar_cubes/models')
modelsdir = join_paths(pkgdatadir, 'vanilla_first_setup/models')
sources = [
'__init__.py',

@ -3,13 +3,13 @@ import time
import logging
import subprocess
from sugar_cubes.utils import checks
from sugar_cubes.utils.apt import Apt
from sugar_cubes.utils.flatpak import Flatpak
from sugar_cubes.utils.snap import Snap
from vanilla_first_setup.utils import checks
from vanilla_first_setup.utils.apt import Apt
from vanilla_first_setup.utils.flatpak import Flatpak
from vanilla_first_setup.utils.snap import Snap
logger = logging.getLogger("SugarCubes::Configurator")
logger = logging.getLogger("FirstSetup::Configurator")
class Configurator:
@ -92,6 +92,6 @@ class Configurator:
if self.fake:
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):
os.remove(autostart_file)

@ -1,5 +1,5 @@
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 = [
'__init__.py',
@ -10,6 +10,7 @@ sources = [
'configurator.py',
'run_async.py',
'processor.py',
'welcome_langs.py',
]
install_data(sources, install_dir: utilsdir)

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

@ -23,7 +23,7 @@ import logging
from gi.repository import GLib
logger = logging.getLogger("SugarCubes::Async")
logger = logging.getLogger("FirstSetup::Async")
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@
# sugar-cubes-processor.in
# vanilla-first-setup-processor.in
#
# Copyright 2022 mirkobrombin
#
@ -29,13 +29,13 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir)
locale.textdomain('sugar_cubes')
gettext.install('sugar_cubes', localedir)
locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('vanilla_first_setup')
gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__':
from sugar_cubes.utils.configurator import Configurator
from sugar_cubes.models.config import Config
from vanilla_first_setup.utils.configurator import Configurator
from vanilla_first_setup.models.config import Config
parser = argparse.ArgumentParser()
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"?>
<gresources>
<gresource prefix="/pm/mirko/SugarCubes">
<gresource prefix="/pm/mirko/FirstSetup">
<file>gtk/window.ui</file>
</gresource>
</gresources>

@ -1,6 +1,6 @@
#!@PYTHON@
# sugar-cubes.in
# vanilla-first-setup.in
#
# Copyright 2022 mirkobrombin
#
@ -28,16 +28,16 @@ localedir = '@localedir@'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('sugar_cubes', localedir)
locale.textdomain('sugar_cubes')
gettext.install('sugar_cubes', localedir)
locale.bindtextdomain('vanilla_first_setup', localedir)
locale.textdomain('vanilla_first_setup')
gettext.install('vanilla_first_setup', localedir)
if __name__ == '__main__':
import gi
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()
from sugar_cubes import main
from vanilla_first_setup import main
sys.exit(main.main(VERSION))

@ -14,17 +14,19 @@
# You should have received a copy of the GNU General Public License
# 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 sugar_cubes.models.config import Config
from sugar_cubes.utils.processor import Processor
from sugar_cubes.utils.run_async import RunAsync
from vanilla_first_setup.models.preset import Preset
from vanilla_first_setup.models.config import Config
from vanilla_first_setup.utils.processor import Processor
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')
class SugarCubesWindow(Adw.ApplicationWindow):
__gtype_name__ = 'SugarCubesWindow'
@Gtk.Template(resource_path='/pm/mirko/FirstSetup/gtk/window.ui')
class FirstSetupWindow(Adw.ApplicationWindow):
__gtype_name__ = 'FirstSetupWindow'
carousel = Gtk.Template.Child()
btn_start = Gtk.Template.Child()
@ -34,11 +36,12 @@ class SugarCubesWindow(Adw.ApplicationWindow):
switch_flatpak = Gtk.Template.Child()
switch_apport = Gtk.Template.Child()
switch_distrobox = Gtk.Template.Child()
spinner = Gtk.Template.Child()
status_welcome = Gtk.Template.Child()
page_welcome = -1
page_configuration = 0
page_progress = 1
page_done = 2
spinner = Gtk.Template.Child()
def __init__(self, **kwargs):
super().__init__(**kwargs)
@ -50,6 +53,7 @@ class SugarCubesWindow(Adw.ApplicationWindow):
)
self.__buiild_ui()
self.__connect_signals()
self.__start_welcome_animation()
def __buiild_ui(self):
self.switch_snap.set_active(Preset.snap)
@ -100,3 +104,11 @@ class SugarCubesWindow(Adw.ApplicationWindow):
def on_btn_close_clicked(self, widget):
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