# How can I get multiple lines of frame dots in beamer navigation?

I'm writing a presentation using the Darmstadt theme which uses the smoothbars outer theme which is itself just a mild variation of miniframes.

In a couple of my sections, I have so many frames that the dots in the navigation bar (which I very much like) "overflow" horizontally and appear under the next section's header.

I have seen some presentations where the dots appear on a second line once they hit the width of the text for the section header. How can I do this?

-
I have a solution that is working only with miniframes and not with smoothbars, the difference is that miniframes have no shading. Are you interested in that? –  yo' Jan 23 '12 at 13:01

beamer can't automatically wrap the mini frames into a new line if they don't fit into a single one. Instead, a new line is started for each subsection when using with the miniframes theme:

Unfortunately this doesn't work for the Darmstadt theme you are using. The reason for this is that Darmstadt loads the outer theme smoothbars, which is very similar to the miniframes theme, but installs smooth shaded transitions between the header and the content. However, it also uses beamer's compress option to get all the mini frames into a single line, so using multiple subsections doesn't work here. Removing this option is not a good idea, though, because the shading is hard-coded into the theme, so the header can't change its height automatically and will overflow if you use multiple lines for the mini frames:

So the only thing you can do is to replace the smoothbars outer theme with miniframes (producing the headline shown in the first image):

\documentclass{beamer}
\useoutertheme{miniframes}
\makeatletter
\beamer@compressfalse
\makeatother
\begin{document}
\section{Section 1}
\subsection{Subsection 1}
\frame{}\frame{}\frame{}
\subsection{Subsection 2}
\frame{}\frame{}\frame{}\frame{}
\subsection{Subsection 3}
\frame{}
\end{document}


Like this, you can wrap the mini frames into several lines by using multiple subsections, as shown in the example code.

-