Commit Graph
209 Commits
Author SHA1 Message Date
Daniele Fucini e2fd3e4aa9 xmonad: restore floating windows after leaving fullscreen
Remember each window's float rect when it goes fullscreen and put it back on exit,
instead of always sinking it (Viewnior after F5). Windows with no record are still sunk.
2026-11-14 19:43:37 +01:00
Daniele Fucini 4a96319bb2 Merge the database dump scripts into db-dump
garmin-dump, weather-dump and library-dump differed only in project, database and rotation; one
db-dump PROJECT DATABASE week|day replaces them. The units keep their names and only change ExecStart.
2026-11-14 15:49:48 +01:00
Daniele Fucini faad434dad aurb: keep ThinLTO cache entries until the size cap
lld expires entries unused for a week by default, which empties the cache between most package rebuilds; prune_after=0s leaves only the 10 GB cap.
2026-11-13 21:27:56 +01:00
Daniele Fucini 9896d9bb21 xmobar: draw the weather icon larger
Add a 13 pt additional font and use it for the weather icon only, so the
rest of the bar and its height are unchanged.
2026-11-13 18:39:53 +01:00
Daniele Fucini 248a9b7d1f xmobar: treat CAVOK/NSC weather reports as clear
NOAA's decoded METAR has no sky conditions line for CAVOK or NSC, so the
weather showed a generic cloud icon and "Unknown"; read them from the raw
observation as clear.
2026-11-13 18:23:14 +01:00
Daniele Fucini 216e1bff0f xmobar: toggle mute on volume click
Left-clicking the volume widget toggles mute on the default sink, so it
works for speakers and headphones alike.
2026-11-12 21:26:39 +01:00
Daniele Fucini 472bf7246b xmobar: show current weather details on click
Clicking the weather now runs weather.sh notify, which shows the
description and temperature; the forecast keeps its ens-forecast week
notification.
2026-11-12 19:24:15 +01:00
Daniele Fucini 0d1cb6cf2a xmonad: fix Signal not moving to the chat workspace
Signal 8.x sets its WM_CLASS to lowercase "signal", so the case-sensitive "Signal" rule no longer matched. Merge it with the discord rule into a case-insensitive classIn.
2026-11-12 18:58:39 +01:00
Daniele Fucini 96903a4d22 Show a weather condition icon in xmobar
Replace the Weather plugin with weather.sh, which picks an icon from the METAR weather/sky and uses moon icons when the sun is down.
2026-11-12 16:54:08 +01:00
Daniele Fucini ce1cd479df Remove gsimplecal calendar popup from xmobar date
Drop the click action on the date and its xmonad float rule; delete the gsimplecal config.
2026-11-12 16:38:42 +01:00
Daniele Fucini c103510786 xmobar: show the next calcurse appointment
Time of today's next appointment, or an icon for a whole-day event today or an appointment tomorrow; click lists both days, right-click opens the calcurse scratchpad. Uptime dropped and the date shortened to make room.
2026-11-12 16:03:00 +01:00
Daniele Fucini 3053b35f26 calcurse: enable automatic note garbage collection
Removes note files no longer linked to any item on each save, instead of running calcurse -g by hand.
2026-11-12 15:40:55 +01:00
Daniele Fucini a260a42352 calcurse: tag appointment alerts with app name and icon
Matches the other calcurse notifications, so dunst rules can target them.
2026-11-12 15:38:16 +01:00
Daniele Fucini 566ac562bd calcurse: one-click Google login renewal
On expiry calcurse-sync starts calcurse-relogin, a notification that opens the consent page when clicked and catches the OAuth code on 127.0.0.1:8749. dunst's left-click now runs a notification's action before closing it.
2026-11-12 14:35:56 +01:00
Daniele Fucini 3bb25669ea calcurse: sync with Google Calendar via calcurse-caldav
Hourly timer started from xmonad, plus UI hooks that sync before load and after exit. calcurse-sync notifies once when the OAuth login expires and restarts the daemon after imports, since it never re-reads its files.
2026-11-12 14:16:36 +01:00
Daniele Fucini 84eec8c855 calcurse: notify whole-day events every morning
The calcurse daemon only alerts timed appointments, so birthdays went unnoticed. A daily 09:00 timer, started from xmonad and persistent across suspend, sends today's events through notify-send.
2026-11-12 11:27:30 +01:00
Daniele Fucini f6015f8d98 xmobar: use the ens-forecast brief subcommand 2026-11-10 18:52:46 +01:00
Daniele Fucini 7aa423b6d6 Update cursor 2026-11-07 10:44:05 +01:00
Daniele Fucini b5c268ae7d xmobar: show reboot and .pacnew markers in the updates segment
Red R until the reboot, blue P until the files are merged, read from
update-notify's pending file; markers show alone when there are no updates.
2026-11-07 10:41:36 +01:00
Daniele Fucini 6f4aa3806f xmonad: keep the wallpaper on login and monitor hotplug
Startup and hotplug now pass --keep-wallpaper to screen-layout, so only fehbg.timer picks new random wallpapers.
2026-11-05 17:36:19 +01:00
Daniele Fucini 9da7cc8105 xmobar: show forecast frost/snow/heat probabilities as icons
The bar's forecast line now uses Nerd Font weather glyphs instead of the
words, like the rain drop; the week notification keeps the words.
2026-11-05 17:03:53 +01:00
Daniele Fucini 93b5bcbf30 claude-rc: add the ens-forecast MCP server
Register ens-forecast-mcp, allow its tools in the shared session and document the weather_ro login it needs.
2026-11-05 09:50:42 +01:00
Daniele Fucini 4c5ca29f6e lf: open HTML files in the browser 2026-11-05 09:50:35 +01:00
Daniele Fucini 8bfd577b20 xmobar: raise color thresholds for temps and memory
CPU temp 70/90, memory 50/80, weather 0/30 with orange instead of red for hot weather.
2026-11-01 11:50:09 +01:00
Daniele Fucini 3a2d2b7c37 Add the shared Claude Remote Control setup
Units, settings and setup README for the claude-rc user, which serves my projects' read-only MCP servers to the Claude app (negsplit for now).
2026-11-01 11:06:58 +01:00
Daniele Fucini 51b2bbeff8 Fix mutt's urlscan and HTML view macros
Use <pipe-message> for urlscan (pipe-entry doesn't exist in the pager) and bind it in the index too. Open HTML attachments in Zen instead of Vivaldi, from ~/.cache/mutt/html, which the firejail profiles share. Prune cached messages deleted on the server.
2026-11-01 08:15:00 +01:00
Daniele Fucini b76ae5c3f6 Enlarge the gsimplecal calendar opened from the xmobar date
gsimplecal has no size option, so launch it with GDK_DPI_SCALE=1.25 to scale it up for that process only.
2026-10-31 21:43:52 +01:00
Daniele Fucini 90a81ea960 Add a weekly dump of the Weather database
weather-dump.timer runs weather-dump weekly, keeping the two newest ISO weeks in
~/.local/share/ens-forecast/dumps, which simple_backup then copies; the login comes
from ~/.config/ens-forecast/dump.cnf (not tracked).
2026-10-31 19:00:06 +01:00
Daniele Fucini 5b6e381c89 Raise dunst's maximum notification height to 600 px
The xmobar click list of pending updates was cut off at 300 px.
2026-10-31 11:33:17 +01:00
Daniele Fucini 10bfc025c3 Open a gsimplecal calendar by clicking the xmobar date
Float gsimplecal in xmonad; its config opens it at the mouse and closes it on unfocus.
2026-10-31 11:31:32 +01:00
Daniele Fucini 831238e040 Add a weekly dump of the Garmin database
garmin-dump.timer runs garmin-dump weekly, keeping the two newest ISO weeks in
~/.local/share/negsplit/dumps, which simple_backup then copies; the login comes
from ~/.config/negsplit/dump.cnf (not tracked).
2026-10-31 11:30:03 +01:00
Daniele Fucini cc8eaebd5f Switch keyboard layout by clicking the xmobar indicator
Left-click cycles it -> us -> sk(qwerty), right-click cycles backwards, via a
new kbd_cycle.sh that calls setxkbmap like the M-i/M-u/M-s keys.
2026-10-30 21:25:57 +01:00
Daniele Fucini a41afe4983 Enlarge xmobar font to 10 and fit the bar's contents to its width
Workspaces show only their icon, layouts show an icon instead of their name, and window titles share a 60-character budget (8–30 each), so more windows get shorter titles instead of overflowing the bar.
2026-10-28 19:50:11 +01:00
Daniele Fucini 4e431d6710 Make xmobar and trayer 24px tall and match trayer's background to xmobar
xmobar was auto-sized (17px) and trayer 18px; both are now 24px. trayer only
honours --tint with --transparent, so it drew the GTK background instead.
2026-10-26 17:55:26 +01:00
Daniele Fucini 68bbcaeb82 Add a keybinding list on M-F1; match games by class pattern; update workspace icons
All keys get descriptions (NamedActions) and M-F1 lists them in dmenu. Proton
and Wine games go to ws 3 by class prefix/suffix instead of one rule per game;
GIMP and Audacity go to ws 5; small tools float; new icons for ws 2-7.
2026-10-26 17:49:04 +01:00
Daniele Fucini efea899ccb Pause dunst while the screen is locked; add notification history keys
screen-lock holds notifications until unlock, and M-S-l now goes through
loginctl lock-session so it uses the same locker. M-S-n pops dunst history,
M-C-n closes all notifications.
2026-10-26 17:31:03 +01:00
Daniele Fucini 15e6dfebb7 Hide the NSP workspace in xmobar while it's empty 2026-10-25 21:23:41 +01:00
Daniele Fucini 5d8620560a Strip stock example comments from kitty, mpd, ncmpcpp, picom and mutt configs
Keep only the active settings; behaviour is unchanged apart from dropping an empty picom rule. kitty keeps its theme markers.
2026-10-25 21:18:47 +01:00
Daniele Fucini 496c16ab07 Lighten mpv rendering and trim mpv.conf
Use high-quality instead of the deprecated gpu-hq, drop the expensive ewa_lanczossharp chroma scaling, switch to hwdec=auto-safe and remove the stock example comments.
2026-10-25 21:10:09 +01:00
Daniele Fucini d0684b5200 Drop mpris-proxy so headphone buttons reach playerctld
mpris-proxy registers every MPRIS player with BlueZ, which then sends AVRCP
commands to one of them (mpd). With it disabled, BlueZ sends the buttons as
media keys, which xmonad passes to playerctl.
2026-10-25 20:58:03 +01:00
Daniele Fucini 5e8fa266d7 Control media players with playerctl from media keys and headphones
Run playerctld as a dbus unit with Restart=on-failure, start it through that
unit on D-Bus activation, tie mpris-proxy to it, and bind the XF86 media keys
to playerctl in xmonad.
2026-10-25 19:41:22 +01:00
Daniele Fucini cd439be109 Add a daily dump of the Library database
library-dump.timer writes Library-<weekday>.sql.gz to
~/.local/share/library_manager/dumps, which simple_backup then copies;
the login comes from ~/.config/library_manager/dump.cnf (not tracked).
2026-10-25 19:05:24 +01:00
Daniele Fucini 2718d8531e Let fehbg.service write the wallpaper cache
ProtectHome=read-only stopped the timer from writing ~/.cache/wallpapers, so it failed without a cache and otherwise kept redrawing the same images.
2026-10-25 15:16:44 +01:00
Daniele Fucini 12affc76f7 Add an xmobar indicator and daily reminder for overdue backups
backup.sh shows the days since the last simple_backup (orange from 7,
red from 14); backup-reminder.timer notifies daily once it is overdue.
2026-10-25 12:40:38 +01:00
Daniele Fucini 638f7e3dd9 Run discover-overlay-wait as a user unit and rework the vidthumb cache
vidthumb names thumbnails by a hash of path, size and mtime instead of a jq index that broke on quotes in filenames; systemd-tmpfiles removes ones unused for 30 days. discover-overlay-wait now runs from a systemd user unit started by xmonad and logs to the journal.
2026-10-24 22:08:49 +02:00
Daniele Fucini 3e5824a590 Keep the games workspace on the HDMI screen
Wine games lose the mouse when their window moves between screens. safeView replaces greedyView for mod-N, xmobar clicks and mpv so workspace 3 always opens on screen 0 and is never swapped away; safeRescreen keeps a hidden workspace 3 off the laptop screen when screens change.
2026-10-24 20:27:52 +02:00
Daniele Fucini 12ba85b83b Replace xautolock with xss-lock, xidle-dim and xidle-inhibit
The screen dims after 590s and locks 10s later with i3lock-color through the new
screen-lock script; DPMS turns it off after 15 minutes.
2026-10-24 16:31:02 +02:00
Daniele Fucini 3ff5c20cb5 Clarify that kernel PKGBUILDs set their own toolchain in aurutils-makepkg.conf 2026-10-24 16:30:56 +02:00
Daniele Fucini f3f4f346a8 Stop tracking conky config
Conky is no longer started anywhere in the desktop setup.
2026-10-18 22:12:40 +02:00
Daniele Fucini 6dff7f553d Track missing configs referenced by tracked files and other desktop settings
Add kitty themes and mutt includes loaded by tracked configs, xmonad's stack
build files, new systemd units and overrides, plus picom, pipewire, portal,
modprobed-db, btop, vifm, qt5ct/qt6ct, calcurse, mpDris2 and thefuck configs.
2026-10-18 22:12:14 +02:00