Commit Graph

913 Commits

Author SHA1 Message Date
Bert Münnich
b2dbd2fed3 Changed image mark in thumbnail view to small rectangle 2014-09-27 22:05:21 +02:00
Bert Münnich
5fce009b73 Refactored main loop; properly fixes startup issue 2014-09-26 22:47:28 +02:00
Bert Münnich
c1e084357c Fixed startup in thumbnail mode with floating window 2014-09-26 20:45:15 +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
Bert Münnich
52e56c8924 Fixed segfault caused by image removal in thumbnail mode 2014-09-11 22:22:51 +02:00
Bert Münnich
2fbc21a205 Simplified img_frame_animate 2014-09-01 20:41:33 +02:00
Bert Münnich
95a7496edc Fixed segfault in ci_toggle_animation, fixes issue #173 2014-09-01 20:40:17 +02:00
Bert Münnich
f478385d59 Corrected i_alternate, fixes issue #171 2014-08-29 20:16:24 +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
75a665670a Refactored rotation in key-handler 2014-08-20 11:39:56 +02:00
Bert Münnich
eaf55e9af9 Added actions for tag addition & removal to key-handler 2014-08-20 11:34:05 +02:00
Bert Münnich
3a680172c8 Unified rotate actions in key-handler; use lossless operation based on file type 2014-08-18 20:21:42 +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
4310b846c1 Increased contrast in default color set 2014-08-17 22:57:09 +02:00
Bert Münnich
1094def183 Added command to remove all image marks, bound to Ctrl-m; fixes issue #163 2014-08-17 20:27:01 +02:00
Bert Münnich
50652f63d9 Full redraw when removing files during thumbnail reloading; fixes issue #164 2014-08-17 16:31:16 +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
284be74927 Count number of marked files 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
lucas8
3b8a79fb8b Made argument of s_strdup const 2014-08-01 20:29:06 +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
5e481912ec Revised handling of GIF animations
- New option `-a`: Play animations at startup
- Ctrl-Space toggles animation for all GIF files
- Infinite loop for all animations
2014-07-25 22:52:31 +02:00
Bert Münnich
9c92de8584 Added support for multiple commands per key/button mapping; elegant fix for issue #150 2014-07-23 23:41:23 +02:00
Bert Münnich
06164c29b7 Revised command structure and key and mouse button mappings 2014-07-23 21:50:31 +02:00
Bert Münnich
5d0679b855 Show key handler status in bar while it is running 2014-06-15 14:15:48 +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
0f7b26d33d Merge branch 'barthalion/master' 2014-05-31 11:04:39 +02:00
Bert Münnich
7a74fae56a Use integers for mouse mappings and buttons 6+7 for horizontal scrolling
Fixes issue #143
2014-05-31 10:59:19 +02:00
Bartłomiej Piotrowski
b901236261 Fix build with giflib >= 5.1.0. 2014-05-27 11:46:42 +02:00
Miroslav Koskar
4cbc7346ff Timeout initial redraw 2014-05-24 10:07:14 +02:00
Artem Bezsmertnyi
5ca20ad3e8 Add a section about key-handler to the man page. 2014-05-24 10:04:29 +02:00
Bert Münnich
1560d2b4fb Stable version 1.2 2014-04-24 20:40:26 +02:00
Bert Münnich
0b83386bff Do not center window on screen, workaround for issue #9 2014-04-21 21:29:27 +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
6d7acac3d1 Use real path of all files internally, requires _XOPEN_SOURCE>=500, fixes issue #137 2014-03-17 20:01:53 +01:00
Bert Münnich
653a6ee83b Warn once when external key combo is used and key-handler not installed 2014-02-18 21:10:44 +01:00
Bert Münnich
d049391916 Check for background image allocation failure 2014-02-07 22:57:58 +01:00
Bert Münnich
4fde8c8cbc Use separate background image for alpha layer; fixes issue #132 2014-02-06 22:04:19 +01:00
Bert Münnich
72f1b1ca6f Removed command line option -F 2014-02-05 09:58:36 +01:00
Bert Münnich
997c8518c5 Set scale mode at startup via argument to -s option 2014-02-04 23:05:29 +01:00
Bert Münnich
43a04c4757 Revised scale mode and zoom level handling
- Scale mode is not reset to default value upon image loading anymore
- New default key binding to change mode to scale-down
- Removed scale mode setting from config.h
- Removed -d command line option, as this is now the default at startup
2014-02-04 23:03:53 +01:00
Bert Münnich
524d9de877 Removed fit-win-to-img command 2014-02-04 22:38:24 +01:00
Bert Münnich
eb82519a80 Preserve panning when switching images; fixes issue #131 2014-02-04 21:02:02 +01:00
Bert Münnich
2e758f78c1 Check if window manager supports fullscreen; related to issue #128 2014-02-02 14:56:01 +01:00