Files
taninux/pyproject.toml
T
karim faaba27ed4 Display arrangement persistence + centering fix, packaging hardening
- core/display.py: write_positions() persists Arrangement's drag-and-drop
  layout into niri's config.kdl (one output { position x= y= } per output),
  validated via `niri validate` on a temp copy with a .kdl.bak backup before
  writing — same pattern as core/keybindings.py's rebind(). Previously the
  page only ever called `niri msg output … position set`, which niri treats
  as live-only and drops on the next login/reload.
- gui/pages/display.py: Arrangement's Apply now runs each output's `niri msg
  output … position set` synchronously instead of queuing them all on the
  single-shot ProcessRunner (which rejects a second run() while the first is
  still async) — a 2-monitor apply previously moved only the first output
  and silently dropped the rest. _dock_to_nearest keeps the free axis at the
  dragged position (so a shorter display can sit vertically centered next to
  a taller rotated one) rather than forcing corner alignment.
- core/panel.py, files/__init__.py: incidental fixes alongside the above.
- packaging/: signing-key generation script + build-user systemd setup for
  the [tanin] AUR auto-rebuild pipeline; PKGBUILD bumped to pkgrel=5.
- src/taninux/browser/: new module for browser theme sync (Fuji accent).
2026-07-13 14:19:50 +02:00

41 lines
1.1 KiB
TOML

[project]
name = "taninux"
version = "0.2.0"
description = "TANINUX — central Linux maintenance & management TUI for Arch. Pillars: maintain, update, kernel, suggest, health."
license = "GPL-3.0-or-later"
license-files = ["LICENSE"]
requires-python = ">=3.11"
dependencies = [
"textual>=0.86",
]
[project.optional-dependencies]
# GTK-Frontend. PyGObject + libadwaita kommen am besten als System-Pakete
# (pacman -S python-gobject libadwaita gtk4) — der pip-Build von PyGObject
# braucht sonst die GTK-Dev-Header. Daher hier bewusst KEIN harter Pin.
gui = [
"pygobject>=3.50; sys_platform == 'linux'",
]
[project.scripts]
taninux = "taninux.cli:main"
taninux-gtk = "taninux.gui.app:main"
tsettings = "taninux.gui.app:main_settings"
thub = "taninux.gui.app:main_hub"
tfiles = "taninux.files.app:main"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/taninux"]
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = ["E", "F", "W", "B", "UP", "BLE"]
ignore = ["E501"]