Commit graph

171 commits

Author SHA1 Message Date
Bert Münnich 851e4288c1 Prefix safe allocation functions with 'e' instead of 's_' 2015-10-28 22:29:01 +01:00
Bert Münnich e574a6d0dd Removed feature test macro definitions from source files 2015-10-28 21:37:45 +01:00
Bert Münnich e0e96977b3 Removed overcautious parameter checks 2015-10-28 21:01:24 +01:00
Bert Münnich d8114e841c Thumbnail cache file format depending on existance of alpha layer
Use PNG if image has alpha layer, JPG if not. Fixes issue #209
2015-07-22 21:08:00 +02:00
Bert Münnich 47af0dd7b5 Cache out of view thumbnails in the background 2015-01-04 21:24:43 +01:00
Bert Münnich 9b9294bae6 Use bit-field for boolean flags in fileinfo struct 2015-01-04 21:24:43 +01:00
Bert Münnich ed030fe4d3 Enforced thumbnail reloading after key handler 2014-11-27 22:24:18 +01:00
Bert Münnich 728a2d931f Limit thumbnail selection border width to 4px 2014-11-27 22:23:14 +01:00
Bert Münnich d154b9826f Do not cache thumbnails, which are smaller than the maximum size 2014-10-31 10:41:33 +01:00
Bert Münnich eb5feb4585 Discard cached & EXIF thumbnails, which are smaller than the configured maximum size 2014-10-31 10:41:30 +01:00
Bert Münnich f5f49e7a9d Fixed leakage of resources allocated by EXIF library 2014-10-31 10:37:35 +01:00
Bert Münnich 25077ac764 Fixed segfault when run with -c 2014-10-29 14:20:54 +01:00
Bert Münnich 93e2a757d4 Do not print could-not-open-warnings for files found by directory traversal 2014-10-24 11:14:01 +02:00
Bert Münnich ddd028eb3e Unified file count variable for image & thumbnail mode 2014-09-30 21:54:17 +02:00
Bert Münnich b4096c59e4 Set JPEG quality for thumbnail cache files 2014-09-29 14:06:24 +02:00
Bert Münnich 390d771e70 Fixed thumbnail creation for files with big aspect ratio factor; fixes issue #175 2014-09-29 14:05:04 +02:00
Bert Münnich 0e4db69ff5 Scale thumbnail selection border width with thumbnail size 2014-09-29 09:36:43 +02:00
Bert Münnich 39671a149c Moved thumbnail sizes array to config.def.h 2014-09-29 09:02:29 +02:00
Bert Münnich 8fa7247f69 Refactored thumbnail size dependent calculations 2014-09-29 08:47:01 +02:00
Bert Münnich 7b91e10f22 Added thumbnail zooming...
- Key mappings +/- are now general commands
- Use JPG as thumbnail cache file format instead of PNG
- Fixes issue #161
2014-09-28 00:28:50 +02:00
Bert Münnich b2dbd2fed3 Changed image mark in thumbnail view to small rectangle 2014-09-27 22:05:21 +02:00
Bert Münnich eaa269b6cb Revised thumbnail loading...
- Only load the thumbnails that are currently visible in the window
- Unload thumbnails that are leaving the visible area
- Much less memory needed, but scrolling is now slower
- This also unintentionally fixes issue #86
2014-09-26 10:31:03 +02:00
Markus Elfring 0f6cb93a09 Bug #165: Deletion of unnecessary null pointer checks
The function "free" performs input parameter validation.
http://pubs.opengroup.org/onlinepubs/9699919799/functions/free.html

It is therefore not needed to check a passed pointer before this function call.
A corresponding update suggestion was generated by the software "Coccinelle"
from the following semantic patch approach.
http://coccinelle.lip6.fr/

@Remove_unnecessary_pointer_checks1@
expression x;
@@
-if (x != \(0 \| NULL\))
    free(x);

@Remove_unnecessary_pointer_checks2@
expression x;
@@
-if (x != \(0 \| NULL\)) {
    free(x);
    x = \(0 \| NULL\);
-}

@Remove_unnecessary_pointer_checks3@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\))
+if (a)
    free(b);

@Remove_unnecessary_pointer_checks4@
expression a, b;
@@
-if (a != \(0 \| NULL\) && b != \(0 \| NULL\)) {
+if (a) {
    free(b);
    b = \(0 \| NULL\);
 }

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
2014-08-22 19:24:08 +02:00
Bert Münnich 056624548a Beautified thumbnail marks and selection border 2014-08-18 15:42:10 +02:00
Bert Münnich fe3a1e326f Further simplified thumbnail marks 2014-08-18 12:45:32 +02:00
Bert Münnich d0ba2c585d Simplified thumbnail selection and marks 2014-08-17 23:01:39 +02:00
Bert Münnich e49d38d6f9 Fixed wrong thumbnail-to-file mappings caused by file deletions 2014-08-16 22:21:51 +02:00
Bert Münnich e267dc7793 Pass marked files to external key handler in thumbnail mode; fixes issue #135 2014-08-16 21:49:46 +02:00
Bert Münnich 5b01c15176 Unified file index variable for image & thumbnail mode 2014-08-16 21:49:45 +02:00
Bert Münnich 61f61cae5f Generalized thumbnail loading, allows easier reloading of thumbnails later on 2014-08-16 21:48:52 +02:00
Bert Münnich bb6721549b Overhauled window drawing, yet again; fixes issue #155
- 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
2014-07-28 20:36:32 +02:00
Bert Münnich 5cfae63620 Create thumbnail cache dir automatically 2014-06-10 23:15:04 +02:00
Bert Münnich cd02f2dd86 Small fix for thumbnail cropping 2014-06-10 21:28:10 +02:00
Bert Münnich d26f39914e Use thumbnails in EXIF tags; requirement for libexif is back 2014-06-09 22:59:49 +02:00
Bert Münnich e685859a30 Use a checkerboard background for alpha layer; fixes issue #138 2014-04-06 22:47:42 +02:00
Bert Münnich 304fd382db Adhere to XDG Base Directory Specification; fixes issue #124 2014-01-11 22:47:41 +01:00
Bert Münnich 99dfd14919 Fixed Imlib file handle type, issue #117 2013-12-13 13:04:45 +01:00
Bert Münnich 38bc23405d Highlight edges of marked images in thumbnail mode 2013-11-14 14:37:08 +01:00
Bert Münnich 26a624a543 Added options for anti-alias & alpha layer coloring to config.def.h
Also removed now obsolete -p command line option; fixes issue #98
2013-08-22 12:59:05 +02:00
Bert Münnich 08ae25da22 Refactored function definitions to use dangling brace 2013-02-08 22:05:31 +01:00
Bert Münnich 6d3bbc6d5e Updated/corrected license header 2013-02-08 21:52:41 +01:00
Bert Münnich b6a6c260e1 Moved thumbnail cache to ~/.sxiv/cache/ 2013-01-12 23:40:16 +01:00
Bert Münnich 5b6467913c Made remote changes adhere to code style 2012-07-15 18:52:30 +02:00
baskerville c330b55de4 handle count prefix in thumbnail movements 2012-07-15 10:30:58 +02:00
Bert Münnich 72071d5e9d Fixed mem-leak in tns_init/tns_free 2012-05-13 22:01:09 +02:00
Bert Münnich edd016945a Fixed it_scroll_move(DIR_DOWN) in thumb mode for last line 2012-03-16 20:56:10 +01:00
Bert Münnich 3238ef6bf6 Fixed issue #41, added WIN_FS_COLOR to config.h 2012-03-02 19:42:14 +01:00
Bert Münnich d407dd65d5 Already in the year 2012 2012-02-15 19:16:24 +01:00
Bert Münnich 691c6d7e7e Added own exif tag handling in files exif.[ch] 2012-02-15 19:13:44 +01:00
Bert Münnich b410c022a8 Fix recreation of thumbnail cache file after manual reload 2012-02-14 22:12:09 +01:00
Bert Münnich b8458271fb Added text bar on bottom of window 2012-02-12 19:00:41 +01:00
Bert Münnich ef0ed32264 Removed exif support; made gif support non-optional 2012-02-11 02:42:52 +01:00
Bert Münnich ac4eb53029 Fixed issue #28 (again) 2011-11-13 15:53:09 +01:00
Bert Münnich 5034792948 Thumbnails only get scaled down, fixed issue #27 2011-11-05 13:11:50 +01:00
Bert Münnich 1cdbeb972a Added screen-wise scrolling for thumbnail mode 2011-10-27 16:21:01 +02:00
Bert Münnich 36177fb180 Updated contact information 2011-10-14 10:40:49 +02:00
Bert Münnich 4383a651c7 Strictly adhere to ANSI-C standard 2011-10-13 16:50:06 +02:00
Bert Münnich a09b20c5e6 Use void for empty argument lists 2011-10-12 18:38:29 +02:00
Bert Münnich 8dcf682de9 Made all conditionals more precise 2011-09-29 12:43:36 +02:00
Bert Münnich 22d4e991d5 Transformed function macros in util.h to inline functions 2011-09-29 10:16:13 +02:00
Bert Münnich d721d8453e Added STREQ macro 2011-09-26 21:53:52 +02:00
Bert Münnich 515e410451 Use win_t member in img_t & tns_t instead of parameters 2011-09-17 17:23:51 +02:00
Bert dad06c7561 Much nicer handling of compile-time features
- *_SUPPORT enabled in config.h
- XLIBS helper app prints lib flags needed for current settings
2011-09-12 19:28:02 +02:00
Bert b2a2a62b7b Added own bool type 2011-09-11 21:01:24 +02:00
Bert 6e575b0f72 Strict conformance to IEEE Std 1003.1-2001 2011-09-08 20:54:24 +02:00
Bert 03b8e85a4f Fixed exif-only typo in tns_load() 2011-09-08 16:19:30 +02:00
Bert fdbc5cf76b Added EXIF_SUPPORT macro for optional dependency on libexif 2011-09-08 15:58:30 +02:00
Bert bfab4dc328 Added EXIF auto-orientation 2011-09-08 15:57:44 +02:00
Bert 26eae8be96 Made i(t)_toggle_alpha command work in thumbnail mode too 2011-09-04 13:29:17 +02:00
Bert d585b86354 Reformated license header 2011-09-03 23:11:45 +02:00
Bert de6b58a315 Unified feature test macro requirements 2011-09-03 14:22:06 +02:00
Bert 1d7849efc1 Added force parameter to tns_load() to disregard cache 2011-08-19 13:26:58 +02:00
Bert 535c18afda Uniform thumbnail selection border size
- Consistent handling of thumbnails
- Makes it easier to select very small thumbnails with mouse
2011-08-19 12:20:00 +02:00
Bert 8763f6930f Corrected FSF address in license headers 2011-08-18 01:18:26 +02:00
Bert ff013dd009 Revised handling of file names & paths 2011-08-18 00:38:55 +02:00
Bert 2bad53c33d Simpler thumbnail selection border 2011-07-27 00:20:27 +02:00
Bert 3e4f63e3e2 Nicer thumbnail selection border; new default colors 2011-07-26 23:58:31 +02:00
Bert b8ff1677b1 Major code refactoring
- Configurable key and mouse mappings in config.h
- Put event handling code from main.c into events.[ch]
2011-07-26 18:01:29 +02:00
Bert a271e16744 Reduced usage of preprocessor macros 2011-07-22 14:49:06 +02:00
Bert 5f780fc3e7 Made selection border in thumb mode 3px wide 2011-07-17 22:18:09 +02:00
Bert 2e1d752777 Fix compile error on NetBSD 2011-06-28 15:48:17 +02:00
Bert b563a0adb2 Fixed mtime cache check on filesystems supporting nsec resolution 2011-06-06 15:58:59 +02:00
Bert d15264ea32 Remove invalid images when loading them; refactorings 2011-04-11 16:58:38 +02:00
Bert dd9e5dabb1 Removed debug output 2011-04-08 19:43:27 +02:00
Bert dc54981a68 New option: -C, clean thumbnail cache 2011-04-08 14:44:00 +02:00
Bert eee921efe0 Refactored thumbs.c 2011-04-08 10:24:10 +02:00
Bert 7d40faeba6 Do not create cache files for cache files 2011-04-07 18:00:01 +02:00
Bert 92709b2b2f Use directory structure in cache dir 2011-04-07 17:29:59 +02:00
Bert f52a99db6c Refactored thumbnail cache_dir 2011-04-07 17:23:47 +02:00
Bert f93f4d887c Write cache file for thumbnail directly after creating it 2011-04-07 16:17:10 +02:00
Bert 1d0f51f95a Load thumbnails from cache 2011-04-07 15:05:17 +02:00
Bert c21a3e3f28 Write thumbnail cache files on exit 2011-04-07 14:33:57 +02:00
Bert 83bdf67d51 First things for thumbnail caching 2011-04-07 01:26:08 +02:00
Bert 9fcf2c8f34 Small refactoring in tns_load() 2011-04-07 00:26:45 +02:00
Bert 8d4e3a57ab Do not check file-type at startup 2011-04-04 20:35:10 +02:00
Bert 55659ffcc3 Use imlib-handles in thumbs.c instead of pixmaps 2011-03-15 13:55:52 +01:00
Bert d982b06eed White background for images with alpha 2011-03-09 11:37:49 +01:00
Bert c05fd44bdd Support for external commands like mogrify & jpegtran 2011-03-01 18:49:02 +01:00
Bert 9b24f82404 Small refactorings, removed over-ambitious todo 2011-02-27 13:29:24 +01:00
Bert 7334bdfa51 Revert "Save rotated png-files with S-key"
This reverts commit 090ee5405b.
2011-02-27 13:03:16 +01:00