If I stayed on zsh instead of switch to fish, I would've probably never
known how easy it is to add certain information to the prompt. Since
the prompt itself is just a function, you can run any commands you want
inside it to get information, including git commands.
This commit adds the current branch you're on only when inside a git
repository, and only when you're not in a tty.
Realistically, you use a window manager to take up all the available
space on a screen. Borders and gaps are counter-intuitive in this
regard.
Since polybar has a module that shows the title of the focused window,
using a border width even in gapless mode is no longer necessary. This
also works conveniently well with bspwm's monocle desktop layout, which
will also inherit the no-border no-gaps methodology and take up all the
available screen space.
It turns out that polybar is able to provide very useful information for
window management in bspwm, so much so that disabling the bar completely
wouldn't make sense.
Since there's already a way to hide the bar (with a sxhkd keybind), and
since a "no bar" option would break this functionality even though the
hidden bar keybind produces the same result, it makes sense to remove
this.
This removes the minimize, maximize, and close buttons from GTK
applications, since we don't use them under bspwm anyway.
Note that Qt applications should already do this, no configuration
necessary.
The cursor theme size is set based on the X cursor size, which itself is
based on the X DPI.
Note that (as far as I know) there is no easy way to change the X cursor
size without restarting the X session with the new DPI.
Lots of changes here with the goal of streamlining the installation
process. The install scripts work very well now, although there are
still some final changes that I would like to make (notably the removal
of the unzip requirement and the inclusion of more options to automate
the process even further).
The polkit package is used to let unprivileged users run certain
commands. With it, it is possible to run system commands such as
`poweroff` and `reboot` with an unprivileged user.
Traditionally, only privileged users have access to power management,
but for many desktop setups, you may want to let unprivileged users
perform operations such as shutdown the machine if no other users
are logged in.
It turns out that the README for the xeventbind PKGBUILD actually works
very well here. On another note, I've yet to figure out how exactly I
want to document PKGBUILDs.
This is an X-specific script that changes (mostly) everything that needs
to be changed on resolution change, with the exception of X cursor size.
Note that any programs already running are not affected. For this kind
of functionality, you probably want to use Wayland instead.
It turns out that replacing the contents of locale.gen with the locales
you want is not a good idea, since then it is impossible to reference
the file at a later date to make changes as needed.
It turns out the font that I was setting before didn't actually do
anything. This is the real way to double the font size in your virtual
console, particularly useful for HiDPI displays, since your tty does not
know about your X DPI.
Since the username appears before the hostname (user@host), and since
anyone using these install scripts will probably want to log in with the
local user account and not the root account, this change makes sense.
Since mkinitcpio is already ran on the installation of the linux
package with pacstrap, and since we don't change any config settings,
recreating the initramfs is not necessary.
This should work, although I haven't tested it yet.
In the future it may be easier to simply download the other install
scripts from this install script. That way we solve the problem of
having to unzip this entire repository in the installation image.
This should ensure that a user knows what they're doing before running
the install scripts. Note that parted will also ask for a confirmation
before overwriting existing data.
Since fonts and other desktop-related packages are now handled by
tari-desktop, this is no longer necessary. Note that I also created
tari-web before I figured out HiDPI support for Qt and GTK applications.
I initially created tari-util as a package to be pre-built and installed
in the installation media. This was a while ago, and now that I know
exactly how the installation process and PKGBUILDs work, all the
previous issues I had with makepkg turned out to not be issues at all.
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.