Commit Graph

28 Commits

Author SHA1 Message Date
Donovan Glover
9f0809220a
bspwm: Remove toolkit-specific environment variables
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.
2018-11-27 18:51:25 -05:00
Donovan Glover
5679c7092c
bspwm: Add HiDPI support for GTK applications
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.
2018-11-21 21:18:00 -05:00
Donovan Glover
1c44cd55f6
wal: Modularize done.sh
Instead of trying to do everything at once, done.sh will instead call
other scripts for each individual program that needs to be manipulated.
2018-11-19 20:12:22 -05:00
Donovan Glover
58f7581be9
docs: Add READMEs for bspwm, polybar, and rtv 2018-11-18 15:20:14 -05:00
Donovan Glover
c4b7b69f66
stow: Split bspwm into separate packages
It turns out that placing similar config files (i.e. bspwm-related) in
the same directory is not the way to go about handling dotfiles since
each config file (or dotfile) *should* manipulate only a single program.

This was not the case back when I used urxvt (which would require the
old method of .Xresources), but now that I understand more about how
*modern* dotfiles work (with $XDG_CONFIG_HOME), separating dotfiles by
program became the obvious choice.
2018-11-17 14:58:13 -05:00
Donovan Glover
df766c3a48
meta: Remove all references to urxvt and termite
Now that I've learned kitty, other terminal emulators like termite and
urxvt are no longer necessary. Here I remove any config files that were
necessary for either termite or urxvt and change all terminal options
to kitty.

As an added bonus, a global gtk.css file is no longer necessary. This
contradicted a core idea of dotfiles (that every program should have
its own directory in $XDG_CONFIG_HOME) and was in general a weird hack
that also affected non-termite emulators.
2018-11-15 21:06:15 -05:00
Donovan Glover
b8e61965c7
meta: Split zathura config into separate files
This lets me use my zathura config without relying exclusively on
pywal being set up (theme set, done.sh ran, cache not cleared).
2018-11-15 11:44:01 -05:00
Donovan Glover
4ada38d874
meta: Split kitty config into separate files
Since kitty.conf can include settings from other files, it is easy to
enforce sane kitty defaults without relying on pywal templates.
2018-11-15 02:26:13 -05:00
Donovan Glover
c98ac74257
meta: Remove termite
I removed termite before, but this time I shouldn't need to add it
again. The kitty terminal emulator supports image output and handles
fonts better than termite. Plus, true transparency can be used without
sacrificing images in the terminal.
2018-11-14 19:02:45 -05:00
Donovan Glover
3e77f8f992
sxhkd: Don't start tmux by default
It turns out that since tmux sessions will stay active after you close a
terminal window, it is easy to end up with a lot of empty sessions. This
makes it difficult to detach and re-attach the appropriate tmux sessions.

Additionally, some features of kitty (notably terminal images and
dynamic background opacity) will not work inside tmux. Since kitty has
its own window manager, this caveat can be easily circumvented. By
invoking tmux manually instead, we also avoid the problem of nested
tmux sessions.
2018-11-14 14:43:42 -05:00
Donovan Glover
067c010df8
kitty: Always use fish as the default shell
Since changing the default shell to fish without breaking Fedora with
GNOME is non-trivial, I instead set the option from the terminal
emulator itself.

Although this won't carry over to ttys and other environments, it should
be simple enough to start fish manually when needed.
2018-11-14 14:31:21 -05:00
Donovan Glover
5627f07961
bspwm: Update kitty config
This commit adds some functionality not present in the initial commit.
Note that changing background opacity will not work when executed inside
tmux.
2018-11-11 11:38:05 -05:00
Donovan Glover
207ef19a7b
meta: Add kitty
I've gone through a lot of terminal emulators by now, and have always
switched between URxvt and Termite (due to the features they support).

For URxvt, this is particularly cumbersome since the version in the
official repositories does not have the patches required for practical
use. Even with patches applied, URxvt supports neither true color nor
emoji. Termite worked well, but it lacked image support.

Kitty features all of the following:

- True color support
- Image support
- Emoji support
- Icon fonts support
- Transparency support

Additionally, projects like Ranger and Neofetch have already taken the
initiative to support the Kitty image protocol (which, luckily for me,
are the only programs I use with images in the terminal).

Why not Alacritty, the other GPU-based terminal?
---

Although Alacritty is also very performant, there are several things
that keep me away from this terminal emulator.

Alacritty, as of this writing, renders neither images nor emoji.
Although it is certainly possible to use a terminal emulator without
either of these, the lack of these features limits what you can do with
the program you (presumably) spend the most time with on your computer.

The current config setup is "all or nothing"; I cannot remove defaults
from my alacritty.yml and expect those same defaults to carry over.
Even common terminal escape sequences are hard-coded into the config
file, which cannot be removed without breaking things.

Some other benefits of kitty:

- Full image support in transparent terminals
- w3m hack + loop is no longer necessary for persistent images
- No weird artifacts around the image
- Can highlight text without affecting the image
- Images aren't lost after switching between desktops
2018-11-07 18:20:19 -05:00
Donovan Glover
abe2fab50d
bspwm: Use tmux by default in all cases
Since tmux is only a problem when using neofetch with the w3m image
backend, I have instead added a new keybind to handle this use case,
which floats the terminal by default as well.
2018-11-04 15:20:48 -05:00
Donovan Glover
cddcb504d3
stow: Split systemd package into bspwm and ssh-agent
Since urxvt will only be used on my bspwm setup, and since ssh-agent
can be used on non-bspwm setups as well, it makes sense to separate
the two.
2018-11-04 11:39:56 -05:00
Donovan Glover
b2c252d82a
meta: Add executable bit to bspwmrc and other scripts
After a considerable amount of research, I finally understand how to use
chmod and what file permissions in linux actually mean.

It turns out that git can commit both regular files (644 permission) and
executable files (755 permission). This is great since changing file
permissions manually after a git clone is no longer needed.

This useful feature is enabled by default, however, it seems like I
disabled it a long time ago. If this is you, simply re-enable it by
setting `filemode` to true in your .git/config.
2018-11-01 20:58:24 -04:00
Donovan Glover
3ebc47ca28
bspwm: Add dropdown.sh
This commit makes it possible to toggle any terminal you want with
super + backslash. If the terminal doesn't exist already, it will
be created for you.
2018-11-01 16:14:34 -04:00
Donovan Glover
02019be0d3
stow: Merge wal with bspwm
Realistically, you won't need my wal config if you are not using my
bspwm setup, since wal does a good job at otherwise changing most other
color schemes that you may find in, e.g., a GNOME or Plasma setup.
2018-10-30 16:49:10 -04:00
Donovan Glover
522b92c9cd
stow: Merge term with bspwm
Realistically, you'll be using neither termite nor urxvt if you have
access to a desktop environment since those usually include their own
terminal emulator that works out of the box anyway.

Additionally, many of the benefits from termite and urxvt are not a
necessity in other desktop environments.
2018-10-30 16:36:15 -04:00
Donovan Glover
21814cda7f
docs: Add READMEs for bspwm and extras
Now that all the READMEs have been added, all that's left is to polish
them as time goes on. It may be useful to add images to each of the
package directories to show visually what each contain.
2018-10-23 22:19:36 -04:00
Donovan Glover
a0e535b2b5
stow: Move bspwm-specific dotfiles to separate directory
Previously I wanted to stow everything at once, but now that I know how
to use Makefiles a bit more, I can still stow everything at once with
multiple directories. Additionally, this allows people (myself included)
to only stow the dotfiles they want, such as only vim or only fish.

Instead of separating *every* file into its own directory, I've opted
instead to group common configs together and only use separate
directories where they make sense (e.g. a vim config).
2018-10-22 15:03:01 -04:00
Donovan Glover
22ef6af42f
Move dotfiles to the dots directory
Now that I've read the man pages for `stow` and actually know how to use
it properly, I can organize my repositiory by using a separate dots
directory specifically for my dotfiles.

Additionally, similar dotfiles are now grouped together. This means less
stow work for me with files that would otherwise only be used in one
environment (e.g. bspwm).

As much as one would like to show off browsing the internet with w3m,
such a setup is highly impractical for daily use. Remembering the
keybindings I set up was also becoming an issue, so I simply removed
them in favor of the defaults, assuming I ever need to use w3m at a
later date (probably not).
2018-09-06 14:07:35 -04:00
Donovan Glover
5918a58067
Combine more bspwm-specific dotfiles
Realistically, a larger GUI program is more likely to be used than
ncmpcpp when given the chance. This *might* not be the case, but I
highly doubt it.
2018-09-01 03:42:28 -04:00
Donovan Glover
b58ae0bdd4
Combine bspwm-specific dotfiles
There are many dotfiles that we don't have to worry about when using a
desktop environment like Plasma or Xfce. These dotfiles are bspwm
specific and should all be stowed at the same time when stowing bspwm.
2018-09-01 02:29:22 -04:00
Donovan Glover
b6c86f561f
Update bspwmrc 2018-08-31 14:17:22 -04:00
Donovan Glover
520bb800ce
Update config files for polybar, bspwm, and sxhkd
polybar:

- Properly referenced all the xrdb colors
- Decreased the height of the bar to 85 while floating
- Made the border color translucent
- Added line-size (gives line emphasis to modules)

bspwm:

- Decreased window_gap (aka increased the working space)
- Added presel_feedback_color (used when selecting where to open
  new windows)

sxhkd:

- Added super + shift + return to start a new tmux session
- Updated polybar show / hide with new top_padding value
- Added keybind for the private flag
2018-04-11 22:41:57 -04:00
Donovan Glover
8327e48c44
Update .aliases.sh and bspwmrc 2018-03-02 23:58:19 -05:00
Donovan Glover
67f07825fc
Move mpv, feh, and bspwm to stow 2018-02-27 01:23:19 -05:00