aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* make width of navigation area configurable (#155)LuXu2021-11-043-6/+22
| | | | | | | | | this allows users to configure navigation width from config.h. it also allows disabling the navigation function entirely by using a 0 width. one extra functionality this adds is being able to define an absolute width (in pixels) instead of just percentage via `NAV_IS_REL`. Co-authored-by: NRK <nrk@disroot.org>
* add links to labels in CONTRIBUTING (#154)N-R-K2021-11-031-1/+10
|
* fix: man page title for neo sxiv (#152)Guilherme Rugai Freire2021-11-011-4/+4
|
* -0 sends NULL separated file-list to key-handlerNRK2021-10-295-8/+7
| | | | | | | | with this change `-0` is turned into a more generic switch which can be used to send NULL-separated file-list to the key-handler as well. this also means `-0` no longer implicitly enables `-o` Closes: https://github.com/nsxiv/nsxiv/issues/140
* Add colors and fonts to config.h (#115)Arthur Williams2021-10-292-7/+15
| | | | | | | | Adds a set of config vars to control window fg/bg, bar fg/bg, mark color and bar font. This allows everything that can be done from .Xresources to be configurable from config.h. Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com>
* code-style: general cleanups (#137)N-R-K2021-10-299-45/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* remove unnecessary animated webp related checkN-R-K2021-10-281-6/+0
| | | | | | | | this code snippet was introduced in https://github.com/nsxiv/nsxiv/pull/20/commits/2703809a23bdf3fe426466c7a10f41d747913128 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.
* update copyright notice (#139)eylles2021-10-288-8/+16
|
* eleminate padding from struct img on 64bit systems (#136)N-R-K2021-10-281-3/+3
| | | | | | on 64bit systems this reduces the size of the struct from 104 bytes down to 96 bytes. on 32bits system this change shouldn't have any affect.
* fix: memory leak due to not destroying XrmDatabase (#134)N-R-K2021-10-281-2/+3
|
* Add default key-binding for DRAG_RELATIVE (#117)LuXu2021-10-275-3/+8
| | | | | | | | Ctrl-Button1 now has a relative drag using the XC_fleur cursor. XC_fleur is normally the cursor for "size all" action, which has 4 arrows pointing to 4 directions. Co-authored-by: NRK <nrk@disroot.org>
* fix: memory leak in img_load_webp (#135)N-R-K2021-10-261-4/+10
| | | | | | 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.
* code-style: remove extra casts (#130)javad2021-10-242-5/+5
| | | | Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com>
* remove TODO.md (#127)N-R-K2021-10-192-9/+1
| | | | | | | | it's one extra file that serves no real purpose. Instead TODO.md has been converted into open issues: https://github.com/nsxiv/nsxiv/issues/126 https://github.com/nsxiv/nsxiv/issues/125 Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* README: add package manager section (#111)N-R-K2021-10-191-0/+14
| | | Closes: https://github.com/nsxiv/nsxiv/issues/72
* Revert "Fix in tabbed with alpha patch (#3)" (#121)N-R-K2021-10-161-2/+1
| | | | | | | | | This reverts commit c7ca547b55e98914264351502e581fe6ae17ae15. 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.
* Add ability to bind arbitrary functions.Arthur Williams2021-10-136-70/+96
| | | | | | | | | | | | | | | | | | | | | | | Before all the predated commands where kept in an array and their indexes were used in bindings. This meant that users couldn't add their own functions from the config file. Now key/mouse bindings have been changed to to store the function ptr (wrapped in a cmd_t struct to also store the mode) directly instead. General cleanup done in this commit: Defined `MODE_ALL` instead of using magic number. For example, suppose one had bindings like: { 0, XK_q, g_quit, None }, { ShitMask, XK_q, {quit_err}, None } { ControlMask, XK_q, {quit_err, .mode=MODE_IMAGE}, None } The existing binding `q` has been left unchanged and is defined the same way. However, the new hypothetical binding `Shift-q` can be used to call the custom function quit_err in any mode (default). `Ctrl-q` on the other hand will be called only on image mode. Closes #50
* Make imgcursor a config variable.Arthur Williams2021-10-132-12/+5
| | | | | | | | Previously, the value of imgcursor was determined by where a pointer binding was set to a ci_cursor_navigate. If it was then the pointer would change to left/right arrows depending on the position relative to the window. Now the user has full control of over it which also allows them to preserve the behavior in case they wrap the function.
* Fix behaviour when TrueColor / 24 bit depth is not available (#114)miseran2021-10-114-33/+24
| | | | | | | | | | | | | * 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>
* code-style: fix consistency issues all over the codebase (#94)Berke Kocaoğlu2021-10-1111-68/+45
| | | | | | | | | | | | | | | * 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>
* Make statusbar optional (#95)Arthur Williams2021-10-106-34/+63
| | | | | | | | 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>
* add statusbar message upon key-hander activation (#98)N-R-K2021-10-072-2/+19
| | | | | | | | | Currently when running the key-handler the statusbar shows a "Running key-handler..." message, but there's no indication of the prefix key being pressed. There's a slight functional benefit of this patch in the sense that users can visually tell if the key-handler is listening on input or if the key-handler has been aborted or not.
* Rework build system v2 (#71)N-R-K2021-10-034-55/+52
| | | | | | | | | | | * Remove non-POSIX extensions and commands * Drop autodetection in favor of OPT_DEP_DEFAULT * Use += for LDLIBS as some BSD distros need to add extra flags * Change DOCPREFIX -> EGPREFIX * Use ?= for MANPREFIX and EGPREFIX * Update docs With this, we should have a stable build system. No further significant changes should be needed.
* Move over to nsxiv-extra (#100)N-R-K2021-10-012-7/+24
| | | | | | | * change wiki links to nsxiv-extra * add User patches section * link to Project-Scope and Contribution-Guideline directly
* fix wrong bar.* defaults in manpage (#106)N-R-K2021-10-021-2/+2
|
* update outdated comment in config.def.h (#105)N-R-K2021-09-301-3/+2
| | | | we're not using 'background', 'foreground' and 'font' anymore. see: 0b20783 and f7557c5
* make ten_ms local to run (#101)N-R-K2021-09-291-2/+1
| | | | | ten_ms needed to be a global but after the following commit 3724d3fc17dc6135a05608cab5bdf00c6978282d this no longer holds true. it can simply be local to run, as it's not used anywhere else.
* fix: crashing on bad exif thumbnail (#75)N-R-K2021-09-291-1/+1
| | | | | | | | | 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
* Clarify comment in example key-handler (#89)N-R-K2021-09-281-0/+2
| | | | | | | | | | | currently, the key-handler will not receive the `S-` modifier if there's a capital equivalent of that KEY. if https://github.com/nsxiv/nsxiv/pull/78 is to be merged, then this behaviour may change. however as it currently stands, we should fix the comment. we can update it later if needed. Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Use zoom steps instead of hard-coding levels (#92)Lu Xu2021-09-254-63/+22
| | | | | Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Rename icon & desktop and add install-all in Makefile (#96)Berke Kocaoğlu2021-09-252-7/+13
| | | | | | | | | | | | | | | * Rename in Makefile Renamed {icon,desktop} => install-{icon,desktop} * Add install-all in Makefile * Added .PHONY targets and renamed icon_cleanup Added .PHONY targets and renamed icon_cleanup to uninstall_icon * Update README.md Co-authored-by: TAAPArthur <taaparthur@gmail.com>
* make keyhandler abort key configurable via config.hNRK2021-09-242-1/+4
|
* fix: unable to bind anything to XK_EscapeNRK2021-09-241-1/+1
|
* Add animated webp support (#20)Sam Whitehead2021-09-243-2/+159
| | | | | | Co-authored-by: NRK <nrk@disroot.org> Co-authored-by: Stein Gunnar Bakkeby <bakkeby@gmail.com> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Fix consistency in readme (#93)Berke Kocaoğlu2021-09-241-4/+4
|
* Add desktop and icon rules to Makefile, document icon installation (#80)Guilherme Rugai Freire2021-09-233-16/+40
| | | Co-authored-by: NRK <nrk@disroot.org>
* Change location of example scripts (#86)Berke Kocaoğlu2021-09-225-5/+10
| | | | | * Use DOCPREFIX similar to MANPREFIX Co-authored-by: NRK <nrk@disroot.org>
* switch -0 to bottom in options.cNRK2021-09-211-6/+6
|
* add 0 to print_usageNRK2021-09-211-1/+1
|
* move -0 to bottom in the manpageNRK2021-09-211-5/+5
|
* document new -0 option in manpageNRK2021-09-211-1/+5
|
* code-style: use constant length array (#79)N-R-K2021-09-221-1/+1
| | | | | | | | | | | currently the code-base doesn't make use of variable length array despite being -std=c99. it was irresponsible of me to introduce VLA in here. since this function will be called quite often, i did not want to make calls to malloc and free as they have some overhead. 512 should be sufficient enough and probably is far bigger than any window title bar can display anyways.
* better document what the optional deps doNRK2021-09-211-2/+5
| | | | | | | | | currently the README only mentions what deps are optional but has no info on what they do. we had an issue where a user was confused about what libexif is used for : https://github.com/nsxiv/nsxiv/issues/58 this makes it clear what each of the optional deps do so that users can make more informed decision on weather they want something or not.
* add -0 for outputting null-terminated list (#68)N-R-K2021-09-203-2/+8
| | | | | | | | | | | | * add -0 for outputting null-terminated list this doesn't add much, if any, additional complexity to the codebase and can be quite handy for scripting purposes. Closes: https://github.com/nsxiv/nsxiv/issues/67 * Fix typo Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Allow any set of modifiers to be used in keybindingsArthur Williams2021-09-202-1/+4
| | | | | | | | | | | | | Previous the code only allowed ShiftMask,ControlMask or Mod1Mask to be used in keybindings and the presence of any others modifiers would be ignored. Most problems generally allow certain modifiers to be be ignored but not most and certainly don't allow Super-A to be treated like A. Now users can use any modifiers they want in keybindings and can also ignore any modifiers they want. By default only ModMask2 (commonly numlock is ignored) Co-authored-by: N-R-K <79544946+N-R-K@users.noreply.github.com>
* Stable version 27.1NRK2021-09-172-1/+9
|
* fix build when not git clonedNRK2021-09-171-0/+2
|
* Fix links in changelog and readmeBerke Kocaoğlu2021-09-172-16/+16
|
* Stable version 27Berke Kocaoğlu2021-09-161-1/+1
|
* config.def.h: change enums to static const intsNRK2021-09-171-7/+3
|