Releases: excalibur1234/pacui
New GUI, pamac, flatpak, and snap
Changelog of most relevant changes:
-
After a user vote, PacUI has now a new GUI, which is faster to navigate. Pressing a single key will enter an option. It is no longer necessary to press ENTER.
Along with this change, all option calls have had to change to single-key presses. This means that e.g. the option "Reverse Dependency Tree" is now accessible by pressing the E key. The old way (entering "rt" and pressing ENTER) is still available from the command line (e.g. starting it with "pacui -rt", but is no longer advertised. -
Upon a feature request, if "Remove Packages" fails it is now possible to forcefully remove all packages (including packages, which depend on them). Use it with caution.
-
@puxplaying has contributed support for pamac-cli (and therefore all pamac versions) to PacUI.
-
@puxplaying has contributed flatpak and snap update support.
As always, bug fixes and small improvements were done as well.
Looking Good in TTY
This release of PacUI contains the following noteworthy changes and fixes:
-
fzf makes it now possible to use ASCII characters for its preview window.
Therefore, PacUI exclusively uses ASCII characters and no more Unicode characters. This makes preview window, menu, and dependency tree "lines" also visible in tty! -
PacUI now checks more often for server availability. This prevents errors, when you have no internet connection.
-
A couple of config files have been fixed or added to the "Edit Config Files" option
-
"List Installed from AUR" now also displays AUR package information.
-
Adoption of latest version of pacman and fzf. This fixes some bugs.
-
In order to have less dependencies, "wget" got replaced with "curl" (which already is a dependency of pacman). This results in slightly longer download times.
-
Thanks to a tip from @puxplaying, the "Maintain System" option now removes partially downloaded packages from Pacman's cache.
-
PacUI can now be quit by entering "exit" or "quit" thanks to a contribution from @brenohq.
-
General improvements in the "Help" option.
Important fixes
This release of PacUI contains some important fixes:
-
PacUI should now fully work on non-BASH shells.
-
Some Criticism (please also look at my answers 2 posts below) has been addressed. The main Criticism (the "fix pacman errors" option) has been overhauled. Now, the user gets asked before (potentially dangerous) commands get executed.
This enables the user to not follow Arch Linux recommendations in order to fix common keyring problems automatically. -
Preview fully works, if no AUR helper is installed.
Two features have been added:
-
If a package is installed, package information gets shown for both installed and repository package versions. Additionally, the info preview clearly shows, where a package is located (installed, AUR, repository).
-
A reverse dependency tree can now be displayed of repository packages.
Small improvements, speedups, and fixes are included as well.
Less and more AUR helpers
Here are the most important improvements in this version of PacUI:
-
Support for Yaourt was removed, because of strong security concerns.
-
Support for Pakku and Aurman as AUR helpers was added.
-
A new default Order of AUR helpers according to their feature sets, security, popularity, and speed:
- Yay
- Pikaur
- Aurman
- Pakku
- Trizen
- Pacaur
If you are using multiple AUR helpers, you can now set your preferred one either by editing PacUI's code directly or using the PACUI_AUR_HELPER environment variable.
-
There should be a noticeable speed improvement to PacUI's package info preview in "Install Packages". For best performance, Yay is recommended. Aurman and Pikaur (and sometimes Trizen) can be noticeably slower.
-
"Maintain System" now checks for no longer maintained packages, which were moved to the AUR. By default, it is recommended to remove these packages manually.
-
Further fixes, which were necessary due to Pacman 5.1. General fixes and improvements.
Pacman 5.1 compatibility
This release includes some rather small developments and bug fixes:
-
If the core Pacman database does not exist during PacUI's start (and either reflector or pacman-mirrors is installed), PacUI will automatically connect to a fast mirror and sync to it. This should prevent some (non related) problems for PacUI reported in the past.
-
PacUI is now able to read more alternate Pacman paths from its configuration file. Reading the Pacman configuration file should be reliable, too.
-
Upon request, long fzf lists can now be skipped by half a page by using the right/left arrow keys. This should make navigation, especially on laptops, faster and more intuitive. Please report and problems you notice with this new default behavior.
-
"Maintain System" option now includes a test for failed systemd services.
-
PacUI is now compatible with Pacman 5.1
Bugfix Release
This release includes a bugfix for "Maintain System" and "Fix Pacman Errors" options in which, especially noticeable in KDE, required files in /tmp/ directory got deleted. Now, only files created by PacUI (which name starts with "pacui*") get deleted.
This bugfix prevents unexpected system behavior.
Some minor improvements for PacUI used by tiling WMs and general code and comment cleanups are included, too.
Bug Fixes
This release fixes multiple bugs. At least 3 related to stuff messed up, because of false shellcheck recommendations.
Additionally, the Bash strict mode is disabled by default again: It simply caused too many problems and unexpected behavior. But it is only commented out and can be enabled easily again for testing purposes.
All fixes should result again in properly working 'Fix Pacman Errors', 'Maintain System', and 'Remove Packages' options.
Optimized for Tiling Window Managers
This release includes many fixes and improvements. Here are the most noteworthy:
-
Support for Pikaur. Multiple fixes for yaourt and yay.
-
PacUI should now fix - with its 'maintain system' option - problems occuring during updates.
-
PacUI tries to prevent partially updated systems whenever possible now. If you want to achieve the same, please update your system before installing any packages.
-
PacUI's UI should now behave much more flexible when started in small tty/terminal windows. fzf is now displayed at the bottom when started in terminal windows narrower than 120 columns. For very narrow terminal windows, 'pacui h' is recommended instead of 'pacui'.
-
The help page can now be called via 'pacui help' or 'pacui --help'. Short help is still available via 'pacui h' or 'pacui -h'.
-
There is now a new '--flag' argument, which can be used for scripting. As a side effect, you can now use multiple different ways to call pacui options directly in your terminal. For example, PacUI can now update all AUR packages with the following commands:
'pacui 13'
'pacui ua'
'pacui fua'
'pacui forceupdateaur'
'pacui updateaur'
'pacui force-update-aur'
(including all variants with one or two dashes).
This means that you can start PacUI via tty/terminal with the same arguments as in the UI! -
Added preview window to hidden 'downgrade' option.
Last Minute Fixes
I have found some more environment variables, which need to be handled separately, in order to function properly with Bash Strict Mode.
AUR fix
Since yesterday, AUR support is broken in all versions of PacUI, except extremely old versions. The reason is a format change in the list of all package names as described in the Arch Wiki.
There has been a previous format change in the mid-December of 2017, which broke AUR support in PacUI. It seems that now, the previous format (from the pre-December era) is used again.
I have adopted the changes (by using the old AUR-related PacUI code) and pushed an update to all Versions of PacUI. Until the format is changed again, PacUI's AUR support should work again.
Since the release of PacUI, development has continued here is a short list of changes:
-
New developments in yay and trizen are now supported in PacUI.
-
Some Arch Linux specific problems have been fixed.
-
PacUI shows a text with red background whenever user interaction is recommended or required
-
PacUI uses a "Bash strict mode" now. This makes it quit immediately whenever a single command within PacUI reports an error. The strict mode forces developers to use high quality code (which means less unintended consequences), but can make the script quit prematurely with an error message. Please report these errors whenever you encounter them.
-
General improvements.