From 6b0f11723d88f49316978e103a53f0117cdedbef Mon Sep 17 00:00:00 2001 From: Curtis McEnroe Date: Mon, 14 Jan 2019 20:53:43 -0500 Subject: Add guides to psfed --- bin/man/psfed.1 | 5 ++++- bin/psfed.c | 31 ++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) (limited to 'bin') diff --git a/bin/man/psfed.1 b/bin/man/psfed.1 index 30a17a0a..3fbc4710 100644 --- a/bin/man/psfed.1 +++ b/bin/man/psfed.1 @@ -1,4 +1,4 @@ -.Dd September 24, 2018 +.Dd January 14, 2019 .Dt PSFED 1 .Os . @@ -100,6 +100,9 @@ Return to .It Ic - Ic + Adjust display scale. . +.It Ic g Ic G +Toggle guide on selected column/row. +. .It Ic h Ic l Select previous/next bit in row. . diff --git a/bin/psfed.c b/bin/psfed.c index 63308ae5..18627a83 100644 --- a/bin/psfed.c +++ b/bin/psfed.c @@ -194,8 +194,8 @@ static void bitSet(uint32_t index, uint32_t x, uint32_t y, uint8_t bit) { } static void drawGlyph( - uint32_t destX, uint32_t destY, uint32_t scale, - uint32_t index, bool select, uint32_t selectX, uint32_t selectY + uint32_t destX, uint32_t destY, uint32_t scale, uint32_t index, + uint32_t selectX, uint32_t selectY, uint32_t guideX, uint32_t guideY ) { destX <<= scale; destY <<= scale; @@ -208,8 +208,8 @@ static void drawGlyph( uint32_t glyphX = x >> scale; uint32_t glyphY = y >> scale; uint32_t fill = -bitGet(index, glyphX, glyphY); - if (select) fill ^= 0x77; - if (selectX == glyphX && selectY == glyphY) fill ^= 0x77; + if (selectX & 1 << glyphX && selectY & 1 << glyphY) fill ^= 0x77; + if (guideX & 1 << glyphX || guideY & 1 << glyphY) fill ^= 0x3300; frame.buffer[frame.width * (destY + y) + destX + x] = fill; } @@ -261,6 +261,8 @@ static struct { uint32_t index; uint32_t x; uint32_t y; + uint32_t guideX; + uint32_t guideY; uint8_t *undo; uint8_t *copy; } edit = { @@ -273,8 +275,8 @@ static void drawNormal(void) { drawGlyph( header.glyph.width * (i % NormalCols), header.glyph.height * (i / NormalCols), - normal.scale, - i, (i == normal.index), -1, -1 + normal.scale, i, + -(i == normal.index), -(i == normal.index), 0, 0 ); } } @@ -339,21 +341,28 @@ static void inputNormal(char ch) { } static void drawEdit(void) { - drawGlyph(0, 0, edit.scale, edit.index, false, edit.x, edit.y); + drawGlyph( + 0, 0, edit.scale, edit.index, + 1 << edit.x, 1 << edit.y, edit.guideX, edit.guideY + ); drawBorder(header.glyph.width, header.glyph.height, edit.scale); drawGlyph( header.glyph.width << edit.scale, header.glyph.height << edit.scale, - 0, - edit.index, false, -1, -1 + 0, edit.index, + 0, 0, 0, 0 ); } static void inputEdit(char ch) { switch (ch) { break; case Esc: mode = Normal; frameClear(); + break; case '-': if (edit.scale) edit.scale--; frameClear(); break; case '+': edit.scale++; + break; case 'g': edit.guideY ^= 1 << edit.y; + break; case 'G': edit.guideX ^= 1 << edit.x; + break; case 'h': if (edit.x) edit.x--; break; case 'l': if (edit.x + 1 < header.glyph.width) edit.x++; break; case 'k': if (edit.y) edit.y--; @@ -440,8 +449,8 @@ static void drawPreview(void) { drawGlyph( header.glyph.width * (i % PreviewCols), header.glyph.height * (i / PreviewCols), - 0, - preview.glyphs[i], (i == preview.index), -1, -1 + 0, preview.glyphs[i], + -(i == preview.index), -(i == preview.index), 0, 0 ); } } -- cgit 1.4.1 1:35:43 -0500'>2021-02-10Set LC_CTYPE=en_US.UTF-8June McEnroe As much as I dislike en_US, this is the recommended setting, and the part before the dot doesn't actually do anything. 2021-02-09Add ~/.local/share/man to MANPATHJune McEnroe I'm not sure this won't screw something up on macOS or elsewhere. Hopefully other man(1) implementations behave the same way around leading/trailing colons in MANPATH. 2021-02-09Fix adding /usr/games to PATHJune McEnroe I forgot that my own function only takes one parameter oops. 2021-02-09Show battery level while charging, time while dischargingJune McEnroe Also fix initial sleep calculation when seconds has a leading zero, and limit the length of time left for when it initially says "unknown". 2021-02-09Install sctJune McEnroe My eyes are so much happier with sct 4500 oh my god. 2021-02-09Show minutes left instead of battery percentageJune McEnroe 2021-02-09Set antialiasing and unhinting globallyJune McEnroe 2021-02-09Open youtube and twitch with mpvJune McEnroe 2021-02-09Add volume control bindings to cwmJune McEnroe sndioctl is nice and easy. 2021-02-09Use w3m to open other URLsJune McEnroe 2021-02-09Disable mouse mode in xtermJune McEnroe I do not ever want to use this feature. 2021-02-09Add pbcopy, pbpaste, open dispatch scriptsJune McEnroe 2021-02-09Use flags for pbd client behaviourJune McEnroe 2021-02-08Add macOS-like copy and paste to xtermJune McEnroe 2021-02-08Only update clock script every minuteJune McEnroe 2021-02-08Use 4M- for window resizing in cwmJune McEnroe 2021-02-08Tweak trackpad scaling, mouse accelerationJune McEnroe This feels more comfortable. 2021-02-08Use xsel in up and add it do install.shJune McEnroe 2021-02-07Swap root window coloursJune McEnroe 2021-02-07Add -X flag to install X stuff on OpenBSDJune McEnroe 2021-02-07Adjust brightness by smaller incrementsJune McEnroe 2021-02-07Fix cwm window cycling, move big by defaultJune McEnroe 2021-02-07Use class names for Foreground, Background, BorderColorJune McEnroe I'm not really sure what difference this makes, but it seems like the right thing to do to be generic? 2021-02-07Add simple battery status and clock to xsessionJune McEnroe I love how simple this is. 2021-02-07Set cursor theme and sizeJune McEnroe 2021-02-07Use scrot for up -s if no screencaptureJune McEnroe Still missing putting the URL in an X selection. 2021-02-07Enable mouse acceleration in XJune McEnroe 2021-02-07Set colours for Xt and cwmJune McEnroe And increase XTerm internalBorder. 2021-02-07Set urgency on bell in xtermJune McEnroe 2021-02-07Add bindings for brightness controlJune McEnroe Weirdly the Fn key doesn't change how the F row registers... I wonder if I can do something about that. 2021-02-07Set X key repeat rateJune McEnroe 2021-02-07Bump font size to 12June McEnroe 11 is what I use on macOS, but I feel like my eyes are working harder here. 2021-02-07Fully configure and rebind cwmJune McEnroe This is sort of a mix of trying to emulate macOS somewhat for my muscle memory and just rebinding some of the cwm defaults to use 4- rather than M-. 2021-02-07Add BintiJune McEnroe 2021-02-07Finish configuring xtermJune McEnroe 2021-02-06Enable tapping, reverse scroll, set scaling in wsconsctlJune McEnroe 2021-02-06Set root window to black on purple snowJune McEnroe 2021-02-06Add xmodmap configurationJune McEnroe 2021-02-06Add initial OpenBSD X configurationJune McEnroe cwm still needs a lot more rebinding, and I need to actually look at its other options. xterm definitely still needs some configuration, but I at least managed to get it to use a decent looking font. Very happy that OpenBSD includes Luxi Mono, which is what my usual font, Go Mono, is based on anyway. Still missing is xmodmap and such. 2021-02-06Add xterm output to schemeJune McEnroe