Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | lib: implement “kb flags” | Philipp Gesang | 2021-12-12 | 2 | -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” namespace | Philipp Gesang | 2021-12-12 | 1 | -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 / KDSKBLED | Philipp Gesang | 2021-12-12 | 1 | -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 drop | Philipp Gesang | 2021-12-12 | 1 | -0/+14 |
| | |||||
* | bin: allow specifying the console on the command line | Philipp Gesang | 2021-12-12 | 2 | -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 argument | Philipp Gesang | 2021-12-12 | 1 | -1/+2 |
| | | | | It shouldn’t matter where exactly it appears on the command line. | ||||
* | bin: refactor job into member functions + trait | Philipp Gesang | 2021-12-12 | 1 | -188/+222 |
| | |||||
* | bin: lib: implement setting state of individual LEDs | Philipp Gesang | 2021-12-12 | 2 | -17/+120 |
| | |||||
* | bin: implement led revert | Philipp Gesang | 2021-12-12 | 2 | -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” subcommand | Philipp Gesang | 2021-12-12 | 2 | -6/+61 |
| | | | | | | | Currently only supports setting the raw state from an integer value: $ vtcol leds set -8 2 | ||||
* | move color ops into subcommand | Philipp Gesang | 2021-12-11 | 1 | -202/+247 |
| | | | | | | | | | | | | So what used to be $ vtcol set solarized becomes $ vtcol colors set solarized etc. | ||||
* | add KDGETLED subcommand to vtcol-bin | Philipp Gesang | 2021-12-08 | 2 | -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 / KDSETLED | Philipp Gesang | 2021-12-08 | 1 | -5/+119 |
| | |||||
* | be more specific about what “list” does | Philipp Gesang | 2021-12-08 | 1 | -1/+1 |
| | |||||
* | move base64 handling out of Palette | Philipp Gesang | 2021-11-25 | 2 | -25/+26 |
| | | | | | Try and not encumber the lower level types with more dependencies than needed. | ||||
* | don’t panic!() on open(2) failure | Philipp Gesang | 2021-11-24 | 1 | -10/+10 |
| | |||||
* | add base64 input to ‘dump’ | Philipp Gesang | 2021-11-24 | 1 | -7/+23 |
| | |||||
* | add base64 input for ‘set’ | Philipp Gesang | 2021-11-24 | 2 | -0/+45 |
| | |||||
* | add base64 output for ‘get’ | Philipp Gesang | 2021-11-24 | 2 | -6/+24 |
| | |||||
* | optionally clear after each fade step | Philipp Gesang | 2021-11-23 | 2 | -6/+27 |
| | |||||
* | implement fading | Philipp Gesang | 2021-11-23 | 2 | -3/+195 |
| | | | | vtcol fade --ms 1000 --frequency 10 --to solarized & dmesg | ||||
* | get rid of useless lifetimes | Philipp Gesang | 2021-11-22 | 1 | -5/+5 |
| | |||||
* | switch RawPalette to integer representation | Philipp Gesang | 2021-11-16 | 2 | -51/+96 |
| | | | | | Introducing a simple type for RGB colors. That awkward string representation for RawPalette got unwieldy quick. | ||||
* | add KDGKBTYPE wrapper | Philipp Gesang | 2021-11-15 | 1 | -8/+14 |
| | |||||
* | namespace ioctl related symbols | Philipp Gesang | 2021-11-15 | 1 | -45/+53 |
| | |||||
* | move console handling into lib | Philipp Gesang | 2021-11-15 | 2 | -104/+162 |
| | | | | | All operations are now exposed through wrappers that are member functions of ``vtcol::Console``. | ||||
* | use idiomatic syscall error wrappers | Philipp Gesang | 2021-11-15 | 1 | -24/+48 |
| | | | | | A simplified version of the function used in std which aren’t made public. | ||||
* | turn Fd into proper wrapper | Philipp Gesang | 2021-11-15 | 2 | -21/+39 |
| | |||||
* | drop bespoke ioctl() wrapper | Philipp Gesang | 2021-11-15 | 1 | -16/+3 |
| | |||||
* | lib: split out library | Philipp Gesang | 2021-11-15 | 2 | -533/+576 |
| | | | | | | | Not really a satisfactorily clean split as of yet but it’s a start. Error types have been changed from anyhow to io::Error in ``lib.rs`` so as to not force an error handling crate on downstream users. | ||||
* | make rustdoc shut up about snippets | Philipp Gesang | 2021-11-12 | 1 | -0/+1 |
| | |||||
* | bring “dump” out put in line with scheme format | Philipp Gesang | 2021-11-12 | 1 | -24/+36 |
| | | | | | | | This revamps the output in a way that allows feeding the result back into vtcol: $ vtcol dump solarized |vtcol set - | ||||
* | fix argument handling for “dump” subcommand | Philipp Gesang | 2021-11-11 | 1 | -2/+2 |
| | | | | D’oh! | ||||
* | avoid hard coding builtin names | Philipp Gesang | 2021-11-11 | 1 | -47/+103 |
| | |||||
* | add green monochrome theme (phosphor) | Philipp Gesang | 2021-11-10 | 1 | -0/+21 |
| | |||||
* | add toggle subcommand | Philipp Gesang | 2021-11-10 | 1 | -0/+48 |
| | |||||
* | stick to ascii | Philipp Gesang | 2021-11-10 | 1 | -4/+4 |
| | | | | We can’t count on Unicode in the Linux console. | ||||
* | implement subcommand get (GIO_CMAP) | Philipp Gesang | 2021-11-10 | 1 | -36/+89 |
| | | | | | Get the currently active color palette using ioctl(GIO_CMAP) and attempt to match it against the builtin schemes. | ||||
* | adopt a subcommand ui | Philipp Gesang | 2021-11-10 | 1 | -60/+90 |
| | | | | | | | | Regroup the cli arguments into subcommands: $ vtcol dump $SCHEME $ vtcol list $ vtcol set $SCHEME | ||||
* | use trait for deriving Color | Philipp Gesang | 2021-11-10 | 1 | -34/+36 |
| | |||||
* | add GIO_CMAP wrapper | Philipp Gesang | 2021-11-10 | 1 | -0/+16 |
| | | | | We should be able to get the currently active palette. | ||||
* | clean up struct Palette | Philipp Gesang | 2021-11-10 | 1 | -43/+43 |
| | |||||
* | turn Palette into newtype | Philipp Gesang | 2021-11-10 | 1 | -13/+10 |
| | |||||
* | rework error handling | Philipp Gesang | 2021-11-10 | 1 | -53/+102 |
| | | | | anyhow!() ftw. | ||||
* | remove interfering --help option | Philipp Gesang | 2021-11-10 | 1 | -7/+0 |
| | |||||
* | drop unused code from get_console_fd() | Philipp Gesang | 2021-11-10 | 1 | -22/+11 |
| | |||||
* | apply some clippy lints | Philipp Gesang | 2021-11-10 | 1 | -15/+12 |
| | |||||
* | fix overblown numeric handling | Philipp Gesang | 2021-11-10 | 1 | -12/+12 |
| | | | | The ergonomics of these changed quite a while back. | ||||
* | remove redundant lifetime | Philipp Gesang | 2021-11-10 | 1 | -1/+1 |
| | |||||
* | switch from lazy_static to atomics | Philipp Gesang | 2021-11-10 | 1 | -7/+4 |
| | | | | Yeah const fn! |