X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.h;h=e0ea0d566d8c7b8e650122d2c07fc5679b7ce958;hb=ea6d0e0d4d31d0d810fa752d04b702b3b599e3df;hp=0fe42f64b31494cbea9ab621a53e80d6b65c3f1f;hpb=cbbf90a718ecc6836ef7a77b9040aebb9da348b8;p=chaz%2Fopenbox diff --git a/openbox/action.h b/openbox/action.h index 0fe42f64..e0ea0d56 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -12,6 +12,11 @@ struct AnyAction { Client *c; }; +struct DirectionalFocus { + Client *c; + int direction; +}; + struct Execute { Client *c; char *path; @@ -48,24 +53,19 @@ struct NextPreviousDesktop { gboolean wrap; }; -struct Move { +struct MoveResize { Client *c; int x; int y; - gboolean final; + guint32 corner; /* prop_atoms.net_wm_moveresize_* */ + guint button; }; -struct Resize { +struct ShowMenu { Client *c; + char *name; int x; int y; - gboolean final; - Corner corner; -}; - -struct ShowMenu { - Client *c; - char *menuName; }; struct CycleWindows { @@ -73,10 +73,12 @@ struct CycleWindows { gboolean linear; gboolean forward; gboolean final; + gboolean cancel; }; union ActionData { struct AnyAction any; + struct DirectionalFocus dfocus; struct Execute execute; struct ClientAction client; struct MoveResizeRelative relative; @@ -84,9 +86,8 @@ union ActionData { struct SendToNextPreviousDesktop sendtonextprev; struct Desktop desktop; struct NextPreviousDesktop nextprevdesktop; - struct Move move; - struct Resize resize; - struct ShowMenu showMenu; + struct MoveResize moveresize; + struct ShowMenu showmenu; struct CycleWindows cycle; }; @@ -111,6 +112,7 @@ Action *action_new(void (*func)(union ActionData *data)); action_resize_relative_horz - the delta action_resize_relative_vert - the delta */ + Action *action_from_string(char *name); void action_free(Action *a); @@ -192,10 +194,8 @@ void action_next_desktop_row(union ActionData *data); void action_previous_desktop_row(union ActionData *data); /* ClientAction */ void action_toggle_decorations(union ActionData *data); -/* Move */ -void action_move(union ActionData *data); -/* Resize */ -void action_resize(union ActionData *data); +/* MoveResize */ +void action_moveresize(union ActionData *data); /* Execute */ void action_restart(union ActionData *data); /* Any */ @@ -204,4 +204,6 @@ void action_exit(union ActionData *data); void action_showmenu(union ActionData *data); /* CycleWindows */ void action_cycle_windows(union ActionData *data); + +void action_directional_focus(union ActionData *data); #endif