- Fprint is an application for enrolling fingerprints using the fprintd daemon. It allows you to register and delete fingerprints for authentication on your Linux system.
+ Enroll is an application for enrolling fingerprints using the fprintd daemon. It allows you to register and delete fingerprints for authentication on your Linux system.
diff --git a/src/app/fprint.rs b/src/app/fprint.rs
index ec6818a..a3e6512 100644
--- a/src/app/fprint.rs
+++ b/src/app/fprint.rs
@@ -23,7 +23,8 @@ pub async fn list_enrolled_fingers_dbus(
username: String,
) -> zbus::Result> {
validate_username(&username)?;
- device.list_enrolled_fingers(&username).await
+ let res = device.list_enrolled_fingers(&username).await
+
}
pub async fn delete_fingerprint_dbus(
From 9e594ade6337a44bd5a1a8a31e95205d690312da Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 10:36:45 +0200
Subject: [PATCH 04/10] Renamed the files to match
---
flatpak/org.cosmic-utils.Enroll.yml | 46 +++++++++++++++++++
...joonastuomi.Fprint.desktop => app.desktop} | 0
resources/org.cosmic-utils.Enroll.desktop | 11 +++++
...l => org.cosmic-utils.Enroll.metainfo.xml} | 0
4 files changed, 57 insertions(+)
create mode 100644 flatpak/org.cosmic-utils.Enroll.yml
rename resources/{fi.joonastuomi.Fprint.desktop => app.desktop} (100%)
create mode 100644 resources/org.cosmic-utils.Enroll.desktop
rename resources/{fi.joonastuomi.Fprint.metainfo.xml => org.cosmic-utils.Enroll.metainfo.xml} (100%)
diff --git a/flatpak/org.cosmic-utils.Enroll.yml b/flatpak/org.cosmic-utils.Enroll.yml
new file mode 100644
index 0000000..f03e761
--- /dev/null
+++ b/flatpak/org.cosmic-utils.Enroll.yml
@@ -0,0 +1,46 @@
+app-id: org.cosmic-utils.Enroll
+runtime: org.freedesktop.Platform
+runtime-version: '25.08'
+sdk: org.freedesktop.Sdk
+command: cosmic-utils-enroll
+finish-args:
+ - --socket=wayland
+ - --socket=fallback-x11
+ - --share=ipc
+ - --device=dri
+ - --socket=system-bus
+ # Allow talking to fprintd
+ - --talk-name=net.reactivated.Fprint
+ # Allow talking to PolicyKit for authentication
+ - --talk-name=org.freedesktop.PolicyKit1
+
+sdk-extensions:
+ - org.freedesktop.Sdk.Extension.rust-stable
+
+build-options:
+ append-path: /usr/lib/sdk/rust-stable/bin
+ build-args:
+ - --share=network
+
+modules:
+ - name: cosmic-utils-enroll
+ buildsystem: simple
+ build-commands:
+ # Build the application
+ - cargo build --release
+
+ # Install the binary
+ - install -Dm0755 target/release/cosmic-utils-enroll /app/bin/cosmic-ext-fprint
+
+ # Install the desktop file
+ - install -Dm0644 resources/org.cosmic-utils.Enroll.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop
+
+ # Install the AppStream metadata
+ - install -Dm0644 resources/org.cosmic-utils.Enroll.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml
+
+ # Install the icon
+ - install -Dm0644 resources/icons/hicolor/scalable/apps/icon.svg /app/share/icons/hicolor/scalable/apps/org.cosmic-utils.Enroll.svg
+
+ sources:
+ - type: dir
+ path: ..
diff --git a/resources/fi.joonastuomi.Fprint.desktop b/resources/app.desktop
similarity index 100%
rename from resources/fi.joonastuomi.Fprint.desktop
rename to resources/app.desktop
diff --git a/resources/org.cosmic-utils.Enroll.desktop b/resources/org.cosmic-utils.Enroll.desktop
new file mode 100644
index 0000000..228c0d6
--- /dev/null
+++ b/resources/org.cosmic-utils.Enroll.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Name=Enroll
+Comment=GUI for fprintd fingerprint enrolling
+Type=Application
+Icon=org.cosmic-utils.Enroll
+Exec=cosmic-utils-enroll %F
+Terminal=false
+StartupNotify=true
+Categories=Utility;System;
+Keywords=Fingerprint;Security;
+MimeType=
diff --git a/resources/fi.joonastuomi.Fprint.metainfo.xml b/resources/org.cosmic-utils.Enroll.metainfo.xml
similarity index 100%
rename from resources/fi.joonastuomi.Fprint.metainfo.xml
rename to resources/org.cosmic-utils.Enroll.metainfo.xml
From 7afb8be555757c596dff45888cac5e76800e3072 Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 10:46:13 +0200
Subject: [PATCH 05/10] Refactored README to be user focused and added
CONTRIBUTING.md for more developer focused stuff
---
CONTRIBUTING.md | 21 +++++++++++++++++++++
README.md | 50 +++++--------------------------------------------
2 files changed, 26 insertions(+), 45 deletions(-)
create mode 100644 CONTRIBUTING.md
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..7007802
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,21 @@
+## Translators
+
+[Fluent][fluent] is used for localization of the software. Fluent's translation files are found in the [i18n directory](./i18n). New translations may copy the [English (en) localization](./i18n/en) of the project, rename `en` to the desired [ISO 639-1 language code][iso-codes], and then translations can be provided for each [message identifier][fluent-guide]. If no translation is necessary, the message may be omitted.
+
+## Packaging
+
+### Apt
+
+If packaging for a Linux distribution, vendor dependencies locally with the `vendor` rule, and build with the vendored sources using the `build-vendored` rule. When installing files, use the `rootdir` and `prefix` variables to change installation paths.
+
+```sh
+just vendor
+just build-vendored
+just rootdir=debian/cosmic-utils-enroll prefix=/usr install
+```
+
+It is recommended to build a source tarball with the vendored dependencies, which can typically be done by running `just vendor` on the host system before it enters the build environment.
+
+### Flatpak
+
+Every build generates a .flatpak artifact.
\ No newline at end of file
diff --git a/README.md b/README.md
index ffab795..07c6501 100644
--- a/README.md
+++ b/README.md
@@ -16,58 +16,18 @@ Choose which finger to register or delete by a tab. Change user from a menu (def
- [x] Improve feedback given to user. Currently prints what daemon returns.
- [x] Add a user dropdown to make it possible for admin to register for other users.
-- [ ] Get project into cosmic-utils.
+- [x] Get project into cosmic-utils.
- [x] Package & distribute, most likely as a flatpak, but maybe as a deb package also.
- [ ] Sherlock the application by adding all functionality directly into cosmic-settings.
## Installation
-A [justfile](./justfile) is included by default for the [casey/just][just] command runner.
+Download the .flatpak from latest release or build;
+
+
+[justfile](./justfile) is included by default for the [casey/just][just] command runner.
- `just` builds the application with the default `just build-release` recipe
- `just run` builds and runs the application
- `just install` installs the project into the system
-- `just vendor` creates a vendored tarball
-- `just build-vendored` compiles with vendored dependencies from that tarball
-- `just check` runs clippy on the project to check for linter warnings
-- `just check-json` can be used by IDEs that support LSP
-
-## Translators
-
-[Fluent][fluent] is used for localization of the software. Fluent's translation files are found in the [i18n directory](./i18n). New translations may copy the [English (en) localization](./i18n/en) of the project, rename `en` to the desired [ISO 639-1 language code][iso-codes], and then translations can be provided for each [message identifier][fluent-guide]. If no translation is necessary, the message may be omitted.
-
-## Packaging
-
-If packaging for a Linux distribution, vendor dependencies locally with the `vendor` rule, and build with the vendored sources using the `build-vendored` rule. When installing files, use the `rootdir` and `prefix` variables to change installation paths.
-
-```sh
-just vendor
-just build-vendored
-just rootdir=debian/cosmic-utils-enroll prefix=/usr install
-```
-
-It is recommended to build a source tarball with the vendored dependencies, which can typically be done by running `just vendor` on the host system before it enters the build environment.
-
-### Flatpak
-
-A Flatpak manifest is included in the `flatpak` directory. To build and install the Flatpak:
-
-```sh
-flatpak-builder --user --install --force-clean build flatpak/org.cosmic-utils.Enroll.yml
-```
-
-Note: The included manifest uses network access during build to fetch dependencies. For strict offline builds, you should generate a `cargo-sources.json` file using `flatpak-builder-tools`.
-
-## Developers
-
-Developers should install [rustup][rustup] and configure their editor to use [rust-analyzer][rust-analyzer]. To improve compilation times, disable LTO in the release profile, install the [mold][mold] linker, and configure [sccache][sccache] for use with Rust. The [mold][mold] linker will only improve link times if LTO is disabled.
-
-[fluent]: https://projectfluent.org/
-[fluent-guide]: https://projectfluent.org/fluent/guide/hello.html
-[iso-codes]: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
-[just]: https://github.com/casey/just
-[rustup]: https://rustup.rs/
-[rust-analyzer]: https://rust-analyzer.github.io/
-[mold]: https://github.com/rui314/mold
-[sccache]: https://github.com/mozilla/sccache
From e431e4ce2fc75576e87c02ec084d4ab06f9728d1 Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 10:52:28 +0200
Subject: [PATCH 06/10] Added request about opening PR's
---
CONTRIBUTING.md | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7007802..7cd103b 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,3 +1,9 @@
+## Pull requests
+
+Expensive CI is run against every commit to main. That is why I ask you to open pull requests against the versioned branch that is most appropriate. Which at the time of writing is the only branch with version number.
+
+However if you are committing just translations and do those through GitHub or any other reason found yourself opening PR against main then no worries. I will edit it to target the correct release.
+
## Translators
[Fluent][fluent] is used for localization of the software. Fluent's translation files are found in the [i18n directory](./i18n). New translations may copy the [English (en) localization](./i18n/en) of the project, rename `en` to the desired [ISO 639-1 language code][iso-codes], and then translations can be provided for each [message identifier][fluent-guide]. If no translation is necessary, the message may be omitted.
From 4c671549db7376d7613ce29125892dd775cc69d7 Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 10:57:10 +0200
Subject: [PATCH 07/10] Rolled back a change accidentally commited
---
src/app/fprint.rs | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/app/fprint.rs b/src/app/fprint.rs
index a3e6512..ec6818a 100644
--- a/src/app/fprint.rs
+++ b/src/app/fprint.rs
@@ -23,8 +23,7 @@ pub async fn list_enrolled_fingers_dbus(
username: String,
) -> zbus::Result> {
validate_username(&username)?;
- let res = device.list_enrolled_fingers(&username).await
-
+ device.list_enrolled_fingers(&username).await
}
pub async fn delete_fingerprint_dbus(
From 2b462a608c8a861c67142937bcc3f6d7bf90fd82 Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 11:04:58 +0200
Subject: [PATCH 08/10] cosmic-utils to cosmic_utils
---
.github/workflows/flatpak.yml | 2 +-
...osmic-utils.Enroll.yml => org.cosmic_utils.Enroll.yml} | 8 ++++----
justfile | 2 +-
resources/app.desktop | 2 +-
...ils.Enroll.desktop => org.cosmic_utils.Enroll.desktop} | 2 +-
....metainfo.xml => org.cosmic_utils.Enroll.metainfo.xml} | 6 +++---
src/app/mod.rs | 2 +-
7 files changed, 12 insertions(+), 12 deletions(-)
rename flatpak/{org.cosmic-utils.Enroll.yml => org.cosmic_utils.Enroll.yml} (83%)
rename resources/{org.cosmic-utils.Enroll.desktop => org.cosmic_utils.Enroll.desktop} (88%)
rename resources/{org.cosmic-utils.Enroll.metainfo.xml => org.cosmic_utils.Enroll.metainfo.xml} (90%)
diff --git a/.github/workflows/flatpak.yml b/.github/workflows/flatpak.yml
index 24a4c09..df8e529 100644
--- a/.github/workflows/flatpak.yml
+++ b/.github/workflows/flatpak.yml
@@ -24,7 +24,7 @@ jobs:
uses: flatpak/flatpak-github-actions/flatpak-builder@v6
with:
bundle: cosmic-utils-enroll.flatpak
- manifest-path: flatpak/org.cosmic-utils.Enroll.yml
+ manifest-path: flatpak/org.cosmic_utils.Enroll.yml
cache-key: flatpak-builder-${{ github.sha }}
- name: Get version
diff --git a/flatpak/org.cosmic-utils.Enroll.yml b/flatpak/org.cosmic_utils.Enroll.yml
similarity index 83%
rename from flatpak/org.cosmic-utils.Enroll.yml
rename to flatpak/org.cosmic_utils.Enroll.yml
index f03e761..0b5f78a 100644
--- a/flatpak/org.cosmic-utils.Enroll.yml
+++ b/flatpak/org.cosmic_utils.Enroll.yml
@@ -1,4 +1,4 @@
-app-id: org.cosmic-utils.Enroll
+app-id: org.cosmic_utils.Enroll
runtime: org.freedesktop.Platform
runtime-version: '25.08'
sdk: org.freedesktop.Sdk
@@ -33,13 +33,13 @@ modules:
- install -Dm0755 target/release/cosmic-utils-enroll /app/bin/cosmic-ext-fprint
# Install the desktop file
- - install -Dm0644 resources/org.cosmic-utils.Enroll.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop
+ - install -Dm0644 resources/org.cosmic_utils.Enroll.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop
# Install the AppStream metadata
- - install -Dm0644 resources/org.cosmic-utils.Enroll.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml
+ - install -Dm0644 resources/org.cosmic_utils.Enroll.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml
# Install the icon
- - install -Dm0644 resources/icons/hicolor/scalable/apps/icon.svg /app/share/icons/hicolor/scalable/apps/org.cosmic-utils.Enroll.svg
+ - install -Dm0644 resources/icons/hicolor/scalable/apps/icon.svg /app/share/icons/hicolor/scalable/apps/org.cosmic_utils.Enroll.svg
sources:
- type: dir
diff --git a/justfile b/justfile
index 78e4d7d..4be75cc 100644
--- a/justfile
+++ b/justfile
@@ -1,5 +1,5 @@
name := 'cosmic-utils-enroll'
-appid := 'org.cosmic-utils.Enroll'
+appid := 'org.cosmic_utils.Enroll'
rootdir := ''
prefix := '/usr'
diff --git a/resources/app.desktop b/resources/app.desktop
index 228c0d6..7b40918 100644
--- a/resources/app.desktop
+++ b/resources/app.desktop
@@ -2,7 +2,7 @@
Name=Enroll
Comment=GUI for fprintd fingerprint enrolling
Type=Application
-Icon=org.cosmic-utils.Enroll
+Icon=org.cosmic_utils.Enroll
Exec=cosmic-utils-enroll %F
Terminal=false
StartupNotify=true
diff --git a/resources/org.cosmic-utils.Enroll.desktop b/resources/org.cosmic_utils.Enroll.desktop
similarity index 88%
rename from resources/org.cosmic-utils.Enroll.desktop
rename to resources/org.cosmic_utils.Enroll.desktop
index 228c0d6..7b40918 100644
--- a/resources/org.cosmic-utils.Enroll.desktop
+++ b/resources/org.cosmic_utils.Enroll.desktop
@@ -2,7 +2,7 @@
Name=Enroll
Comment=GUI for fprintd fingerprint enrolling
Type=Application
-Icon=org.cosmic-utils.Enroll
+Icon=org.cosmic_utils.Enroll
Exec=cosmic-utils-enroll %F
Terminal=false
StartupNotify=true
diff --git a/resources/org.cosmic-utils.Enroll.metainfo.xml b/resources/org.cosmic_utils.Enroll.metainfo.xml
similarity index 90%
rename from resources/org.cosmic-utils.Enroll.metainfo.xml
rename to resources/org.cosmic_utils.Enroll.metainfo.xml
index 7dcbdd2..20db662 100644
--- a/resources/org.cosmic-utils.Enroll.metainfo.xml
+++ b/resources/org.cosmic_utils.Enroll.metainfo.xml
@@ -1,6 +1,6 @@
- org.cosmic-utils.Enroll
+ org.cosmic_utils.EnrollCC0-1.0MPL-2.0Enroll
@@ -14,9 +14,9 @@
https://github.com/jotuel/cosmic-ext-fprint/raw/main/resources/icons/hicolor/scalable/apps/icon.svg
https://github.com/jotuel/cosmic-ext-fprint
- org.cosmic-utils.Enroll.desktop
+ org.cosmic_utils.Enroll.desktop
- org.cosmic-utils.Enroll
+ org.cosmic_utils.Enrollcosmic-utils-enroll
diff --git a/src/app/mod.rs b/src/app/mod.rs
index e35973e..6c6970b 100644
--- a/src/app/mod.rs
+++ b/src/app/mod.rs
@@ -92,7 +92,7 @@ impl cosmic::Application for AppModel {
type Message = Message;
/// Unique identifier in RDNN (reverse domain name notation) format.
- const APP_ID: &'static str = "org.cosmic-utils.Enroll";
+ const APP_ID: &'static str = "org.cosmic_utils.Enroll";
fn core(&self) -> &cosmic::Core {
&self.core
From 696bb1f8b7987d7b8fe7e47094cb64f8dab7bf5a Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 11:17:20 +0200
Subject: [PATCH 09/10] Translation files from cosmic_ext_fprint to
cosmic_utils_enroll
---
i18n/en/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} | 0
i18n/fi/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} | 0
i18n/sv/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} | 0
3 files changed, 0 insertions(+), 0 deletions(-)
rename i18n/en/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} (100%)
rename i18n/fi/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} (100%)
rename i18n/sv/{cosmic_ext_fprint.ftl => cosmic_utils_enroll.ftl} (100%)
diff --git a/i18n/en/cosmic_ext_fprint.ftl b/i18n/en/cosmic_utils_enroll.ftl
similarity index 100%
rename from i18n/en/cosmic_ext_fprint.ftl
rename to i18n/en/cosmic_utils_enroll.ftl
diff --git a/i18n/fi/cosmic_ext_fprint.ftl b/i18n/fi/cosmic_utils_enroll.ftl
similarity index 100%
rename from i18n/fi/cosmic_ext_fprint.ftl
rename to i18n/fi/cosmic_utils_enroll.ftl
diff --git a/i18n/sv/cosmic_ext_fprint.ftl b/i18n/sv/cosmic_utils_enroll.ftl
similarity index 100%
rename from i18n/sv/cosmic_ext_fprint.ftl
rename to i18n/sv/cosmic_utils_enroll.ftl
From 8590d1f405f28c98a7b88d379056a471b7f29146 Mon Sep 17 00:00:00 2001
From: Joonas Tuomi
Date: Mon, 23 Feb 2026 11:29:04 +0200
Subject: [PATCH 10/10] Missed a couple at Fprint's in longer lines
---
flatpak/org.cosmic_utils.Enroll.yml | 6 +++---
resources/org.cosmic_utils.Enroll.metainfo.xml | 4 ++--
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/flatpak/org.cosmic_utils.Enroll.yml b/flatpak/org.cosmic_utils.Enroll.yml
index 0b5f78a..7a19098 100644
--- a/flatpak/org.cosmic_utils.Enroll.yml
+++ b/flatpak/org.cosmic_utils.Enroll.yml
@@ -30,13 +30,13 @@ modules:
- cargo build --release
# Install the binary
- - install -Dm0755 target/release/cosmic-utils-enroll /app/bin/cosmic-ext-fprint
+ - install -Dm0755 target/release/cosmic-utils-enroll /app/bin/cosmic-utils-enroll
# Install the desktop file
- - install -Dm0644 resources/org.cosmic_utils.Enroll.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop
+ - install -Dm0644 resources/org.cosmic_utils.Enroll.desktop /app/share/applications/org.cosmic_utils.Enroll.desktop
# Install the AppStream metadata
- - install -Dm0644 resources/org.cosmic_utils.Enroll.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml
+ - install -Dm0644 resources/org.cosmic_utils.Enroll.metainfo.xml /app/share/appdata/org.cosmic_utils.Enroll.metainfo.xml
# Install the icon
- install -Dm0644 resources/icons/hicolor/scalable/apps/icon.svg /app/share/icons/hicolor/scalable/apps/org.cosmic_utils.Enroll.svg
diff --git a/resources/org.cosmic_utils.Enroll.metainfo.xml b/resources/org.cosmic_utils.Enroll.metainfo.xml
index 20db662..aed3002 100644
--- a/resources/org.cosmic_utils.Enroll.metainfo.xml
+++ b/resources/org.cosmic_utils.Enroll.metainfo.xml
@@ -11,9 +11,9 @@