CTWM
Loading...
Searching...
No Matches
/usr/src/RPM/BUILD/ctwm-4.1.0/menus.c File Reference
#include "ctwm.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <strings.h>
#include "add_window.h"
#include "colormaps.h"
#include "drawing.h"
#include "events.h"
#include "functions.h"
#include "functions_defs.h"
#include "gram.tab.h"
#include "iconmgr.h"
#include "icons_builtin.h"
#include "icons.h"
#include "image.h"
#include "list.h"
#include "occupation.h"
#include "otp.h"
#include "screen.h"
#include "util.h"
#include "vscreen.h"
#include "win_iconify.h"
#include "win_resize.h"
#include "win_utils.h"
#include "workspace_manager.h"
Include dependency graph for menus.c:

Go to the source code of this file.

Macros

#define SHADOWWIDTH   5 /* in pixels */
#define ENTRY_SPACING   4
#define SETDEF(btn, ctx, func)
#define UNUSED_PIXEL   ((unsigned long) (~0)) /* more than 24 bits */
#define MSLEN   (2 + 2 + 5 * 3 + 5 * 3)
#define DO(mask, str)
#define Over1Mask   (1<<30)
#define OverAllMask   (1<<31)

Functions

static void Paint3DEntry (MenuRoot *mr, MenuItem *mi, bool exposure)
static void PaintNormalEntry (MenuRoot *mr, MenuItem *mi, bool exposure)
static void DestroyMenu (MenuRoot *menu)
bool AddFuncKey (char *name, int cont, int nmods, int func, MenuRoot *menu, char *win_name, char *action)
void AddFuncButton (int num, int cont, int nmods, int func, MenuRoot *menu, MenuItem *item)
void AddDefaultFuncButtons (void)
void PaintEntry (MenuRoot *mr, MenuItem *mi, bool exposure)
void PaintMenu (MenuRoot *mr, XEvent *e)
void MakeWorkspacesMenu (void)
bool cur_fromMenu (void)
void UpdateMenu (void)
MenuRootNewMenuRoot (char *name)
MenuItemAddToMenu (MenuRoot *menu, char *item, char *action, MenuRoot *sub, int func, char *fore, char *back)
void MakeMenus (void)
void MakeMenu (MenuRoot *mr)
bool PopUpMenu (MenuRoot *menu, int x, int y, bool center)
void PopDownMenu (void)
void HideMenu (MenuRoot *menu)
MenuRootFindMenuRoot (char *name)
void MoveMenu (XEvent *eventp)
void WarpCursorToDefaultEntry (MenuRoot *menu)
char * mk_twmkeys_entry (const FuncKey *key)
 Generate up a string representation of a keybinding->action.

Variables

MenuRootActiveMenu = NULL
MenuItemActiveItem = NULL
bool menuFromFrameOrWindowOrTitlebar = false
char * CurrentSelectedWorkspace
int AlternateKeymap
bool AlternateContext
int MenuDepth = 0
struct { 
   int   x 
   int   y 
MenuOrigins [10/*max number of nested menus */]
static bool addingdefaults = false
static bool fromMenu

Macro Definition Documentation

◆ DO

#define DO ( mask,
str )
Value:
do { \
if(key->mods & mask##Mask) { \
const int tslen = sizeof(str) - 1; \
if((modStrCur - modStr + tslen) >= MSLEN) { \
fprintf(stderr, "BUG: No space to add '%s' " \
"in %s()\n", str, __func__); \
return NULL; \
} \
strcpy(modStrCur, str); \
modStrCur += tslen; \
} \
} while(0)
#define MSLEN

Referenced by mk_twmkeys_entry().

◆ ENTRY_SPACING

#define ENTRY_SPACING   4

Definition at line 82 of file menus.c.

Referenced by MakeMenu(), and Paint3DEntry().

◆ MSLEN

#define MSLEN   (2 + 2 + 5 * 3 + 5 * 3)

Referenced by mk_twmkeys_entry().

◆ Over1Mask

#define Over1Mask   (1<<30)

◆ OverAllMask

#define OverAllMask   (1<<31)

◆ SETDEF

#define SETDEF ( btn,
ctx,
func )
Value:
AddFuncButton(btn, ctx, 0, func, NULL, NULL)
void AddFuncButton(int num, int cont, int nmods, int func, MenuRoot *menu, MenuItem *item)
Definition menus.c:171

Referenced by AddDefaultFuncButtons().

◆ SHADOWWIDTH

#define SHADOWWIDTH   5 /* in pixels */

Definition at line 81 of file menus.c.

Referenced by PopUpMenu().

◆ UNUSED_PIXEL

#define UNUSED_PIXEL   ((unsigned long) (~0)) /* more than 24 bits */

Referenced by MakeMenu(), NewMenuRoot(), and PopUpMenu().

Function Documentation

◆ AddDefaultFuncButtons()

void AddDefaultFuncButtons ( void )

Definition at line 223 of file menus.c.

References addingdefaults, C_ICON, C_ICONMGR, C_TITLE, and SETDEF.

Referenced by InitTitlebarButtons().

◆ AddFuncButton()

void AddFuncButton ( int num,
int cont,
int nmods,
int func,
MenuRoot * menu,
MenuItem * item )

◆ AddFuncKey()

bool AddFuncKey ( char * name,
int cont,
int nmods,
int func,
MenuRoot * menu,
char * win_name,
char * action )

◆ AddToMenu()

◆ cur_fromMenu()

bool cur_fromMenu ( void )

Definition at line 482 of file menus.c.

References fromMenu.

Referenced by f_resize_impl().

◆ DestroyMenu()

void DestroyMenu ( MenuRoot * menu)
static

Definition at line 1517 of file menus.c.

References dpy, MenuRoot::first, MenuContext, MenuItem::next, Scr, ScreenContext, MenuRoot::shadow, and MenuRoot::w.

Referenced by PopUpMenu().

◆ FindMenuRoot()

MenuRoot * FindMenuRoot ( char * name)

Definition at line 1503 of file menus.c.

References MenuRoot::name, MenuRoot::next, and Scr.

Referenced by EF_main(), and GetRoot().

◆ HideMenu()

void HideMenu ( MenuRoot * menu)

Definition at line 1476 of file menus.c.

References dpy, MenuRoot::mapped, MRM_UNMAPPED, Scr, MenuRoot::shadow, and MenuRoot::w.

Referenced by HandleEnterNotify(), and PopDownMenu().

◆ MakeMenu()

◆ MakeMenus()

void MakeMenus ( void )

Definition at line 836 of file menus.c.

References MakeMenu(), MenuRoot::next, MenuRoot::pinned, MenuRoot::real_menu, and Scr.

Referenced by ctwm_main().

◆ MakeWorkspacesMenu()

void MakeWorkspacesMenu ( void )

Definition at line 442 of file menus.c.

References AddToMenu(), MakeMenu(), WorkSpace::name, WorkSpace::next, and Scr.

Referenced by ctwm_main().

◆ mk_twmkeys_entry()

char * mk_twmkeys_entry ( const FuncKey * key)

Generate up a string representation of a keybinding->action.

Internally used in generating TwmKeys menu.

Definition at line 1657 of file menus.c.

References FuncKey::action, DO, MSLEN, and FuncKey::name.

Referenced by PopUpMenu().

◆ MoveMenu()

void MoveMenu ( XEvent * eventp)

◆ NewMenuRoot()

◆ Paint3DEntry()

◆ PaintEntry()

void PaintEntry ( MenuRoot * mr,
MenuItem * mi,
bool exposure )

◆ PaintMenu()

void PaintMenu ( MenuRoot * mr,
XEvent * e )

◆ PaintNormalEntry()

◆ PopDownMenu()

◆ PopUpMenu()

◆ UpdateMenu()

◆ WarpCursorToDefaultEntry()

void WarpCursorToDefaultEntry ( MenuRoot * menu)

Variable Documentation

◆ ActiveItem

◆ ActiveMenu

◆ addingdefaults

bool addingdefaults = false
static

Definition at line 72 of file menus.c.

Referenced by AddDefaultFuncButtons(), and AddFuncButton().

◆ AlternateContext

bool AlternateContext

Definition at line 65 of file menus.c.

Referenced by f_altcontext_impl(), HandleButtonPress(), HandleButtonRelease(), and HandleKeyPress().

◆ AlternateKeymap

int AlternateKeymap

Definition at line 64 of file menus.c.

Referenced by f_altkeymap_impl(), HandleButtonPress(), HandleButtonRelease(), and HandleKeyPress().

◆ CurrentSelectedWorkspace

char* CurrentSelectedWorkspace

Definition at line 61 of file menus.c.

Referenced by HandleKeyPress(), PopUpMenu(), and UpdateMenu().

◆ fromMenu

bool fromMenu
static

Definition at line 480 of file menus.c.

Referenced by cur_fromMenu(), and UpdateMenu().

◆ MenuDepth

int MenuDepth = 0

Definition at line 67 of file menus.c.

Referenced by HandleEnterNotify(), HandleKeyPress(), MoveMenu(), PopDownMenu(), PopUpMenu(), and UpdateMenu().

◆ menuFromFrameOrWindowOrTitlebar

bool menuFromFrameOrWindowOrTitlebar = false

◆ [struct]

struct { ... } MenuOrigins[ 10 /* max number of nested menus */ ]

Referenced by MoveMenu(), PopUpMenu(), and UpdateMenu().

◆ x

◆ y