Commit Graph

85 Commits

Author SHA1 Message Date
Donovan Glover
10c79f72d0
bspwm: Don't open new nodes on empty desktops
I initially programmed this "dynamic desktops" implementation for a
similar feel to GNOME, however after using it for a few months I
realized that I was taking away one of the main advantages of a tiling
window manager by having all windows not tile by default.

Additionally, I ran into some edge cases where the next window would not
show if opened on a desktop that had multiple nodes open. Although I
could probably figure out the cause with some effort, I'd much rather
enjoy the simplicity of the traditional tiling hierarchy once more.
2023-03-25 07:23:41 -04:00
Donovan Glover
4bfc2ce71f
bspwm: Use super+grave for alttab
This gives us the convenience of switching desktops while also giving us
the option of the traditional alt+tab approach if needed.

Note that all desktop-related keybinds use the super key so alt and ctrl
modifiers can be used by desktop programs.
2023-03-22 19:10:52 -04:00
Donovan Glover
2f06d001cb
bspwm: Disable middle click paste
One of the advantages of xorg. As far as I remember, there wasn't a
trivial way to disable middle click paste on wayland.
2023-03-21 09:24:46 -04:00
Donovan Glover
07fe725710
bspwm: Make alttab work with alt-tab
This fixes an issue where, at some point, I changed the behavior of
Super+Tab to switch desktops. Having both options gives the flexibility
of choosing whether or not you want to see the other windows while
tabbing through them.
2023-03-20 09:16:43 -04:00
Donovan Glover
6b69d7fbab
bspwm: Remove picom experimental-backends
This fixes an issue where picom wouldn't load since we were using an
outdated command.
2023-03-19 19:10:01 -04:00
Donovan Glover
15f6d80a52
Revert "meta: Remove bspwm"
2 months ago, I removed bspwm in favor of GNOME. After using GNOME as a
daily driver for some months now, I can appreciate it as a nice desktop
environment for many GNU/Linux users, however it does not meet my needs
as well as a customized window manager setup can.

In reality, I don't need *too much* from a window manager; it just needs
to manage windows in a reasonable way. For anything else I need, I am
free to program it myself as a learning exercise. I prefer understanding
most if not everything running in my environment versus having various
GNOME utilities running in the background.
2023-03-19 16:15:43 -04:00
Donovan Glover
6262d570a1
meta: Remove bspwm
After over 5 years of bspwm, I have decided to enjoy myself in the
luxurious life that is GNOME.

Using bspwm and window managers in general was an invaluable learning
experience that gave me a deep understanding of many of the novelties
of the current linux desktop computing model. It had a profound impact
on my understanding of how operating systems work in general, and I
now wish to move on and enjoy modern GNOME simplicity.
2023-01-07 04:20:56 -05:00
Donovan Glover
e3d055bafe
bspwm: Don't use borders/gaps by default 2023-01-07 00:53:17 -05:00
Donovan Glover
6b977d9394
bspwm: Make rofi float 2023-01-07 00:52:09 -05:00
Donovan Glover
2bfb8bb961
bspwm: Add dynamic desktops implementation
This was my implementation of dynamic desktops, largely inspired by the
various hints I found on r/bspwm. Although this was a very engaging
intellectual exercise, I eventually realized that GNOME handles dynamic
desktops much better, and comes with a slew of other conveniences as
well.
2022-12-26 22:36:39 -05:00
Donovan Glover
6e3a3fd1eb
bspwm: Add crossfade effect with mpc
As far as I know, this setting cannot be set through a configuration
file, so setting it at startup was necessary.
2022-12-15 11:21:56 -05:00
Donovan Glover
0e158e36b2
bspwm: Start tint2 in bspwmrc
This added a toggleable bar similar to polybar, except this time it
showed the open applications at the bottom. I eventually switched to
GNOME, which is able to achieve this and much more with dash-to-panel,
an extension that has been steadily improving over the years.
2022-12-15 11:19:50 -05:00
Donovan Glover
6a850cafb9
bspwm: Add ksuperkey
Although it was cute that I was the only one that knew how to use my
computer, standard keybinds is a pretty neat thing to have. This was
another change I programmed before deciding to use GNOME instead.
2022-12-15 11:06:24 -05:00
Donovan Glover
cc59ab4c58
bspwm: Fix tint2 showing above fullscreen programs
Although I am glad I eventually found a fix for this, it's much easier
to simply use GNOME with extensions and not have to worry about hacks
like these. If by chance such GNOME extensions are as hacky as the
solution in this commit, I'd argue that the convenience of those hacks
being abstracted away from the user outweighs fixing things manually.
2022-12-15 11:01:53 -05:00
Donovan Glover
ff4eddace5
bspwm: Increase desktop count
Instead of restricting myself to 4 desktops, I eventually decided on a
setup where desktops would be dynamically created as applications were
opened. I then realized what I was doing was replicating the GNOME
desktop environment in a much less efficient way, and eventually
switched from bspwm to GNOME.
2022-12-15 10:54:10 -05:00
Donovan Glover
7de7763817
bspwm: Start picom with experimental-backends
Note that this is no longer needed; this commit only exists to
document when it was needed in the past.
2022-12-15 10:53:41 -05:00
Donovan Glover
4916f47a77
bspwm: Remove borderless/gapless monocle
Since we often use non-monocle layouts without borders or gaps, having a
separate borderless/gapless monocle mode was often confusing since we
didn't know which layout we were in. When using a status indicator with
bars like polybar, knowing the current layout required a separate script
and was overall hacky, with its state not being updated until certain
bspc events occurred.
2022-11-02 18:31:30 -04:00
Donovan Glover
b46cda8cfd
meta: Change default browser from librewolf to qutebrowser
Browsers were always a pain point for me due to the manual intervention
they often required to get extensions configured properly across
separate user profiles. qutebrowser has improved significantly since the
last time I tried it (around 2017) and supports modern browsing due to
its usage of Chromium 102 with QtWebEngine 6.4.0.
2022-11-02 18:27:50 -04:00
Donovan Glover
ded1649cea
meta: Use alttab
alttab <https://github.com/sagb/alttab> is a cool alternative to the
more traditional ways of managing windows in bspwm that lets us focus on
the currently open windows instead of which desktop they're on.
2022-10-25 14:05:07 -04:00
Donovan Glover
69be5bcc2b
bspwm: Add authentication agent
I don't remember exactly why I needed this, however it should be useful
for certain programs that require it.
2022-10-25 13:30:16 -04:00
Donovan Glover
d7a940a4d0
bspwm: Remove polybar execution
This is no longer needed since we no longer use polybar.
2022-10-25 12:42:47 -04:00
Donovan Glover
620c1ac7c8
bspwm: Don't float mpv by default
This makes it easier to manage mpv windows like all other windows, which
lets us take advantage of watching 16:9 videos with mpv tiled while
working on other things.
2022-10-24 17:09:37 -04:00
Donovan Glover
f615fbc4d0
bspwm: Increase pointer_motion_interval
In the theoretical scenario that I use bspwm on a high refresh rate
monitor, this change makes it so resizing windows won't be limited to
60Hz.
2022-10-24 12:30:14 -04:00
Donovan Glover
5f056f9f2e
bspwm: Use left/up/right/down desktops
This was an experiment to see if I could make switching between desktops
easier. Instead of thinking about desktops in terms of their contents or
numbers, we can think about them in terms of gestures used to reveal
them.

The main advantage to this setup is that you can access any of the other
desktops with one keystroke. This is in contrast to having to press
super+tab twice. The other advantage is that the desktops are always at
a predictable location. One swipe to the right will always get you the
desktop on the right, whereas two super+tabs can land on any desktop.
2022-10-23 21:00:54 -04:00
Donovan Glover
19efc3f94c
meta: Remove xcape and xmodmap
These are obsolete technologies that are no longer needed thanks to
dual-function-keys, which I'll add in a future commit. This also fixes
an issue where left control would behave like an escape key when tapped,
which caused a lot of accidental escapes.
2022-09-28 12:54:52 -04:00
Donovan Glover
1023dc4d2f
meta: Replace firefox with librewolf
I am personally not amused by some of the defaults that firefox ships
with and would rather not have to deal with them on new configurations.
Although it's possible to sync settings across devices or simply copy
the profile directory, the advantages of librewolf outweigh the cons for
my individual use case, at least for now.
2022-09-28 11:40:49 -04:00
Donovan Glover
4fb088585d
bspwm: Remove old bspc rules
I no longer use these KDE applications, so having them as bspc rules is
unnecessary.
2022-09-28 11:24:13 -04:00
Donovan Glover
768f54ac8e
bspwm: Start mullvad notifications
Although mullvad has an auto-start option, notifications won't be
displayed until the application is explicitly started at least once.
2022-07-29 13:06:18 -04:00
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