diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..b097f9c
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,58 @@
+name: CI
+
+on:
+ pull_request:
+ types:
+ - opened
+ - reopened
+ - synchronize
+
+jobs:
+ flatpak:
+ name: Flatpak
+ runs-on: ubuntu-latest
+
+ strategy:
+ matrix:
+ arch: [x86_64, aarch64]
+ # Don't fail the whole workflow if one architecture fails
+ fail-fast: false
+
+ container:
+ image: ghcr.io/elementary/flatpak-platform/runtime:6-${{ matrix.arch }}
+ options: --privileged
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Set up QEMU for aarch64 emulation
+ if: ${{ matrix.arch != 'x86_64' }}
+ uses: docker/setup-qemu-action@v1
+ with:
+ platforms: arm64
+
+ - name: Build
+ uses: bilelmoussaoui/flatpak-github-actions/flatpak-builder@v4
+ with:
+ bundle: com.github.manexim.home.flatpak
+ manifest-path: com.github.manexim.home.yml
+ run-tests: true
+ repository-name: appcenter
+ repository-url: https://flatpak.elementary.io/repo.flatpakrepo
+ cache-key: "flatpak-builder-${{ github.sha }}"
+ arch: ${{ matrix.arch }}
+
+ lint:
+ name: Lint
+ runs-on: ubuntu-latest
+
+ container:
+ image: valalang/lint
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+
+ - name: Lint
+ run: io.elementary.vala-lint -d .
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
deleted file mode 100644
index f617616..0000000
--- a/.github/workflows/main.yml
+++ /dev/null
@@ -1,16 +0,0 @@
-name: CI
-
-on: [push, pull_request]
-
-jobs:
- lint:
-
- runs-on: ubuntu-latest
-
- container:
- image: valalang/lint
-
- steps:
- - uses: actions/checkout@v1
- - name: Lint
- run: io.elementary.vala-lint -d .
diff --git a/.gitignore b/.gitignore
index 701cc25..8f00186 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,7 @@
*~
-build/
-src/Application
+build
+build-dir
+.flatpak-builder
+repo/
+*.flatpak
+subprojects/flux/
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 0151138..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,24 +0,0 @@
----
-
-language: node_js
-
-node_js:
- - 10.17.0
-
-sudo: required
-
-services:
- - docker
-
-addons:
- apt:
- sources:
- - ubuntu-toolchain-r-test
- packages:
- - libstdc++-5-dev
-
-install:
- - npm i -g @elementaryos/houston
-
-script:
- - houston ci
diff --git a/.vscode/tasks.json b/.vscode/tasks.json
new file mode 100644
index 0000000..57738a0
--- /dev/null
+++ b/.vscode/tasks.json
@@ -0,0 +1,17 @@
+{
+ // See https://go.microsoft.com/fwlink/?LinkId=733558
+ // for the documentation about the tasks.json format
+ "version": "2.0.0",
+ "tasks": [
+ {
+ "label": "Build & Run",
+ "type": "shell",
+ "command": "./app build && ./app install && ./app run",
+ "problemMatcher": [],
+ "group": {
+ "kind": "build",
+ "isDefault": true
+ }
+ }
+ ]
+}
diff --git a/README.md b/README.md
index c3ff94c..ff71115 100644
--- a/README.md
+++ b/README.md
@@ -12,8 +12,8 @@
-
-
+
+
@@ -73,6 +73,7 @@ These dependencies must be present before building:
- `meson (>=0.40)`
- `valac (>=0.40)`
- `libgtk-3-dev`
+ - `libhandy-1-dev` >=1.0.0
- `libjson-glib-dev`
- `libgee-0.8-dev`
- `libgranite-dev`
diff --git a/app b/app
new file mode 100755
index 0000000..ca31bff
--- /dev/null
+++ b/app
@@ -0,0 +1,19 @@
+#!/bin/bash
+
+# fail on first error
+set -e
+
+APP=com.github.manexim.home
+
+case "$1" in
+ build)
+ flatpak-builder --repo=repo build ${APP}.yml --force-clean
+ flatpak build-bundle repo ${APP}.flatpak --runtime-repo=https://flatpak.elementary.io/repo.flatpakrepo ${APP} master
+ ;;
+ install)
+ flatpak install --user -y ${APP}.flatpak
+ ;;
+ run)
+ flatpak run ${APP}
+ ;;
+esac
diff --git a/com.github.manexim.home.yml b/com.github.manexim.home.yml
new file mode 100644
index 0000000..8fe9c2f
--- /dev/null
+++ b/com.github.manexim.home.yml
@@ -0,0 +1,19 @@
+app-id: com.github.manexim.home
+runtime: io.elementary.Platform
+runtime-version: '6'
+sdk: io.elementary.Sdk
+command: com.github.manexim.home
+finish-args:
+ - '--share=ipc'
+ - '--share=network'
+ - '--socket=fallback-x11'
+ - '--socket=wayland'
+
+ # needed for perfers-color-scheme
+ - '--system-talk-name=org.freedesktop.Accounts'
+modules:
+ - name: home
+ buildsystem: meson
+ sources:
+ - type: dir
+ path: .
diff --git a/data/com.github.manexim.home.appdata.xml.in b/data/com.github.manexim.home.appdata.xml.in
index d60b07a..9bf79b0 100644
--- a/data/com.github.manexim.home.appdata.xml.in
+++ b/data/com.github.manexim.home.appdata.xml.in
@@ -208,10 +208,11 @@
https://github.com/manexim/home/issues
- #fafafa
- #333
+ #802392
+ #fafafa
5
+ pk_live_FiCVZObTHO7IaLtSXRETuJiJ00aW6Su9kN
none
diff --git a/data/icons/symbolic/com.github.manexim.home.logo.lifx-symbolic.svg b/data/icons/symbolic/com.github.manexim.home.logo.lifx-symbolic.svg
index fa58df4..040c3fe 100644
--- a/data/icons/symbolic/com.github.manexim.home.logo.lifx-symbolic.svg
+++ b/data/icons/symbolic/com.github.manexim.home.logo.lifx-symbolic.svg
@@ -2,124 +2,54 @@