\begin{Verbatim}[commandchars=\\\{\}] \PY{k+kr}{function} \PY{n+nf}{togglePanelVisibility}\PY{p}{(}\PY{n}{panelName}\PY{p}{,} \PY{n}{state}\PY{p}{)} \PY{n}{awful}\PY{p}{.}\PY{n}{screen}\PY{p}{.}\PY{n}{focused}\PY{p}{(}\PY{p}{)}\PY{p}{[}\PY{n}{panelName}\PY{p}{]}\PY{p}{.}\PY{n}{visible} \PY{o}{=} \PY{n}{state} \PY{k+kr}{end} \PY{n}{client}\PY{p}{.}\PY{n}{connect\PYZus{}signal}\PY{p}{(}\PY{l+s+s1}{\PYZsq{}}\PY{l+s+s1}{property::fullscreen}\PY{l+s+s1}{\PYZsq{}}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{c}\PY{p}{)} \PY{k+kr}{if} \PY{n}{c}\PY{p}{.}\PY{n}{fullscreen} \PY{k+kr}{then} \PY{n}{forEach}\PY{p}{(}\PY{n}{panelsList}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{item}\PY{p}{)} \PY{n}{togglePanelVisibility}\PY{p}{(}\PY{n}{item}\PY{p}{,} \PY{k+kc}{false}\PY{p}{)} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{else} \PY{n}{forEach}\PY{p}{(}\PY{n}{panelsList}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{item}\PY{p}{)} \PY{n}{togglePanelVisibility}\PY{p}{(}\PY{n}{item}\PY{p}{,} \PY{k+kc}{true}\PY{p}{)} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{end} \PY{k+kr}{end}\PY{p}{)} \PY{n}{awful}\PY{p}{.}\PY{n}{screen}\PY{p}{.}\PY{n}{connect\PYZus{}for\PYZus{}each\PYZus{}screen}\PY{p}{(}\PY{k+kr}{function}\PY{p}{(}\PY{n}{s}\PY{p}{)} \PY{n}{s}\PY{p}{:}\PY{n}{connect\PYZus{}signal}\PY{p}{(}\PY{l+s+s2}{\PYZdq{}}\PY{l+s+s2}{tag::history::update}\PY{l+s+s2}{\PYZdq{}}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{p}{)} \PY{k+kd}{local} \PY{n}{hasMaximized} \PY{o}{=} \PY{k+kc}{false} \PY{n}{forEach}\PY{p}{(}\PY{n}{s}\PY{p}{.}\PY{n}{get\PYZus{}clients}\PY{p}{(}\PY{p}{)}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{item}\PY{p}{)} \PY{k+kr}{if} \PY{n}{item}\PY{p}{.}\PY{n}{fullscreen} \PY{k+kr}{then} \PY{n}{hasMaximized} \PY{o}{=} \PY{k+kc}{true} \PY{k+kr}{end} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{if} \PY{n}{hasMaximized} \PY{k+kr}{then} \PY{n}{forEach}\PY{p}{(}\PY{n}{panelsList}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{item}\PY{p}{)} \PY{n}{togglePanelVisibility}\PY{p}{(}\PY{n}{item}\PY{p}{,} \PY{k+kc}{false}\PY{p}{)} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{else} \PY{n}{forEach}\PY{p}{(}\PY{n}{panelsList}\PY{p}{,} \PY{k+kr}{function}\PY{p}{(}\PY{n}{item}\PY{p}{)} \PY{n}{togglePanelVisibility}\PY{p}{(}\PY{n}{item}\PY{p}{,} \PY{k+kc}{true}\PY{p}{)} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{end} \PY{k+kr}{end}\PY{p}{)} \PY{k+kr}{end}\PY{p}{)} \end{Verbatim}