Not sure if I'll remove these again. All I know is that I'll no longer
have to worry about not having certain dotfiles if I want to try a
particular setup again, which is nice.
It turns out polybar was bloat and I don't actually need one, at least
that's my current thought process. In particular the advantage of
fullscreen windows without having to worry about whether polybar is
visible or not should outweigh when I temporarily show the bar with a
keybind.
Note that while I was exploring taking advantage of bspwm's monocle
layout more, I went through a point where borders would only be visible
when multiple windows were present, which required me to use the single
monocle config variable and implement the solution proposed in the
GitHub issue below:
https://github.com/polybar/polybar/issues/1880#issuecomment-674518936
This makes polybar less obtrusive, however I've been considering
removing it in the long-term to maximize screen estate. Although polybar
is cute, I don't *need* to know everything in the bar every second I use
the computer. Having specialized commands or keybinds that show certain
information seems more useful in this case.
Some information, such as the date and time, could become a part of the
wallpaper itself, making blank desktops more useful than they are now.
Although widgets are also an option, I have not verified how well these
work under my current setup yet.
I am not performing tasks that require constant knowledge of the CPU and
RAM being used, and if I am, I can use a tool like htop instead, which
would avoid the distraction of the bar numbers constantly changing.
Now polybar will show on all monitors by default, and we don't have to
update the script every time those monitors change, useful when changing
between computers that use HDMI and computers that use display port, for
example.
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.
I don't actually need to get rid of my old config files if I ever want
to have easy access to them in the future. Although I intend on using
Wayland, having a nice interface for traditional X applications may not
be a bad idea (some graphically intensive programs also run better there,
apparently).
Now that the desktop labels cover less width and have lower padding,
it makes sense to place label-mode on the right side instead of the left.
This fixes an issue with padding I previously encountered with the old
desktop labels, and also prevents the desktop labels from being shifted
to the right when a label-mode is present.
color0 is usually the background color, but not always. This fixes an
issue where polybar would not display the right background color if
color0 was different than the background color set by the pywal theme.
It turns out that the left padding from the bspwm labels are used in
addition to the left padding from polybar, so in order for padding to be
consistent across both the left and right sections, the section with the
bspwm module needs to have its padding subtracted by the amount used by
the bspwm labels.
Time will tell whether or not I keep this, but one less color makes
it easier to seamlessly integrate the bar with different color schemes.
With this change, the interface is also arguably cleaner.
It turns out that showing the window title is very useful for actually
using the window manager, especially with no visual indicator through
window borders to determine which one is selected.
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.
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.
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 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.
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.
This commit adds a "secondary" bar type, which takes up the entire
available space horizontally. Alternatively, use the main bar if you
want to go for a floating appearance instead.
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
This commit makes polybar float instead of just cover the top portion of
the screen. In the future, it may be useful to easily change between
these designs, likely using separate bars for each layout.
This commit also adds a way to highlight and / or underline the
different modules.