diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-08-30 16:58:30 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-08-30 16:58:30 +0000 |
| commit | 2c6c0757fa497f4c1e0648bcbb1927c0fa12862f (patch) | |
| tree | 16b71b97f63b2877fc9d62690f41cd5de42dbf55 /openbox/action.h | |
| parent | 009685bc4630a5deb3a48179450fb18e619c6e04 (diff) | |
make interactive actions a type and not special cases.
add the <interactive> option to them to turn off interactivity
Diffstat (limited to 'openbox/action.h')
| -rw-r--r-- | openbox/action.h | 40 |
1 files changed, 21 insertions, 19 deletions
diff --git a/openbox/action.h b/openbox/action.h index bacd4b5c..c6a04838 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -13,69 +13,72 @@ typedef struct _ObAction ObAction; struct AnyAction { struct _ObClient *c; + gboolean interactive; +}; + +struct InteractiveAction { + struct AnyAction any; + gboolean final; + gboolean cancel; }; struct DirectionalAction{ - struct _ObClient *c; + struct AnyAction any; ObDirection direction; }; struct Execute { - struct _ObClient *c; + struct AnyAction any; char *path; }; struct ClientAction { - struct _ObClient *c; + struct AnyAction any; }; struct Activate { - struct _ObClient *c; + struct AnyAction any; gboolean here; /* bring it to the current desktop */ }; struct MoveResizeRelative { - struct _ObClient *c; + struct AnyAction any; int delta; }; struct SendToDesktop { - struct _ObClient *c; + struct AnyAction any; guint desk; gboolean follow; }; struct SendToDesktopDirection { - struct _ObClient *c; + struct InteractiveAction inter; ObDirection dir; gboolean wrap; gboolean linear; - gboolean final; - gboolean cancel; gboolean follow; }; struct Desktop { - struct _ObClient *c; + struct AnyAction any; guint desk; }; struct Layer { - struct _ObClient *c; + struct AnyAction any; int layer; /* < 0 = below, 0 = normal, > 0 = above */ }; struct DesktopDirection { - struct _ObClient *c; + struct InteractiveAction inter; ObDirection dir; gboolean wrap; gboolean linear; - gboolean final; - gboolean cancel; }; struct MoveResize { - struct _ObClient *c; + struct AnyAction any; int x; int y; guint32 corner; /* prop_atoms.net_wm_moveresize_* */ @@ -83,22 +86,21 @@ struct MoveResize { }; struct ShowMenu { - struct _ObClient *c; + struct AnyAction any; char *name; int x; int y; }; struct CycleWindows { - struct _ObClient *c; + struct InteractiveAction inter; gboolean linear; gboolean forward; - gboolean final; - gboolean cancel; }; union ActionData { struct AnyAction any; + struct InteractiveAction inter; struct DirectionalAction diraction; struct Execute execute; struct ClientAction client; |
