Modify Okular highlight to automatically copy highlighted text into comment
Despite what old SE questions state, the PDF software Okular can now write annotations directly to the PDF. This makes it very useful in conjunction with Docear for annotating academic literature. However, Docear imports annotations from the comments, rather than importing from highlighted text. In Okular, when you highlight text it can then be clicked to reveal a comments bubble, which is empty by default. Copying the highlighted text into the resulting bubble allows it to be imported into Docear, but this is laborious.
How can I modify the highlight tool to automatically copy the highlighted text into the resulting comment bubble?
Indeed, there is a solution now, and I did not have try and make it. I tested it, and it works exactly as needed, by copying the text into the note contents.
jsqliu on github has fixed it. The precise file update is seen in this diff. https://github.com/jsqliu/okular/commit/ee9a8f5272c1ea4b20648fe57b52c726751073aa
Since I'm a bit computer-distant myself, I'll include approximate instructions to get it running on your computer. If anyone knows that some of these parts are not necessary, feel free to edit them out. But they should be sufficient.
To do this you need all the dependencies to build Okular from source. They are listed here: https://okular.kde.org/download.php . There's quite a few of them there.
Then instead of the original repository you download jsqliu's "edit" branch. That is, run the following commands in terminal (should give no fatal erros, though it will give some warnings). If you don't want to install git, then downloading the zip repository from https://github.com/jsqliu/okular/tree/edit will also work.
git clone -b edit https://github.com/jsqliu/okular/
cd okular
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/path/to/your/kde4/install/dir ..
make
make install
or shorter:
git clone -b edit https://github.com/jsqliu/okular/
cd okular && cd build && cmake -DCMAKE_INSTALL_PREFIX=$HOME/install/ .. && make
make install
To run, I also had to add the following
1) In "~/.bashrc" added:
export KDEDIRS=$KDEDIRS:$HOME/install:$(kde4-config --prefix); kbuildsycoca4
2) In "~/.profile" added (which is my separate installation folder) Note. Running two different versions of Okular
is so far unsuccessful.:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$HOME/install/bin:$PATH"
fi
3) In /etc/environment
export PKG_CONFIG_PATH=/where/install/poppler/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/where/install/poppler/lib:$LD_LIBRARY_PAT
To run Okular, terminal must be running for bash commands to be used.
Then just run Okular. Whenever you highlight text, it will copy the contents into the note. I've no idea, when or if it will become an Okular standard, but jsqliu's edit works perfectly and does the job.
Let me know, if this is not enough, and you can't get it to work. I may be able to provide more info. I've also started to use Docear recently, and this feature makes a huge difference!
Since puslet88's answer helped me a lot, I'd like to contribute. Based on John's (jsqliu) solution, I added another annotation tool to Okular (uninspiringly called "Embedded"). It's a clone of the highlighter, with John's code added, so that it writes all highlighted text into the comment. The cool thing is that you can control in Okular, which highlights will be imported into Docear.
You find the changes at https://github.com/igsor/okular/tree/master and a pre-built binary at http://www.igsor.net/projects/okular/okularpart.so. Warning: this is a direct download link, so don't just click on it; right-click and Save As. It includes most Okular features, so it's large!