summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* edit: implement the actual save operationPhilipp Gesang2022-08-273-48/+142
| | | | | We save palettes in the format that can be directly re-parsed by vtcol.
* edit: implement simple command parserPhilipp Gesang2022-08-271-19/+82
| | | | Just single-letter commands at this point.
* edit: implement command mode input handlingPhilipp Gesang2022-08-251-18/+126
|
* edit: add a command mode and status barPhilipp Gesang2022-08-221-7/+45
|
* edit: improve color box compositionPhilipp Gesang2022-08-221-7/+12
|
* edit: implement basic insert mode switchPhilipp Gesang2022-08-191-23/+47
| | | | | Where <i> or <CR> enter “insert mode” (i. e. activate the Edit widget) and <Esc> leaves it again.
* edit: add setter for palette colorsPhilipp Gesang2022-08-191-0/+19
|
* edit: make selection on click actually workPhilipp Gesang2022-08-191-8/+26
| | | | | | Funneled into the ``Edit`` component via globals which seems to be the only (?) way of propagating these things between elements that don’t have one another in scope.
* edit: display color componentsPhilipp Gesang2022-08-181-2/+87
| | | | Still no actual editing though.
* edit: implement hjkl key bindingsPhilipp Gesang2022-08-181-3/+21
|
* edit: implement color box selectionPhilipp Gesang2022-08-181-4/+31
|
* edit: abstract out the color viewsPhilipp Gesang2022-08-181-96/+77
|
* edit: convert color ids to TextInputPhilipp Gesang2022-08-171-2/+4
|
* edit: scale color box width to window sizePhilipp Gesang2022-08-171-8/+8
|
* vtcol: fix conditional codePhilipp Gesang2022-08-081-22/+16
|
* edit: present color palettePhilipp Gesang2022-08-083-3/+235
| | | | | No actual editing functionality yet, just the colors layed out as squares on an 8?2 grid.
* edit: set up a rudimentary 60fps windowPhilipp Gesang2022-08-081-2/+38
| | | | Not much to see yet.
* bin: prepare for scheme editorPhilipp Gesang2022-08-082-0/+27
| | | | | Optionally build against slint (sixtyfps) to provide an “edit” subcommand.
* lib: rework caps flag handlingPhilipp Gesang2022-08-081-6/+35
|
* fix repo homePhilipp Gesang2022-04-201-1/+1
|
* happy new year!Philipp Gesang2022-01-011-2/+2
|
* lib: fix ioctl argp castPhilipp Gesang2021-12-221-5/+4
| | | | The argument is not a pointer-to-ulong but itself an ulong, duh!
* expand docs to cover “kb {leds,flags}” splitPhilipp Gesang2021-12-223-6/+35
|
* bin: lib: address some clippy lintsPhilipp Gesang2021-12-222-5/+9
| | | | Mostly about match autoref / autoderef kicking in.
* bin: add switch for flag defaultsPhilipp Gesang2021-12-221-20/+33
|
* lib: rework led flags as composite typePhilipp Gesang2021-12-221-30/+207
| | | | | | | | | Split the underlying led bits handling into KbLeds and employ this to construct both KbLedState and KbLedFlags, preserving their distinctness. This also finally implements the handling of the default states from the higher order bits of KD*KBLED.
* Revert "lib: implement “kb flags”"Philipp Gesang2021-12-221-61/+71
| | | | | | | This partially reverts commit 92f35f8e90199e4d9dfbcc545be456f4c2d7a1ce. The keyboard modifiers behave too differently from the LED state for the const generics to pay off.
* lib: implement “kb flags”Philipp Gesang2021-12-122-113/+303
| | | | | | | | A const-genericized version of the “kb leds” implementation. Does seem to consistently run into EINVAL no matter what flags we provide. Also incomplete as KDGKBLED / KDSKBLED pack more info into higher bits of their argument.
* bin: move “leds” subcommand under “kb” namespacePhilipp Gesang2021-12-121-100/+135
| | | | | | | | | | | | | So instead of $ vtcol leds get that functionality is now available as $ vtcol kb leds get anticipating the keyboad related functions that are about to come.
* lib: add ioctl wrappers for KDGKBLED / KDSKBLEDPhilipp Gesang2021-12-121-43/+111
| | | | | Reusing the same definitions as we have for KD{G,S}ETLED as they’re practically the same.
* lib: close console fd on dropPhilipp Gesang2021-12-121-0/+14
|
* doc: expand man page some morePhilipp Gesang2021-12-121-4/+40
|
* bin: allow specifying the console on the command linePhilipp Gesang2021-12-122-64/+118
| | | | | | | | | | | | | As in: $ vtcol --console /dev/tty6 colors get solarized $ vtcol --console /dev/tty6 colors set phosphor $ vtcol --console /dev/tty6 colors get phosphor That simplifies testing so much I wonder why the heck I needed this long to finally implement it.
* bin: make --verbose a global argumentPhilipp Gesang2021-12-121-1/+2
| | | | It shouldn’t matter where exactly it appears on the command line.
* doc: add screenshots to readmePhilipp Gesang2021-12-123-6/+15
|
* bin: refactor job into member functions + traitPhilipp Gesang2021-12-121-188/+222
|
* doc: describe led setting in readme and manpagePhilipp Gesang2021-12-123-5/+18
|
* bin: lib: implement setting state of individual LEDsPhilipp Gesang2021-12-122-17/+120
|
* bin: implement led revertPhilipp Gesang2021-12-122-7/+26
| | | | | | | | | | | | Command: $ vtcol leds set --revert Implementing this detail of KDSETLED: [I]f a higher order bit is set, the LEDs revert to normal: displaying the state of the keyboard functions of caps lock, num lock, and scroll lock.
* bin: implement “leds set” subcommandPhilipp Gesang2021-12-122-6/+61
| | | | | | | Currently only supports setting the raw state from an integer value: $ vtcol leds set -8 2
* update readmePhilipp Gesang2021-12-121-15/+38
|
* doc: update manpage for colors/leds splitPhilipp Gesang2021-12-121-20/+91
|
* move color ops into subcommandPhilipp Gesang2021-12-112-203/+248
| | | | | | | | | | | | So what used to be $ vtcol set solarized becomes $ vtcol colors set solarized etc.
* add KDGETLED subcommand to vtcol-binPhilipp Gesang2021-12-082-2/+86
| | | | | | | | | Actually we add both subcommand and sub-subcommand. Example: [*] 15:52:40 phg@acheron vtcol $ vtcol leds get Caps: false, Num: true, Scroll: false
* add ioctl wrappers for KDGETLED / KDSETLEDPhilipp Gesang2021-12-081-5/+119
|
* be more specific about what “list” doesPhilipp Gesang2021-12-081-1/+1
|
* misc: add nix derivationPhilipp Gesang2021-11-253-1/+76
|
* move archlinux stuff to subdirPhilipp Gesang2021-11-255-0/+0
|
* move base64 handling out of PalettePhilipp Gesang2021-11-252-25/+26
| | | | | Try and not encumber the lower level types with more dependencies than needed.
* don’t panic!() on open(2) failurePhilipp Gesang2021-11-241-10/+10
|