X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fcon.h;h=b14c477e53de6fb864b8d1dc06e29c1b36510fd3;hb=a3ee8491fdc35fe5c3d269f2faa215a247d85e52;hp=7d828408a4dd166948c75d35edcc01b6a21bf30a;hpb=a547365a8874015ae65fb94896120d7641f1b4e5;p=i3%2Fi3 diff --git a/include/con.h b/include/con.h index 7d828408..b14c477e 100644 --- a/include/con.h +++ b/include/con.h @@ -1,3 +1,14 @@ +/* + * vim:ts=4:sw=4:expandtab + * + * i3 - an improved dynamic tiling window manager + * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) + * + * con.c: Functions which deal with containers directly (creating containers, + * searching containers, getting specific properties from containers, + * …). + * + */ #ifndef _CON_H #define _CON_H @@ -68,6 +79,12 @@ bool con_is_floating(Con *con); */ Con *con_inside_floating(Con *con); +/** + * Checks if the given container is inside a focused container. + * + */ +bool con_inside_focused(Con *con); + /** * Returns the container with the given client window ID or NULL if no such * container exists. @@ -131,10 +148,21 @@ void con_toggle_fullscreen(Con *con, int fullscreen_mode); /** * Moves the given container to the currently focused container on the given * workspace. + * + * The fix_coordinates flag will translate the current coordinates (offset from + * the monitor position basically) to appropriate coordinates on the + * destination workspace. + * Not enabling this behaviour comes in handy when this function gets called by + * floating_maybe_reassign_ws, which will only "move" a floating window when it + * *already* changed its coordinates to a different output. + * + * The dont_warp flag disables pointer warping and will be set when this + * function is called while dragging a floating window. + * * TODO: is there a better place for this function? * */ -void con_move_to_workspace(Con *con, Con *workspace); +void con_move_to_workspace(Con *con, Con *workspace, bool fix_coordinates, bool dont_warp); /** * Returns the orientation of the given container (for stacked containers, @@ -205,6 +233,13 @@ Rect con_border_style_rect(Con *con); */ int con_border_style(Con *con); +/** + * Sets the given border style on con, correctly keeping the position/size of a + * floating window. + * + */ +void con_set_border_style(Con *con, int border_style); + /** * This function changes the layout of a given container. Use it to handle * special cases like changing a whole workspace to stacked/tabbed (creates a