X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=blobdiff_plain;f=include%2Foutput.h;h=a2ad97b037290f15a887ca9bb44fc68d4e0b0e6d;hp=10ee7d1740ac4d4f96ee7dca366063713ab06511;hb=HEAD;hpb=2314f107784196d8fc7ee500645dbdf548f91386 diff --git a/include/output.h b/include/output.h index 10ee7d17..a2ad97b0 100644 --- a/include/output.h +++ b/include/output.h @@ -2,15 +2,50 @@ * vim:ts=4:sw=4:expandtab * * i3 - an improved dynamic tiling window manager - * © 2009-2011 Michael Stapelberg and contributors (see also: LICENSE) + * © 2009 Michael Stapelberg and contributors (see also: LICENSE) * * output.c: Output (monitor) related functions. * */ #pragma once +#include + /** * Returns the output container below the given output container. * */ Con *output_get_content(Con *output); + +/** + * Returns an 'output' corresponding to one of left/right/down/up or a specific + * output name. + * + */ +Output *get_output_from_string(Output *current_output, const char *output_str); + +/** + * Retrieves the primary name of an output. + * + */ +char *output_primary_name(Output *output); + +/** + * Returns the output for the given con. + * + */ +Output *get_output_for_con(Con *con); + +/** + * Iterates over all outputs and pushes sticky windows to the currently visible + * workspace on that output. + * + * old_focus is used to determine if a sticky window is going to be focused. + * old_focus might be different than the currently focused container because the + * caller might need to temporarily change the focus and then call + * output_push_sticky_windows. For example, workspace_show needs to set focus to + * one of its descendants first, then call output_push_sticky_windows that + * should focus a sticky window if it was the focused in the previous workspace. + * + */ +void output_push_sticky_windows(Con *old_focus);