| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
The contrast column showed "5.4 PASS". The number's color already encodes the tier (green AAA, grey AA, red fail), so the PASS/FAIL word was redundant. I dropped it and put the WCAG meaning in the cell's hover via a pure contrastTitle helper. crHtml now renders just the colored number. verdictFor stays for the covered-overlay worst-case readout, which is unchanged.
|
| |
|
|
| |
Routed two emacs/studio captures: move the clear-palette button, and drop dropdown packages with no preview elements. Both need design or a criterion from Craig before implementing.
|
| |
|
|
| |
A non-default height looks identical to the default in the size input, so a stray 1.1 hides in plain sight. I added a small gold corner flag on any per-face setting cell (fg, bg, style, inherit, size, box) whose value differs from the face's seed default. A pure faceBoxNonDefaults helper computes the per-box flags. buildPkgTable resolves fg/bg to hex before comparing, so a palette-name-vs-hex difference doesn't read as a change.
|
| |
|
|
| |
Routed an emacs-owned roam capture into Open Work. Needs design (which prompt, diff-then-return loop) before it's implementable.
|
| |
|
|
| |
Resolved by afd2ddad. Dated-rewrote the VERIFY to a log entry per the todo format.
|
| |
|
|
| |
The assignment-view dropdown listed package faces in APPS build order (bespoke apps first, then inventory). generate.py builds them that way, so the list wasn't alphabetical. I added a pure appViewKeysSorted helper that orders the app keys by display label, and buildViewSel uses it. The @code and @ui editor entries above the divider are unchanged.
|
| |
|
|
|
|
| |
theme-studio work
Cause C (per-filetype file icons) is fixed and committed. Cause B reframed per Craig: items already default to fg, coloring routes through theme-studio (task 2418), no hardcoded hex. Filed a visual-verify VERIFY.
|
| |
|
|
| |
I enabled dashboard-set-file-icons so the project, bookmark, and recent-file rows show nerd-icons file icons, colored per filetype. They render now that the dashboard is out of global font-lock, which was stripping the icon faces too. Bookmarks fall back to a generic icon since there's no filetype to map.
|
| |
|
|
| |
Cause A of the dashboard-theming task is fixed and committed. Causes B (item color, themeable not hardcoded) and C (enable file/section icons, per-filetype color) stay open.
|
| |
|
|
|
|
| |
The dashboard banner title and section headings render in the default face instead of their theme colors. The faces are defined correctly. Global font-lock fontifies the dashboard buffer and strips the `face' text properties dashboard sets by hand: it owns `face' and clears props it didn't apply. Items and the navigator survive because their color rides a dashboard-items-face overlay, which font-lock leaves alone.
Excluding dashboard-mode from global font-lock keeps the banner and heading faces. I set it at top level so it applies regardless of the use-package body.
|
| |
|
|
| |
Closed the gptel-switch-backend bug (fixed this session). Filed a VERIFY for the dedup decision (keep switch-backend or fold into change-model) and a manual-test VERIFY for the C-; a B interactive check.
|
| |
|
|
|
|
| |
cj/gptel-switch-backend set gptel-model to the raw completing-read string. gptel's modeline code calls symbolp on gptel-model and signals wrong-type-argument on a string, which surfaces as a redisplay hang (reachable from C-; a B). The sibling command cj/gptel-change-model already interns. This one didn't.
I added a pure cj/gptel--model-to-symbol helper (mirroring cj/gptel--model-to-string) and route the model through it before the setq. The existing switch-backend test asserted the buggy string value. It now asserts a symbol plus an explicit symbolp guard.
|
| |
|
|
| |
Close the tasks fixed this session and park the rest as VERIFY with what's needed (fixture / measurement / design pick / confirm). Child-priority sync bumps, lint mechanical fixes, and PROPERTIES-drawer repairs from the wrap-up cleanup.
|
| |
|
|
| |
make task-sorted wraps todo-cleanup.el --archive-done, moving DONE/CANCELLED level-2 subtrees from Open Work into Resolved. Ran it: archived this session's closed tasks.
|
| |
|
|
| |
deploy-wip (mechanism), calendar-sync x2 (need .ics fixture), org-roam refile (measurement-first), dashboard icons (font approach), transcription (focused pass), music faces (theme-side colours), music tests (audit session), alphabetize + sort-newest (focused studio pass), compact-contrast (clarify intent), fullscreen-terminal (confirm gesture). Each carries what I need or the plan.
|
| |
|
|
| |
The warning box under the palette wasn't useful there; the same ΔE info is reachable per-chip via the nearest-ΔE tooltip and inline contrast. Remove renderPaletteWarnings, the #palwarn element, its CSS, and the #deltatest gate. paletteWarnings still runs for the per-chip nearest distance.
|
| | |
|
| | |
|
| |
|
|
| |
A buffer-local face remap lightens the *scratch* default background by cj/scratch-background-lighten percent (default 5) so it reads as the scratch buffer, applied on emacs-startup-hook. The colour math is display-dependent (verified live); the pure helper's guard contract is unit-tested.
|
| |
|
|
| |
native-comp re-enable (stability judgment), stale-elpa-gptel (needs the gptel-magit dep resolved), org-agenda theme-studio app (multi-phase feature), dirvish hard-delete (confirm key + dangerous sudo rm -rf), remove system-power keys (confirm which to keep), face-consistency check (needs a spec). Each carries what I need from Craig.
|
| |
|
|
| |
<next>/<prior> weren't bound in vertico-map, so in a long completing-read they fell through and selected-then-dismissed the list. Bind them to vertico-scroll-up / vertico-scroll-down.
|
| |
|
|
| |
The heavy-box empty and text lines began with a bare decoration char, so in line-comment languages (elisp, Python) C-; C h injected syntax-breaking lines. Prefix the interiors with the comment char and suffix them like cj/--comment-box does. Add the missing min-length guard so small or negative widths error cleanly instead of failing inside make-string. Updated the two characterization assertions to the corrected output.
|
| |
|
|
| |
dired-mark advances point itself, so the loop's extra forward-line skipped every other file (and could mark a directory). Use dired-get-filename + file-directory-p with an if/else: a marked file line advances once via dired-mark, non-file/directory lines advance manually. Replaces the regex line predicate (retired with its mock test) with a real-Dired marked-count test.
|
| | |
|
| |
|
|
| |
Mark the 12 batch fixes DONE (eww, prog electric-pair/line-numbers, auth-config, system-defaults, prog-go, eshell, split-window, dashboard keys, undo-kill-buffer, ai-term, Signal launcher, groundPair) with their commit refs, then archive all newly-resolved subtrees into Resolved.
|
| |
|
|
| |
A cursor that changed color by buffer state was confusing. Remove cj/set-cursor-color-according-to-mode, its two cache defvars, and the post-command / server-after-make-frame hook registrations; the cursor now uses the theme cursor face. The cj/buffer-status-state / cj/buffer-status-color classifier stays in user-constants.el for the modeline buffer-name indicator. Delete the cursor-function integration test; keep the classifier tests.
|
| | |
|
| |
|
|
| |
Close reconcile-open-repos and dupre-theme-test-failures (the latter moot since dupre was retired and its test file deleted). File four roam-inbox studio/music captures. Note on the stale-elpa-gptel task that deleting the elpa copy standalone introduces a gptel-magit activation warning, so it must be paired with the gptel-magit dependency fix.
|
| |
|
|
| |
Same fragility as the sibling tests: it stubbed env-laptop-p (now unused by the direction logic) and passed only because the batch frame is landscape. Stub the direction directly.
|
| |
|
|
| |
These tests stubbed env-laptop-p to pin the dock edge, but the aspect-ratio rework dropped env-laptop-p from the direction logic, so the laptop case resolved to the batch frame's real (landscape) aspect and split a third window. Stub cj/--ai-term-default-direction directly.
|
| |
|
|
| |
The literal {bg:MAP['bg'],fg:MAP['p']} repeated 32 times across app.js, palette-actions.js, and the browser gates. Replace it with a groundPair() helper. Named groundPair, not ground, to avoid colliding with the local ground bindings destructured from columnsFromPalette. No behavior change; node tests and browser gates are the safety net.
|
| |
|
|
| |
Signal joins the dashboard launchers on key S (icon nf-md-message), opening cj/signel-message. Row sizes go 4-4-3-3 so Slack, Linear, and Signal share the last navigator row.
|
| |
|
|
| |
The aspect-ratio rework dropped env-laptop-p from the direction logic, so these tests stubbed a dead function and depended on the batch frame's real dimensions. Stub cj/--ai-term-default-direction directly.
|
| |
|
|
| |
The agent window now docks from whichever edge conserves more space, chosen at display time: right on a landscape frame, bottom on a square or portrait one, replacing the host (laptop/desktop) branch. cj/--ai-term-direction-for-aspect is the pure decision; default-size pairs the width or height fraction with it.
|
| |
|
|
| |
The visited-file filter used delq, comparing expand-file-name strings by eq, so an already-open file was never removed from the candidates (the skip logic was dead). Use delete (equal). Adds a test with the open file at the head of the list, where the eq/equal difference actually shows.
|
| |
|
|
|
| |
- g on the dashboard now runs dashboard-refresh-buffer (the dired/magit convention) instead of opening Telegram. Telegram moves to G in the launcher table.
- cj/dashboard-only (F1) refreshes before showing, so re-displaying the dashboard always lands on fresh content.
|
| |
|
|
| |
Splitting with C-x 2 or C-x 3 now shows *dashboard* in the freshly created window and keeps point in the original, instead of mirroring the current buffer. cj/--split-show-buffer does the placement; cj/--dashboard-buffer fetches or opens the dashboard without disturbing windows.
|
| |
|
|
|
| |
- eshell-visual-commands is a flat string list, but add-to-list pushed the whole list as one element, so lf/ranger/htop/top never opened in a visual terminal. dolist the strings instead. (visual-subcommands/options are alists and were already correct.)
- The xterm-color before-prompt hook was registered as eshell-before-prompt-hook, which use-package turned into eshell-before-prompt-hook-hook and never ran. Use the real hook name, and actually install xterm-color-filter into eshell-preoutput-filter-functions (dropping eshell-handle-ansi-color) so color output is interpreted.
|
| |
|
|
| |
.go opens the built-in go-ts-mode, so nothing triggered the go-mode package: gofmt was never autoloaded (C-; f signalled void-function) and the :config setting goimports + exec-path never ran. Add :commands (gofmt) so the first format pulls go-mode and its config.
|
| |
|
|
| |
A raw module load under --batch started a server and dropped a throwaway custom-file temp on every run; the suite only passed because a testutil stubbed the server. Guard both with (unless noninteractive ...), the established pattern here. Adds a batch-load test for the custom-file guard.
|
| |
|
|
|
| |
- The bare call-process to gpg-connect-agent in :config aborted init with file-missing on a machine without the binary. Guard it with cj/executable-find-or-warn.
- user-constants was required only eval-when-compile, but authinfo-file is read at load time, so a standalone .elc load failed. Require it at runtime.
|
| |
|
|
|
|
| |
- Go/C/shell setup hooks called the global electric-pair-mode, so one prog buffer turned pairing on in org and text everywhere. Use electric-pair-local-mode.
- prog-general set display-line-numbers-type inside the hook, after the mode turned on, so the first prog buffer of a session got absolute numbers. Set the type and width at top level instead.
- Updated the go/c tests to stub the local mode.
|
| |
|
|
| |
cj/eww-bookmark-quick-add let-bound eww-bookmarks-directory to a path and created a directory there, so B (eww-list-bookmarks) read an unreadable path and quick-added bookmarks vanished after restart. Use the default store both commands share.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- The color dropdown opens a grid, not a long list.
- The grid mirrors the palette: ground strip, then a row per family.
- Members run dark to light, with the current color outlined.
- A default chip clears the assignment.
- A (gone) cell shows a color no longer in the palette.
- The trigger and step buttons stay the same.
- All three tiers share the one dropdown.
|
| |
|
|
| |
I added paletteUsages, which enumerates every place a color is assigned, grouped by view area (the view dropdown's names: color/code assignments, ui faces, each package app) and the element within it. renderPalette builds the per-area scopes once and appends the list to each used tile's hover title, under the existing name/hex/nearest-deltaE line. Node tests and a #usagetest gate cover it.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
border
The single-color dashed outline blended in. I replaced it with a ring of two alternating contrasting colors, drawn as a masked repeating gradient so it overlays without shifting layout. Unused tiles and columns use gold and black; gone assignments use red and white, keeping the two states distinct at a glance.
|