File: tiling_drag.h

package info (click to toggle)
i3-wm 4.25-3
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 7,712 kB
  • sloc: ansic: 30,153; perl: 19,229; sh: 70; makefile: 9
file content (33 lines) | stat: -rw-r--r-- 737 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * vim:ts=4:sw=4:expandtab
 *
 * i3 - an improved tiling window manager
 * © 2009 Michael Stapelberg and contributors (see also: LICENSE)
 *
 * tiling_drag.h: Reposition tiled windows by dragging.
 *
 */
#pragma once

/**
 * Tiling drag initiation modes.
 */
typedef enum {
    TILING_DRAG_OFF = 0,
    TILING_DRAG_MODIFIER = 1,
    TILING_DRAG_TITLEBAR = 2,
    TILING_DRAG_MODIFIER_OR_TITLEBAR = 3
} tiling_drag_t;

/**
 * Returns whether there currently are any drop targets.
 * Used to only initiate a drag when there is something to drop onto.
 *
 */
bool has_drop_targets(void);

/**
 * Initiates a mouse drag operation on a tiled window.
 *
 */
void tiling_drag(Con *con, xcb_button_press_event_t *event, bool use_threshold);