KDE freezes on Special Window/Application Settings menu

I wanted to disable Global Shortcuts for Blender and happened on a nasty bug on Kubuntu 16.04 (applies to all windows).

The standard method is to go via right click on the title bar, 'More Actions' and 'Special Application (Window) Settings', clicking which completely froze my desktop. It wasn't reproducible on my laptop running 18.04, so I just note the workaround: don't ever click on those menu entries. Save your work more often. Change Window Rules via System Settings -> Window Management -> Window Rules.


Spyder 3.2.8, pip3 and and PyQt5

I recently ran into segfaults on all my computers after upgrading spyder via pip3. Lots of Qt5 error messages. The trouble seems to be PyQt5-5.10.1; spyder 3.2.8 requires at least 5.10.0 (which happens to work). Thus pip3 install --upgrade PyQt5==5.10.0 spyder 
solved my issue.
Note to self: pip3 install PyQt5== is a handy way to list available versions.


Moving your thunderbird data to a custom location

Thunderbird's profile data is stored in ~/.thunderbird by default.
If that's inconvenient, i.e. due to disk quota limits, here's is how to move the profile folder. It will have some random name, we'll call it pr0f1le.default, and ~/.thunderbird contains a file profiles.ini and a folder named pr0f1le.default.
Here, I've moved the profile folder to e.g. /media/data/thunderbird/pr0f1le.default and changed profiles.ini to (changes in bold):



IsRelative has to be 0 because I've given Thunderbird an absolute path to the new location.


How to get okular to play nice with pretty much all embedded movies

The trick is to have VLC play them, because vlc plays basically everything.
Install via apt-get either phonon4qt5-backend-vlc or phonon-backend-vlc or both.
In System Settings -> Audio and Video, prefer 'Phonon VLC' in the backend tab. If in doubt, restart Okular.


Beamer to pptx via LibreOffice.

Notes on getting your beamer slides into PowerPoint via LibreOffice without too much postediting. (AKA boss asks you for a few quick slides from a recent presentation. Gah, I wish I'd figured out the tricks below last Monday)

Standard procedure:
  • Open PDF in LibreOffice Draw. 
  • Save as ODP (or as odg and rename the extension to odp).
  • Open in Impress. Fix display issues. Save as PPTX. Pray.

How to prepare your LaTeX source in order to minimise postediting:
  • Use a recent libreoffice. There were some improvements of the PDF import with regard to text spacing in 2014 which should have been implemented by version 5.x.
  • Speaking of text spacing: avoid justification. Best switch it off globally with the ragged2e package.
  • Don't use PDF figures. Convert to PNG if necessary.
  • Forget about conversion-proofing equations, take screenshots and add them afterwards as pictures. They will get screwed up during PDF import and then there's the issue of LibreOffice vs. PowerPoint math editors.
  • Use LuaLaTeX with a Microsoft system TTF font and switch off ligatures. (note setsansfont vs. setmainfont for beamer!)
  • Don't worry about advanced figure/text block positioning with columns or tikz pictures.  That stuff transferred surprisingly well.

Minimum example:

\setsansfont[Ligatures = {NoRequired, NoCommon, NoContextual}]{Arial}
 \frame{\frametitle{Lorem Ipsum}\lipsum[1]}


Greek letters via compose key

h/t to Peter Williams: https://newton.cx/~peter/2013/04/typing-greek-letters-easily-on-linux/
If you don't have an .XCompose file in your home directory yet, copy the default file (replace locale if necessary, e.g. 'de_DE.UTF-8'):
cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose
The file in your home directory should take precedence over the one in /usr/share/… The default XCompose file already has the greek letter mapped using a key (line 5357 in my instance). If you don't have a Greek dead key defined in your key map, you can just switch to a different Compose prefix - e.g. 
<dead_greek> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA 
<Multi_key> <g> <d> : "δ" U03B4 # GREEK SMALL LETTER DELTA 
which produces δ via <Compose>-g-d. I had to restart my application (e.g. LibreOffice) for the changes to take effect, but needed no logout/restart.
Also, sometimes the damn letters don't show up. It took me a while to realise that this might have something to do with the font in use not having them implemented (*headdesk*)


Garmin Fenix 3: maxing out the battery life.

Some settings culled from a couple of forum threads and the official Garmin manuals. Go into the watch menu by pressing and holding Up, then choose Settings with the Go button. The following settings can affect battery life.

GPS tracks by Garmin user canopenerboy
  • Run (or whatever app you will use to record/navigate) →GPS →UltraTrack. In this mode, the GPS records, is switched off for a minute or so, on again, reacquires a signal, records, etc. This will extend the battery life, but considering how hard it is to get a fix while moving, it can result in really dodgy data. At least make sure your EPO is up to date. (http://www.javawa.nl/epo_en.html)
    Or better, skip UltraTrack and carry a charger (see below).  
Watch Face:
  •  Seconds Style. Pick one without a seconds hand/counter, so the watch face only updates every minute.
Very thoughtful when you're ultra training.
  • Compass →Mode →off. I doubt this will seriously dent the battery life, though. Altimeter and barometer can't be disabled.
Bluetooth: Status →off

Activity Tracking: Status →off. Duh. Unless you can't live without Insights.

  • Backlight: Mode manual, short timeout, reduce brightness.
  • Sounds: No one needs key tones. I'd keep alert tones, but switch off vibration. Shaking a steel watch consumes a lot of energy.
  • GLONASS: off. Unless you have GPS location troubles and know that the added GLONASS helps.
  •  Data recording: "Smart" only reduces file size, not battery life. Garmin's .fit format is pretty compact (ballpark number: 100KB/h at the non-smart 1Hz recording rate) and you've got about 20MB of free space, so it's probably more useful to clean out/backup all .fit files from previous activities (GARMIN/ACTIVITY subfolder on the watch in mass storage mode)
  • USB mode →Garmin. This will keep the watch data screens up if you charge during recording. The battery capacity is 300mAh, so even a compact 3000mAh lipstick power bank should be good for a couple of recharges and the watch can be worn with the charger clip attached.

My test run was about 10h in navigation mode, temperatures around freezing, all of the above settings except for UltraTrack (off), Compass (on), recording rate (1Hz, standard). Battery was down to 40%, so the advertised 16h battery life seems to be quite correct.


LuaLaTeX, TeXlive, beamer and multimedia


Sometimes you need beamer to be a bit more, er, powerpointy. E.g., use a TTF font, have a more or less blank page and cram some text, images and movies on there. LuaLaTeX to the rescue. I installed texlive-xetex and texlive-luatex, got myself a minimal beamer template, started to dump objects into tikzpictures and compiled with lualatex instead of pdflatex. Sadly, what worked fine on TeXLive 2012 at work failed at home with a lot of nasty PDF specific error messages due to some bug in TeXLive 2016. Apparently, to get beamer, multimedia and LuaLaTeX to play nicely together, you need to add a \RequirePackage{luatex85} as the first line in your document. So here's a minimal example in very bad taste.

%\RequirePackage{luatex85} %uncomment for texlive 2016
\setsansfont[Path = fonts/,
    Extension = .ttf,
    Ligatures = TeX,
    BoldFont = comicbd ]
{comic}%use \setmainfont for non-beamer
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{itemize items}[circle]
\frametitle{Science is fun!}
\begin{columns} \begin{column}{.5\textwidth}
\begin{itemize} \item random equation! \end{itemize}
\begin{align*} \rho\left(\frac{\partial}{\partial t}+\vec{u}\cdot\vec{\nabla}\right)\vec{u} &= -\vec{\nabla} p + \eta \nabla^2\vec{u}\\
\vec{\nabla}\cdot\vec{u} &=0 \end{align*}
\end{column} \begin{column}{.5\textwidth} \movie{\includegraphics[width=\textwidth]{movieposter}}{demomovie.avi} \begin{itemize} \item random animation! \end{itemize}
\end{column} \end{columns}
Notes: I kept the TTF fonts in a subfolder 'fonts' next to the .tex source file. Font names correspond to the ttf file names without extensions (i.e. comic.ttf, comicbd.ttf). LuaLaTeX also works with system fonts, but then you're at the mercy of your font manager. In that case, just \setsansfont{comic} should work as well.
Beamer's default font style is sans serif. For serif font styles, use \setmainfont instead.