After trying the new picom animations for a bit they're a bit too janky
compared to the animations in Hyprland. The "geometry" trigger
replicated the tiling animation when swapping windows, however this came
at the cost of transparency being broken during the animation and the
easing in general not being comparable to Hyprland.
Further issues include the usage of animations breaking fade in/out
support for windows, which I found less intrusive than the appear /
disappear presets with not-so-subtle easing. Using the geometry trigger
also meant that switching tags in dwm had a slide in effect, which felt
disruptive compared to the usual feeling of dwm.
Other issues included the increased probability of things not being
drawn correctly (for example, an animation that "hangs" while in the
middle of animating) and a slightly annoying fade effect every time
windows changed in size such as when toggling fullscreen.
The config used is below for reference, however after trying picom
animations dwm feels considerably better without them.
```
animations = (
{
triggers = ["open"];
preset = "appear";
scale = 0.5;
},
{
triggers = ["close"];
preset = "disappear";
scale = 0.5;
},
{
triggers = ["geometry"];
preset = "geometry-change";
duration = 0.5;
},
);
```
Trying this out with dwm and it seems to work. Note that we aren't using
the windowmap patch since it causes windows such as kitty to not focus
properly when switching between tags.
Automatically moves windows to the leftmost tag when moving them.
Useful to help keep the third workspace unoccupied when two other
workspaces have windows on them.
Changes from the original dwm:
- Removed border from windows
- Changed colors (will replace with stylix ones later)
- Added media keys for brightness / volume
- Changed tag names and amount
- Added transparency to bar
- Made librewolf float to preserve window size
- Removed unused keybinds like layout switching
- Removed unused tag keys
- Set mod key to super instead of alt
- Changed dmenu to rofi and st to kitty
Derivations like the documentation for rustc were taking up huge amounts
of space that *probably* aren't needed on the PinePhone, so disabling
documentation should significantly improve copy times and reduce the
total amount of space necessary for updates.
Note that we're using libopus and libx264 instead of flac and ffvhuff to
significantly reduce the file size and make it easier to play back the
recorded video on the PinePhone.
Note that there will be no preview while recording the video. The video
recording is also delayed a bit, so it's necessary to wait a few seconds
after you finish recording a video before pressing q to stop it.
Note that glib was supposedly added for mounting-related things, but
this should be possible to upstream into the derivation instead if it
hasn't been added already.
Unfortunately lutgen doesn't have transparency support added to its main
branch yet and there doesn't seem to be any indicator that this will
ever be added, so we'll have to use an alternative to avoid manually
compiling it.