summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* bin: refactor job into member functions + traitPhilipp Gesang2021-12-121-188/+222
|
* 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
* move color ops into subcommandPhilipp Gesang2021-12-111-202/+247
| | | | | | | | | | | | 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
|
* 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
|
* add base64 input to ‘dump’Philipp Gesang2021-11-241-7/+23
|
* add base64 input for ‘set’Philipp Gesang2021-11-242-0/+45
|
* add base64 output for ‘get’Philipp Gesang2021-11-242-6/+24
|
* optionally clear after each fade stepPhilipp Gesang2021-11-232-6/+27
|
* implement fadingPhilipp Gesang2021-11-232-3/+195
| | | | vtcol fade --ms 1000 --frequency 10 --to solarized & dmesg
* get rid of useless lifetimesPhilipp Gesang2021-11-221-5/+5
|
* switch RawPalette to integer representationPhilipp Gesang2021-11-162-51/+96
| | | | | Introducing a simple type for RGB colors. That awkward string representation for RawPalette got unwieldy quick.
* add KDGKBTYPE wrapperPhilipp Gesang2021-11-151-8/+14
|
* namespace ioctl related symbolsPhilipp Gesang2021-11-151-45/+53
|
* move console handling into libPhilipp Gesang2021-11-152-104/+162
| | | | | All operations are now exposed through wrappers that are member functions of ``vtcol::Console``.
* use idiomatic syscall error wrappersPhilipp Gesang2021-11-151-24/+48
| | | | | A simplified version of the function used in std which aren’t made public.
* turn Fd into proper wrapperPhilipp Gesang2021-11-152-21/+39
|
* drop bespoke ioctl() wrapperPhilipp Gesang2021-11-151-16/+3
|
* lib: split out libraryPhilipp Gesang2021-11-152-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 snippetsPhilipp Gesang2021-11-121-0/+1
|
* bring “dump” out put in line with scheme formatPhilipp Gesang2021-11-121-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” subcommandPhilipp Gesang2021-11-111-2/+2
| | | | D’oh!
* avoid hard coding builtin namesPhilipp Gesang2021-11-111-47/+103
|
* add green monochrome theme (phosphor)Philipp Gesang2021-11-101-0/+21
|
* add toggle subcommandPhilipp Gesang2021-11-101-0/+48
|
* stick to asciiPhilipp Gesang2021-11-101-4/+4
| | | | We can’t count on Unicode in the Linux console.
* implement subcommand get (GIO_CMAP)Philipp Gesang2021-11-101-36/+89
| | | | | Get the currently active color palette using ioctl(GIO_CMAP) and attempt to match it against the builtin schemes.
* adopt a subcommand uiPhilipp Gesang2021-11-101-60/+90
| | | | | | | | Regroup the cli arguments into subcommands: $ vtcol dump $SCHEME $ vtcol list $ vtcol set $SCHEME
* use trait for deriving ColorPhilipp Gesang2021-11-101-34/+36
|
* add GIO_CMAP wrapperPhilipp Gesang2021-11-101-0/+16
| | | | We should be able to get the currently active palette.
* clean up struct PalettePhilipp Gesang2021-11-101-43/+43
|
* turn Palette into newtypePhilipp Gesang2021-11-101-13/+10
|
* rework error handlingPhilipp Gesang2021-11-101-53/+102
| | | | anyhow!() ftw.
* remove interfering --help optionPhilipp Gesang2021-11-101-7/+0
|
* drop unused code from get_console_fd()Philipp Gesang2021-11-101-22/+11
|
* apply some clippy lintsPhilipp Gesang2021-11-101-15/+12
|
* fix overblown numeric handlingPhilipp Gesang2021-11-101-12/+12
| | | | The ergonomics of these changed quite a while back.
* remove redundant lifetimePhilipp Gesang2021-11-101-1/+1
|
* switch from lazy_static to atomicsPhilipp Gesang2021-11-101-7/+4
| | | | Yeah const fn!
* deal with bitrot and archaic idiomsPhilipp Gesang2021-11-101-94/+90
| | | | Mostly adapting to match ergonomics.
* remove gratuitous use of unsafePhilipp Gesang2021-11-101-2/+2
|
* switch from getopts to clapPhilipp Gesang2021-11-101-97/+87
| | | | | In addition to the glaring lack of ergonomics the getopts crate doesn’t even build anymore.
* format with rustfmtPhilipp Gesang2021-11-101-338/+285
|