Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,19 @@ This project tries to adhere to [Semantic Versioning][2].

## [Unreleased]

## [1.1.2] - 2025-07-08

### Added

Gettext internationalization
ru.po
Internationalization in network.cycles.wdisplays.desktop
https://aur.archlinux.org/cgit/aur.git/tree/outputs_noop.patch?h=wdisplays-persistent

### Fixed

setlocale(LC_NUMERIC, "C") in src/store.c

## [1.1.1] - 2023-07-01

### Added
Expand Down
44 changes: 44 additions & 0 deletions PKGBUILD/PKGBUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# Maintainer: sfs <sfslinux@gmail.com>

pkgname=wdisplays-persistent
pkgver=1.1.2
pkgrel=1
pkgdesc="GUI display configurator for wlroots compositors (with kanshi config saving)"
url="https://github.com/zipproth/wdisplays"
license=(GPL3)
arch=(x86_64)
install=wdisplays-persistent.install
depends=(
gtk3
libepoxy
wayland
wayland-protocols
kanshi
)
provides=('wdisplays')
conflicts=('wdisplays')
replaces=('wdisplays')
makedepends=(
meson
)
source=('git+https://github.com/sfs-pra/wdisplays.git#branch=fix-kanshi-output-names')
sha512sums=('SKIP')

build() {
cd "wdisplays"
arch-meson "$srcdir/build"
ninja -C "$srcdir/build"
}

package() {
cd "wdisplays"
DESTDIR="$pkgdir" ninja -C "$srcdir/build" install

# Create empty kanshi config file for new users
# For this package, the config file is typically exclusively updated by wdisplays,
# unlike the usual kanshi workflow where users manually write the config.
# wdisplays will not create/write to the config if the file doesn't exist initially,
# and kanshi fails to start without an existing config file. Users still need to add
# kanshi to their compositor's autostart configuration.
install -Dm644 /dev/null "$pkgdir/etc/skel/.config/kanshi/config"
}
11 changes: 11 additions & 0 deletions PKGBUILD/wdisplays-persistent.install
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
post_install() {
echo
echo -e "\033[1;33m==> wdisplays-persistent installation notes:\033[0m"
echo " To enable automatic display configuration, add kanshi to your"
echo " compositor's autostart configuration:"
echo
echo " For Sway: Add 'exec kanshi' to ~/.config/sway/config"
echo " For Wayfire: Add 'outputs = kanshi' to ~/.config/wayfire.ini [autostart] section"
echo " For other wlroots compositors: Consult your compositor's documentation"
echo
}
5 changes: 5 additions & 0 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,17 @@ project('network.cycles.wdisplays', 'c',
version: '1.1.1'
)

i18n = import('i18n')
add_project_arguments('-DGETTEXT_PACKAGE="@0@"'.format(meson.project_name()), language: 'c')

conf = configuration_data({
'app_id': meson.project_name(),
'version': meson.project_version(),
'resource_prefix': '/' / '/'.join(meson.project_name().split('.')),
'localedir': get_option('prefix') / get_option('localedir'),
})

subdir('protocol')
subdir('resources')
subdir('src')
subdir('po')
1 change: 1 addition & 0 deletions po/LINGUAS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ru
5 changes: 5 additions & 0 deletions po/POTFILES.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
src/main.c
src/headform.c
src/output.c
resources/head.ui
resources/wdisplays.ui
7 changes: 7 additions & 0 deletions po/meson.build
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
i18n.gettext('wdisplays',
args: [
'--directory=' + meson.project_source_root(),
'--from-code=UTF-8',
],
preset: 'glib'
)
127 changes: 127 additions & 0 deletions po/network.cycles.wdisplays.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the network.cycles.wdisplays package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: network.cycles.wdisplays\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-02 16:03+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: src/headform.c:193
msgid "Don't Rotate"
msgstr ""

#: src/headform.c:194
msgid "Rotate 90°"
msgstr ""

#: src/headform.c:195
msgid "Rotate 180°"
msgstr ""

#: src/headform.c:196
msgid "Rotate 270°"
msgstr ""

#: resources/head.ui:48
msgid "_Enabled"
msgstr ""

#: resources/head.ui:96
msgid "DPI _Scale"
msgstr ""

#: resources/head.ui:110
msgid "_Position"
msgstr ""

#: resources/head.ui:124
msgid "Description"
msgstr ""

#: resources/head.ui:150
msgid "Physical Size"
msgstr ""

#: resources/head.ui:162
msgid "Si_ze"
msgstr ""

#: resources/head.ui:201
msgid "Hz"
msgstr ""

#: resources/head.ui:219
msgid "_Refresh Rate"
msgstr ""

#: resources/head.ui:246
msgid "_Transform"
msgstr ""

#: resources/head.ui:257
msgid "_Flipped"
msgstr ""

#: resources/head.ui:281 resources/head.ui:298 resources/head.ui:316
#: resources/head.ui:346
msgid "0"
msgstr ""

#: resources/head.ui:333
msgid "×"
msgstr ""

#: resources/head.ui:363
msgid "Select Mode Preset"
msgstr ""

#: resources/wdisplays.ui:16 resources/wdisplays.ui:186
msgid "wdisplays"
msgstr ""

#: resources/wdisplays.ui:198
msgid "Zoom Out"
msgstr ""

#: resources/wdisplays.ui:221
msgid "Zoom Reset"
msgstr ""

#: resources/wdisplays.ui:237
msgid "Zoom In"
msgstr ""

#: resources/wdisplays.ui:291
msgid "Apply Changes?"
msgstr ""

#: resources/wdisplays.ui:296
msgid "_Apply"
msgstr ""

#: resources/wdisplays.ui:312
msgid "_Cancel"
msgstr ""

msgid "_Automatically Apply Changes"
msgstr ""

msgid "_Show Screen Contents"
msgstr ""

msgid "_Overlay Screen Names"
msgstr ""

msgid "Change was applied successfully and config was saved."
msgstr ""
123 changes: 123 additions & 0 deletions po/ru.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
# Russian translations for wdisplays package.
# Copyright (C) 2022 wdisplays authors.
# This file is distributed under the same license as the wdisplays package.
# Automatically generated, 2022.
#
msgid ""
msgstr ""
"Project-Id-Version: wdisplays\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2022-11-15 12:45+0300\n"
"PO-Revision-Date: 2022-11-15 12:47+0300\n"
"Last-Translator: sfs <sfslinux@gmail.com>\n"
"Language-Team: none\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"

#: wdisplays.ui:6
msgid "wdisplays"
msgstr "Настройки дисплеев"

#: wdisplays.ui:157
msgid "Zoom Out"
msgstr "Уменьшить"

#: wdisplays.ui:170
msgid "Zoom Reset"
msgstr "Сбросить масштаб"

#: wdisplays.ui:183
msgid "Zoom In"
msgstr "Увеличить"

#: wdisplays.ui:233
msgid "Apply Changes?"
msgstr "Применить изменения?"

#: wdisplays.ui:244
msgid "_Apply"
msgstr "_Применить"

#: wdisplays.ui:258
msgid "_Cancel"
msgstr "_Отмена"





#: head.ui:48
msgid "_Enabled"
msgstr "_Включено"

#: head.ui:96
msgid "DPI _Scale"
msgstr "Масштаб _DPI"

#: head.ui:110
msgid "_Position"
msgstr "_Позиция"

#: head.ui:124
msgid "Description"
msgstr "Описание"

#: head.ui:150
msgid "Physical Size"
msgstr "Физический размер"

#: head.ui:162
msgid "Si_ze"
msgstr "Ра_змер"

#: head.ui:201
msgid "Hz"
msgstr "Гц"

#: head.ui:219
msgid "_Refresh Rate"
msgstr "Частота обно_вления"

#: head.ui:246
msgid "_Transform"
msgstr "_Трансформация"

#: head.ui:257
msgid "_Flipped"
msgstr "_Отразить"

#: head.ui:281 head.ui:298 head.ui:316 head.ui:346
msgid "0"
msgstr "0"

#: head.ui:363
msgid "Select Mode Preset"
msgstr "Выбор предустановки режима"

msgid "Don't Rotate"
msgstr "Не вращать"

msgid "Rotate 90°"
msgstr "Повернуть на 90°"

msgid "Rotate 180°"
msgstr "Повернуть на 180°"

msgid "Rotate 270°"
msgstr "Повернуть на 270°"

msgid "_Automatically Apply Changes"
msgstr "_Автоматически применять изменения"

msgid "_Show Screen Contents"
msgstr "_Показывать содержимое экранов"

msgid "_Overlay Screen Names"
msgstr "_Показывать названия экранов"

msgid "Change was applied successfully and config was saved."
msgstr "Изменения успешно применены и конфигурация сохранена."
Loading