Move frametitle horizontally

The default outer theme defines the frametitle colorbox with options [sep=0.3cm,#1,wd=\the\@tempdima]. Therefore, an easy way to push the title to the right is to define the frametitle template as

\setbeamertemplate{frametitle}[default][left,leftskip=1cm] % <-- choose here the leftskip you wish

To automatically align the frametitle with the rest of the text, you can write

\makeatletter
\setbeamertemplate{frametitle}[default][left,leftskip=\the\dimexpr\[email protected]\relax]
\makeatother

(0.3cm is subtracted because the default value for sep is 0.3cm)


\addtobeamertemplate allows "you a limited form of modification of existing templates." If (and how) it works depends a lot on the code of the template you want to change. In the case of the frametitle the default template (defined in beamerouterthemedefault.sty) is more or less a box of width \textwidth and so if you add something before you push the box in the right margin or to the next line.

So you will either have to redefine the template completly (or define a new one) or you can try to patch the template definition. Such a patch naturally depends a lot on the actual code too:

\documentclass{beamer}
\makeatletter
\usepackage{xpatch}
\patchcmd\beamer@@tmpl@frametitle{sep=0.3cm}{sep=1cm}{}{}
\makeatother
\begin{document}
\begin{frame}{Foo blbla blabl ablalb blablalb XXXXX XXXX blablabla blablabl blalab blablablala}
akbkbkb
\begin{itemize}
\item Bar
\end{itemize}
\end{frame}
\end{document}

Unpatched

enter image description here

With patch

enter image description here