Commit Graph

773 Commits

Author SHA1 Message Date
Arthur Williams
9c73646d9c Exit when window is destroyed
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.
2021-09-16 22:55:31 +03:00
TAAPArthur
25a3114709 Rework the build system (#19)
* 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>
2021-09-16 22:55:31 +03:00
whowillbellthecat
cca7834e67 fix: out-of-bounds access when bg not in color map 2021-09-16 22:55:31 +03:00
eylles
cbec6991c2 add an editorconfig file, closes #25 2021-09-16 22:55:31 +03:00
Aman Verma
68083784b6 Advertise Webp support in desktop file. 2021-09-16 22:55:31 +03:00
qsmodo
156a53780c set title based on prefix and suffix (#23)
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-16 22:55:31 +03:00
NRK
91d9b3128e change gamma on -G
Closes: https://github.com/nsxiv/nsxiv/issues/30
2021-09-16 22:55:31 +03:00
N-R-K
ca692ac485 add new keybind, Ctrl-a to toggle animation (#33)
* 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>
2021-09-16 22:55:31 +03:00
Guilherme Freire
f7557c55b5 Custom bar colors (#10)
* 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
2021-09-16 22:55:31 +03:00
eylles
d8ec6f91a9 Set the _NET_WM_PID and WM_CLIENT_MACHINE X properties (#13)
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>
2021-09-16 22:55:31 +03:00
eylles
46a54c4b2d Fix documentation (#14)
* 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>
2021-09-16 22:55:31 +03:00
Berke Kocaoğlu
c7ca547b55 Fix in tabbed with alpha patch (#3)
* Fix in tabbed with alpha patch

Co-authored-by: Jared Forrest <jared_forrest@mailbox.org>
2021-09-16 22:55:31 +03:00
Arthur Williams
ba0d87fadf Added ICCCM WM_HINTS
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.
2021-09-16 22:55:31 +03:00
Berke Kocaoğlu
88f77bc59c Implement fill scale mode 2021-09-16 22:55:31 +03:00
Bert Münnich
1d28627868 Stable version 26 2020-01-16 14:30:49 +01:00
Bert Münnich
8494b43635 Document dependencies
Fixes issues #378 and #374.
2020-01-16 12:36:26 +01:00
Bert Münnich
d9e60cb4c0 Fix memory leak in win_res()
Fixes issue #372.
2020-01-16 12:36:04 +01:00
Bert Münnich
55777ba9f4 Fix indentation 2020-01-16 10:31:41 +01:00
Bert Münnich
07300da7df Do not keep track of fullscreen state
There is no more need for this after the removal of the special color handling
for fullscreen mode in commit 2886876.
2019-07-16 19:26:04 +02:00
Bert Münnich
28868767e6 Use normal win colors in fullscreen mode
Fixes issues #361 and #367
2019-07-16 19:18:13 +02:00
Bert Münnich
6511d681ac Hint to xrdb for changing X resources 2019-04-19 16:13:05 +02:00
Bert Münnich
18d63dba28 Mention supported X resources in man page 2019-04-19 15:52:44 +02:00
Bert Münnich
7bde7e618a Change colors and font only via X resources 2019-04-19 15:25:06 +02:00
vxid
4407a3de54 Add Xresources font support 2019-04-19 15:03:03 +02:00
Chris Down
a75411567e gitignore: Ignore autogenerated version.h
It looks to me like this is also worthy of ignoring, since it's
autogenerated at make time.
2019-04-14 08:29:37 +01:00
Bert Münnich
7b813ea06d Fix comparison broken by signedness
Warning generated on MacOS, reported in issue #350.
2019-03-15 13:04:15 +01:00
Foldex
278f0ce94e Match fallback font FC_SIZE to original font 2019-03-15 12:29:44 +01:00
Bert Münnich
1ef5429702 Search freetype headers under PREFIX too
Related to PR #346.
2019-02-16 12:48:27 +01:00
Bert Münnich
f88afbb277 Stable version 25 2019-01-26 14:54:40 +01:00
Bert Münnich
24cce54ea0 New colors 2019-01-26 14:39:22 +01:00
Bert Münnich
d5b8242706 Mention X resource properties in build-time color config 2019-01-26 14:12:17 +01:00
Bert Münnich
174e2dd94c Overhaul introductionary text 2019-01-26 14:11:21 +01:00
Bert Münnich
919ada1123 Align compile-time color options with X resource colors
Two colors are more than enough!
2019-01-23 21:21:15 +01:00
Bert Münnich
9d244da512 Simplify X resource retrieval
Also makes the color names in config.def.h constant again.
2019-01-23 20:13:25 +01:00
Bert Münnich
f7fc6637f3 Support X resource entries with Sxiv class name 2019-01-23 20:04:17 +01:00
Bert Münnich
e4fb084f26 Fix code style of merged code 2019-01-23 20:00:18 +01:00
noamcore
4853e17b83 Add Xresources capability 2019-01-23 19:53:39 +01:00
Bert Münnich
b83d4fa1bf Add rawtherapee entry to key-handler 2019-01-01 13:47:46 +01:00
Bert Münnich
71c5766d89 Copy to primary buffer and clipboard
The file names are separated with newlines in the primary and with spaces in
the clipboard.
2019-01-01 13:45:26 +01:00
Bert Münnich
04950162ea Remove tags from image-info 2019-01-01 13:44:59 +01:00
Bert Münnich
2fb8a8d5fe Remove tagging from key-handler 2018-12-31 15:16:25 +01:00
Bert Münnich
6a662ae5e0 Document undocumented "-" behavior 2018-12-29 19:03:34 +01:00
Bert Münnich
674f69f2c9 Fix file list indexes when deleting last image
Fixes issue #331
2018-12-29 18:51:14 +01:00
Bert Münnich
0bf3265430 Set window title only once at startup
Putting image info in the title predates the info bar; it no longer seems
necessary.

Fixes issue #318.
2018-10-15 15:29:39 +02:00
Bert Münnich
971f5d6694 Revise Makefile
Use uppercase for externally defined macros and lowercase for macros defined in
the makefile.

Also simplify generation of version.h.
2018-10-11 13:41:45 +02:00
Patryk Czachurski
f7714eaf90 Set executable bit on scripts in exec folder 2018-08-04 20:20:44 +02:00
Kacper Gutowski
e648c11899 Respect updated path format when cleaning cache
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-30 10:33:23 +02:00
Kacper Gutowski
e6c9218319 Don't skip dot files when cleaning cache 2018-07-30 10:28:35 +02:00
Bert Münnich
1613b42411 Simplify cg_mark_range further 2018-06-10 12:39:23 +02:00
Bert Münnich
1de5f06f83 Set global markidx whenever a single img is (un)marked
This also sets *markidx* when using the right mouse button in thumbnail mode.
2018-06-09 14:07:13 +02:00