summaryrefslogtreecommitdiff
path: root/community/sxiv
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2011-11-07 23:14:55 +0000
committerroot <root@rshg054.dnsready.net>2011-11-07 23:14:55 +0000
commiteffb26c3b1f00bf8bea4e2562f07f9a06eb67606 (patch)
tree428924ac7d0c871e4b7ca1fed9e221e5ef7b8081 /community/sxiv
parenta4d309341dbcd3c28ee68e818c1d5ef54114adf8 (diff)
Mon Nov 7 23:14:55 UTC 2011
Diffstat (limited to 'community/sxiv')
-rw-r--r--community/sxiv/PKGBUILD15
-rw-r--r--community/sxiv/config.h215
-rw-r--r--community/sxiv/sxiv.install2
3 files changed, 137 insertions, 95 deletions
diff --git a/community/sxiv/PKGBUILD b/community/sxiv/PKGBUILD
index 0235cbcef..4990e0a51 100644
--- a/community/sxiv/PKGBUILD
+++ b/community/sxiv/PKGBUILD
@@ -1,22 +1,23 @@
+# Maintainer: Bartłomiej Piotrowski <barthalion@gmail.com>
# Contributor: Thomas Dziedzic < gostrc at gmail >
# Contributor: Bert Muennich <muennich at informatik.hu-berlin.de>
-# Maintainer: Brad Fanella <bradfanella@archlinux.us>
+# Contributor: Brad Fanella <bradfanella@archlinux.us>
pkgname=sxiv
-pkgver=0.9
+pkgver=1.0
pkgrel=1
pkgdesc='simple x image viewer'
arch=('i686' 'x86_64')
license=('GPL2')
-install=('sxiv.install')
+install=sxiv.install
url='https://github.com/muennich/sxiv'
-depends=('libx11' 'xproto' 'imlib2')
+depends=('libx11' 'xproto' 'imlib2' 'desktop-file-utils')
source=("https://github.com/downloads/muennich/sxiv/sxiv-${pkgver}.tar.gz"
'sxiv.desktop'
- 'config.h')
-md5sums=('865f1e542669ad6d7932fcd4664fb481'
+ 'config.h')
+md5sums=('c887e0af1e4d5a101b285a46d288c419'
'1dda85ff6bed4de337f8fb303075ed11'
- '05c3801bf32c2861c3c7b37073664db3')
+ '78c71ef924095d7d6fb75222047de0bd')
build() {
cd "sxiv-${pkgver}"
diff --git a/community/sxiv/config.h b/community/sxiv/config.h
index dd9efe89f..777cb805a 100644
--- a/community/sxiv/config.h
+++ b/community/sxiv/config.h
@@ -1,119 +1,158 @@
+#ifdef _FEATURE_CONFIG
+
+/* auto-orientate jpeg files according to their exif tags?
+ * (requires libexif [-lexif] to be installed)
+ */
+#define EXIF_SUPPORT 0
+/* load all frames from gif files and support gif animations?
+ * (requires giflib [-lgif] to be installed)
+ */
+#define GIF_SUPPORT 0
+
+#endif
#ifdef _WINDOW_CONFIG
-/* default window dimensions (overwritten via -g option): */
-enum { WIN_WIDTH = 800, WIN_HEIGHT = 600 };
+/* default window dimensions (overwritten via -g option): */
+enum {
+ WIN_WIDTH = 800,
+ WIN_HEIGHT = 600
+};
-/* default color for window background: *
- * (see X(7) "COLOR NAMES" section for valid values) */
+/* default color for window background: */
static const char * const BG_COLOR = "#777777";
-/* default color for thumbnail selection: */
+/* default color for thumbnail selection: */
static const char * const SEL_COLOR = "#DDDDDD";
+/* (see X(7) section "COLOR NAMES" for valid values) */
#endif
#ifdef _IMAGE_CONFIG
-/* how should images be scaled when they are loaded?: *
- * (also controllable via -d/-s/-Z/-z options) *
- * SCALE_DOWN: 100%, but fit large images into window, *
- * SCALE_FIT: fit all images into window, *
- * SCALE_ZOOM: use current zoom level, 100% at startup */
+/* how should images be scaled when they are loaded?
+ * (also controllable via -d/-s/-Z/-z options)
+ * SCALE_DOWN: 100%, but fit large images into window,
+ * SCALE_FIT: fit all images into window,
+ * SCALE_ZOOM: use current zoom level, 100% at startup
+ */
static const scalemode_t SCALE_MODE = SCALE_DOWN;
-/* levels (percent) to use when zooming via '-' and '+': */
+/* levels (in percent) to use when zooming via '-' and '+':
+ * (first/last value is used as min/max zoom level)
+ */
static const float zoom_levels[] = {
12.5, 25.0, 50.0, 75.0,
100.0, 150.0, 200.0, 400.0, 800.0
};
+/* default slideshow delay (in sec, overwritten via -S option): */
+enum { SLIDESHOW_DELAY = 5 };
+
+/* default settings for multi-frame gif images: */
+enum {
+ GIF_DELAY = 100, /* delay time (in ms) */
+ GIF_AUTOPLAY = 1, /* autoplay when loaded [0/1] */
+ GIF_LOOP = 0 /* endless loop [0/1] */
+};
+
#endif
#ifdef _THUMBS_CONFIG
-/* default dimension of thumbnails (width == height): */
+/* default dimension of thumbnails (width == height): */
enum { THUMB_SIZE = 60 };
#endif
#ifdef _MAPPINGS_CONFIG
-/* keyboard mappings for image and thumbnail mode: */
+/* keyboard mappings for image and thumbnail mode: */
static const keymap_t keys[] = {
- /* ctrl key function argument */
- { False, XK_q, quit, (arg_t) None },
- { False, XK_r, reload, (arg_t) None },
- { False, XK_f, toggle_fullscreen, (arg_t) None },
- { False, XK_a, toggle_antialias, (arg_t) None },
- { False, XK_A, toggle_alpha, (arg_t) None },
- { False, XK_Return, switch_mode, (arg_t) None },
-
- { False, XK_g, first, (arg_t) None },
- { False, XK_G, last, (arg_t) None },
- { False, XK_n, navigate, (arg_t) +1 },
- { False, XK_space, navigate, (arg_t) +1 },
- { False, XK_p, navigate, (arg_t) -1 },
- { False, XK_BackSpace, navigate, (arg_t) -1 },
- { False, XK_bracketright, navigate, (arg_t) +10 },
- { False, XK_bracketleft, navigate, (arg_t) -10 },
-
- { False, XK_D, remove_image, (arg_t) None },
-
- { False, XK_h, move, (arg_t) DIR_LEFT },
- { False, XK_Left, move, (arg_t) DIR_LEFT },
- { False, XK_j, move, (arg_t) DIR_DOWN },
- { False, XK_Down, move, (arg_t) DIR_DOWN },
- { False, XK_k, move, (arg_t) DIR_UP },
- { False, XK_Up, move, (arg_t) DIR_UP },
- { False, XK_l, move, (arg_t) DIR_RIGHT },
- { False, XK_Right, move, (arg_t) DIR_RIGHT },
-
- { True, XK_h, pan_screen, (arg_t) DIR_LEFT },
- { True, XK_Left, pan_screen, (arg_t) DIR_LEFT },
- { True, XK_j, pan_screen, (arg_t) DIR_DOWN },
- { True, XK_Down, pan_screen, (arg_t) DIR_DOWN },
- { True, XK_k, pan_screen, (arg_t) DIR_UP },
- { True, XK_Up, pan_screen, (arg_t) DIR_UP },
- { True, XK_l, pan_screen, (arg_t) DIR_RIGHT },
- { True, XK_Right, pan_screen, (arg_t) DIR_RIGHT },
-
- { False, XK_H, pan_edge, (arg_t) DIR_LEFT },
- { False, XK_J, pan_edge, (arg_t) DIR_DOWN },
- { False, XK_K, pan_edge, (arg_t) DIR_UP },
- { False, XK_L, pan_edge, (arg_t) DIR_RIGHT },
-
- { False, XK_plus, zoom, (arg_t) +1 },
- { False, XK_equal, zoom, (arg_t) +1 },
- { False, XK_KP_Add, zoom, (arg_t) +1 },
- { False, XK_minus, zoom, (arg_t) -1 },
- { False, XK_KP_Subtract, zoom, (arg_t) -1 },
- { False, XK_0, zoom, (arg_t) None },
- { False, XK_KP_0, zoom, (arg_t) None },
- { False, XK_w, fit_to_win, (arg_t) None },
- { False, XK_W, fit_to_img, (arg_t) None },
-
- { False, XK_less, rotate, (arg_t) DIR_LEFT },
- { False, XK_greater, rotate, (arg_t) DIR_RIGHT },
-
- /* open the current image with given program: */
- { True, XK_g, open_with, (arg_t) "gimp" },
-
- /* run shell command line on the current file,
- * '#' is replaced by filename: */
- { True, XK_less, run_command, (arg_t) "mogrify -rotate -90 #" },
- { True, XK_greater, run_command, (arg_t) "mogrify -rotate +90 #" },
- { True, XK_comma, run_command, (arg_t) "jpegtran -rotate 270 -copy all -outfile # #" },
- { True, XK_period, run_command, (arg_t) "jpegtran -rotate 90 -copy all -outfile # #" },
+ /* ctrl key function argument */
+ { false, XK_q, it_quit, (arg_t) None },
+ { false, XK_Return, it_switch_mode, (arg_t) None },
+ { false, XK_f, it_toggle_fullscreen, (arg_t) None },
+
+ { false, XK_r, it_reload_image, (arg_t) None },
+ { false, XK_D, it_remove_image, (arg_t) None },
+
+ { false, XK_n, i_navigate, (arg_t) +1 },
+ { false, XK_space, i_navigate, (arg_t) +1 },
+ { false, XK_p, i_navigate, (arg_t) -1 },
+ { false, XK_BackSpace, i_navigate, (arg_t) -1 },
+ { false, XK_bracketright, i_navigate, (arg_t) +10 },
+ { false, XK_bracketleft, i_navigate, (arg_t) -10 },
+ { false, XK_g, it_first, (arg_t) None },
+ { false, XK_G, it_n_or_last, (arg_t) None },
+
+ { true, XK_n, i_navigate_frame, (arg_t) +1 },
+ { true, XK_p, i_navigate_frame, (arg_t) -1 },
+ { true, XK_space, i_toggle_animation, (arg_t) None },
+
+ { false, XK_h, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, XK_Left, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, XK_j, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, XK_Down, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, XK_k, it_scroll_move, (arg_t) DIR_UP },
+ { false, XK_Up, it_scroll_move, (arg_t) DIR_UP },
+ { false, XK_l, it_scroll_move, (arg_t) DIR_RIGHT },
+ { false, XK_Right, it_scroll_move, (arg_t) DIR_RIGHT },
+
+ { true, XK_h, it_scroll_screen, (arg_t) DIR_LEFT },
+ { true, XK_Left, it_scroll_screen, (arg_t) DIR_LEFT },
+ { true, XK_j, it_scroll_screen, (arg_t) DIR_DOWN },
+ { true, XK_Down, it_scroll_screen, (arg_t) DIR_DOWN },
+ { true, XK_k, it_scroll_screen, (arg_t) DIR_UP },
+ { true, XK_Up, it_scroll_screen, (arg_t) DIR_UP },
+ { true, XK_l, it_scroll_screen, (arg_t) DIR_RIGHT },
+ { true, XK_Right, it_scroll_screen, (arg_t) DIR_RIGHT },
+
+ { false, XK_H, i_scroll_to_edge, (arg_t) DIR_LEFT },
+ { false, XK_J, i_scroll_to_edge, (arg_t) DIR_DOWN },
+ { false, XK_K, i_scroll_to_edge, (arg_t) DIR_UP },
+ { false, XK_L, i_scroll_to_edge, (arg_t) DIR_RIGHT },
+
+ { false, XK_plus, i_zoom, (arg_t) +1 },
+ { false, XK_KP_Add, i_zoom, (arg_t) +1 },
+ { false, XK_minus, i_zoom, (arg_t) -1 },
+ { false, XK_KP_Subtract, i_zoom, (arg_t) -1 },
+ { false, XK_equal, i_set_zoom, (arg_t) 100 },
+ { false, XK_w, i_fit_to_win, (arg_t) None },
+ { false, XK_W, i_fit_to_img, (arg_t) None },
+
+ { false, XK_less, i_rotate, (arg_t) DIR_LEFT },
+ { false, XK_greater, i_rotate, (arg_t) DIR_RIGHT },
+
+ { false, XK_s, i_toggle_slideshow, (arg_t) None },
+ { true, XK_plus, i_adjust_slideshow, (arg_t) +1 },
+ { true, XK_minus, i_adjust_slideshow, (arg_t) -1 },
+ { true, XK_equal, i_reset_slideshow, (arg_t) None },
+
+ { false, XK_a, i_toggle_antialias, (arg_t) None },
+ { false, XK_A, it_toggle_alpha, (arg_t) None },
+
+ /* open current image with given program: */
+ { true, XK_g, it_open_with, (arg_t) "gimp" },
+
+ /* run shell command line on current file ("$SXIV_IMG"): */
+ { true, XK_less, it_shell_cmd, (arg_t) \
+ "mogrify -rotate -90 \"$SXIV_IMG\"" },
+ { true, XK_greater, it_shell_cmd, (arg_t) \
+ "mogrify -rotate +90 \"$SXIV_IMG\"" },
+ { true, XK_comma, it_shell_cmd, (arg_t) \
+ "jpegtran -rotate 270 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
+ { true, XK_period, it_shell_cmd, (arg_t) \
+ "jpegtran -rotate 90 -copy all -outfile \"$SXIV_IMG\" \"$SXIV_IMG\"" },
};
-/* mouse button mappings for image mode: */
+/* mouse button mappings for image mode: */
static const button_t buttons[] = {
- /* ctrl shift button function argument */
- { False, False, Button1, navigate, (arg_t) +1 },
- { False, False, Button3, navigate, (arg_t) -1 },
- { False, False, Button2, drag, (arg_t) None },
- { False, False, Button4, move, (arg_t) DIR_UP },
- { False, False, Button5, move, (arg_t) DIR_DOWN },
- { False, True, Button4, move, (arg_t) DIR_LEFT },
- { False, True, Button5, move, (arg_t) DIR_RIGHT },
- { True, False, Button4, zoom, (arg_t) +1 },
- { True, False, Button5, zoom, (arg_t) -1 },
+ /* ctrl shift button function argument */
+ { false, false, Button1, i_navigate, (arg_t) +1 },
+ { false, false, Button3, i_navigate, (arg_t) -1 },
+ { false, false, Button2, i_drag, (arg_t) None },
+ { false, false, Button4, it_scroll_move, (arg_t) DIR_UP },
+ { false, false, Button5, it_scroll_move, (arg_t) DIR_DOWN },
+ { false, true, Button4, it_scroll_move, (arg_t) DIR_LEFT },
+ { false, true, Button5, it_scroll_move, (arg_t) DIR_RIGHT },
+ { true, false, Button4, i_zoom, (arg_t) +1 },
+ { true, false, Button5, i_zoom, (arg_t) -1 },
};
#endif
diff --git a/community/sxiv/sxiv.install b/community/sxiv/sxiv.install
index 410e17b44..c50e26c78 100644
--- a/community/sxiv/sxiv.install
+++ b/community/sxiv/sxiv.install
@@ -1,4 +1,6 @@
post_install () {
+ update-desktop-database -q
+
echo "* Look into config.h to customize sxiv to your needs."
echo " Use 'makepkg --skipinteg' to rebuild the package after changing config.h."
echo "* Create the directory ~/.sxiv/ to enable thumbnail caching."