No description
Find a file
Lionel DARNIS 43d38aed8a feat: Konsole parity phase 1 (save output, search options, monitors, profile CLI)
Implements the first batch of COSMIC_TERMINAL_KONSOLE_PARITY.md:

Save output as text:
- New SaveOutput action in the Edit menu, terminal context menu and
  keyboard shortcuts (Ctrl+Shift+S, Konsole parity, rebindable).
- Terminal::scrollback_text() extracts history plus visible screen via
  alacritty bounds_to_string, trimming trailing empty lines.
- Save-file dialog through cosmic-files; the file is written in a
  spawn_blocking task so large scrollbacks never stall the UI.

Search options:
- Case-sensitive and regex checkboxes in the find bar.
- App::find_pattern() escapes the pattern when regex mode is off and
  prefixes (?i) when case-insensitive (same approach as Alacritty).

Per-tab monitors (activity / silence / process finished):
- Toggles in the View menu and terminal context menu, state stored in
  Terminal (monitor_* fields).
- Activity alerts on PTY output (Wakeup) for non-active tabs; silence
  alerts after 10 s without output (Konsole default); process-finished
  compares the shell pgrp with the tty tpgid via /proc/<pid>/stat and
  alerts when the foreground job exits.
- Silence and process checks run on a 1 s iced::time subscription that
  is only active while at least one tab needs it.
- Tab bar shows an armed icon (view-reveal-symbolic) and per-kind alert
  icons; activating the tab acknowledges the alert.

Profile CLI:
- --profile/-p <name-or-id> applies a profile to the first tab only,
  unknown profiles exit(1) with the available list on stderr.
- --list-profiles prints "id<TAB>name" and exits.
- Config is now loaded before the daemonize fork so CLI output reaches
  the launching terminal.
- --help now documents -e/--command, --no-daemon and the new flags
  (-e already worked; audit confirmed everything after it becomes the
  command and its arguments).

i18n: new en/fr strings (save-output, monitor-*, find-case-sensitive,
find-regex).

Validated with ./check_cosmic_local.sh terminal, cargo fmt, and a debug
build exercising the CLI flags and a 6 s live run. The shutdown panic
in iced_winit ("async fn resumed after completion") pre-exists and is
reproducible with the installed binary.

Leyoda 2026 – GPLv3
2026-07-06 09:50:58 +02:00
.github Review fix: revert format step name change 2026-04-11 09:06:39 +02:00
color-schemes Update light theme normal white color 2026-02-18 10:24:06 -07:00
debian Epoch 1.2.0 version update 2026-06-30 13:20:35 -06:00
i18n feat: Konsole parity phase 1 (save output, search options, monitors, profile CLI) 2026-07-06 09:50:58 +02:00
res Generate translated desktop and metainfo files with xdgen 2026-02-12 15:23:04 -07:00
src feat: Konsole parity phase 1 (save output, search options, monitors, profile CLI) 2026-07-06 09:50:58 +02:00
.envrc Nix flake for developing in NixOS 2024-05-14 10:57:15 -06:00
.gitignore allow to build on pop_os with nix flake 2024-05-29 20:36:15 -06:00
ansi-colors.sh ansi-colors.sh: Add underlines 2024-01-16 11:36:05 -07:00
build.rs Generate translated desktop and metainfo files with xdgen 2026-02-12 15:23:04 -07:00
Cargo.lock chore: refresh lockfile post-upstream rebase 2026-07-04 11:24:49 +02:00
Cargo.toml fix: absorb libcosmic theme-v2 API + reqwest stream feature 2026-07-04 11:23:11 +02:00
flake.lock Bump flake 2026-01-15 10:25:42 -05:00
flake.nix Fix nixpkgs duplication 2026-01-15 10:25:42 -05:00
i18n.toml Add config, translations, settings UI 2023-12-22 14:31:01 -07:00
justfile Generate translated desktop and metainfo files with xdgen 2026-02-12 15:23:04 -07:00
LICENSE Initial commit 2023-12-17 10:24:31 -07:00
README.md No longer WIP 2026-02-06 11:48:46 -07:00

cosmic-term

COSMIC terminal emulator, built using alacritty_terminal that is provided by the alacritty project. cosmic-term provides bidirectional rendering and ligatures with a custom renderer based on cosmic-text.

The wgpu feature, enabled by default, supports GPU rendering using glyphon and wgpu. If wgpu is not enabled or fails to initialize, then rendering falls back to using softbuffer and tiny-skia.

Color Schemes

Custom color schemes can be imported from the View -> Color schemes... menu item. You can find templates for color schemes in the color-schemes folder.