Commit 9fad8533 authored by Roman Alifanov's avatar Roman Alifanov

initial commit

parents
.idea
# vscode
.vscode
# .po
*.mo
*.pot
# flatpak
.flatpak
# meson
_build
This diff is collapsed. Click to expand it.
# tuneit
A description of this project.
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><g color="#000" fill="#2e3436"><path d="M7.188 2.281c-.094.056-.192.125-.29.19L5.566 3.803a1.684 1.684 0 11-2.17 2.17L2.332 7.037c.506-.069 1.017-.136 1.2.026.242.214.139 1.031.155 1.656.213.088.427.171.657.219.04.008.085-.007.125 0 .337-.525.683-1.288 1-1.344.322-.057.905.562 1.406.937a3.67 3.67 0 00.656-.468c-.195-.595-.594-1.369-.437-1.657.158-.29 1.019-.37 1.625-.531.028-.183.062-.371.062-.562 0-.075-.027-.146-.031-.22-.587-.217-1.435-.385-1.562-.687-.128-.302.34-1.021.593-1.593a3.722 3.722 0 00-.593-.532zm3.875 3.25c-.165.475-.305 1.086-.47 1.563-.43.047-.84.14-1.218.312-.38-.322-.787-.773-1.156-1.093a5.562 5.562 0 00-.688.468c.177.46.453 1.001.625 1.469-.298.309-.531.67-.719 1.063-.494 0-1.102-.084-1.593-.094a5.68 5.68 0 00-.219.812c.435.24 1.006.468 1.438.72-.006.093-.032.185-.032.28 0 .333.049.66.125.97-.382.304-.898.63-1.28.937.015.044.04.083.058.127l.613.613c.417-.1.868-.223 1.266-.303.248.343.532.626.875.875-.027.135-.068.283-.104.428.174-.063.34-.155.482-.297l1.432-1.432a1.994 1.994 0 01.533-3.918c.919 0 1.684.623 1.918 1.467l1.338-1.338c.06-.06.11-.124.156-.191-.035-.062-.06-.13-.1-.188.096-.152.205-.31.315-.47.017-.348-.1-.7-.37-.971l-.177-.176c-.28.192-.561.387-.83.555-.345-.233-.746-.383-1.156-.5-.077-.507-.107-1.132-.187-1.625a5.44 5.44 0 00-.875-.063zm-9.247.608c-.087.068-.173.138-.254.205l.014.035z" style="marker:none" overflow="visible"/><path d="M8.707.293a1 1 0 00-1.415 0l-6.999 7a1 1 0 000 1.413l7 7.001a1 1 0 001.415 0l7-7a1 1 0 000-1.413zm-.708 2.121l5.587 5.587L8 13.586 2.414 7.999z" style="line-height:normal;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000;text-transform:none;text-orientation:mixed;shape-padding:0;isolation:auto;mix-blend-mode:normal;marker:none" font-weight="400" font-family="sans-serif" overflow="visible"/></g></svg>
\ No newline at end of file
application_id = 'ru.ximperlinux.TuteIt'
scalable_dir = 'hicolor' / 'scalable' / 'apps'
install_data(
scalable_dir / ('@0@.svg').format(application_id),
install_dir: get_option('datadir') / 'icons' / scalable_dir
)
symbolic_dir = 'hicolor' / 'symbolic' / 'apps'
install_data(
symbolic_dir / ('@0@-symbolic.svg').format(application_id),
install_dir: get_option('datadir') / 'icons' / symbolic_dir
)
desktop_file = i18n.merge_file(
input: 'ru.ximperlinux.TuteIt.desktop.in',
output: 'ru.ximperlinux.TuteIt.desktop',
type: 'desktop',
po_dir: '../po',
install: true,
install_dir: get_option('datadir') / 'applications'
)
desktop_utils = find_program('desktop-file-validate', required: false)
if desktop_utils.found()
test('Validate desktop file', desktop_utils, args: [desktop_file])
endif
appstream_file = i18n.merge_file(
input: 'ru.ximperlinux.TuteIt.metainfo.xml.in',
output: 'ru.ximperlinux.TuteIt.metainfo.xml',
po_dir: '../po',
install: true,
install_dir: get_option('datadir') / 'metainfo'
)
appstreamcli = find_program('appstreamcli', required: false, disabler: true)
test('Validate appstream file', appstreamcli,
args: ['validate', '--no-net', '--explain', appstream_file])
install_data('ru.ximperlinux.TuteIt.gschema.xml',
install_dir: get_option('datadir') / 'glib-2.0' / 'schemas'
)
compile_schemas = find_program('glib-compile-schemas', required: false, disabler: true)
test('Validate schema file',
compile_schemas,
args: ['--strict', '--dry-run', meson.current_source_dir()])
service_conf = configuration_data()
service_conf.set('bindir', get_option('prefix') / get_option('bindir'))
configure_file(
input: 'ru.ximperlinux.TuteIt.service.in',
output: 'ru.ximperlinux.TuteIt.service',
configuration: service_conf,
install_dir: get_option('datadir') / 'dbus-1' / 'services'
)
subdir('icons')
[Desktop Entry]
Name=tuneit
Exec=tuneit
Icon=ru.ximperlinux.TuteIt
Terminal=false
Type=Application
Categories=Utility;
Keywords=GTK;
StartupNotify=true
DBusActivatable=true
<?xml version="1.0" encoding="UTF-8"?>
<schemalist gettext-domain="tuneit">
<schema id="ru.ximperlinux.TuteIt" path="/ru/ximperlinux/TuteIt/">
</schema>
</schemalist>
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop-application">
<id>ru.ximperlinux.TuteIt</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0-or-later</project_license>
<name>TuneIt</name>
<summary>Keep the summary shorter, between 10 and 35 characters</summary>
<description>
<p>No description</p>
</description>
<developer id="tld.vendor">
<name>Developer name</name>
</developer>
<!-- Requered: Should be a link to the upstream homepage for the component -->
<url type="homepage">https://example.org/</url>
<!-- Recommended: It is highly recommended for open-source projects to display the source code repository -->
<url type="vcs-browser">https://example.org/repository</url>
<!-- Should point to the software's bug tracking system, for users to report new bugs -->
<url type="bugtracker">https://example.org/issues</url>
<!-- Should link a FAQ page for this software, to answer some of the most-asked questions in detail -->
<!-- URLs of this type should point to a webpage where users can submit or modify translations of the upstream project -->
<url type="translate">https://example.org/translate</url>
<url type="faq">https://example.org/faq</url>
<!--Sould provide a web link to an online user's reference, a software manual or help page -->
<url type="help">https://example.org/help</url>
<!-- URLs of this type should point to a webpage showing information on how to donate to the described software project -->
<url type="donation">https://example.org/donate</url>
<!--This could for example be an HTTPS URL to an online form or a page describing how to contact the developer -->
<url type="contact">https://example.org/contact</url>
<!--URLs of this type should point to a webpage showing information on how to contribute to the described software project -->
<url type="contribute">https://example.org/contribute</url>
<translation type="gettext">tuneit</translation>
<!-- All graphical applications having a desktop file must have this tag in the MetaInfo.
If this is present, appstreamcli compose will pull icons, keywords and categories from the desktop file. -->
<launchable type="desktop-id">ru.ximperlinux.TuteIt.desktop</launchable>
<!-- Use the OARS website (https://hughsie.github.io/oars/generate.html) to generate these and make sure to use oars-1.1 -->
<content_rating type="oars-1.1" />
<!-- Applications should set a brand color in both light and dark variants like so -->
<branding>
<color type="primary" scheme_preference="light">#ff00ff</color>
<color type="primary" scheme_preference="dark">#993d3d</color>
</branding>
<screenshots>
<screenshot type="default">
<image>https://example.org/example1.png</image>
<caption>A caption</caption>
</screenshot>
<screenshot>
<image>https://example.org/example2.png</image>
<caption>A caption</caption>
</screenshot>
</screenshots>
<releases>
<release version="1.0.1" date="2024-01-18">
<url type="details">https://example.org/changelog.html#version_1.0.1</url>
<description translate="no">
<p>Release description</p>
<ul>
<li>List of changes</li>
<li>List of changes</li>
</ul>
</description>
</release>
</releases>
</component>
[D-BUS Service]
Name=ru.ximperlinux.TuteIt
Exec=@bindir@/tuneit --gapplication-service
project('ximper-tuneit',
version: '0.1.0',
meson_version: '>= 1.0.0',
default_options: [ 'warning_level=2', 'werror=false', ],
)
i18n = import('i18n')
gnome = import('gnome')
subdir('data')
subdir('src')
subdir('po')
subdir('modules')
gnome.post_install(
glib_compile_schemas: true,
gtk_update_icon_cache: true,
update_desktop_database: true,
)
- name: "Some GNOME settings"
weight: 30
sections:
- name: Themes
type: classic
weight: 0
settings:
- name: IconTheme
type: entry
gtype: string
backend: gsettings
key: org.gnome.desktop.interface.icon-theme
- name: Style
type: boolean
gtype: boolean
help: Prefer dark or light for Adwaita applications
backend: gsettings
key: org.gnome.desktop.interface.cursor-blink
default: "default"
map:
Default: default
Light: prefer-light
Dark: prefer-dark
- name: Clock
weight: 10
settings:
- name: Weekday
type: boolean
gtype: boolean
backend: gsettings
key: org.gnome.desktop.interface.clock-show-weekday
- name: Date
type: boolean
gtype: boolean
backend: gsettings
key: org.gnome.desktop.interface.clock-show-date
- name: Seconds
type: boolean
gtype: boolean
backend: gsettings
key: org.gnome.desktop.interface.clock-show-seconds
- name: Battery
weight: 10
settings:
- name: Show percentage
type: boolean
gtype: boolean
backend: gsettings
key: org.gnome.desktop.interface.show-battery-percentage
- name: Performance
weight: 20
settings:
- name: Animations
help: Animations can be disabled for performance
type: boolean
gtype: boolean
backend: gsettings
key: org.gnome.desktop.interface.enable-animations
pluginsdir = pkgdatadir / 'modules'
plugins = [
'exampleplug.yml',
]
install_data(plugins, install_dir: pluginsdir)
# Please keep this file sorted alphabetically.
# List of source files containing translatable strings.
# Please keep this file sorted alphabetically.
data/ru.ximperlinux.TuteIt.desktop.in
data/ru.ximperlinux.TuteIt.metainfo.xml.in
data/ru.ximperlinux.TuteIt.gschema.xml
src/main.py
src/window.py
src/window.ui
i18n.gettext('tuneit', preset: 'glib')
{
"id" : "ru.ximperlinux.TuteIt",
"runtime" : "org.gnome.Platform",
"runtime-version" : "47",
"sdk" : "org.gnome.Sdk",
"command" : "tuneit",
"finish-args" : [
"--share=network",
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland"
],
"cleanup" : [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"modules" : [
{
"name" : "tuneit",
"builddir" : true,
"buildsystem" : "meson",
"sources" : [
{
"type" : "git",
"url" : "file:///home/ximper/Документы/testapp"
}
]
}
]
}
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<object class="GtkShortcutsWindow" id="help_overlay">
<property name="modal">True</property>
<child>
<object class="GtkShortcutsSection">
<property name="section-name">shortcuts</property>
<property name="max-height">10</property>
<child>
<object class="GtkShortcutsGroup">
<property name="title" translatable="yes" context="shortcut window">General</property>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Show Shortcuts</property>
<property name="action-name">win.show-help-overlay</property>
</object>
</child>
<child>
<object class="GtkShortcutsShortcut">
<property name="title" translatable="yes" context="shortcut window">Quit</property>
<property name="action-name">app.quit</property>
</object>
</child>
</object>
</child>
</object>
</child>
</object>
</interface>
# main.py
#
# Copyright 2024 Etersoft
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
import sys
import gi
gi.require_version('Gtk', '4.0')
gi.require_version('Adw', '1')
from gi.repository import Gtk, Gio, Adw
from .window import TuneitWindow
class TuneitApplication(Adw.Application):
"""The main application singleton class."""
def __init__(self):
super().__init__(application_id='ru.ximperlinux.TuteIt',
flags=Gio.ApplicationFlags.DEFAULT_FLAGS)
self.create_action('quit', lambda *_: self.quit(), ['<primary>q'])
self.create_action('about', self.on_about_action)
self.create_action('preferences', self.on_preferences_action)
def do_activate(self):
"""Called when the application is activated.
We raise the application's main window, creating it if
necessary.
"""
win = self.props.active_window
if not win:
win = TuneitWindow(application=self)
win.present()
def on_about_action(self, *args):
"""Callback for the app.about action."""
about = Adw.AboutDialog(application_name='tuneit',
application_icon='ru.ximperlinux.TuteIt',
developer_name='Etersoft',
version='0.1.0',
developers=['Ximper'],
copyright='© 2024 Etersoft')
# Translators: Replace "translator-credits" with your name/username, and optionally an email or URL.
about.set_translator_credits(_('translator-credits'))
about.present(self.props.active_window)
def on_preferences_action(self, widget, _):
"""Callback for the app.preferences action."""
print('app.preferences action activated')
def create_action(self, name, callback, shortcuts=None):
"""Add an application action.
Args:
name: the name of the action
callback: the function to be called when the action is
activated
shortcuts: an optional list of accelerators
"""
action = Gio.SimpleAction.new(name, None)
action.connect("activate", callback)
self.add_action(action)
if shortcuts:
self.set_accels_for_action(f"app.{name}", shortcuts)
def main(version):
"""The application's entry point."""
app = TuneitApplication()
return app.run(sys.argv)
pkgdatadir = get_option('prefix') / get_option('datadir') / meson.project_name()
moduledir = pkgdatadir / 'tuneit'
gnome = import('gnome')
gnome.compile_resources('tuneit',
'tuneit.gresource.xml',
gresource_bundle: true,
install: true,
install_dir: pkgdatadir,
)
python = import('python')
conf = configuration_data()
conf.set('PYTHON', python.find_installation('python3').full_path())
conf.set('VERSION', meson.project_version())
conf.set('localedir', get_option('prefix') / get_option('localedir'))
conf.set('pkgdatadir', pkgdatadir)
configure_file(
input: 'tuneit.in',
output: 'ximper-tuneit',
configuration: conf,
install: true,
install_dir: get_option('bindir'),
install_mode: 'r-xr-xr-x'
)
tuneit_sources = [
'__init__.py',
'main.py',
'window.py',
]
install_data(tuneit_sources, install_dir: moduledir)
<?xml version="1.0" encoding="UTF-8"?>
<gresources>
<gresource prefix="/ru/ximperlinux/TuteIt">
<file preprocess="xml-stripblanks">window.ui</file>
<file preprocess="xml-stripblanks">gtk/help-overlay.ui</file>
</gresource>
</gresources>
#!@PYTHON@
# tuneit.in
#
# Copyright 2024 Unknown
#
# 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 <https://www.gnu.org/licenses/>.
#
# SPDX-License-Identifier: GPL-3.0-or-later
import os
import sys
import signal
import locale
import gettext
VERSION = '@VERSION@'
pkgdatadir = '@pkgdatadir@'
localedir = '@localedir@'
sys.path.insert(1, pkgdatadir)
signal.signal(signal.SIGINT, signal.SIG_DFL)
locale.bindtextdomain('tuneit', localedir)
locale.textdomain('tuneit')
gettext.install('tuneit', localedir)
if __name__ == '__main__':
import gi
from gi.repository import Gio
resource = Gio.Resource.load(os.path.join(pkgdatadir, 'tuneit.gresource'))
resource._register()
from tuneit import main
sys.exit(main.main(VERSION))
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE cambalache-project SYSTEM "cambalache-project.dtd">
<cambalache-project version="0.94.0" target_tk="gtk-4.0">
<ui>
(1,1,"window.ui","window..ui",None,None,None,None,None,None,None)
</ui>
<ui_library>
(1,"Adw","1.0",None),
(1,"gio","2.0",None),
(1,"gtk","4.0",None),
(1,"libadwaita","1.6",None)
</ui_library>
<object>
(1,1,"AdwApplicationWindow","TuneitWindow",None,None,None,None,0,None,None),
(1,2,"AdwToolbarView",None,1,None,None,None,0,None,None),
(1,3,"AdwHeaderBar",None,2,None,"top",None,0,None,None),
(1,4,"GtkMenuButton",None,3,None,"end",None,0,None,None),
(1,5,"AdwViewSwitcher",None,3,None,"title",None,1,None,None),
(1,6,"AdwViewStack","main_stack",2,None,None,None,1,None,None),
(1,7,"AdwViewStackPage",None,6,None,None,None,0,None,None),
(1,8,"GtkBox",None,7,None,None,None,0,None,None),
(1,9,"AdwNavigationSplitView",None,8,None,None,None,0,None,None),
(1,10,"AdwNavigationPage",None,9,None,None,None,0,None,None),
(1,11,"GtkStack","main_pagestack",10,None,None,None,0,None,None),
(1,12,"AdwNavigationPage",None,9,None,None,None,1,None,None),
(1,13,"AdwClampScrollable",None,12,None,None,None,0,None,None),
(1,14,"GtkStackSidebar",None,13,None,None,None,0,None,None),
(1,15,"(menu)","primary_menu",None,None,None,None,1,None,None),
(1,16,"(section)",None,15,None,None,None,0,None,None),
(1,17,"(item)",None,16,None,None,None,0,None,None),
(1,18,"(item)",None,16,None,None,None,1,None,None),
(1,19,"(item)",None,16,None,None,None,2,None,None)
</object>
<object_property>
(1,1,"AdwApplicationWindow","content",None,0,None,None,None,2,None,None,None,None),
(1,1,"GtkWindow","default-height","600",0,None,None,None,None,None,None,None,None),
(1,1,"GtkWindow","default-width","800",0,None,None,None,None,None,None,None,None),
(1,1,"GtkWindow","title","TuneIt",1,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","icon-name","open-menu-symbolic",0,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","menu-model","15",0,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","primary","True",0,None,None,None,None,None,None,None,None),
(1,4,"GtkWidget","tooltip-text","Main Menu",1,None,None,None,None,None,None,None,None),
(1,5,"AdwViewSwitcher","policy","wide",0,None,None,None,None,None,None,None,None),
(1,5,"AdwViewSwitcher","stack","6",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","child",None,0,None,None,None,8,None,None,None,None),
(1,7,"AdwViewStackPage","icon-name","preferences-system",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","name","main",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","title","main",0,None,None,None,None,None,None,None,None),
(1,9,"AdwNavigationSplitView","content",None,0,None,None,None,10,None,None,None,None),
(1,9,"AdwNavigationSplitView","sidebar",None,0,None,None,None,12,None,None,None,None),
(1,9,"GtkWidget","hexpand","True",0,None,None,None,None,None,None,None,None),
(1,10,"AdwNavigationPage","title","content page",None,None,None,None,None,None,None,None,None),
(1,12,"AdwNavigationPage","title","sidebar page",None,None,None,None,None,None,None,None,None),
(1,13,"GtkWidget","margin-bottom","8",0,None,None,None,None,None,None,None,None),
(1,13,"GtkWidget","margin-end","8",0,None,None,None,None,None,None,None,None),
(1,13,"GtkWidget","margin-start","8",0,None,None,None,None,None,None,None,None),
(1,13,"GtkWidget","margin-top","8",0,None,None,None,None,None,None,None,None),
(1,14,"GtkStackSidebar","stack","11",0,None,None,None,None,None,None,None,None),
(1,17,"(item)","action","app.preferences",0,None,None,None,None,None,None,None,None),
(1,17,"(item)","label","_Preferences",1,None,None,None,None,None,None,None,None),
(1,18,"(item)","action","win.show-help-overlay",0,None,None,None,None,None,None,None,None),
(1,18,"(item)","label","_Keyboard Shortcuts",1,None,None,None,None,None,None,None,None),
(1,19,"(item)","action","app.about",0,None,None,None,None,None,None,None,None),
(1,19,"(item)","label","_About TuneIt",1,None,None,None,None,None,None,None,None)
</object_property>
</cambalache-project>
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.94.1 -->
<interface>
<!-- interface-name window.ui -->
<requires lib="Adw" version="1.0"/>
<requires lib="gio" version="2.0"/>
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.6"/>
<template class="TuneitWindow" parent="AdwApplicationWindow">
<property name="content">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<child type="end">
<object class="GtkMenuButton">
<property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">primary_menu</property>
<property name="primary">True</property>
<property name="tooltip-text" translatable="yes">Main Menu</property>
</object>
</child>
<child type="title">
<object class="AdwViewSwitcher">
<property name="policy">wide</property>
<property name="stack">main_stack</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwViewStack" id="main_stack">
<child>
<object class="AdwViewStackPage">
<property name="child">
<object class="GtkBox">
<child>
<object class="AdwNavigationSplitView">
<property name="content">
<object class="AdwNavigationPage">
<property name="title">content page</property>
<child>
<object class="GtkStack" id="main_pagestack"/>
</child>
</object>
</property>
<property name="hexpand">True</property>
<property name="sidebar">
<object class="AdwNavigationPage">
<property name="title">sidebar page</property>
<child>
<object class="AdwClampScrollable">
<property name="margin-bottom">8</property>
<property name="margin-end">8</property>
<property name="margin-start">8</property>
<property name="margin-top">8</property>
<child>
<object class="GtkStackSidebar">
<property name="stack">main_pagestack</property>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</child>
</object>
</property>
<property name="icon-name">preferences-system</property>
<property name="name">main</property>
<property name="title">main</property>
</object>
</child>
</object>
</child>
</object>
</property>
<property name="default-height">600</property>
<property name="default-width">800</property>
<property name="title" translatable="yes">TuneIt</property>
</template>
<menu id="primary_menu">
<section>
<item>
<attribute name="action">app.preferences</attribute>
<attribute name="label" translatable="yes">_Preferences</attribute>
</item>
<item>
<attribute name="action">win.show-help-overlay</attribute>
<attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
</item>
<item>
<attribute name="action">app.about</attribute>
<attribute name="label" translatable="yes">_About TuneIt</attribute>
</item>
</section>
</menu>
</interface>
This diff is collapsed. Click to expand it.
<?xml version='1.0' encoding='UTF-8'?>
<!-- Created with Cambalache 0.94.1 -->
<interface>
<!-- interface-name window.ui -->
<requires lib="Adw" version="1.0"/>
<requires lib="gio" version="2.0"/>
<requires lib="gtk" version="4.0"/>
<requires lib="libadwaita" version="1.6"/>
<template class="TuneitWindow" parent="AdwApplicationWindow">
<property name="content">
<object class="AdwToolbarView">
<child type="top">
<object class="AdwHeaderBar">
<child type="end">
<object class="GtkMenuButton">
<property name="icon-name">open-menu-symbolic</property>
<property name="menu-model">primary_menu</property>
<property name="primary">True</property>
<property name="tooltip-text" translatable="yes">Main Menu</property>
</object>
</child>
<child type="title">
<object class="AdwViewSwitcher">
<property name="policy">wide</property>
<property name="stack">main_stack</property>
</object>
</child>
</object>
</child>
<child>
<object class="AdwViewStack" id="main_stack">
<child>
<object class="AdwViewStackPage">
<property name="child">
<object class="GtkBox">
<child>
<object class="AdwNavigationSplitView">
<property name="content">
<object class="AdwNavigationPage">
<child>
<object class="GtkStack" id="main_pagestack"/>
</child>
</object>
</property>
<property name="hexpand">True</property>
<property name="sidebar">
<object class="AdwNavigationPage">
<child>
<object class="AdwClampScrollable">
<property name="margin-bottom">8</property>
<property name="margin-end">8</property>
<property name="margin-start">8</property>
<property name="margin-top">8</property>
<child>
<object class="GtkStackSidebar">
<property name="stack">main_pagestack</property>
</object>
</child>
</object>
</child>
</object>
</property>
</object>
</child>
</object>
</property>
<property name="icon-name">preferences-system</property>
<property name="name">main</property>
<property name="title">main</property>
</object>
</child>
</object>
</child>
</object>
</property>
<property name="default-height">600</property>
<property name="default-width">800</property>
<property name="title" translatable="yes">TuneIt</property>
</template>
<menu id="primary_menu">
<section>
<item>
<attribute name="action">app.preferences</attribute>
<attribute name="label" translatable="yes">_Preferences</attribute>
</item>
<item>
<attribute name="action">win.show-help-overlay</attribute>
<attribute name="label" translatable="yes">_Keyboard Shortcuts</attribute>
</item>
<item>
<attribute name="action">app.about</attribute>
<attribute name="label" translatable="yes">_About TuneIt</attribute>
</item>
</section>
</menu>
</interface>
Name: ximper-tuneit
Version: 0.1.0
Release: alt1
License: GPLv3
Summary: A modular configuration tool
Group: System/Configuration/Other
Url: https://gitlab.eterfund.ru/ximperlinux/tuneit
BuildArch: noarch
Source: %name-%version.tar
AutoProv: no
BuildRequires(pre): rpm-macros-meson rpm-macros-systemd
BuildRequires(pre): rpm-build-python3
BuildRequires(pre): rpm-build-gir
BuildRequires: libadwaita-gir-devel
BuildRequires: meson
%add_python3_path %_datadir/%name
%description
A modular configuration tool
where each setting is defined in separate files for flexibility and extensibility.
%prep
%setup
%build
%meson
%meson_build
%install
%meson_install
%find_lang %name
%files -f %name.lang
%_bindir/%name
%_datadir/%name
%_datadir/glib-2.0/schemas/*.gschema.xml
%_datadir/metainfo/*.metainfo.xml
%_desktopdir/ru.ximperlinux.TuteIt.desktop
%_iconsdir/hicolor/*/apps/*.svg
%changelog
* Tue Dec 17 2024 Roman Alifanov <ximper@altlinux.org> 0.1.0-alt1
- initial build
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<!DOCTYPE cambalache-project SYSTEM "cambalache-project.dtd">
<cambalache-project version="0.94.0" target_tk="gtk-4.0">
<ui>
(1,1,"window.ui","tuneit_mokup.ui",None,None,None,None,None,None,None)
</ui>
<ui_library>
(1,"Adw","1.0",None),
(1,"gio","2.0",None),
(1,"gtk","4.0",None),
(1,"libadwaita","1.6",None)
</ui_library>
<object>
(1,1,"AdwApplicationWindow","TuneitWindow",None,None,None,None,0,None,None),
(1,2,"AdwToolbarView",None,1,None,None,None,0,None,None),
(1,3,"AdwHeaderBar",None,2,None,"top",None,0,None,None),
(1,4,"GtkMenuButton",None,3,None,"end",None,0,None,None),
(1,5,"AdwViewSwitcher",None,3,None,"title",None,1,None,None),
(1,6,"AdwViewStack","main_stack",2,None,None,None,1,None,None),
(1,7,"AdwViewStackPage",None,6,None,None,None,0,None,None),
(1,8,"GtkBox",None,7,None,None,None,0,None,None),
(1,9,"AdwNavigationSplitView",None,8,None,None,None,0,None,None),
(1,10,"AdwNavigationPage",None,9,None,None,None,0,None,None),
(1,11,"GtkStack","main_pagestack",10,None,None,None,0,None,None),
(1,12,"GtkStackPage",None,11,None,None,None,0,None,None),
(1,24,"GtkStackPage",None,11,None,None,None,1,None,None),
(1,25,"GtkLabel",None,24,None,None,None,0,None,None),
(1,26,"AdwNavigationPage",None,9,None,None,None,1,None,None),
(1,27,"AdwClampScrollable",None,26,None,None,None,0,None,None),
(1,28,"GtkStackSidebar",None,27,None,None,None,0,None,None),
(1,29,"AdwViewStackPage",None,6,None,None,None,1,None,None),
(1,30,"GtkLabel",None,29,None,None,None,0,None,None),
(1,31,"AdwBreakpoint",None,1,None,None,None,1,None,None),
(1,32,"(menu)","primary_menu",None,None,None,None,1,None,None),
(1,33,"(section)",None,32,None,None,None,0,None,None),
(1,34,"(item)",None,33,None,None,None,0,None,None),
(1,35,"(item)",None,33,None,None,None,1,None,None),
(1,36,"(item)",None,33,None,None,None,2,None,None),
(1,37,"AdwClampScrollable",None,12,None,None,None,0,None,None),
(1,38,"AdwPreferencesPage",None,37,None,None,None,0,None,None),
(1,39,"AdwPreferencesGroup",None,38,None,None,None,0,None,None),
(1,40,"AdwButtonRow",None,39,None,None,None,0,None,None),
(1,41,"AdwEntryRow",None,39,None,None,None,1,None,None),
(1,42,"AdwPasswordEntryRow",None,39,None,None,None,2,None,None),
(1,43,"AdwActionRow",None,39,None,None,None,3,None,None),
(1,44,"AdwSwitchRow",None,39,None,None,None,4,None,None),
(1,45,"GtkScale",None,39,None,None,None,5,None,None),
(1,46,"GtkAdjustment",None,45,None,None,None,0,None,None),
(1,47,"AdwPreferencesGroup",None,38,None,None,None,1,None,None),
(1,48,"AdwButtonRow",None,47,None,None,None,0,None,None),
(1,49,"AdwEntryRow",None,47,None,None,None,1,None,None),
(1,50,"AdwPasswordEntryRow",None,47,None,None,None,2,None,None),
(1,51,"AdwActionRow",None,47,None,None,None,3,None,None),
(1,52,"AdwSwitchRow",None,47,None,None,None,4,None,None),
(1,53,"GtkScale",None,47,None,None,None,5,None,None),
(1,54,"GtkAdjustment",None,53,None,None,None,0,None,None)
</object>
<object_property>
(1,1,"AdwApplicationWindow","content",None,0,None,None,None,2,None,None,None,None),
(1,1,"GtkWindow","default-height","600",0,None,None,None,None,None,None,None,None),
(1,1,"GtkWindow","default-width","800",0,None,None,None,None,None,None,None,None),
(1,1,"GtkWindow","title","TuneIt",1,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","icon-name","open-menu-symbolic",0,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","menu-model","32",0,None,None,None,None,None,None,None,None),
(1,4,"GtkMenuButton","primary","True",0,None,None,None,None,None,None,None,None),
(1,4,"GtkWidget","tooltip-text","Main Menu",1,None,None,None,None,None,None,None,None),
(1,5,"AdwViewSwitcher","policy","wide",0,None,None,None,None,None,None,None,None),
(1,5,"AdwViewSwitcher","stack","6",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","child",None,0,None,None,None,8,None,None,None,None),
(1,7,"AdwViewStackPage","icon-name","preferences-system",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","name","main",0,None,None,None,None,None,None,None,None),
(1,7,"AdwViewStackPage","title","main",0,None,None,None,None,None,None,None,None),
(1,9,"AdwNavigationSplitView","content",None,0,None,None,None,10,None,None,None,None),
(1,9,"AdwNavigationSplitView","sidebar",None,0,None,None,None,26,None,None,None,None),
(1,9,"GtkWidget","hexpand","True",None,None,None,None,None,None,None,None,None),
(1,12,"GtkStackPage","child",None,None,None,None,None,37,None,None,None,None),
(1,12,"GtkStackPage","title","Pref1",0,None,None,None,None,None,None,None,None),
(1,24,"GtkStackPage","child",None,0,None,None,None,25,None,None,None,None),
(1,24,"GtkStackPage","title","somepref2",0,None,None,None,None,None,None,None,None),
(1,25,"GtkLabel","label","Empty Page",0,None,None,None,None,None,None,None,None),
(1,27,"GtkWidget","margin-bottom","8",0,None,None,None,None,None,None,None,None),
(1,27,"GtkWidget","margin-end","8",0,None,None,None,None,None,None,None,None),
(1,27,"GtkWidget","margin-start","8",0,None,None,None,None,None,None,None,None),
(1,27,"GtkWidget","margin-top","8",0,None,None,None,None,None,None,None,None),
(1,28,"GtkStackSidebar","stack","11",0,None,None,None,None,None,None,None,None),
(1,29,"AdwViewStackPage","child",None,0,None,None,None,30,None,None,None,None),
(1,29,"AdwViewStackPage","icon-name","software-update-available-symbolic",0,None,None,None,None,None,None,None,None),
(1,29,"AdwViewStackPage","name","shop",0,None,None,None,None,None,None,None,None),
(1,29,"AdwViewStackPage","title","shop",0,None,None,None,None,None,None,None,None),
(1,30,"GtkLabel","label","Empty Page",0,None,None,None,None,None,None,None,None),
(1,34,"(item)","action","app.preferences",0,None,None,None,None,None,None,None,None),
(1,34,"(item)","label","_Preferences",1,None,None,None,None,None,None,None,None),
(1,35,"(item)","action","win.show-help-overlay",0,None,None,None,None,None,None,None,None),
(1,35,"(item)","label","_Keyboard Shortcuts",1,None,None,None,None,None,None,None,None),
(1,36,"(item)","action","app.about",0,None,None,None,None,None,None,None,None),
(1,36,"(item)","label","_About TuneIt",1,None,None,None,None,None,None,None,None),
(1,38,"AdwPreferencesPage","title","Pref_Page",0,None,None,None,None,None,None,None,None),
(1,39,"AdwPreferencesGroup","description","somedescription",0,None,None,None,None,None,None,None,None),
(1,39,"AdwPreferencesGroup","separate-rows","True",0,None,None,None,None,None,None,None,None),
(1,39,"AdwPreferencesGroup","title","Some separated prefgroup",0,None,None,None,None,None,None,None,None),
(1,40,"AdwPreferencesRow","title","ButtonRow",0,None,None,None,None,None,None,None,None),
(1,41,"AdwPreferencesRow","title","EntryRow",0,None,None,None,None,None,None,None,None),
(1,42,"AdwPreferencesRow","title","PasswordEntryRow",0,None,None,None,None,None,None,None,None),
(1,43,"AdwPreferencesRow","title","CheckboxRow",0,None,None,None,None,None,None,None,None),
(1,44,"AdwPreferencesRow","title","SwitchRow",0,None,None,None,None,None,None,None,None),
(1,45,"GtkRange","adjustment",None,0,None,None,None,46,None,None,None,None),
(1,45,"GtkScale","draw-value","True",0,None,None,None,None,None,None,None,None),
(1,46,"GtkAdjustment","upper","1.0",0,None,None,None,None,None,None,None,None),
(1,46,"GtkAdjustment","value","0.6",0,None,None,None,None,None,None,None,None),
(1,47,"AdwPreferencesGroup","description","somedescription",0,None,None,None,None,None,None,None,None),
(1,47,"AdwPreferencesGroup","separate-rows","True",0,None,None,None,None,None,None,None,None),
(1,47,"AdwPreferencesGroup","title","Some separated prefgroup",0,None,None,None,None,None,None,None,None),
(1,48,"AdwPreferencesRow","title","ButtonRow",0,None,None,None,None,None,None,None,None),
(1,49,"AdwPreferencesRow","title","EntryRow",0,None,None,None,None,None,None,None,None),
(1,50,"AdwPreferencesRow","title","PasswordEntryRow",0,None,None,None,None,None,None,None,None),
(1,51,"AdwPreferencesRow","title","CheckboxRow",0,None,None,None,None,None,None,None,None),
(1,52,"AdwPreferencesRow","title","SwitchRow",0,None,None,None,None,None,None,None,None),
(1,53,"GtkRange","adjustment",None,0,None,None,None,54,None,None,None,None),
(1,53,"GtkScale","draw-value","True",0,None,None,None,None,None,None,None,None),
(1,54,"GtkAdjustment","upper","1.0",0,None,None,None,None,None,None,None,None),
(1,54,"GtkAdjustment","value","0.6",0,None,None,None,None,None,None,None,None)
</object_property>
</cambalache-project>
This diff is collapsed. Click to expand it.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment