* 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>
this code snippet was introduced in
2703809a23
but does not seem to be needed.
from what i can tell this is some sort of hack that might've been needed
back when we didn't bypass imlib2 when loading webp.
if `multi.cap` is >0 that means `multi.frames` has already been malloc-ed. by
unconditionally malloc-ing again, we're losing all the old memory.
this makes it so we're only malloc-ing (or realloc-ing) when needed.
This reverts commit c7ca547b55.
cd710f5 fixed the issue with embedding into a parent that has alpha and
partially reverted c7ca547
this commit fully reverts c7ca547 , as these changes aren't needed for
embedding into an alpha-parent.
* 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>
* 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>
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>
* Added simple configure script
Added simple script to autodetect if optional dependencies are installed
and enable/disable them as needed. Note this solution uses the compiler
directly instead of an external program like pkgconfig so it doesn't
require any extra dependencies. It is intended to work with any
arbitrary compiler; it has been tested with tcc and gcc.
There are some "breaking" changes hidden here
- HAVE_GIFLIB was renamed to HAVE_LIBGIF to match HAVE_LIBEXIF
- Simply typing `make` will no longer try to build with optional
dependencies
* use implicit RM variable
* General clean-up in configure
- Use printf instead of echo
- Format style
* honor env PREFIX, use LDLIBS
* Revert "General clean-up in configure"
This reverts commit 8683c179db.
* honor env LDFLAGS if set
* Don't set OPTIONAL_LIBS in configure
* make OBJ all caps
* follow suckless style build system
- remove configure script.
- HAVE_LIBGIF and HAVE_LIBEXIF defaults back to 1
- unload several varibales onto config.mk
- make version all-caps
- add -O2 optimization
- use CPPFLAGS for includes and defines
* Revert "follow suckless style build system"
This reverts commit 8bf75b1f68.
* Generate config.mk from make
* Inlined configure in Makefile
* update docs
* cleanups
- changes to config.mk should trigger a rebuild
- remove potentially confusing variables form Makefile
* Use install instead of mkdir/cp/chmod when sensible
* fixup! Inlined configure in Makefile
* Don't generate config.mk on rm -f *.o sxiv
* update docs and cleanups
- make config.mk silent
- mention editing config.mk in README
* fallback to 0 if user edits config.mk in unexpected way
* add comment on config.mk
* remove invalid comment
configure script is removed
* slight restructure
- make version all caps
- restructure variables that users may want to edit to top
- use CPPFLAGS for defines
- add some comments
- remove needless echos since we have verbose output now
* add echos back
Co-authored-by: NRK <nrk@disroot.org>
Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* 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
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.
- 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)
- Buffer for window content is bigger than the window, minimizes artifacts
when window is resized
- Back to using XSetWindowBackgroundPixmap() instead of XCopyArea(),
no need to handle exposure events; X server can show gray background directly
after resize event before sxiv redraws the window contents