Difference between revisions of "Sxiv"

From ArchWiki
Jump to: navigation, search
(Tips and Tricks)
(Removed ABS details, as they are superfluous...)
Line 16: Line 16:
  
 
== Assigning keyboard shortcuts to sxiv ==
 
== Assigning keyboard shortcuts to sxiv ==
 +
sxiv is scriptable, but to do this, you have to edit config.h and compile sxiv as follows. See [[ABS]] for details on customizing official packages.
  
sxiv is scriptable, but to do this, you have to edit config.h and compile sxiv as follows:
+
In this example, the following command to {{Keypress|CTRL+d}}: {{ic|mv file ~/.trash}}, and {{ic|echo -n file | xclip}} to put the full path and filename of the current image into the clipboard with {{Keypress|CTRL+c}}, and {{ic|nitrogen --save --set-zoom-fill file}} to set the current image as wallpaper with {{Keypress|CTRL+w}}
  
As an example we will assign the following command to {{Keypress|^d}}: {{ic|mv file ~/.trash}}, and {{ic|echo -n file | xclip}} to put the full path and filename of the current image into the clipboard with {{Keypress|^c}}, and {{ic|nitrogen --save --set-zoom-fill file}} to set the current image as wallpaper with {{Keypress|CTRL+W}}  
+
So when sxiv is started in thumbnail mode on a folder, one can see all files in that folder, select random thumbnails, and hit {{Keypress|CTRL+d}} to move them to a custom "trash" folder.
  
So when sxiv is started in thumbnail mode on a folder, one can see all files in that folder, select random thumbnails, and hit ^d to move them to a custom "trash" folder.
+
Edit config.h, to add the line for the "d" and "c" shortcut:
 
+
=== Tutorial ===
+
 
+
Get latest PKGBUILD from abs
+
# abs community/sxiv
+
{{Note|The prompt above is a root prompt, denoted by a pound-sign (#), so you may have to use {{ic|sudo}}, for example.}}
+
 
+
copy source to your own workspace:
+
$ cp -r /var/abs/community/sxiv ~/sources
+
 
+
move to source directory to start the work:
+
$ cd ~/sources/sxiv
+
 
+
edit config.h, to add the line for the "d" and "c" shortcut:
+
 
{{Hc|head=config.h|output=<nowiki>
 
{{Hc|head=config.h|output=<nowiki>
 
         /* run shell command line on current file ("$SXIV_IMG"): */
 
         /* run shell command line on current file ("$SXIV_IMG"): */
Line 54: Line 41:
 
                         "nitrogen --save --set-wallpaper \"$SXIV_IMG\"" },
 
                         "nitrogen --save --set-wallpaper \"$SXIV_IMG\"" },
 
};</nowiki>}}
 
};</nowiki>}}
 
After saving config.h, create new checksums for modified files (config.h in this case):
 
$ updpkgsums
 
 
Extract the source files; you can just run makepkg to do it for you:
 
$ makepkg
 
 
Compile sxiv and install it:
 
$ makepkg -efi
 
  
 
Create .trash folder if it doesn't exist:
 
Create .trash folder if it doesn't exist:
Line 70: Line 48:
 
  $ sxiv -tsr ~/pictures
 
  $ sxiv -tsr ~/pictures
  
Congratulations, you can now delete selected pictures by hitting {{Keypress|CTRL+D}}. This will move your selected pic to ~/.trash. Pressing {{Keypress|CTRL+C}} copies the full path and file name of the current picture to the clipboard. Pressing {{Keypress|CTRL+W}} will make the set the picture as wallpaper using Nitrogen.
+
You can now delete selected pictures by hitting {{Keypress|CTRL+d}}. This will move your selected pic to ~/.trash. Pressing {{Keypress|CTRL+c}} copies the full path and file name of the current picture to the clipboard. Pressing {{Keypress|CTRL+w}} will make the set the picture as wallpaper using Nitrogen.
  
 
==Tips and Tricks==
 
==Tips and Tricks==

Revision as of 22:16, 10 August 2013

Summary help replacing me
This article discusses the installation and basic configuration of sxiv.
Related
feh
External Links
sxiv on github

sxiv, Simple X Image Viewer is a lightweight image viewer written in C. It is a lightweight image viewer that is scriptable.

Installation

Install sxiv, which is available in the official repositories.

Assigning keyboard shortcuts to sxiv

sxiv is scriptable, but to do this, you have to edit config.h and compile sxiv as follows. See ABS for details on customizing official packages.

In this example, the following command to Template:Keypress: mv file ~/.trash, and echo -n file to put the full path and filename of the current image into the clipboard with Template:Keypress, and nitrogen --save --set-zoom-fill file to set the current image as wallpaper with Template:Keypress

So when sxiv is started in thumbnail mode on a folder, one can see all files in that folder, select random thumbnails, and hit Template:Keypress to move them to a custom "trash" folder.

Edit config.h, to add the line for the "d" and "c" shortcut:

config.h
        /* 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\"" },
//insert the lines below
        { true,   XK_d,             it_shell_cmd,         (arg_t) \
                        "mv \"$SXIV_IMG\" ~/.trash" },
        { true,   XK_c,             it_shell_cmd,         (arg_t) \
                        "echo -n \"$SXIV_IMG\" | xclip" },
        { true,   XK_w,             it_shell_cmd,         (arg_t) \
                        "nitrogen --save --set-wallpaper \"$SXIV_IMG\"" },
};

Create .trash folder if it doesn't exist:

$ mkdir ~/.trash

Now when you start sxiv in thumbnail mode on a folder of pictures, i.e.:

$ sxiv -tsr ~/pictures

You can now delete selected pictures by hitting Template:Keypress. This will move your selected pic to ~/.trash. Pressing Template:Keypress copies the full path and file name of the current picture to the clipboard. Pressing Template:Keypress will make the set the picture as wallpaper using Nitrogen.

Tips and Tricks

Browse through images in directory after opening a single file

Place this script in $PATH and call it like this:

$ <scriptname> a_single_image.jpg

As indicated in the comments of the script, it may be used to have this behavior when opening images from within ranger.

Creating a Desktop Entry

Using a desktop environment some users may prefer to have sxiv listed in the start menu or list of installed programs. This can be done easily by creating the following ~/.local/share/applications/sxiv.desktop file:

[Desktop Entry]
Name=sxiv
Comment=A Simple X Image Viewer
Exec=sxiv %f
Terminal=false
Type=Application
Icon=sxiv
Categories=GTK;Graphics;2DGraphics;Viewer;
MimeType=image/bmp;image/gif;image/jpeg;image/jpg;image/pjpeg;image/png;image/tiff;image/x-bmp;image/x-pcx;image/x-png;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-sun-raster;image/x-tga;image/x-xbitmap;image/x-xpixmap;image/svg+xml;

As for the icon, you can for example take this image and place it in ~.local/share/icons/hicolor/<size>/apps/sxiv.png

See also