Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

prompt: notepat shortcut button next to the version button

Add a TextButtonSmall labelled "notepat" to the right of the commit
button on the prompt curtain, with a tiny 7x5 piano icon drawn over
the leading whitespace. Plum/purple color scheme distinguishes it
from the neutral version button. Push handler calls jump("notepat")
with the standard down/push/cancel sound pattern; the button is
wired into both keyboard-lock hit-zone checks and hides alongside
the commit button when version info is unavailable.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

+58
+58
system/public/aesthetic.computer/disks/prompt.mjs
··· 184 184 profileAction, 185 185 walletBtn, // Tezos wallet button (shown when connected) 186 186 commitBtn, // Commit hash button (navigates to commits piece) 187 + notepatBtn, // 🎹 Notepat button (to the right of the commit button) 187 188 kidlispBtn; // KidLisp.com button (shown when in KidLisp mode) 188 189 189 190 let giveBtn; // GIVE button (top-right slot) ··· 5924 5925 [20, 25, 30, 128] 5925 5926 ]; 5926 5927 commitBtn.paint($, colors); 5928 + 5929 + // 🎹 Notepat shortcut button — sits to the right of the commit button. 5930 + // Two leading spaces reserve room for the piano icon we draw afterward. 5931 + const notepatLabel = " notepat"; 5932 + const notepatX = cBox.x + cBox.w + 4; 5933 + if (!notepatBtn) { 5934 + notepatBtn = new $.ui.TextButtonSmall(notepatLabel, { x: notepatX, y: buttonY }); 5935 + } else { 5936 + notepatBtn.reposition({ x: notepatX, y: buttonY }, notepatLabel); 5937 + notepatBtn.btn.disabled = false; 5938 + } 5939 + const nBox = notepatBtn.btn.box; 5940 + const nHover = notepatBtn.btn.over && !notepatBtn.btn.down; 5941 + const notepatColors = nHover 5942 + ? [ 5943 + [50, 30, 55, 180], // fill: brighter plum on hover 5944 + [130, 80, 150, 200], // outline: pink/purple 5945 + 235, // text alpha 5946 + [50, 30, 55, 180], 5947 + ] 5948 + : [ 5949 + [28, 20, 34, 150], // fill: dark plum 5950 + [90, 60, 110, 160], // outline: muted purple 5951 + 220, // text alpha 5952 + [28, 20, 34, 150], 5953 + ]; 5954 + notepatBtn.paint($, notepatColors); 5955 + 5956 + // Tiny 7×5 piano icon drawn over the leading whitespace of the label. 5957 + const ix = nBox.x + 3; 5958 + const iy = nBox.y + 3; 5959 + // White keys base 5960 + $.ink(225, 225, 232).box(ix, iy, 7, 5, "fill"); 5961 + // Key dividers 5962 + $.ink(40, 30, 50).line(ix + 2, iy + 2, ix + 2, iy + 4); 5963 + $.ink(40, 30, 50).line(ix + 4, iy + 2, ix + 4, iy + 4); 5964 + // Two black keys on top 5965 + $.ink(30, 20, 40).box(ix + 1, iy, 2, 3, "fill"); 5966 + $.ink(30, 20, 40).box(ix + 4, iy, 2, 3, "fill"); 5967 + // Frame 5968 + $.ink(notepatColors[1]).box(ix - 1, iy - 1, 9, 7, "outline"); 5927 5969 } 5928 5970 versionCommit = versionInfo.deployed; 5929 5971 } else { 5930 5972 if (commitBtn) commitBtn.btn.disabled = true; 5931 5973 commitBtn = null; 5974 + if (notepatBtn) notepatBtn.btn.disabled = true; 5975 + notepatBtn = null; 5932 5976 versionCommit = null; 5933 5977 } 5934 5978 ··· 7446 7490 (signup?.btn.disabled === false && signup?.btn.box.contains(e)) || 7447 7491 (profile?.btn.disabled === false && profile?.btn.box.contains(e)) || 7448 7492 (commitBtn?.btn.disabled === false && commitBtn?.btn.box.contains(e)) || 7493 + (notepatBtn?.btn.disabled === false && notepatBtn?.btn.box.contains(e)) || 7449 7494 (kidlispBtn?.btn.disabled === false && kidlispBtn?.btn.box.contains(e)) || 7450 7495 (clearBtn?.disabled === false && clearBtn?.box.contains(e)) || 7451 7496 isOverMotdHandle) ··· 7459 7504 ((login?.btn.disabled === false && login?.btn.box.contains(e)) || 7460 7505 (signup?.btn.disabled === false && signup?.btn.box.contains(e)) || 7461 7506 (commitBtn?.btn.disabled === false && commitBtn?.btn.box.contains(e)) || 7507 + (notepatBtn?.btn.disabled === false && notepatBtn?.btn.box.contains(e)) || 7462 7508 (kidlispBtn?.btn.disabled === false && kidlispBtn?.btn.box.contains(e)) || 7463 7509 (clearBtn?.disabled === false && clearBtn?.box.contains(e)) || 7464 7510 (giveBtn?.btn.disabled === false && giveBtn?.btn.box.contains(e)) || ··· 7547 7593 } else { 7548 7594 jump("commits"); 7549 7595 } 7596 + }, 7597 + cancel: () => cancelSound(), 7598 + }); 7599 + } 7600 + 7601 + // 🎹 Notepat button - quick jump to notepat 7602 + if (notepatBtn && !notepatBtn.btn.disabled) { 7603 + notepatBtn.btn.act(e, { 7604 + down: () => downSound(), 7605 + push: () => { 7606 + pushSound(); 7607 + jump("notepat"); 7550 7608 }, 7551 7609 cancel: () => cancelSound(), 7552 7610 });