You can modify the t
key which is defined in the file beamerbaseframe.sty
like this:
\define@key{beamerframe}{t}[true]{% top
\beamer@frametopskip=.2cm plus .5\paperheight\relax%
\beamer@framebottomskip=0pt plus 1fill\relax%
\beamer@frametopskipautobreak=\beamer@frametopskip\relax%
\beamer@framebottomskipautobreak=\beamer@framebottomskip\relax%
\def\beamer@initfirstlineunskip{}%
}
To obtain what you need (bottom align)
\define@key{beamerframe}{t}[true]{% bottom
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0.2cm plus .5\paperheight\relax%
\beamer@frametopskipautobreak=\beamer@frametopskip\relax%
\beamer@framebottomskipautobreak=\beamer@framebottomskip\relax%
\def\beamer@initfirstlineunskip{}%
}
And your code become
\documentclass{beamer}
\makeatletter
\define@key{beamerframe}{t}[true]{% bottom
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0.2cm plus .5\paperheight\relax%
\beamer@frametopskipautobreak=\beamer@frametopskip\relax%
\beamer@framebottomskipautobreak=\beamer@framebottomskip\relax%
\def\beamer@initfirstlineunskip{}%
}
\beamer@centeredfalse
\makeatother
\begin{document}
\begin{frame}
This is bottom aligned.
\end{frame}
\begin{frame}
This is also
\end{frame}
\end{document}
Update
\documentclass[b]{beamer}
\makeatletter
\DeclareOptionBeamer{b}{\beamer@centeredfalse\define@key{beamerframe}{t}[true]{% bottom
\beamer@frametopskip=0pt plus 1fill\relax%
\beamer@framebottomskip=0.2cm plus .5\paperheight\relax%
\beamer@frametopskipautobreak=\beamer@frametopskip\relax%
\beamer@framebottomskipautobreak=\beamer@framebottomskip\relax%
\def\beamer@initfirstlineunskip{}%
}}
\ProcessOptionsBeamer
\makeatother
\begin{document}
\begin{frame}
This is bottom aligned.
\end{frame}
\begin{frame}
This is also
\end{frame}
\end{document}
Output