* Add warnings for libei and libportal
* Add warning about experimental Wayland support
* Update ChangeLog
* Move GUI res files to root res dir
* Fixed crazy qrc shenanigans
* Move Wayland warning logic, add tests, improve core retry
* Also install py modules with pip since meson can be in venv
* Throw error when no libei
* Add warnings when no libportal
* Allow failure then success to show related to Wayland (for switching modes)
* Fixed formatting
* Fixed includes
* Simplify warning message
* Add log hint
* Show warning when error already shown
* Only check for Wayland if X or libei
* Add error message when quitting dur to remote desktop error
* Improve consistency of portal log lines
* Brighter red
* Move openssl to vcpkg.exe
* Revert "Move openssl to vcpkg.exe"
This reverts commit 36f39d916f3cc2c8ce779442bd964bd6af7edd69.
* Add missing copyright
* Fix copyright dates
* Remove openssl from choco
* Install openssl using vcpkg
* Add deps for vcpkg
* Add missing vcpkg manifest
* Revert "Add deps for vcpkg"
This reverts commit c266d29c2cec4474a181b89c2f759b62ed67db10.
* Make vcpkg Windows only
* Improve comment about vcpkg
* Remove unused var
* Add caching for vcpkg
* Reorg launch.json
* Remove static env var for openssl on Windows
* Add openssl dep to vcpkg
* Update ChangeLog
* Add OpenSSL include dir
* Remove pointless choco cache
* Remove vcpkg downloads
* Remove wixtoolset for CI already installed on GitHub runners
* Use `Remove-Item` instead of `rmdir`
* Move cmake and ninja out of choco
* Revert "Move cmake and ninja out of choco (winget not supported on GitHub runner)"
This reverts commit a65c02d275e58705b8cd86fac72629284191d737.
* Move cmake and ninja to winget and don't use choco on CI
* Remove winget action
* Use scoop on CI and winget locally
* Use `seanmiddleditch/gha-setup-ninja` for Ninja
* Improve comments
* Install Ninja before deps
* Use system vcpkg if installed
* Revert "Use system vcpkg if installed"
This reverts commit 4ddee1c66e8cace458c047285a70d2f98cf9d82c.
* Add comment about why we're using local vcpkg
* Fixed comment about VC++
* Improve config comments
* Delete dead code
* Improve comment about vcpkg/buildtrees
* Make Google Test optional
* Download googletest with brew
* Set gtest and gmock lib vars in Libraries.cmake
* Fixed cmake format
* Add googletest-devel for openSUSE
* Fixed missing Meson arg for Windows
* Add gmock-devel for openSUSE
* Fixed openSUSE package names
* Fixed openSUSE package names (correct OS)
* Add success message to disambiguate confusing messages
* Restore original gtest lib var for subproject
* Make WinToast optional
* Fixed formatting
* Fixed cmake format
* Only build WinToast sources if found
* Add libei and libportal
* Port libei and libportal code by Peter Hutterer and Olivier Fourdan
* Add Peter Hutterer and Olivier Fourdan to important devs list
* Improve error handling for libei and libportal builds
* Checkout libportal tags/0.7.1
* Hack out the gi-docgen clone
* Remove new submodules in favor of using ExternalProject_Add
* Remove submodule dirs
* Use ExternalProject_Add instead of submodules
* Fixed namespace
* Hack to work around type libportal causing type conflicts
* Add log helper functions
* Use original log functions
* Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency
* Restore a few events (much more work required)
* Add TODOs for supporting multiple lib versions
* Revert "Switch to FetchContent, use libportal a1530a9 (unreleased) and use camelCase member names for consistency"
This reverts commit 610cebb5b6a08282eee68f4424fcdbe9eaab4bf9.
* Simplify cmake config by removing builds for libei and libportal (will do this in `install_deps.py` instead)
* Remove submodules
* Remove .gitmodules
* Use meson to build subprojects
* Update copyright with Peter Hutterer's guidance
* Use meson for installing deps
* Fixed typo in tag name
* Remove submodules
* Remove old submodules
* Fixed libei name
* Defaults for pugixml and gtest depending on whether source exists in subprojects
* Ignore some subproject dirs
* Make deps OS-specific
* Move python deps to pyproject
* Only compile and install on Linux with Meson
* Revert "Move python deps to pyproject"
This reverts commit 92c8a287b8376a4d166058c85f1d6081f6fdb423.
* Add ninja to brewfile
* Add python3-attr
* Restore original coverage config
* Add ninja for meson
* Include meson in same try-except
* Fixed ninja dep name
* Move libs to correct oS
* Fixed include for wintoast
* Disable docs for libportal
* More options for libei and libportal
* Fixed option for libei
* Use ninja directly to install
* Revert "Use ninja directly to install"
This reverts commit c926d78ba483406a55acd10fb157c39e13f90b71.
* Meson install verbose
* Prints stdout/stderr
* Remove `from None`
* Remove submodules that somehow crept back in?!
* Prepend sudo if exists
* Add libei deps for all distros
* Fixed Fedora package name
* Add more deps for other distros
* Add more libs (including pugixml)
* Fix lib name
* Drop -u from pacman
* Add vala to rhel
* Make libportal optional
* Make portal link optional
* Remove example code
* Always use system pugixml
* Disable interactive apt through install_deps.py
* Revert "Disable interactive apt through install_deps.py"
This reverts commit 5bbc8fd689182447c79b81db16c961b98361a292.
* Set DEBIAN_FRONTEND in workflows
* Set DEBIAN_FRONTEND in CodeQL workflow
* Add gtest dep
* Add bundled libei dep
* Add libei dep to Arch
* Use `googletest` on openSUSE
* Add gmock dep
* Remove gtest dep from openSUSE
* Add libei on Fedora
* Bundle libei for older Linux distros
* Disable libei dep for RPM
* Also bundle symlink to .so
* Use ${CMAKE_INSTALL_LIBDIR}
* Rename libei to fix openSUSE
* List installed files
* Add libei-devel to openSUSE
* Add googletest-devel to openSUSE
* Remove manual deps (probably resolved automatically)
* Remove googletest from openSUSE (doesn't provide google mock)
* Only add Portal* if libportal found
* WIP - Partial work on using old events system :'(
* Add deps install commands for subprojects
* Solved more compile issues related to events system, threads, etc
* Fixed bad config for adding x, ei, portal sources
* Remove redundant deps
* Remove (another) redundant dep
* Fixed pacman command
* Add Ubuntu and Linux Mint libei deps
* Fixed Ubuntu and Linux Mint libei deps aliases
* Only iterate subprojects if not None
* Add rhel, rocky, and alma for libei
* Make rhel-like deps same as fedora again
* Build libportal on rhel-like
* Re-enable meson rhel-like for libportal
* Remove dbus-python
* Make libportal optional (for rhel-like)
* Handle ei event queue results
* Re-introduce libportal
* Print libei and libportal versions
* Add ei/portal args and client screen
* Switch --use args to --no
* Don't build libei/libportal on older distros as it's pointless
* Make libei and libportal optional
* Add Debian 13 runner
* Make some packages optional
* Remove subprojects
* Improve comment
* Add comment for libportal
* Improve comment
* Add Debian 13 runner
* Make optional... optional
* Change continuation stripper to remove newline and continuation char
* Make command strip more uniform
* Fixed help var syntax
* Fixed libei linking
* Ensure `kHelpNoWayland` is always defined
* Improve help message
* Fixed Debian 13 runner name
* Include sstream and use const var
* Update ChangeLog
* Remove Wayland block
* Return new timer
* Make tray icon logging verbose
* Fixed arg parser for wayland args
* Fixed init of EI screen
* Fixed lint issues
* Update README to indicate Wayland support in GNOME 46
* Add missing word
* Fixed comment positions
* Automate CI env
* Tone down debug log messages
* Add missing comma
* Remove redundant log line
* Update config.yaml to support Linux Mint build target
Linux Mint is a Debian downstream, and it should be supported as such
* Update ChangeLog
---------
Co-authored-by: Nick Bolton <nick@symless.com>
* Add RHEL image
* Use Fedora config for RHEL
* Use script to activate RHEL
* Mirror mount args
* Set RHEL username and password
* Pass RHEL build args
* Pass RHEL login by file
* Use RHEL 9 for newer Python
* Source RHEL login
* Add case for RHEL Python deps
* Add `--deactivate`
* Do PIP user install
* Upgrade PIP
* Add RHEL config
* Introduce 'command-pre'
* Inherit fedora deps for RHEL and only strip sudo on non-empty command
* Add RHEL 9 runner
* Use RHEL 9 codeready
* Add AlmaLinux EL9
* Add support for RHEL-like
* Add EPEL for Alma
* Enable power tools on Alma
* Fix missing semicolon
* Install EPEL before power tools
* Inherit Alma deps from RHEL
* Switch from `powertools` to `crb`
* Abandon RHEL for now (no Qt 6 support)
* Don't pass required when getting distro key
* Correct key name for Rocky Linux
* Add Repology badge
* Restore original `build-push-action`
* Exclude unsupported Repology entries
* Update ChangeLog
* Test: allocLockCursorToScreenInfo_withState_setsState
* Merge remote-tracking branch 'origin/master' into S1-1717-sonarcloud-issues
* Remove header wrappers for gmock/gtest
* Convenience wrapper script for tests
* Use `std::copy` instead of `strcpy`
* Use `std::ranges::copy` instead of `stdcpy`
* Delete dead code
* Add guitests VS Code config and test wrapper
* Revert "Delete dead code"
This reverts commit aa40f5cd35a22b4b69acfd1876aceea053088060.
* Build guitests with CMake
* Run all tests
* Don't use --gtest_filter for Qt tests
* Undo skip for GUI tests
* Coverage for `IpcClient::sendCommand`
* Remove provider and proxy
* Use lamda for StreamProvider to reduce boilerplate
* Restore version checker tests
* Remove activation souces
* Tasks for current/all tests
* Change command for tasks
* Mock QNetworkAccessManager
* Create core app to satisfy Qt assertations
* Use `std::copy` instead of `std::ranges::copy`
* Remove integtests
* Merge guitests into unittests
* Use std::string::length
* Remove include (resolves to root)
* Fix memory leaks
* Disable sigsegv tests
* Fixed formatting
* Remove guitests from CI
* New MainWindowTests
* Passing test for MainWindowTests
* Use alternative to strlen in MainWindow::checkSecureSocket
* Passing test for Log::print
* Fixed dtor call order
* Fixed var name typo
* Use proxy instead of `#define protected public`
* Add args test for log
* Add license ctor
* Fixed log test for release
* Add error log test
* Init qt with -platform offscreen
* Back-out initQt function
* Use QT_QPA_PLATFORM
* Try QT_QPA_PLATFORM=offscreen
* Use more readable env node
* Set QT_QPA_PLATFORM in CI and CodeQL
* Remove env not needed
* Modernize Log::print
* Calculate the length of the format string fmt during the initial scan loop
* More direct and efficient alterative to `strlen`
* Fixed major maint issues in AppConfig
* New clang and cmake rules
* Set `max_pargs_hwrap` to 4
* Undo clang format for now
* Fix missing `Setting::`
* Fixed missing `m_S` on Windows
* Re-add accidental dep resolution (fix later)
* Fixed missing buffer position increment
* Turn on errors
* Fixed tests and improve error message
* Fixed segfault on log refactor
* Extract log time to function
* Copyright date
* Update ChangeLog
* Remove Core5Compat
* Remove hack
* Update ChangeLog
* Revert "Remove hack"
This reverts commit dda3ad05818d346fdfcbb41944b9e731a4b547c0.
* Set `add_compile_definitions` for Qt
* Revert "Set `add_compile_definitions` for Qt"
This reverts commit 0258d2d226a76081068f4e565855f37993953be5.
* Use arm64_monterey bottle
* Revert "Use arm64_monterey bottle"
This reverts commit a46d743dc6883c925e2328b9628231189cb34367.
* Use aqt to install Qt on Mac
* Append env var instead of overwrite
* Fixed filename
* Use GITHUB_PATH
* Restore original GITHUB_ENV logic
* Use newer cache action
* Update ChangeLog
* Don't run CodeQL in PR draft
* Speed up analysis workflows
* Run install deps on Debian
* Add badge to readme
* Fixed copy and use workdir
* Use mount instead of copy
* Fixed unwanted && and changed workdir
* Split deps and deps-full
* Fixed context
* Use /app dir
* Use copy instead
* Revert to --mount and use .py (not .sh)
* Test
* Add `./scripts/install_deps.py` to all platforms
* Add missing syntax
* Fixed Python dep for OpenSUSE
* Temp remove WORKDIR for OpenSUSE
* Re-add workdir
* Increase timeout
* Delete `zypper --non-interactive remove busybox-which`
* Restore python3
* Test
* Rename to `lint-source-code`
* Beef up analysis runners
* Fixed workflow runs-on
* Use deps script
* Try pipx for gcovr
* Use containers with deps
* Add -y arg
* Install curl
* Merge deps step
* Add unzip dep
* Make Git dir safe
* Add .local/bin to env
* Improve step name
* Use `pipx ensurepath`
* Install gcovr with apt
* Use Ubuntu 22 with pip
* Update ChangeLog
* Use 16-core for Windows
* Use choco cache
* Test
* Use 8-core for Windows (picked up quicker, more available?)
* Use Qt 6
* Fixed some Qt6 deps
* Fixed minor compile issues for Qt6
* Drop Debian 11 support (no Qt6 lib)
* Move Debian to top
* Delete expensive to maintain code that yeilds low UX gain
* Unpack all values
* Use %lld instead of %u
* Minor UI improvements
* Add deps for Fedora, OpenSUSE, and Arch
* Fixed CMake lint issue
* Use package name from build.opensuse.org
* Used `zypper search` to find correct package names
* Reorganize CMake Packaging module
* Match if statements to function order
* Cleanup root, res, and doc dirs
* Move deps to requirements.txt file
* Reorganize and format CMake files
* Rename changelog lint
* Add reccomended extension
* Workflow to lint CMake files
* Move CMake lint to script
* Try lighter dep
* Use venv
* Add --format arg
* Format all CMake files
* Convert bash script to Python
* Set CMake line ending format
* Restore formatting
* Add pyyaml dep
* Remove unused arg
* Rename config file
* Remove comment
* Repair copyrights (broken by defualt cmake-format)
* Restore 3rd party copyright
* Break up libs config into smaller macros
* Better macro name
* Load config after venv
* Make intentional noop clearer
* Only use upload step if required (make skip clearer)
* Use CPack for deb and rpm packaging
* Add upload step for Linux
* Remove cpack dep, doesn't exist
* Roll back presets version
* Fixed distro like match
* Update ChangeLog
* Legacy checkout for some distros
* All distros support v4
* Trying out newer Linux distros
* Install Git on Docker images
* Install without actions (not available before checkout)
* Delete useless action
* Install Python
* Support for Arch and OpenSUSE
* Add Arch and OpenSUSE to deps
* Name steps
* Full OpenSUSE names
* Mark Git dir safe
* Add pkgconf
* Legacy CMake for Debian 11
* Add OpenSSL to OpenSUSE
* Drop OpenSUSE Leap (no C++20 support)
* Skip packaging for Arch and OpenSUSE (for now)
* Shorten Arch/OpenSUSE names
* Clearer step name
* SImpler bootstrap
* Shell not needed
* Update apt
* Don't check return code
* Simplify python deps commands
* Add STGZ/.sh package type
* Prevent input prompt
* Only config git safe dir when needed
* Try cache v4
* Safe dir for Ubuntu
* Safe dir for Arch
* All Docker images seem to need safe dir config
* Refactor env var getters
* Make Ubuntu build extra packages
* Condense bootstep to single step
* Fixed var name
* Fixed bootstrap logic
* Simplify logic for upload condition (Windows and macOS)
* Make package/upload condition easier to understand
* Add Manjaro
* Generic names for Linux .tar.gz and .sh packages
* Add Manjaro deps
* Swap macOS matrix entries
* Add Red Hat UBI
* Remove RHEL subscription manager
* Throw on unsupported package distro
* Conditionally install pip and venv
* Remove extra pip arg
* Add config for RHEL
* Install EPEL for RHEL
* Back-out RHEL as EPEL requires subscription
* Restore Python deps logic
* Fixed bug: Packacking run twice
* Testing arm32v7 and arm64v8
* Revert "Testing arm32v7 and arm64v8"
This reverts commit cb3caf188d2b79ed083a62fc091de295f9889f3d.
* Re-add icon and shortcut file for Linux to package
* Support OpenSUSE RPM build
* Check return code
* Add `rpm-build` for OpenSUSE
* Reorg packages
* Remove busybox-which
* Add --non-interactive
* Move --non-interactive to correct position
* Experiment with makepkg
* Check and print package commands
* Make distro version optional
* Use 8 cores to build
* Default to distro name only
* Fixed bad PKGBUILD filename
* Use 4-part version for Arch
* Remove comma from conflicts
* Use .tar.gz from cwd
* Generate checksum for Arch
* Fixed file extension
* Use shell to print output
* Don't use shell
* Gaurd against bad cmd_utils.run
* Fixed bad import
* Use list command
* Fixed unable to run list commands
* Use source file name
* Simplify PKGBUILD to use make install
* Change install prefix
* Use DESTDIR
* Copy .desktop and .png to build dir
* Restore original `install(FILES...`
* Improving comments
* Fixed: makepkg runs from `src` by default
* Move error after command print
* Remove shell arg
* Package as a user instead of root (makepkg can't run as root)
* Fixed codesign runs in shell
* Allow list commands in shell on windows
* Don't use sudo on arch
* Install sudo on Arch
* Fixed typo
* Fix ownership of build directory for package user
* Improve example .env
* Change to depend on libstdc++6
* Add TODO
* Fixed Fedora version
* Remove libstdc++ deps (names vary between distros)
* Roll back to Fedora 40 and 39
* Improve comment
* Remove unneccesary default