X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Foutput.h;h=a2ad97b037290f15a887ca9bb44fc68d4e0b0e6d;hb=0ed29f567866ad00a2cb14ce2e6eb5a29b277011;hp=d488ad30c4baef8b67c7654bd4da0ddccffead3b;hpb=726f2a1e5a6e6567b3c880277986b9d1d7bca931;p=i3%2Fi3 diff --git a/include/output.h b/include/output.h index d488ad30..a2ad97b0 100644 --- a/include/output.h +++ b/include/output.h @@ -2,13 +2,14 @@ * 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. * */ -#ifndef _OUTPUT_H -#define _OUTPUT_H +#pragma once + +#include /** * Returns the output container below the given output container. @@ -16,4 +17,35 @@ */ Con *output_get_content(Con *output); -#endif +/** + * 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);