X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Foutput.h;h=a2ad97b037290f15a887ca9bb44fc68d4e0b0e6d;hb=04d1fcbe2d3f9937544804fec1d0383ad8e27a05;hp=e0125c06f74540d7c6ef96e4d655dd52a139ecc9;hpb=2bde6f080ecd5d0e2dccb20a1936a5d40af7ff84;p=i3%2Fi3 diff --git a/include/output.h b/include/output.h index e0125c06..a2ad97b0 100644 --- a/include/output.h +++ b/include/output.h @@ -9,6 +9,8 @@ */ #pragma once +#include + /** * Returns the output container below the given output container. * @@ -21,3 +23,29 @@ Con *output_get_content(Con *output); * */ 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);