X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=openbox%2Faction.h;h=ba5ff22359ca997981c5a7857596faae972698e6;hb=d6cb5adbeaf0b7fbb55aca942ae5b8f62f77b4ea;hp=989b975dd8062a11ea8e8cd1a31aea35d9a8d8e3;hpb=0e28a07e3d6677aa6af9ad97fbc55f8101f3fdf2;p=chaz%2Fopenbox diff --git a/openbox/action.h b/openbox/action.h index 989b975d..ba5ff223 100644 --- a/openbox/action.h +++ b/openbox/action.h @@ -12,6 +12,11 @@ struct AnyAction { Client *c; }; +struct DirectionalAction{ + Client *c; + int direction; +}; + struct Execute { Client *c; char *path; @@ -48,19 +53,12 @@ struct NextPreviousDesktop { gboolean wrap; }; -struct Move { - Client *c; - int x; - int y; - gboolean final; -}; - -struct Resize { +struct MoveResize { Client *c; int x; int y; - gboolean final; - Corner corner; + guint32 corner; /* prop_atoms.net_wm_moveresize_* */ + guint button; }; struct ShowMenu { @@ -80,6 +78,7 @@ struct CycleWindows { union ActionData { struct AnyAction any; + struct DirectionalAction diraction; struct Execute execute; struct ClientAction client; struct MoveResizeRelative relative; @@ -87,8 +86,7 @@ union ActionData { struct SendToNextPreviousDesktop sendtonextprev; struct Desktop desktop; struct NextPreviousDesktop nextprevdesktop; - struct Move move; - struct Resize resize; + struct MoveResize moveresize; struct ShowMenu showmenu; struct CycleWindows cycle; }; @@ -114,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); @@ -195,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 */ @@ -207,4 +204,7 @@ 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); +void action_movetoedge(union ActionData *data); #endif