From 070488ba8ebcd94bbc52c6f999c43ca9640d7fb6 Mon Sep 17 00:00:00 2001 From: Frederic Laing Date: Tue, 21 Jul 2026 23:42:40 +0200 Subject: [PATCH] chore(metadata): drop COSMIC desktop framing and highlight camera features --- .github/APKBUILD.template | 2 +- Cargo.toml | 2 +- README.md | 17 ++++++++++++++++- i18n/cs/camera.ftl | 3 --- i18n/en/camera.ftl | 17 ++++++++++++----- i18n/uk/camera.ftl | 3 --- i18n/zh-CN/camera.ftl | 3 --- resources/io.github.cosmic_utils.camera.desktop | 5 +---- .../io.github.cosmic_utils.camera.metainfo.xml | 13 +++++-------- scripts/gen-metadata.py | 13 +++++++++++-- src/lib.rs | 2 +- src/main.rs | 2 +- 12 files changed, 49 insertions(+), 33 deletions(-) diff --git a/.github/APKBUILD.template b/.github/APKBUILD.template index 43d37262..4d9bad9b 100644 --- a/.github/APKBUILD.template +++ b/.github/APKBUILD.template @@ -3,7 +3,7 @@ pkgname=camera pkgver=@@VERSION@@ pkgrel=0 -pkgdesc="Camera application for the COSMIC Desktop Environment" +pkgdesc="Modern camera app for Linux desktops and phones" url="https://github.com/cosmic-utils/camera" arch="all" license="GPL-3.0-only" diff --git a/Cargo.toml b/Cargo.toml index 295702b7..28a4d1a0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ name = "camera" version = "0.3.4" edition = "2024" license = "GPL-3.0-only" -description = "Camera application for the COSMIC™ desktop" +description = "Modern camera app for Linux desktops and phones" repository = "https://github.com/cosmic-utils/camera" authors = ["Frederic Laing "] diff --git a/README.md b/README.md index 44cdbdbd..6ceb5df5 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,27 @@ [![Release](https://github.com/cosmic-utils/camera/actions/workflows/release.yml/badge.svg)](https://github.com/cosmic-utils/camera/actions/workflows/release.yml) [![Translation status](https://hosted.weblate.org/widget/cosmic-utils/camera/svg-badge.svg)](https://hosted.weblate.org/engage/cosmic-utils/) -A camera application for the [COSMIC](https://github.com/pop-os/cosmic-epoch) desktop environment. +A modern camera application for Linux, built for desktops and phones alike. ![Camera Preview](preview/preview-001.png) [View more screenshots](preview/README.md) +## Features + +- **Photo, video and timelapse** modes, with a self timer, composition guides and aspect ratios +- **Manual controls** for exposure, ISO, shutter, focus, white balance and colour, plus pan and tilt on motorised cameras +- **GPU accelerated** preview, filters and debayering via wgpu, with hardware video encoding (VA-API, NVENC, QSV, AMF, V4L2) and software fallback +- **14 creative filters** applied live to the preview, photos, recordings and the virtual camera +- **QR code scanner** that opens links and connects to WiFi through NetworkManager +- **Virtual camera** over PipeWire, so other apps see your filtered feed in video calls +- **JPEG, PNG and DNG** output, including true sensor raw where libcamera exposes a raw stream +- **Multi-camera and multi-microphone** switching with hotplug support +- **Built for Linux phones too**: touch controls, portrait layouts, volume key shutter, hardware flash and haptics +- **Rebindable keyboard shortcuts**, plus an insights panel and bug report generator for diagnostics + +Built with [libcosmic](https://github.com/pop-os/libcosmic). It runs on any Wayland or X11 desktop, following the system light/dark preference through the XDG portal, and integrates natively with COSMIC where available. + ## Status This is a personal project by [Frederic Laing](https://github.com/FreddyFunk). It is not affiliated with or endorsed by System76. The application may be contributed to System76 or the COSMIC project in the future if there is interest. diff --git a/i18n/cs/camera.ftl b/i18n/cs/camera.ftl index 2defcec0..58042443 100644 --- a/i18n/cs/camera.ftl +++ b/i18n/cs/camera.ftl @@ -305,15 +305,12 @@ filter-pencil = Skica ptz-pan = Otočení ptz-tilt = Náklon -desktop-comment = Aplikace kamery pro prostředí COSMIC™ desktop-keywords = kamera;fotoaparát;webkamera;fotografie;video; metainfo-summary = Pořizujte fotografie a videa -metainfo-description-intro = Aplikace kamery od třetí strany pro prostředí COSMIC™. Ať už potřebujete rychle pořídit fotografii, nahrát video nebo naskenovat QR kód, aplikace nabízí čisté a intuitivní rozhraní, které vám rozhodně nebude překážet. metainfo-description-usage = Otevřete aplikaci a začněte zachycovat okamžiky. Přidejte zábavné filtry ke svým fotografiím, skenujte QR kódy pro otevření odkazů nebo připojení k Wi-Fi, případně použijte režim virtuální kamery, abyste při videohovorech vypadali skvěle s aplikovaným oblíbeným filtrem. metainfo-description-features-title = Klíčové funkce: metainfo-feature-capture = Pořizování fotografií a videí: vysoká kvalita a hardwarová akcelerace metainfo-feature-qr = Skener QR kódů: otevírání odkazů, připojení k Wi-Fi a další -metainfo-feature-filters = 15 kreativních filtrů: Mono, Sepia, Vivid, Noir, Pencil Sketch a další metainfo-feature-virtual-camera = Virtuální kamera: používejte filtrovaný obraz kamery při videohovorech a v dalších aplikacích metainfo-feature-multi-camera = Podpora více kamer: snadné přepínání mezi kamerami a mikrofony metainfo-caption-photo-tools = Režim fotografie s nabídkou nástrojů diff --git a/i18n/en/camera.ftl b/i18n/en/camera.ftl index 532107d7..cd689d89 100644 --- a/i18n/en/camera.ftl +++ b/i18n/en/camera.ftl @@ -1,4 +1,4 @@ -### Camera, a COSMIC desktop camera application. +### Camera, a camera application for Linux desktops and phones. ### ### Notes for translators: ### Screen space is tight in this app. Most strings sit in overlays drawn on top @@ -718,10 +718,9 @@ keybindings-record-save = Save ## are generated into resources/*.desktop and resources/*.metainfo.xml by ## scripts/gen-metadata.py, so those two files are never edited by hand. They ## are the only strings here that are not shown inside the application itself. -## The trademark sign in COSMIC™ must be kept. # One line tooltip shown in the launcher. -desktop-comment = Third-party camera app for the COSMIC™ desktop +desktop-comment = Take photos, record video, and scan QR codes # Search terms for the launcher, separated by semicolons and ending with one. # Translate the terms, and feel free to add extra words people in your language # would search for. Keeping the English words as well is useful, since many @@ -735,22 +734,30 @@ desktop-keywords = camera;webcam;photo;video; # about 60 characters, as listings truncate it. metainfo-summary = Capture photos and videos # First paragraph of the long description. -metainfo-description-intro = { camera } is a third-party camera application for the COSMIC™ desktop environment. Whether you need to snap a quick photo, record a video, or scan a QR code, { camera } provides a clean and intuitive interface that stays out of your way. +metainfo-description-intro = { camera } is a modern camera application for Linux, built for desktops and phones alike. Whether you need to snap a quick photo, record a video, or scan a QR code, { camera } provides a clean and intuitive interface that stays out of your way. # Second paragraph of the long description. metainfo-description-usage = Just open the app and start capturing moments. Add fun filters to your photos, scan QR codes to open links or connect to WiFi, or use virtual camera mode to look great in video calls with your favorite filter applied. # Heading introducing the feature list below. Ends with a colon. metainfo-description-features-title = Key features: # Feature list item. metainfo-feature-capture = Photo and video capture: high quality and hardware accelerated +# Feature list item. Names the three capture modes, which are also translated +# in the mode carousel above, so keep the wording the same. +metainfo-feature-modes = Photo, video and timelapse modes, with a self timer and composition guides +# Feature list item. +metainfo-feature-controls = Manual controls: exposure, ISO, shutter, focus and white balance # Feature list item. QR and WiFi are product names and stay as they are. metainfo-feature-qr = QR code scanner: open links, connect to WiFi, and more # Feature list item. The filter names are the same ones used in the app, so # translate them the same way there. -metainfo-feature-filters = 15 creative filters: Mono, Sepia, Vivid, Noir, Pencil Sketch, and more +metainfo-feature-filters = 14 creative filters: Mono, Sepia, Vivid, Noir, Pencil Sketch, and more # Feature list item. metainfo-feature-virtual-camera = Virtual camera: use your filtered camera feed in video calls and other apps # Feature list item. metainfo-feature-multi-camera = Multi-camera support: easily switch between cameras and microphones +# Feature list item. Describes the Linux phone support: touch input, portrait +# layouts, and using the volume keys as a shutter button. +metainfo-feature-phone = Built for Linux phones too: touch controls, portrait layouts and volume key shutter ## Screenshot captions in the software centre listing. diff --git a/i18n/uk/camera.ftl b/i18n/uk/camera.ftl index ab7b8a08..3dee4ddf 100644 --- a/i18n/uk/camera.ftl +++ b/i18n/uk/camera.ftl @@ -278,15 +278,12 @@ keybindings-record-replace = Замінити keybindings-record-cancel = Скасувати keybindings-record-save = Зберегти -desktop-comment = Застосунок камери для середовища COSMIC™ desktop-keywords = камера;kamera;camera;вебкамера;знімок;фото;видиво;відео;запис;космік;photo;video; metainfo-summary = Знімайте фото та відео -metainfo-description-intro = { camera } — це сторонній застосунок камери для середовища COSMIC™. Потрібно швидко зробити знімок, записати відео чи відсканувати QR-код? { camera } пропонує чистий, інтуїтивний інтерфейс, який не плутатиме вас. metainfo-description-usage = Просто відкрийте застосунок і починайте творити. Застосовуйте креативні фільтри до знімків, миттєво скануйте QR-коди для переходу за посиланнями чи підключення до Wi-Fi, або скористайтеся режимом віртуальної камери, щоб виглядати бездоганно у відеодзвінках з улюбленим фільтром. metainfo-description-features-title = Основні можливості: metainfo-feature-capture = Знімки та відеозйомка: висока якість і апаратне прискорення metainfo-feature-qr = Сканер QR-кодів: відкривайте посилання, підключайтеся до Wi-Fi та багато іншого -metainfo-feature-filters = 15 креативних фільтрів: Моно, Сепія, Насичений, Нуар, Нарис олівцем та інші metainfo-feature-virtual-camera = Віртуальна камера: використовуйте відфільтроване зображення у відеодзвінках та інших застосунках metainfo-feature-multi-camera = Підтримка кількох камер: легко перемикайтеся між камерами та мікрофонами metainfo-caption-filters = Вибір фільтрів diff --git a/i18n/zh-CN/camera.ftl b/i18n/zh-CN/camera.ftl index c34d0051..2e2c74ac 100644 --- a/i18n/zh-CN/camera.ftl +++ b/i18n/zh-CN/camera.ftl @@ -229,15 +229,12 @@ settings-timelapse-interval-description = 连续照片拍摄之间的时间间 insights-capture = 捕捉 insights-capture-burst = 连拍捕捉 -desktop-comment = COSMIC™ 桌面的第三方相机应用 desktop-keywords = 相机;摄像头;照片;视频; metainfo-summary = 拍摄照片和视频 -metainfo-description-intro = { camera }是 COSMIC™ 桌面环境的第三方相机应用程序。 无论您需要快速拍照、录制视频还是扫描二维码, { camera }都提供简洁直观的界面,不会妨碍您的操作。 metainfo-description-usage = 只需打开应用程序即可开始捕捉精彩瞬间。 为照片添加有趣的滤镜,扫描二维码打开链接或连接 WiFi, 或使用虚拟相机模式在视频通话中应用您喜爱的滤镜,展现最佳状态。 metainfo-description-features-title = 主要功能: metainfo-feature-capture = 照片和视频捕捉:高质量且支持硬件加速 metainfo-feature-qr = 二维码扫描器:打开链接、连接 WiFi 等 -metainfo-feature-filters = 15 种创意滤镜:单色、复古棕褐、鲜艳、黑白、铅笔素描等 metainfo-feature-virtual-camera = 虚拟相机:在视频通话和其他应用中使用带滤镜的摄像头画面 metainfo-feature-multi-camera = 多摄像头支持:轻松切换摄像头和麦克风 metainfo-caption-filters = 滤镜选择器 diff --git a/resources/io.github.cosmic_utils.camera.desktop b/resources/io.github.cosmic_utils.camera.desktop index b4471712..52dc6cd0 100644 --- a/resources/io.github.cosmic_utils.camera.desktop +++ b/resources/io.github.cosmic_utils.camera.desktop @@ -18,10 +18,7 @@ GenericName[fr]=Caméra GenericName[sv]=Kamera GenericName[uk]=Камера GenericName[zh_CN]=相机 -Comment=Third-party camera app for the COSMIC™ desktop -Comment[cs]=Aplikace kamery pro prostředí COSMIC™ -Comment[uk]=Застосунок камери для середовища COSMIC™ -Comment[zh_CN]=COSMIC™ 桌面的第三方相机应用 +Comment=Take photos, record video, and scan QR codes Icon=io.github.cosmic_utils.camera Exec=camera Terminal=false diff --git a/resources/io.github.cosmic_utils.camera.metainfo.xml b/resources/io.github.cosmic_utils.camera.metainfo.xml index 5ae1e70b..1113a0a3 100644 --- a/resources/io.github.cosmic_utils.camera.metainfo.xml +++ b/resources/io.github.cosmic_utils.camera.metainfo.xml @@ -17,10 +17,7 @@ Знімайте фото та відео 拍摄照片和视频 -

Camera is a third-party camera application for the COSMIC™ desktop environment. Whether you need to snap a quick photo, record a video, or scan a QR code, Camera provides a clean and intuitive interface that stays out of your way.

-

Aplikace kamery od třetí strany pro prostředí COSMIC™. Ať už potřebujete rychle pořídit fotografii, nahrát video nebo naskenovat QR kód, aplikace nabízí čisté a intuitivní rozhraní, které vám rozhodně nebude překážet.

-

Камера — це сторонній застосунок камери для середовища COSMIC™. Потрібно швидко зробити знімок, записати відео чи відсканувати QR-код? Камера пропонує чистий, інтуїтивний інтерфейс, який не плутатиме вас.

-

相机是 COSMIC™ 桌面环境的第三方相机应用程序。 无论您需要快速拍照、录制视频还是扫描二维码, 相机都提供简洁直观的界面,不会妨碍您的操作。

+

Camera is a modern camera application for Linux, built for desktops and phones alike. Whether you need to snap a quick photo, record a video, or scan a QR code, Camera provides a clean and intuitive interface that stays out of your way.

Just open the app and start capturing moments. Add fun filters to your photos, scan QR codes to open links or connect to WiFi, or use virtual camera mode to look great in video calls with your favorite filter applied.

Otevřete aplikaci a začněte zachycovat okamžiky. Přidejte zábavné filtry ke svým fotografiím, skenujte QR kódy pro otevření odkazů nebo připojení k Wi-Fi, případně použijte režim virtuální kamery, abyste při videohovorech vypadali skvěle s aplikovaným oblíbeným filtrem.

Просто відкрийте застосунок і починайте творити. Застосовуйте креативні фільтри до знімків, миттєво скануйте QR-коди для переходу за посиланнями чи підключення до Wi-Fi, або скористайтеся режимом віртуальної камери, щоб виглядати бездоганно у відеодзвінках з улюбленим фільтром.

@@ -34,14 +31,13 @@
  • Pořizování fotografií a videí: vysoká kvalita a hardwarová akcelerace
  • Знімки та відеозйомка: висока якість і апаратне прискорення
  • 照片和视频捕捉:高质量且支持硬件加速
  • +
  • Photo, video and timelapse modes, with a self timer and composition guides
  • +
  • Manual controls: exposure, ISO, shutter, focus and white balance
  • QR code scanner: open links, connect to WiFi, and more
  • Skener QR kódů: otevírání odkazů, připojení k Wi-Fi a další
  • Сканер QR-кодів: відкривайте посилання, підключайтеся до Wi-Fi та багато іншого
  • 二维码扫描器:打开链接、连接 WiFi 等
  • -
  • 15 creative filters: Mono, Sepia, Vivid, Noir, Pencil Sketch, and more
  • -
  • 15 kreativních filtrů: Mono, Sepia, Vivid, Noir, Pencil Sketch a další
  • -
  • 15 креативних фільтрів: Моно, Сепія, Насичений, Нуар, Нарис олівцем та інші
  • -
  • 15 种创意滤镜:单色、复古棕褐、鲜艳、黑白、铅笔素描等
  • +
  • 14 creative filters: Mono, Sepia, Vivid, Noir, Pencil Sketch, and more
  • Virtual camera: use your filtered camera feed in video calls and other apps
  • Virtuální kamera: používejte filtrovaný obraz kamery při videohovorech a v dalších aplikacích
  • Віртуальна камера: використовуйте відфільтроване зображення у відеодзвінках та інших застосунках
  • @@ -50,6 +46,7 @@
  • Podpora více kamer: snadné přepínání mezi kamerami a mikrofony
  • Підтримка кількох камер: легко перемикайтеся між камерами та мікрофонами
  • 多摄像头支持:轻松切换摄像头和麦克风
  • +
  • Built for Linux phones too: touch controls, portrait layouts and volume key shutter
  • io.github.cosmic_utils.camera.desktop diff --git a/scripts/gen-metadata.py b/scripts/gen-metadata.py index 30eb4266..da21c0f3 100755 --- a/scripts/gen-metadata.py +++ b/scripts/gen-metadata.py @@ -60,10 +60,13 @@ ], "li": [ "metainfo-feature-capture", + "metainfo-feature-modes", + "metainfo-feature-controls", "metainfo-feature-qr", "metainfo-feature-filters", "metainfo-feature-virtual-camera", "metainfo-feature-multi-camera", + "metainfo-feature-phone", ], } METAINFO_SCREENSHOTS = { @@ -121,16 +124,22 @@ def langs_for(translations: dict[str, dict[str, str]], key: str) -> list[str]: def render_desktop(translations: dict[str, dict[str, str]], text: str) -> str: - """Rewrite the localised Key[lang]= lines of a desktop entry.""" + """Rewrite the mapped values of a desktop entry, English line included. + + The metainfo renderer rewrites its English elements too, so doing the same + here keeps both files fully generated. Anything unmapped (Icon, Exec, and + the rest) is copied through untouched. + """ # Desktop entries use POSIX locale names, so zh-CN becomes zh_CN. lines = [ln for ln in text.splitlines() if not re.match(r"^\w+\[[^\]]+\]=", ln)] out: list[str] = [] for line in lines: - out.append(line) match = re.match(r"^(\w+)=", line) if not match or match.group(1) not in DESKTOP_KEYS: + out.append(line) continue key = DESKTOP_KEYS[match.group(1)] + out.append(f"{match.group(1)}={translations[key][SOURCE_LANG]}") for lang in langs_for(translations, key): out.append(f"{match.group(1)}[{lang.replace('-', '_')}]={translations[key][lang]}") return "\n".join(out) + "\n" diff --git a/src/lib.rs b/src/lib.rs index d738b7b8..803fb1ba 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-3.0-only -//! Camera - A camera application for the COSMIC desktop environment +//! Camera - Modern camera app for Linux desktops and phones //! //! This library provides the core functionality for the Camera application, //! including camera capture, video recording, and photo processing. diff --git a/src/main.rs b/src/main.rs index 7035e9e8..3d1018cd 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ mod cli; #[derive(Parser)] #[command(name = "camera")] -#[command(about = "Camera application for the COSMIC desktop")] +#[command(about = "Modern camera app for Linux desktops and phones")] #[command(version)] #[command(subcommand_required = false)] struct Cli {