Compare commits

..

No commits in common. "8811c923f452cf852cb22175495617fcc7578db5" and "431b843e4a69301e9bbe12923940668e3e403a57" have entirely different histories.

7 changed files with 27 additions and 91 deletions

View File

@ -1,4 +1,4 @@
// swift-tools-version: 6.0 // swift-tools-version: 5.8
// The swift-tools-version declares the minimum version of Swift required to build this package. // The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription import PackageDescription
@ -9,24 +9,23 @@ let package = Package(
.macOS(.v13) .macOS(.v13)
], ],
dependencies: [ dependencies: [
.package(url: "https://git.aparoksha.dev/aparoksha/adwaita-swift", branch: "main"), .package(url: "https://github.com/AparokshaUI/Adwaita", from: "0.2.0"),
.package(url: "https://git.aparoksha.dev/aparoksha/localized", branch: "main") .package(url: "https://github.com/AparokshaUI/Localized", from: "0.2.0")
], ],
targets: [ targets: [
.executableTarget( .executableTarget(
name: "AdwaitaTemplate", name: "AdwaitaTemplate",
dependencies: [ dependencies: [
.product(name: "Adwaita", package: "adwaita-swift"), .product(name: "Adwaita", package: "Adwaita"),
.product(name: "Localized", package: "localized") .product(name: "Localized", package: "Localized")
], ],
path: "Sources", path: "Sources",
resources: [ resources: [
.process("Localized.yml") .process("Localized.yml")
], ],
plugins: [ plugins: [
.plugin(name: "GenerateLocalized", package: "localized") .plugin(name: "GenerateLocalized", package: "Localized")
] ]
) )
], ]
swiftLanguageModes: [.v5]
) )

View File

@ -3,7 +3,7 @@
<h1 align="center">Adwaita Template</h1> <h1 align="center">Adwaita Template</h1>
</p> </p>
_Adwaita Template_ is a template application for the [Adwaita for Swift package](https://adwaita-swift.aparoksha.dev/documentation/adwaita/). _Adwaita Template_ is a template application for the [Adwaita for Swift package](https://github.com/AparokshaUI/Adwaita/).
## Table of Contents ## Table of Contents
@ -27,7 +27,7 @@ For designing an app icon, [App Icon Preview](https://flathub.org/apps/org.gnome
1. Open this project in the GNOME Builder. It will start downloading the dependencies. 1. Open this project in the GNOME Builder. It will start downloading the dependencies.
- GNOME Builder will start downloading dependencies when opened. - GNOME Builder will start downloading dependencies when opened.
- For Visual Studio Code, enable the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers), the [Swift extension](https://marketplace.visualstudio.com/items?itemName=sswg.swift-lang) and the [CodeLLDB extension](https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb) and reopen the project window with the dev container. It may take a couple minutes to build. - For Visual Studio Code, enable the [Dev Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) and reopen the project window with the dev container. It may take a couple minutes to build.
2. Build and run the application. 2. Build and run the application.
- For GNOME Builder, use the "run" icon in the toolbar. - For GNOME Builder, use the "run" icon in the toolbar.
- For Visual Studio Code, select the "run and debug" tab in the leftmost sidebar, and then tap the run icon next to "Debug AdwaitaTemplate". - For Visual Studio Code, select the "run and debug" tab in the leftmost sidebar, and then tap the run icon next to "Debug AdwaitaTemplate".
@ -41,7 +41,7 @@ For designing an app icon, [App Icon Preview](https://flathub.org/apps/org.gnome
- `data/icons/io.github.AparokshaUI.AdwaitaTemplate.Source.svg` - `data/icons/io.github.AparokshaUI.AdwaitaTemplate.Source.svg`
- `data/icons/io.github.AparokshaUI.AdwaitaTemplate.svg` - `data/icons/io.github.AparokshaUI.AdwaitaTemplate.svg`
- `data/icons/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg` - `data/icons/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg`
4. Edit the code. Help is available [here](https://adwaita-swift.aparoksha.dev/), ask questions in the [forums](https://forums.aparoksha.dev/). 4. Edit the code. Help is available [here](https://david-swift.gitbook.io/adwaita/), ask questions in the [discussions](https://github.com/AparokshaUI/Adwaita/discussions/).
5. You can edit the app's icons using the previously installed tools according to [this](https://blogs.gnome.org/tbernard/2019/12/30/designing-an-icon-for-your-app/) tutorial. 5. You can edit the app's icons using the previously installed tools according to [this](https://blogs.gnome.org/tbernard/2019/12/30/designing-an-icon-for-your-app/) tutorial.
6. In GNOME Builder, click on the dropdown next to the hammer and then on `Export`. Wait until the file manager appears, open the `.flatpak` file and install the app on your device! 6. In GNOME Builder, click on the dropdown next to the hammer and then on `Export`. Wait until the file manager appears, open the `.flatpak` file and install the app on your device!
7. If you want to publish your app, replace `debug` in the following build commands by `release`: 7. If you want to publish your app, replace `debug` in the following build commands by `release`:
@ -58,5 +58,5 @@ you can use [this tool](https://github.com/flatpak/flatpak-builder-tools/tree/ma
## Thanks ## Thanks
### Dependencies ### Dependencies
- [Adwaita for Swift](https://git.aparoksha.dev/aparoksha/adwaita-swift) licensed under the [MIT License](https://git.aparoksha.dev/aparoksha/adwaita-swift/src/branch/main/LICENSE.md) - [Adwaita for Swift](https://github.com/AparokshaUI/Adwaita) licensed under the [MIT License](https://github.com/AparokshaUI/Adwaita/blob/main/LICENSE.md)
- [Localized](https://git.aparoksha.dev/aparoksha/localized) licensed under the [MIT License](https://git.aparoksha.dev/aparoksha/localized/src/branch/main/LICENSE.md) - [Localized](https://github.com/AparokshaUI/Localized) licensed under the [MIT License](https://github.com/AparokshaUI/Localized/blob/master/LICENSE.md)

View File

@ -6,7 +6,8 @@ import Adwaita
@main @main
struct AdwaitaTemplate: App { struct AdwaitaTemplate: App {
let app = AdwaitaApp(id: "io.github.AparokshaUI.AdwaitaTemplate") let id = "io.github.AparokshaUI.AdwaitaTemplate"
var app: GTUIApp!
var scene: Scene { var scene: Scene {
Window(id: "main") { window in Window(id: "main") { window in

View File

@ -12,9 +12,9 @@ closeWindow:
en: Close Window en: Close Window
de: Fenster schliessen de: Fenster schliessen
about: quit:
en: About AdwaitaTemplate en: Quit
de: Info zu AdwaitaTemplate de: Verlassen
mainMenu: mainMenu:
en: Main Menu en: Main Menu

View File

@ -2,13 +2,12 @@ import Adwaita
struct ToolbarView: View { struct ToolbarView: View {
@State private var about = false var app: GTUIApp
var app: AdwaitaApp var window: GTUIApplicationWindow
var window: AdwaitaWindow
var view: Body { var view: Body {
HeaderBar.end { HeaderBar.end {
Menu(icon: .default(icon: .openMenu)) { Menu(icon: .default(icon: .openMenu), app: app, window: window) {
MenuButton(Loc.newWindow, window: false) { MenuButton(Loc.newWindow, window: false) {
app.addWindow("main") app.addWindow("main")
} }
@ -18,22 +17,14 @@ struct ToolbarView: View {
} }
.keyboardShortcut("w".ctrl()) .keyboardShortcut("w".ctrl())
MenuSection { MenuSection {
MenuButton(Loc.about, window: false) { MenuButton(Loc.quit, window: false) {
about = true app.quit()
} }
.keyboardShortcut("q".ctrl())
} }
} }
.primary() .primary()
.tooltip(Loc.mainMenu) .tooltip(Loc.mainMenu)
.aboutDialog(
visible: $about,
app: "AdwaitaTemplate",
developer: "david-swift",
version: "dev",
icon: .custom(name: "io.github.AparokshaUI.AdwaitaTemplate"),
website: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template")!,
issues: .init(string: "https://git.aparoksha.dev/aparoksha/adwaita-template/issues")!
)
} }
} }

View File

@ -1,54 +0,0 @@
{
"app-id": "io.github.AparokshaUI.AdwaitaTemplate",
"runtime": "org.gnome.Platform",
"runtime-version": "46",
"sdk": "org.gnome.Sdk",
"sdk-extensions": [
"org.freedesktop.Sdk.Extension.swift5"
],
"command": "AdwaitaTemplate",
"finish-args": [
"--share=ipc",
"--socket=fallback-x11",
"--device=dri",
"--socket=wayland"
],
"build-options": {
"append-path": "/usr/lib/sdk/swift5/bin",
"prepend-ld-library-path": "/usr/lib/sdk/swift5/lib"
},
"cleanup": [
"/include",
"/lib/pkgconfig",
"/man",
"/share/doc",
"/share/gtk-doc",
"/share/man",
"/share/pkgconfig",
"*.la",
"*.a"
],
"modules": [
{
"name": "AdwaitaTemplate",
"builddir": true,
"buildsystem": "simple",
"sources": [
{
"type": "dir",
"path": "."
}
],
"build-commands": [
"./setup-offline.sh",
"swift build -c release --static-swift-stdlib --skip-update",
"strip .build/release/AdwaitaTemplate",
"install -Dm755 .build/release/AdwaitaTemplate /app/bin/AdwaitaTemplate",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml $DESTDIR/app/share/metainfo/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.desktop $DESTDIR/app/share/applications/io.github.AparokshaUI.AdwaitaTemplate.desktop",
"install -Dm644 data/icons/io.github.AparokshaUI.AdwaitaTemplate.svg $DESTDIR/app/share/icons/hicolor/scalable/apps/io.github.AparokshaUI.AdwaitaTemplate.svg",
"install -Dm644 data/icons/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg $DESTDIR/app/share/icons/hicolor/symbolic/apps/io.github.AparokshaUI.AdwaitaTemplate-symbolic.svg"
]
}
]
}

View File

@ -1,10 +1,10 @@
{ {
"app-id": "io.github.AparokshaUI.AdwaitaTemplate", "app-id": "io.github.AparokshaUI.AdwaitaTemplate",
"runtime": "org.gnome.Platform", "runtime": "org.gnome.Platform",
"runtime-version": "47", "runtime-version": "46",
"sdk": "org.gnome.Sdk", "sdk": "org.gnome.Sdk",
"sdk-extensions": [ "sdk-extensions": [
"org.freedesktop.Sdk.Extension.swift6" "org.freedesktop.Sdk.Extension.swift5"
], ],
"command": "AdwaitaTemplate", "command": "AdwaitaTemplate",
"finish-args": [ "finish-args": [
@ -14,8 +14,8 @@
"--socket=wayland" "--socket=wayland"
], ],
"build-options": { "build-options": {
"append-path": "/usr/lib/sdk/swift6/bin", "append-path": "/usr/lib/sdk/swift5/bin",
"prepend-ld-library-path": "/usr/lib/sdk/swift6/lib" "prepend-ld-library-path": "/usr/lib/sdk/swift5/lib"
}, },
"cleanup": [ "cleanup": [
"/include", "/include",
@ -41,7 +41,6 @@
], ],
"build-commands": [ "build-commands": [
"swift build -c debug --static-swift-stdlib", "swift build -c debug --static-swift-stdlib",
"strip .build/debug/AdwaitaTemplate",
"install -Dm755 .build/debug/AdwaitaTemplate /app/bin/AdwaitaTemplate", "install -Dm755 .build/debug/AdwaitaTemplate /app/bin/AdwaitaTemplate",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml $DESTDIR/app/share/metainfo/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml", "install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml $DESTDIR/app/share/metainfo/io.github.AparokshaUI.AdwaitaTemplate.metainfo.xml",
"install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.desktop $DESTDIR/app/share/applications/io.github.AparokshaUI.AdwaitaTemplate.desktop", "install -Dm644 data/io.github.AparokshaUI.AdwaitaTemplate.desktop $DESTDIR/app/share/applications/io.github.AparokshaUI.AdwaitaTemplate.desktop",