]> git.decadent.org.uk Git - ion3.git/blobdiff - doc/conf-menus.tex
[svn-upgrade] Integrating new upstream version, ion3 (20071109)
[ion3.git] / doc / conf-menus.tex
diff --git a/doc/conf-menus.tex b/doc/conf-menus.tex
deleted file mode 100644 (file)
index 531f63a..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-\section{Menus}
-\label{sec:menus}
-
-\subsection{Defining menus}
-
-\index{menus}
-\index{defmenu@\code{defmenu}}
-\index{menuentry@\code{menuentry}}
-\index{submenu@\code{submenu}}
-In the stock configuration file setup, menus are defined in the file
-\file{cfg\_menus.lua} as previously mentioned. The \file{mod\_menu} module
-must be loaded for one to be able to define menus, and this is done with
-the function \fnrefx{mod_menu}{defmenu} provided by it.
-
-Here's an example of the definition of a rather simple menu with a submenu:
-
-\begin{verbatim}
-defmenu("exitmenu", {
-    menuentry("Restart", "ioncore.restart()"),
-    menuentry("Exit", "ioncore.shutdown()"),
-})
-
-defmenu("mainmenu", {
-    menuentry("Lock screen", "ioncore.exec('xlock')"),
-    menuentry("Help", "mod_query.query_man(_)"),
-    submenu("Exit", "exitmenu"),
-})
-\end{verbatim}
-
-
-The \fnrefx{mod_menu}{menuentry} function is used to create an entry in the 
-menu with a title and an entry handler to be called when the menu entry
-is activated. The parameters to the handler are similar to those of binding
-handlers, and usually the same as those of the binding that opened the menu.
-
-The \fnrefx{mod_menu}{submenu} function is used to insert a submenu at that 
-point in the menu. (One could as well just pass a table with the menu
-entries, but it is not encouraged.)
-
-\subsection{Special menus}
-
-The menu module predefines the following special menus. These can be used
-just like the menus defined as above.
-
-\begin{tabularx}{\linewidth}{lX}
-    \tabhead{Menu name & Description}
-    \codestr{windowlist} & 
-    List of all client windows. Activating an entry jumps to that window. \\
-    \codestr{workspacelist} & 
-    List of all workspaces. Activating an entry jumps to that workspaces. \\
-    \codestr{focuslist} & 
-    List of client windows with recent activity in them, followed by 
-    previously focused client windows. \\
-    \codestr{focuslist\_} & 
-    List of previously focused client windows. \\
-    \codestr{stylemenu} &
-    List of available \file{look\_*.lua} style files. Activating an entry
-    loads that style and ask to save the selection. \\
-    \codestr{ctxmenu} &
-    Context menu for given object. \\
-\end{tabularx}
-
-
-\subsection{Defining context menus}
-
-The ``ctxmenu'' is a special menu that is assembled from a defined context
-menu for the object for which the menu was opened for, but also includes
-the context menus for the manager objects as submenus.
-
-Context menus for a given region class are defined with the
-\fnrefx{mod_menu}{defctxmenu} function. This is other ways similar to
-\fnrefx{mod_menu}{defmenu}, but the first argument instead being the name
-of the menu, the name of the region class to define context menu for.
-For example, here's part of the stock \type{WFrame} context menu 
-definition:
-
-\begin{verbatim}
-defctxmenu("WFrame", {
-    menuentry("Close", "WRegion.rqclose_propagate(_, _sub)"),
-    menuentry("Kill",  "WClientWin.kill(_sub)", "_sub:WClientWin"),
-})
-\end{verbatim}
-
-Some of the same ``modes'' as were available for some bindings
-may also be used: \codestr{WFrame.tiled}, \codestr{WFrame.floating},
-and \codestr{WFrame.transient}.
-
-
-\subsection{Displaying menus}
-\label{sec:menudisp}
-
-The following functions may be used to display menus from binding
-handlers (and elsewhere):
-
-\begin{tabularx}{\linewidth}{lX}
-    \tabhead{Function & Description}
-    \fnref{mod_menu.menu} &
-      Keyboard (or mouse) operated menus that open in the bottom-left corner
-      of a screen or frame. \\
-    \fnref{mod_menu.bigmenu} &
-      Same as previous, but uses another graphical style. \\
-    \fnref{mod_menu.pmenu} &
-      Mouse-operated drop-down menus. This function can only be called from a
-      mouse press or drag handler. \\
-    \fnref{mod_menu.grabmenu} &
-      A special version of \fnref{mod_menu.menu} that grabs the keyboard
-      and is scrolled with a given key until all modifiers have been released,
-      after which the selected entry is activated. \\
-\end{tabularx}
-
-The \fnrefx{mod_menu}{grabmenu} function takes the extra key parameter, but
-aside from that each of these functions takes three arguments, which when
-called from a binding handler, should be the parameters to the handler, and
-the name of the menu. For example, the following snippet of of code binds
-the both ways to open a context menu for a frame:
-
-\begin{verbatim}
-defbindings("WFrame", {
-    kpress(MOD1.."M", "mod_menu.menu(_, _sub, 'ctxmenu')"),
-    mpress("Button3", "mod_menu.pmenu(_, _sub, 'ctxmenu')"),
-})
-\end{verbatim}