Modify Okular highlight to automatically copy highlighted text into comment

8

7

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?

JDD

Posted 2013-11-10T02:10:15.610

Reputation: 83

1This is still an interesting question. If you meanwhile have found a solution please consider answer your own question. – cknoll – 2015-06-13T14:34:20.560

I haven't yet, but this might be relevant.

– JDD – 2015-06-14T15:09:06.117

Is this still an issue? I like Docear and I used to use Okular, so this would indeed be a very useful function. Indeed some time in 2013 I played with Okular source code to add a similar though not exactly the same feature. It is possible that with some tweaking I can create fork/update for Okular that allows for it. – puslet88 – 2016-02-06T18:56:50.583

Answers

2

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!

puslet88

Posted 2013-11-10T02:10:15.610

Reputation: 164

I'm not currently able to verify for myself but this looks like exactly what I was looking for. Thanks for sharing! – JDD – 2016-02-07T19:32:59.680

5

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!

hicksor

Posted 2013-11-10T02:10:15.610

Reputation: 51

1

To make the build process reproducible, I added a Dockerfile (https://raw.githubusercontent.com/igsor/okular/edit/Dockerfile) to the repo. It sets up a ubuntu 16.04 based build environment.

– hicksor – 2016-08-19T12:18:07.667

The docker file URL has changed: http://raw.githubusercontent.com/igsor/okular/master/Dockerfile

– music2myear – 2019-01-25T17:39:48.617