Document viewer script
This script is for viewing files that are to be opened with zathura.
What's nice about this is that it puts everything into a tabbed interface for you and auto-maximizes the window.
These scripts are designed to work with visual selections as well, so you can open up as many documents as you wish all at once.
#!/bin/bash # This script is for launching zathura in a tabbed enviornment, # and placing every subsequent instance of zathura in that enviornment. # It also maximizes the window according to the height of your bottom panel xid_file="$HOME/.config/zathura/xid" # Open tabbed if necessary if ! ps -e | grep 'zathura$'; then num_wins=$(wmctrl -l | wc -l) tabbed -cd -p -1 zathura "$1" -e 1>$xid_file & while [ $num_wins -eq $(wmctrl -l | wc -l) ]; do sleep 0.0001 done wmctrl -ir $(wmctrl -l | sed -ne '$p' | cut -d " " -f 1) -b add,maximized_vert,maximized_horz shift fi # Open the rest of the files into tabbed if [ "$#" -gt 0 ]; then read xid < $xid_file zathura -e $xid "$@" & fi
The script uses:
- zathura as the document viewer.
- tabbed for your tabbed interface. Every subsequent file will be loaded as a new tab.
- wmctrl for auto-maximizing the window.
- sed, works with all versions.
- cut, works with all versions.
- wc, works with all versions.
- ps, should work with all versions.
The last four are for detecting a new process and processing it to be fed into wmctrl. They should come with every Unix-like operating system.
Copy the above code into a
zathura.sh script (or whatever you want) in either a
$PATH directory or in your
Then go into your vifm rc file and assign the file type:
filextype *.pdf,*.djvu,*.epub zathura.sh %f &
For Other Kinds of Documents
For other kinds of documents, you can convert them to a pdf using unoconv.
Paste this code into a shell script called
zadocx.sh for viewing files of the
#!/bin/bash while [ "$#" -gt 0 ]; do pdf_name=$(basename -s .docx "$1").pdf unoconv "$1" rm "$1" zathura.sh "$pdf_name" shift done
NOTE This script will delete your docx file, so you may want to back it up or remove the 'rm' line
Then assign the file type in your rc file in the same manner as the last one.