Commit graph

7 commits

Author SHA1 Message Date
Sarthak
0780a3abf5 readme at the root, and fix what would break on a fresh machine
The repo landing page showed .config, .themes and .gtkrc-2.0 and nothing else,
so there was no sign the bootstrap existed. It has always been at
.config/rice/install.sh - that is just where it lands on disk. Root README now
carries the curl one-liner, a map of what is tracked, and a note that this is a
bare repo over $HOME so nobody goes looking for a wrapper folder again.

Things that would not have survived a replication:

  - polybar's click and scroll handlers called $HOME/bin/system-info.sh and
    $HOME/bin/volume.sh. That directory does not exist; the scripts are in
    .config/scripts. The exec lines already pointed there, so only the
    interactive bits were dead.
  - bspwmrc hardcoded DisplayPort-0, so no desktops on any other machine.
    Takes the xrandr primary now, falling back to the first monitor bspc sees.
  - install.sh picked conflicting files out of git's checkout error with a
    regex that required a dot inside the name, so .bashrc and .xinitrc were
    never matched and never backed up - and .bashrc always exists on a fresh
    Arch install, which is precisely when the checkout aborts.
  - bspwmrc sourced ~/.env and merged ~/.Xresources unconditionally; neither
    exists. Guarded.

packages.txt was missing programs whose configs this repo already carries:
fish, neovim, yazi, kitty, plus xrdb/xsetroot/xsettingsd/wmname that bspwmrc
launches, gtk3 for the control panel, and wireplumber for the wpctl calls.

Newly tracked: .xinitrc (the thing that actually starts bspwm), .bashrc (which
holds the dotfiles alias), greenclip, flameshot, kitty, Thunar, mimeapps and
user-dirs. Dropped six editor backups that had been committed by accident.
Skipped QtProject.conf - it is file-dialog history, not configuration.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011beBgzmH72WFn8wiWqRZPf
2026-09-04 10:09:16 +05:30
Sarthak
10fca7d9e4 control panel: unscroll the device lists, add display, drop toggle bar
Bluetooth and Network were still a ScrolledWindow around a ListBox, so short
lists were pinned to a fixed height and scrolled for no reason. They are plain
cards now, sized to content, matching the audio page.

Display is back as its own view: modes from xrandr with the active one ticked,
showing the rate actually in use rather than the highest the mode supports.
Toggle bar is gone from the action row - super+b still does it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 09:17:58 +05:30
Sarthak
ddf9321901 control panel: real padding, seat grab, key hints
- GtkBox set_border_width shrinks the widget's own background, so the card was
  inset 30px while its contents sat flush against the card edge. Padding is css
  now: 12px transparent gutter outside, 20px inside. Measured on a virtual
  display rather than guessed.
- the panel grabs the seat on map, like rofi, so it keeps keyboard and pointer
  focus wherever the cursor is; the grab is released on close
- every control shows its key in the bottom-right: n b v d p w for the tiles,
  a c s t for the row beneath, l o z r q for power, m/i to mute, arrows for
  volume

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 08:46:40 +05:30
Sarthak
b4c6c7dbd5 replace the rofi control centre with a real GTK panel
rofi spawns a process per menu, so every volume nudge and every step back
destroyed and recreated the window. That is the flicker, and no tuning fixes
it. The panel is now one GTK window: a GtkStack for views, real GtkScale
sliders wired to wpctl, status on a timer, and a pidfile so super+x toggles
it shut. Escape steps back inside the same window.

Also: picom no longer fades or animates rofi, ::selection is not valid GTK
css, and the network/bluetooth lists no longer print their payload column.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 01:12:49 +05:30
Sarthak
b5a252c480 control centre, notification overhaul, and cleanup
One centred rofi panel (super+x, or the gear in the bar) now drives network,
bluetooth, audio, WireGuard, display, notifications, clipboard, emoji,
screenshots, wallpaper, the particle layer, the bar and power. The separate
per-function menus are gone.

dunst: icons and images were disabled outright (icon_position=off,
max_icon_size=0). Now icons resolve through Papirus, images render, progress
bars are styled, notifications gap and stack, and fullscreen windows are not
covered unless the message is critical. Volume up/down never notified at all;
they now show a stacking OSD with a progress bar.

Removed things that were broken or belonged to whoever this rice came from:
- vpn-launcher.sh (mullvad/openvpn) and dc-multivpn
- audio/bluetooth/network/power rofi menus, folded into the control centre
- untar-all, unzip-all, resetxdgportal (unreferenced)
- a sxhkd binding hardcoded to /home/sarthak/projects/scribe
- clipboard-manager.sh keyed off XDG_SESSION_TYPE, which is 'tty' here, so it
  only ever printed a Russian error; rewritten on greenclip
- toggle-bar.sh was bound to super+b but did not exist; written

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 00:48:26 +05:30
Sarthak
e2dfb1a67c gtk: force the dark variant, autostart particles
GTK4 ignores gtk-application-prefer-dark-theme, and did not follow the
portal's prefer-dark either, so Adwaita stayed light while the custom css
darkened only some surfaces - that is why pavucontrol had dark-grey labels
on dark backgrounds and a white content pane. GTK_THEME=Adwaita:dark fixes
GTK3 and GTK4 together.

Also recolour the stale ~/.themes Terminal-Dark leftovers, point gtk-4.0 at
a theme and icon set that exist, and start the particle layer from bspwmrc.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 00:33:39 +05:30
Sarthak
f341989335 Sakura Line: retheme the whole desktop from the wallpaper
Palette sampled from bspwm/wallpaper/wallpaper.jpg and applied per-role
(not per-hex, so terminal green stays green and nvim's LineNr/Comment
stay recessive) across st, kitty, polybar, rofi, dunst, nvim, qt5ct/qt6ct
and GTK 2/3/4.

Also:
- rofi drun centred, icons enabled
- polybar translucent (true ARGB) and rounded; picom corner-radius, with
  the desktop layer and fullscreen windows excluded
- fix qt5ct color_scheme_path pointing at a nonexistent /home/carrie
- export QT_QPA_PLATFORMTHEME so qt6ct is actually consulted
- point GTK at an icon theme that exists on this system
- add .config/rice: one-shot install.sh (--dry-run supported), package
  list, vendored st config.h (gitignored upstream) and the particles
  wallpaper-layer source, so a clone reproduces the rice

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cn3dHfbgNYdbZvzb1b3GQt
2026-09-04 00:19:36 +05:30