aboutsummaryrefslogtreecommitdiffstats
path: root/thumbs.c
AgeCommit message (Collapse)Author
2022-10-19code-style: misc changes (#374)NRK
* ensure static variables comes after non-static ones * remove depreciated DATA32 type * prefer `sizeof(expression)` over `sizeof(Type)`. * silence a -Wsign warning * {gif,webp} loader: use a pointer to reduce code-noise * gif loader: allocate in one place Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/374 Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2022-08-16code-style: don't indent switch cases (#358)explosion-mental
The suckless coding style [^0] and the linux coding style [^1] both recommends not indenting switch cases. And it helps out people with lower resolution monitors. [^0]: https://suckless.org/coding_style/ [^1]: https://www.kernel.org/doc/html/v5.10/process/coding-style.html#indentation Co-authored-by: explosion-mental <explosion0mental@gmail.com> Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/358 Reviewed-by: NRK <nrk@disroot.org> Co-authored-by: explosion-mental <explosion-mental@noreply.codeberg.org> Co-committed-by: explosion-mental <explosion-mental@noreply.codeberg.org>
2022-07-15fix: -Wsign-compare warnings (#336)NRK
mixing signed and unsigned types in comparison can end up having unintended results. for example: if (-1 < 1U) printf("true\n"); else printf("false\n"); previously we silenced these warnings, instead just fix them properly via necessary casting, and in cases where the value cannot be negative (e.g width/height members) make them unsigned. Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/336 Reviewed-by: explosion-mental <explosion-mental@noreply.codeberg.org>
2022-06-28code-style: cleanup includesNRK
* rm unused include <sys/types.h> * move <sys/time.h> to main.c, it's the only file that needs it. * move TV_* macros to main.c * let *.c files explicitly include what they need instead of including them at nsxiv.h
2022-06-25fix: don't use reserved identifiersNRK
identifiers beginning with an underscore is reserved by the C standard.
2022-06-22r_mkdir: don't truncate the path on error (#322)NRK
currently, in case of error, r_mkdir will leave the path at a truncated state. a7d39b0ab8 is the commit that introduced this change, and in it the error printing is moved from r_mkdir to the caller, which makes me think it was probably intentional. make it so that the function itself prints the error/warning message and returns the path back to the caller unharmed. Reviewed-on: https://codeberg.org/nsxiv/nsxiv/pulls/322 Reviewed-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr> Reviewed-by: TAAPArthur <taaparthur@noreply.codeberg.org>
2022-06-02reduce calls to win-titleNRK
rather than calling the script unconditionally per redraw, we now have a `title_dirty` flag and keep track of when any of the relavent information changes. Co-authored-by: Arthur Williams <taaparthur@gmail.com> Partially fixes: https://github.com/nsxiv/nsxiv/issues/258
2022-05-03Declare every extern function/variable in `nsxiv.h` (#268)N-R-K
with a couple exceptions as they cause too many -Wshadow warnings. also moves the `extcmd_t` typedef on top for cosmetic purposes. also enable `-Wmissing-prototypes` in the ci
2022-02-26add config.h option for top statusbar (#231)N-R-K
Closes: https://github.com/nsxiv/nsxiv/issues/230 Co-authored-by: mamg22 <45301823+mamg22@users.noreply.github.com>
2022-02-23use win-title script for customizing window title (#213)N-R-K
this removes the cli flag `-T` as well as related config.h options. Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2022-02-17code-style: prefer calloc over malloc+memsetNRK
2022-02-13update copyright yearNRK
2021-11-20mark functions and vars as static (#146)N-R-K
the goal here to mark functions and variables not used outside the translation unit as static. main reason for this is cleanliness. however as a side-effect this can help compilers optimize better as it now has guarantee that a certain function won't be called outside of that translation unit. one other side-effect of this is that accessing these vars/function from config.h is now different. if one wants to access a static var/func from different translation unit in config.h, he would have to create a wrapper function under the right ifdef. for static functions one would also need to forward declare it. here's a dummy example of accessing the function `run_key_handler` from config.h under _MAPPINGS_CONFIG ``` static void run_key_handler(const char *, unsigned); bool send_with_ctrl(arg_t key) { run_key_handler(XKeysymToString(key), ControlMask); return false; } ```
2021-10-28code-style: general cleanups (#137)N-R-K
* tns_clean_cache: remove unused function arg * remove malloc casting * improve consistency use sizeof(T) at the end * avoid comparing integers of different signedness * use Window type for embed and parent * remove unnecessary comparisons * remove cpp style comments * improve consistency: remove comma from the end of enumerator list * Removed useless _IMAGE_CONFIG defines * consistency: use the same order as snprintf * Resolve c89 warnings Co-authored-by: uidops <uidops@protonmail.com> Co-authored-by: Arthur Williams <taaparthur@gmail.com>
2021-10-28update copyright notice (#139)eylles
2021-10-12Fix behaviour when TrueColor / 24 bit depth is not available (#114)miseran
* Fix regression introduced in c7ca547 which made nsxiv not start in non-TrueColor X server. * Introduce a new fix for embedding into tabbed-alpha. * Fixes a visual glitch from original sxiv when drawing transparent images in 8 bit depth. In 8 bit PseudoColor, `.pixel` is just an index into the 256 defined colors and thus trying to extract rgb bits from it would result in visual glitch. The values `.color.red` on the other hand and so on are always integers between 0 and 0xFFFF representing the color as expected. * Use XColor for win_bg/fg and mrk_fg Co-authored-by: NRK <nrk@disroot.org>
2021-10-11code-style: fix consistency issues all over the codebase (#94)Berke Kocaoğlu
* remove duplicate comment * remove empty tabs and blank lines * move macros and globals ontop * comment to seprate function implementation * fix alignment * switch to *argv[] similar to other suckless code * kill all empty last lines * append comment to endif * reuse existing ARRLEN macro * comment fall through * use while (true) everywhere Co-authored-by: NRK <nrk@disroot.org>
2021-10-09Make statusbar optional (#95)Arthur Williams
libXft and libfontconfig are now optional dependencies which can be disabled via `HAVE_LIBFONTS=0`. Disabling them means disabling the statusbar. This also does not search for freetype2 header if disabled. Co-authored-by: NRK <nrk@disroot.org>
2021-09-29fix: crashing on bad exif thumbnail (#75)N-R-K
this does not need to be a fatal error. if im is NULL we're going to load it with imlib2 anyways. one other problem this solves is that before, due to the fatal error, the tmpfile opened under /tmp wouldn't get cleaned up. Closes: https://github.com/nsxiv/nsxiv/issues/69
2021-09-16add .mark.foreground to XresourcesNRK
since we're already allowing both window and bar colors to be customizable, it doesn't make sense to not allow so for mark color.
2021-09-16Rename, Update Docs and Prepare for Release (#9)Berke Kocaoğlu
Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Arthur Williams <taaparthur@gmail.com> Co-authored-by: eylles <ed.ylles1997@gmail.com>
2021-09-16set title based on prefix and suffix (#23)qsmodo
Co-authored-by: Guilherme Rugai Freire <41879254+GRFreire@users.noreply.github.com> Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
2021-09-16Custom bar colors (#10)Guilherme Freire
* set bar and text colors independently * change xresources to Program.class.resource * rename color variables to win/bar_bg/fg * change default bar colors to match window colors
2019-07-16Use normal win colors in fullscreen modeBert Münnich
Fixes issues #361 and #367
2019-03-15Fix comparison broken by signednessBert Münnich
Warning generated on MacOS, reported in issue #350.
2019-01-23Align compile-time color options with X resource colorsBert Münnich
Two colors are more than enough!
2018-07-30Respect updated path format when cleaning cacheKacper Gutowski
Since d8114e8 the file name is used for caching as-is without adding .jpg at the end, but sxiv -c still expected old format causing it to remove all fresh thumbnails.
2018-07-30Don't skip dot files when cleaning cacheKacper Gutowski
2017-11-23Reject text files resembling TGA imagesBert Münnich
Fixes issue #295 The imlib2 TGA loader returns an imlib image handle without any actual data when given a text file like this: T Content-Type: application/javascript Content-Length: 3836 Last-Modified: Wed, 23 Sep 2015 12:25:47 GMT Etag: "56029a4b-efc" Expires: Sat, 20 Aug 2016 15:14:33 GMT Cache-Control: max-age=604800, public Accept-Ranges: bytes Fortunately, `imlib_image_get_data()` returns NULL in this case, so that we can use it as an additional check when opening files.
2017-10-16One header file for type definitions and function declarationsBert Münnich
2017-09-08Add -p flag to disable writing of cache and temporary filesAntti Korpi
Closes #285.
2016-12-28Fix unused-variable warnings in conditionally compiled codeBert Münnich
2016-10-20Only open regular files; fixes issue #252Bert Münnich
2016-09-28Allow opening directories non-recursivelyParide Legovini
2016-08-06Use Xft for font loading and text drawingBert Münnich
2015-12-20Build-time option for default thumbnail size; fixes issue #207Bert Münnich
2015-10-28Simplified r_mkdir()Bert Münnich
2015-10-28Revised error handlingBert Münnich
- Functions warn() and die() replaced by GNU-like error(3) function - Register cleanup() with atexit(3) - Functions called by cleanup() are marked with CLEANUP and are not allowed to call exit(3)
2015-10-28Prefix safe allocation functions with 'e' instead of 's_'Bert Münnich
2015-10-28Removed feature test macro definitions from source filesBert Münnich
2015-10-28Removed overcautious parameter checksBert Münnich
2015-07-22Thumbnail cache file format depending on existance of alpha layerBert Münnich
Use PNG if image has alpha layer, JPG if not. Fixes issue #209
2015-01-04Cache out of view thumbnails in the backgroundBert Münnich
2015-01-04Use bit-field for boolean flags in fileinfo structBert Münnich
2014-11-27Enforced thumbnail reloading after key handlerBert Münnich
2014-11-27Limit thumbnail selection border width to 4pxBert Münnich
2014-10-31Do not cache thumbnails, which are smaller than the maximum sizeBert Münnich
2014-10-31Discard cached & EXIF thumbnails, which are smaller than the configured ↵Bert Münnich
maximum size
2014-10-31Fixed leakage of resources allocated by EXIF libraryBert Münnich
2014-10-29Fixed segfault when run with -cBert Münnich