This not only fixes the issue where set -x would cause the read
line to be altered, but also separates user input from what the
install scripts actually do.
I added shortened systemd timeouts when I didn't know how to use
journalctl. But now that I know enough to fix things that might
stall these commands, this is no longer necessary.
As much as rofi-pass may appear to be useful, it is simply easier to
just use the pass command directly, especially if you have a passphrase
set on the private encryption key you use to unlock passwords.
Although rofi-calc was certainly cool to use, it is not in the
official repositories. Instead of trying to rely on it as a
dependency, I've gone ahead and removed it instead.
This gives the task of setting environment variables to rofi's
launch.sh, instead of trying to do it in sxhkdrc.
Another benefit is that rofi can be launched properly from anywhere,
regardless of whether or not sxhkd is being used.
Now that I know how to use terminal multiplexers, and now that I
understand more about how shells and terminals work, the launch
dependency is no longer necessary.
Additionally, *too many* abbreviations is difficult to use in the long
term, no matter how short the commands are. Since I don't need to launch
programs from the terminal as often anymore (now that I use rofi and
other programs), this change makes sense.
Typing git repositories in the format 'hub' and 'lab' accepted actually
took more time than simply copy/pasting the URL for `git clone`. Sometimes
we didn't even *want* to change our current directory, which made these
functions impractical.
Having to use `git clone` directly helps us remember what we're actually
doing when we clone a repository, and should be preferred over aliases
and other functions that try to do the same.
Besides the fact that .files is indisputably cooler, using a literal dot
instead of the actual word makes this a hidden directory, which is great
since configuration files are expected to be hidden by default.
This also keeps our home dir nice and tidy, with only directories
generated by xdg-user-dirs.
Since fish will warn when there are background processes before exiting,
and since when we type "exit" we really do want to close both the shell
and its corresponding terminal window, this change makes sense.
In attempt to keep the home directory as clean as possible, we remove
the rpmbuild directory when we're done with it, which, as of this
writing, will not contain any files anyway.
As a side note, running a bootstrap.sh in a post-install environment is
significantly easier (and more practical) than trying to accomplish
every step before a reboot in the installation image. This separates
things like making partitions from the actual system.
Note that most (if not all) of these programs can run inside any
environment with the same expected behavior, not just Plasma and GNOME,
provided the proper environment variables and config values are set.
xeventbind is a useful program that lets you run any command on
resolution change, similar to how GNOME on Wayland is able to change
scaling on on resolution change, but not exactly.
Since we're still using X, existing programs are not affected; they
have to be restarted instead.
This commit adds full variable DPI support to polybar. This means that
it is possible to use the same polybar setup on both a traditional and
HiDPI display.
Additionally, font size has been slightly adjusted since polybar does
not support decimal font sizes. Some other numbers have also been
changed.
It turns out that neofetch works exceptionally well with this terminal
size, so I'm making it the default in kitty.
Now I can use neofetch without having to worry about resizing the
terminal window for the desired effect.
For software development and other practices where distinguishing
between the colors in a color scheme is important (e.g. red versus
green, etc.) the base16-tomorrow-night theme offers a great middle
ground between aesthetics and readability.
It turns out that 'window' (as of this writing) does not work very well
when trying to use it as an alt-tab replacement. It's simply easier to
just use the functionality provided by your window manager instead.
I have never used rofi's 'run' feature, since any time I'd need to run
a command I'd just do it from a terminal, which also lets me see any
output from that program as well.
Note that window order is not based on the order in which windows are
hidden, but something else entirely. For this reason, it is recommended
to hide only one window at once.
A more robust solution would be to let the user choose from a list of
available hidden windows, potentially through rofi's dmenu capability.
Instead of managing these variables at the bspwm level, we can simply
use rofi instead. This means that applications can be launched in other
desktop environments with the correct settings applied through rofi.
Now that I understand more about how GNU/Linux distributions, display
managers, and X sessions work, it makes sense to separate meta packages
based on environment used.
When you use a display manager, you're just starting X in a fancy way.
Since you can run any program you want on the X server, it is easy to
install multiple desktop environments on the same machine and switch
between them easily, provided your setup is adequately modular (which
it should be by default).
Instead of manually setting the DPI to 192 or other values, we can
just take the value from xrdb instead.
This script, in combination with GTK's settings.ini if you are in a
non-GNOME environment, is everything you need to launch both GTK and
Qt applications at the appropriate DPI, with their respective themes
applied as well.
Instead of relying on a fish function to configure neofetch,
we can use config.conf instead.
Since neofetch is an independent program, we also make a new stow
package for it, instead of relying on the fish config being present.
Since I now know how GNOME works (using dconf and gsettings), changing
settings manually with GNOME Tweaks is no longer necessary. Instead,
everything can be handled directly through the `make rice` command.
It turns out that compton has received many bugfixes and improvements
since the last time I used the fading effect. It is a nice animation
that adds a bit of spice to the desktop, so I've enabled it for now.
It turns out that GDK_SCALE and GDK_DPI_SCALE is what you need to add
HiDPI support to GTK applications. Since you probably have .Xresources
adjusted for your HiDPI display, you will need to set both GDK_SCALE and
GDK_DPI_SCALE at the same time to render things properly.
Ironically, I never got this to work before. Maybe because I was always
using 'GTK_SCALE' instead of 'GDK_SCALE', or maybe because I never used
both GDK_SCALE and GDK_DPI_SCALE at the same time.
This gives me full HiDPI support in bspwm, with the exception of a few
applications (polybar, dunst) that don't honor DPI as of this writing.
Since the Adapta theme isn't maintained anymore, some problems in newer
versions of GNOME (such as incorrect padding for text underlines in
Nautilus) cannot be reported since issues are disabled.
It turns out that Arc-Dark does have padding, I just wasn't scaling GTK
applications properly. Since I already use the Arc theme for KDE, using
it for GTK as well gives all my desktop applications a universal look
and feel.
The solid variant is used instead of the original to remove the
transparent effect seen in Nautilus. The Arc GTK theme supports both
light and dark color schemes, which is very nice.