This *should* complete the process of adding full variable DPI support
to an X session. The X DPI is now set dynamically and changes on
resolution change, making this setup easy to deploy to both traditional
and HiDPI environments.
This caused some problems when the ~/.Xresources DPI was 192 and the
screen resolution was 96 DPI. Since I now know how to manipulate cursor
size even after X is started, manually setting Xft.dpi in ~/.Xresources
to 96 or 192 DPI is no longer needed.
Now that I figured out how to change cursor size for all applications
and not just a select few, restarting the X session to use a new cursor
size is no longer necessary.
Changing between desktop environments is no longer a feature since
it's easier and more convenient to use only one environment, although
it's still certainly possible for the determined user.
The bootstrap script was trying to call refresh-keys when the make
target was named update-keys. Since the flag is called --refresh-keys,
it makes sense to call the make target refresh-keys as well.
Now that the desktop labels cover less width and have lower padding,
it makes sense to place label-mode on the right side instead of the left.
This fixes an issue with padding I previously encountered with the old
desktop labels, and also prevents the desktop labels from being shifted
to the right when a label-mode is present.
This lets us use the Arc Dark theme in Qt / KDE applications without
having to worry about setting it through Plasma's system settings
interface.
Note that it's probably possible to change the color values to get any
look you want; one could even automate this process through pywal, and
symlink ~/.config/kdeglobals to ~/.cache/wal/kdeglobals.
Note that we enable lxdm before revoking privileges. The user can
start lxdm manually after this script is finished, but ideally the
system should first be rebooted to ensure that any kernel updates
are applied properly.
It turns out that manual intervention is necessary to resolve dependency
conflicts (bspwm-round-corners-git replaces bspwm), so it is easier to
simply install bspwm-round-corners-git later if wanted.
It turns out that yay automatically handles the process of installing
package dependencies not in the official repositories. This is very
important for some PKGBUILDs, so I've gone ahead and let yay handle
all the AUR packages I build.
Note that plasma-integration is used for KDE theme support without
installing the entire plasma-desktop. The breeze_cursors theme is
included in the breeze package, and xorg-xsetroot is used to change
the default X shaped cursor to a pointer.
Since I figured out how to run both KDE and GTK applications with
their proper settings under any lightweight window manager, and since
I now know how to configure these programs independent of their desktop
environments, this commit removes plasma-desktop, with the possibility
of gnome-shell bring removed in a future commit as well.
The rationale is that using a desktop environment is counter-intuitive
when you already use a window manager. Having multiple desktop environments
to start a session with is certainly amusing, but not at all practical,
especially when you can accomplish anything that needs to be done with
any window manager.
Switching between GNOME, Plasma, and bspwm also caused some inconsistent
X settings that I assume are non-trivial to fix without a proper restart
of the X server.
Simply starting the Plasma desktop environment will create quite a few
files in ~/.config. These files consist of window coordinates and other
non-friendly things, which, IMO, should not belong in the *user's* config
directory.
Regarding other software, GNOME MPV is arguably easier to use and less
buggy than baka-mplayer. Manipulating archives is also much easier with
file-roller than it is with ark. Since I got Audacity to look decent on a
HiDPI display, I no longer have a use for Kwave, which did not have some
of the essential features I used in Audacity anyway.
l3afpad functions much more like a notepad than kwrite, which is what
I'm looking for since I already use Vim. Using Cantata as a mpd client
is simply not the same as using ncmpcpp. zathura and evince are more
than enough for document viewing, hence the removal of Okular.
This is the PKGBUILD I made for a [nice patch][1] that adds border
radius support to bspwm. The patch has not been merged upstream yet,
so this PKGBUILD will have to do in the meantime.
[1]: https://github.com/baskerville/bspwm/pull/856
Since anyone using Tari will probably want the web browsers too,
this change makes sense.
Since all of Tari is now in one PKGBUILD, it is easy to see everything
that will be installed, and it becomes trivial to add or remove packages
as needed.
Updating firefox extensions manually is not ideal. Additionally,
this method is non-trivial to apply if the target system does not
use pacman as the package manager.