Scale picom blur and corner radius according to a constant scale factor
much like we do for cursor sizes. This ideally would be defined
somewhere centrally, but this is better than nothing.
Signed-off-by: Joe Groocock <me@frebib.net>
I still prefer Breeze-Obsidian, but the reality is that it's unsupported
and nobody even seems to have the source any more :(
Allow `dpi` script to scale cursor relative to display scale according
to a fixed "standard" size, which for BreezeX is around 28px to closely
match the scale of the Breeze-Obsidian 16px.
Signed-off-by: Joe Groocock <me@frebib.net>
Picom can now accurately draw shadows (again?) so tweak them so they're
horizontally centred and slightly below the window so they look
aesthetically pleasing.
Signed-off-by: Joe Groocock <me@frebib.net>
This non-compliant turd doesn't respect the config file, because of
course it doesn't. Enforce the theme with yet another messy environment
variable.
Signed-off-by: Joe Groocock <me@frebib.net>
As always, tweak some of the visuals. Tone down the shadow opacity to
make the non-rounded corner shadows less obvious. Hopefully I can undo
that a bit in the future.
Signed-off-by: Joe Groocock <me@frebib.net>
systemd v250 added ExitType= which allows systemd to wait for all
processes in the cgroup to exit before terminating the unit, instead of
only the main pid. This has many uses, but for desktop applications in
particular it allows self-restarting (forking) applications to correctly
fork/restart and other background processes that may have been spawned
to continue when their forked parent inevitably exits first (like ssh
processes inside terminals).
Signed-off-by: Joe Groocock <me@frebib.net>
picom cannot and does not attempt to use the window geometry from the
non-rectangular menu+friend windows that Firefox displays which causes a
strange floating blur/shadow behind the menus. Avoid this by disabling
both blur and shadows on those pop-ups until picom can handle it better.
Signed-off-by: Joe Groocock <me@frebib.net>
Info produces causes logging under normal use, which creates useless log
files in /tmp, which I don't need.
Signed-off-by: Joe Groocock <me@frebib.net>
This provides little value and causes clickable links inside Vim to take
the $ symbol with them into browsers, which outweighs the small gain.
Text is visibly more readable without it, too.
Signed-off-by: Joe Groocock <me@frebib.net>
This looks more aestetically pleasing to me, and is not so off-centre
between the bottom of the window and the bottom of the screen.
Signed-off-by: Joe Groocock <me@frebib.net>
These rely on SSH configuring ControlMaster and ControlSocket for the
host so the connection can be reused.
Signed-off-by: Joe Groocock <me@frebib.net>
I can't find a way to make this a wildcard that applies to all remotes,
so this adds the two most common remotes that I'm likely to use.
Signed-off-by: Joe Groocock <me@frebib.net>
Change the cursor to an `_` too, to make it abundantly clear that the
mode has changed. Hopefully this stops me screwing up and accidentally
entering vim mode without realising.
Signed-off-by: Joe Groocock <me@frebib.net>
Read some standard xsettings values out of xrdb and set them in
xsettingsd. Use bash instead of sh to allow for `set -o pipefail`.
Signed-off-by: Joe Groocock <me@frebib.net>
Fix all shellcheck warnings, mostly by adding double quotes around vars.
Re-order operations and run multiple jobs in parallel to speed up DPI
change speed.
Remove all use of bc, simple sh integer division is sufficient in all
cases.
Signed-off-by: Joe Groocock <me@frebib.net>
These seem to work better out of the box and don't have an awfully
obtuse setup process involving certain unnamed dynamic languages.
Signed-off-by: Joe Groocock <me@frebib.net>
This improves window resize and move performance and general
responsiveness a considerable amount on the laptop Intel iGPU.
Signed-off-by: Joe Groocock <me@frebib.net>
Hinting apparently makes Chrom{e,ium}/Electron display fonts horribly,
whilst everything else ever is fine with it on.
Re-organise and tidy up fontconfig slightly.
Signed-off-by: Joe Groocock <me@frebib.net>
In theory this should give a much cleaner commit log without all of the
noise from merge commits in poorly maintained repos.
Signed-off-by: Joe Groocock <me@frebib.net>
This reverts commit 3b34decb42.
Enabling EGL causes firefox to stop rendering when the compositor is
stopped or restarted. Whilst there are supposed performance
improvements, those are negated by bugs that make it unusable at the
current time.
Signed-off-by: Joe Groocock <me@frebib.net>
Most of these changes have no semantic bearing, but some of the warnings
specifically related to quoting fix some word-splitting and globbing
issues with certain scripts.
Signed-off-by: Joe Groocock <me@frebib.net>
This adds an optional argument to `cdt` to allow specifying the
temporary directory prefix instead of the default `tmp`. This also
shortens the random character string from 10 (GNU mktemp) to 8.
Signed-off-by: Joe Groocock <me@frebib.net>
I used to use these occasionally, but now I increasingly find myself
typing the commands out in full. They really don't save much time at
all.
Signed-off-by: Joe Groocock <me@frebib.net>
Sometimes SSH needs to be called without a pty as it breaks some
non-interactive workflows, such as `docker save | ssh .. docker load`.
Signed-off-by: Joe Groocock <me@frebib.net>
Recently I learnt that `docker rm -f` both stops and removes the
container in one go, without any races. It's much cleaner than the hack
from before so replace it outright.
Signed-off-by: Joe Groocock <me@frebib.net>
This fixes some inconsistent and incorrect startup order of the
graphical and desktop targets. xprofile will now always run as part of
xorg.target, which is before all other X-related applications that
require those settings to be in place beforehand.
Signed-off-by: Joe Groocock <me@frebib.net>
urxvt is a dated and broken terminal emulator. It fails to render simple
modern glyphs like emojis and powerline. There are much better
alternatives available now like Termite, Alacritty or Kitty.
Signed-off-by: Joe Groocock <me@frebib.net>
This prevents the sometimes lengthy waits whilst Docker spools months or
years of container logs into the shell scrollback, shortly to be
discarded. It's rare that more than the most 1000 recent lines will be
required, and those should probably use more specific cli invocations.
Signed-off-by: Joe Groocock <me@frebib.net>
These units appear in the journal with the identifier `sh` so set a
sensible identifier for them to aid in log readability
Signed-off-by: Joe Groocock <me@frebib.net>
This was added previously for Ctrl+V for vim editing of the
command-line, but the key-bind was removed in
ce595c81b6 but this was forgotten.
Signed-off-by: Joe Groocock <me@frebib.net>
These are significantly faster to load, and are actively maintained.
Functionality is almost identical from a usability perspective.
The primary motivation for this change is the several orders of
magnitude faster shell loading times, which should help with
productivity on overloaded and underpowered hardware.
Signed-off-by: Joe Groocock <me@frebib.net>
These vary by OS/distribution and even between devices depending on what
is installed. Most of these are optional anyway so make a best-effort
attempt to load them.
Signed-off-by: Joe Groocock <me@frebib.net>
Loading the environment on every shell invocation is slow. We can speed
up shell startup a little by skipping this for ever shell because it's
loaded on login by systemd.
Signed-off-by: Joe Groocock <me@frebib.net>
Move environment variable overrides for non-XDG compliant applications
into it's own file. I expect this list will get a lot longer over time.
Signed-off-by: Joe Groocock <me@frebib.net>
Require NetworkManager tmp files before attempting to start nm-applet,
else it will fail to start if NetworkManager is not actually running.
Signed-off-by: Joe Groocock <me@frebib.net>
Streams 720p25 video from a gphoto2-compatible camera through ffmpeg
into /dev/video* for use as a generic video/camera device.
Signed-off-by: Joe Groocock <me@frebib.net>
This is using my hacked branch of polybar, but it works well enough.
Padding isn't properly scaled, though.
Signed-off-by: Joe Groocock <me@frebib.net>
Remove all invocations of 'feh' for setting wallpaper that are now
redundant as this service should handle setting the wallpaper in all
relevant situations.
Signed-off-by: Joe Groocock <me@frebib.net>