You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nsxiv/icon
mamg22 8f6ba7b868
Embed new nsxiv icon (#163)
Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
Co-authored-by: NRK <nrk@disroot.org>
3 years ago
..
16x16.png Rename, Update Docs and Prepare for Release (#9) 3 years ago
32x32.png Rename, Update Docs and Prepare for Release (#9) 3 years ago
48x48.png Rename, Update Docs and Prepare for Release (#9) 3 years ago
64x64.png Rename, Update Docs and Prepare for Release (#9) 3 years ago
128x128.png Rename, Update Docs and Prepare for Release (#9) 3 years ago
README.md Embed new nsxiv icon (#163) 3 years ago
data.gen.h Embed new nsxiv icon (#163) 3 years ago
data.h Embed new nsxiv icon (#163) 3 years ago
img2data.c Embed new nsxiv icon (#163) 3 years ago

README.md

img2data

img2data is a helper program to convert images to binary data for embedding in software. The generated data is used in nsxiv to set the window icons.

How It Works

Each given image is compressed using run-length encoding and a data array is generated. In these arrays, the four high bits of each byte are the run length minus one and the lowest four bits are the data, which are indices for the color array.

See data.gen.h or the output of img2data for a better understanding.

Dependencies

img2data requires Imlib2 to be installed.

Building

img2data is built using the command:

$ CC -Wall -std=c89 -pedantic -lImlib2 img2data.c -o img2data

where CC is a C compiler such as gcc.

Usage

img2data is used as the following:

$ ./img2data 16x16.png 32x32.png 48x48.png 64x64.png 128x128.png

You may replace or omit any image, but you must have a data.gen.h with at least 1 image for nsxiv to compile.