Commit Graph

57 Commits

Author SHA1 Message Date
Donovan Glover
93e55359ed
bspwm: Only disable power saving on virtual machines
Now physical machines still get power saving, and virtual machines don't
since power saving is automatically handled by the host.
2022-07-29 11:06:39 -04:00
Donovan Glover
991185c2ce
bspwm: Make xsecurelock compatible with picom
This fixes an issue where an "incompatible compositor" message would
display previously.
2022-07-29 05:59:32 -04:00
Donovan Glover
6c84ba914c
bspwm: Set the keyboard to maximum brightness on init
This fixes the issue of having to manually increase brightness on boot.
2022-07-28 10:55:59 -04:00
Donovan Glover
aeb87d3026
bspwm: Use the previous color scheme if present
This makes it possible to keep a preferred color scheme across boots.
2022-07-28 05:19:42 -04:00
Donovan Glover
d4f214f5fb
meta: Set the browser at the window manager level
This fixes an issue where the specified browser wouldn't be used when
dealing with a non-shell environment.
2022-07-28 03:00:49 -04:00
Donovan Glover
762ff7bd15
bspwm: Use a more interesting desktop layout
Since I usually have a browser and terminal emulator open most of the
time, I have placed them back as desktop 1 and 2 by default. I'm used to
the file browser being in 3, and 4 serves as media, which is important
for language immersion in particular.

The other 6 icons are numbers for individuals that know how to read
other languages.
2022-04-11 09:35:29 -04:00
Donovan Glover
e958c6ab5d
bspwm: Use mpv with xsecurelock
This lets us play videos in the background while the screen is locked on
Xorg, taking advantage of all our mpv settings as well.
2022-03-21 11:41:16 -04:00
Donovan Glover
68075e746d
bspwm: Auto-mount partitions with udiskie
One of the conveniences of GNOME is auto-mounting. Although manually
mounting is a good learning exercise, we can improve productivity by
auto-mounting by default.
2022-03-15 08:51:47 -04:00
Donovan Glover
ca32f737a6
bspwm: Start dunst on startup
We removed dunst at some point but now we're adding it back again.
2022-03-13 10:27:56 -04:00
Donovan Glover
323cb92c96
bspwm: Enable touchpad use while typing
Since we rarely (if ever) touch the touchpad by accident while typing,
having the option to use the touchpad and keyboard at the same time is
useful.
2022-03-11 10:10:41 -05:00
Donovan Glover
934a417dfb
bspwm: Auto-hide the mouse cursor when inactive
This makes working with bspwm a lot cooler since the cursor is now
automatically hidden when not in use, making full screen videos and
other applications a lot more immersive.
2022-03-11 09:54:53 -05:00
Donovan Glover
4a58768b9e
bspwm: Make fcitx work with kitty
Note that although it's possible to make fcitx work with alacritty as
well, the current implementation doesn't show what you're typing as
you're typing it, which is inconvenient.

Because of this, I recommend using kitty in all cases if switching input
methods is important for your use case. kitty also has the advantage of
image preview support on both xorg and wayland, since ueberzug does not
have wayland support.

Note that I previously set up a working environment with ibus-mozc
which, although was cool (and better than ibus-anthy), did not offer all
the benefits that fcitx provides. Now that I figured out how to make
fcitx work on both xorg and wayland, as well as in applications like
anki, this is my preferred input method for personal systems.
2022-03-08 12:52:00 -05:00
Donovan Glover
5fa1a0ddb9
meta: Switch cursor theme from breeze to phinger
Using phinger is slightly cooler since it's not as stock as other cursor
themes like breeze.
2022-03-08 12:41:55 -05:00
Donovan Glover
0473e96ca8
bspwm: Make fcitx work universally with exports
This improves the coverage of applications that take advantage of fcitx
under bspwm, such as anki.
2022-03-08 11:22:27 -05:00
Donovan Glover
4becab25c3
meta: Rename compton to picom
Since the project changed names a while ago, we'll update the repository
to reflect this.
2021-11-15 12:42:43 -05:00
Donovan Glover
938573e03b
Revert "Remove compton"
We actually still need compton (now picom) for screen tearing in bspwm,
so we'll add it back now. In the future it may be useful to keep
dotfiles in the repository even when I no longer use them, since the
configuration itself may still be useful.
2021-11-15 12:38:02 -05:00
Donovan Glover
2cc55ac815
Add fcitx to bspwm config
Note that we're using fcitx5 instead of the older fcitx4 since the new
version supports sway and wayland in general.
2021-11-15 12:34:39 -05:00
Donovan Glover
0ab7b0fc3f
bspwm: Configure touchpad with sensible defaults
Natural scrolling and tap to click makes the bspwm experience more
pleasurable.
2021-11-14 12:15:22 -05:00
Donovan Glover
ce3fde5b1a
meta: Replicate sway workspace functionality in bspwm
I like how sway handles workspaces. This change makes it so bspwm uses
numbers as the workspaces and polybar only shows workspaces that are
being used in the bar.
2021-11-14 11:20:57 -05:00
Donovan Glover
4c1be9aec4
Revert "Remove bspwm"
Although I said I was using Sway, it doesn't hurt to keep my bspwm files
in the event that I'd like to use bspwm.
2021-05-14 10:19:19 -04:00
Donovan Glover
66e0c425c6
Remove bspwm
It's the end of an era and I no longer use bspwm. Although the tiling of
bspwm was admittedly cool, at the end of the day most of my time isn't
spent opening new windows so working with the i3-like sway instead works
just fine.
2021-05-13 12:24:14 -04:00
Donovan Glover
6adeb19e2b
Remove compton
Over time compton became unmaintained and a replacement package picom
took its place. After trying out sway for a bit, I realized that it
doesn't need a separate compositor at all like bspwm does, so I might
just switch to it. Note that there is a performance penalty on sway
that I haven't figured out how to solve yet.
2021-05-12 18:10:17 -04:00
Donovan Glover
a8a0055c49
Remove xeventbind
Since I don't change resolutions as often if at all anymore, this
isn't needed.
2021-05-10 10:17:59 -04:00
Donovan Glover
e2ca722963
meta: Miscellaneous updates
I wanted to commit some more stuff for 2020. Better late than never,
right? The most significant change is probably in fish_prompt.fish.
I fixed an edge case where the directory in question could be the
same as the user's username.
2020-12-31 23:56:22 -05:00
Donovan Glover
d8ed02a78f
bspwm: Add code icon 2020-09-07 23:15:29 -04:00
Donovan Glover
0483131b62
bspwm: Run xeventbind in the background if found
This makes it so that the X DPI and other components are
automatically changed on resolution change.
2018-12-22 17:04:01 -05:00
Donovan Glover
dac1e40a2b
bspwm: Set DPI before starting polybar
This change makes it so that DPI is determined when bspwm is started
instead of relying on ~/.Xresources to always have the correct DPI.
2018-12-22 17:01:22 -05:00
Donovan Glover
419aa607a3
bspwm: Set the color scheme to base16-tomorrow-night
As cool as it was to have a random color scheme on boot, setting a
predictable and easy to read one is slightly more practical.
2018-12-22 15:58:50 -05:00
Donovan Glover
476f34f107
bspwm: Change desktop names
It turns out that bspwm desktop names can be anything you want.

They can also include spaces, since they're just strings.
2018-12-06 14:23:50 -05:00
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