aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* add .mark.foreground to XresourcesNRK2021-09-175-4/+11
| | | | | 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.
* cleanup docsNRK2021-09-172-13/+20
|
* Fix font memory leak. (#57)Sam Whitehead2021-09-162-0/+2
| | | | | | | | | | | * Fix font memory leak. This memory leak has always been present in sxiv. The font opened on window.c:58 was never closed, so I closed it, fixing a 2kB memory leak. * document changes Co-authored-by: NRK <nrk@disroot.org>
* change .font to .bar.font for consistency (#48)N-R-K2021-09-163-2/+3
|
* Rename, Update Docs and Prepare for Release (#9)Berke Kocaoğlu2021-09-1628-307/+405
| | | | | | | 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>
* Exit when window is destroyedArthur Williams2021-09-161-0/+3
| | | | | | | If the user closed our window, the program won't automatically be die. It may look dead as there would be no graphical indication that it was running, but it still would be using/wasting the same resources. Now the program will abruptly exit when its window is killed.
* Rework the build system (#19)TAAPArthur2021-09-164-48/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 8683c179dbf273a330f9a224a4d481a7bea42c5f. * 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 8bf75b1f68d72df349edba8d998d4659dd956dd8. * 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>
* fix: out-of-bounds access when bg not in color mapwhowillbellthecat2021-09-161-0/+4
|
* add an editorconfig file, closes #25eylles2021-09-161-0/+28
|
* Advertise Webp support in desktop file.Aman Verma2021-09-161-1/+1
|
* set title based on prefix and suffix (#23)qsmodo2021-09-167-7/+74
| | | | | | 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>
* change gamma on -GNRK2021-09-161-1/+1
| | | | Closes: https://github.com/nsxiv/nsxiv/issues/30
* add new keybind, Ctrl-a to toggle animation (#33)N-R-K2021-09-162-1/+2
| | | | | | | | | | | | * add new keybind, Ctrl-a to toggle animation Closes: https://github.com/nsxiv/nsxiv/issues/27 * Format consistency This keeps in line with other actions that have multiple keybinds Co-authored-by: eylles <ed.ylles1997@gmail.com> Co-authored-by: Berke Kocaoğlu <berke.kocaoglu@metu.edu.tr>
* Custom bar colors (#10)Guilherme Freire2021-09-165-22/+34
| | | | | | | | | * 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
* Set the _NET_WM_PID and WM_CLIENT_MACHINE X properties (#13)eylles2021-09-162-0/+21
| | | | | | | Set the _NET_WM_PID and WM_CLIENT_MACHINE X properties Co-authored-by: Leon Kowarschick <lkowarschick@gmail.com> Co-authored-by: Kian Kasad <kian@kasad.com> Co-authored-by: NRK <nrk@disroot.org>
* Fix documentation (#14)eylles2021-09-161-4/+4
| | | | | | | | * Update manpage for marking commands * Fix hyphen-used-as-minus-sign and typo lintian warning in manpage this fix was originally made by the debian mantainer for sxiv Daniel Echeverry <epsilon77@gmail.com> Co-authored-by: Mihail Snitkovski <msnitkovski@gmail.com>
* Fix in tabbed with alpha patch (#3)Berke Kocaoğlu2021-09-162-9/+23
| | | | | * Fix in tabbed with alpha patch Co-authored-by: Jared Forrest <jared_forrest@mailbox.org>
* Added ICCCM WM_HINTSArthur Williams2021-09-161-0/+6
| | | | | | | | | | | | | | | | | When the window is mapped, some ICCCM WM_HINTS are set. The input field is set to true and state is set to NormalState. To quote the spec, "The input field is used to communicate to the window manager the input focus model used by the client" and "[c]lients with the Passive and Locally Active models should set the input flag to True". sxiv falls under the Passive Input model, since it expects keyboard input, but only listens for key events on its single, top-level window instead of subordinate windows (Locally Active) or the root window (Globally Active). From the end users prospective, all EWMH/ICCCM compliant WMs (especially the minimalistic ones) will allow the user to focus sxiv, which will allow sxiv to receive key events. If the input field is not set, WMs are allowed to assume that sxiv doesn't require focus.
* Implement fill scale modeBerke Kocaoğlu2021-09-165-2/+10
|