Skip to content

Add a description - #2342

Open
sryazantsev wants to merge 8 commits into
Guake:masterfrom
sryazantsev:master
Open

Add a description#2342
sryazantsev wants to merge 8 commits into
Guake:masterfrom
sryazantsev:master

Conversation

@sryazantsev

Copy link
Copy Markdown

Summary

This pull request contains four commits that improve Guake runtime behavior, terminal lifecycle management, translations, session persistence, and source installation.

Changes

  • Fix tray icon installation and improve the Ukrainian translation.
  • Add language selection in Appearance preferences with persistent GSettings storage.
  • Improve tab creation behavior:
  • New tabs from the tab context menu open after the current tab.
  • The toolbar button continues to create tabs at the end.
  • Make left-clicking the tray icon toggle Guake visibility.
  • Improve asynchronous terminal creation and VTE process cleanup.
  • Prevent invalid PID handling during terminal shutdown.
  • Improve tab bar and fullscreen behavior.
  • Make session saves atomic using temporary files and os.replace.
  • Preserve autosave settings when restoring malformed sessions.
  • Improve restoration of workspaces, split tabs, and working directories.
  • Handle GSettings schema regeneration failures gracefully.
  • Fix Python package path detection for site-packages and dist-packages.
  • Make make install correctly respect PREFIX and DESTDIR.
  • Support reliable installation into both /usr and /usr/local.
  • Avoid installing Python dependencies globally during source installation.
  • Add compatible setuptools and setuptools-scm build constraints.
  • Add PEP 517 build configuration.
  • Improve quick-open command handling and avoid unsafe shell execution.
  • Update translation catalogs, including Ukrainian translations.
  • Add regression tests for session restoration and terminal behavior.

Validation

  • 36 tests passed.
  • Python compilation check passed.
  • Flake8 passed in the project environment.
  • Pylint passed in the project environment.
  • Source build completed successfully.
  • Staged installation for /usr was verified.
  • Installation into /usr/local was verified.
  • guake --version starts successfully.

Sergey Ryazantsev added 8 commits August 9, 2026 14:13
Install the Guake tray icon into standard icon locations and refresh the hicolor icon cache during installation. Complete Ukrainian translations for preferences, menus, command-line help, Quick Open, session handling, and runtime messages.
- add a language selector to the Appearance preferences and persist it in GSettings
- apply the saved language before gettext initialization, with LANGUAGE and system locale fallback
- fix hotkey preferences GTK renderer duplication and accelerator model types
- remove ignored VTE spawn flags that produced runtime warnings
- insert tab-context new tabs after the current tab while keeping the toolbar button at the end
- use a legacy tray icon on Cinnamon so left-click toggles Guake visibility
- execute Quick Open commands without shell=True and add focused tests
- add persistent language selection with saved preference precedence and document the restart requirement\n- implement debounced tab-session saving and asynchronous VTE terminal spawning\n- handle missing asynchronous PIDs safely and avoid invalid VTE destruction during tab restore\n- preserve tab placement, fullscreen tab-bar visibility, tray toggling, and context-menu tab insertion behavior\n- harden Quick Open command construction and retain focused coverage\n- update Ukrainian and regenerated translation catalogs, dependency locks, build requirements, and contributor guidance in AGENTS.md\n\nValidation: 35 GUI tests passed with 5 deprecation warnings; total coverage 45%; flake8, pylint, compileall, and git diff --check passed.\nKnown environment limitation: cached pre-commit flake8/pylint hooks are incompatible with Python 3.12; make build currently fails in the cached setuptools_scm sdist dependency because vcs_versioning is unavailable.
Make session persistence atomic and keep autosave enabled when malformed workspace data is encountered. Handle GSettings schema refresh failures gracefully when the installed schema directory is not writable, and correct package data path detection for site-packages and dist-packages.

Rework make install to respect PREFIX and DESTDIR for both /usr and /usr/local, install the Python package without global dependency resolution, and keep setuptools/setuptools_scm versions compatible with the legacy build configuration. Add the PEP 517 build requirements and lockfile pins.

Document the updated installation and runtime behavior and add regression coverage for restoring autosave after an invalid session.
Preserve the original LANGUAGE value for child shells while using the saved preference for Guake. Make reinstall synchronize the user schema version, require GTK 3 Gdk explicitly, and add regression tests for terminal environments.
Run the complete test suite explicitly from Makefile targets and add regression coverage for sessions, workspaces, Quick Open, terminal lifecycle, split geometry, tab naming, and autosave behavior.
Validate session schema input, preserve active workspace selection, avoid unwritable GSettings schema refreshes, and handle Quick Open spawn failures safely. Extend regression coverage for startup, sessions, paths, terminals, notebooks, and utility decorators.
Upgrade the flake8 and pylint hooks to the versions already pinned in the project environment. This restores pre-commit validation on Python 3.12 without skipping either linter.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant