mirror of
https://github.com/swaywm/sway.git
synced 2025-10-31 22:25:26 -04:00
changed handling of focus, handling of view by type
This commit is contained in:
parent
780893a933
commit
11321ca2dd
12 changed files with 392 additions and 324 deletions
|
|
@ -45,6 +45,8 @@ struct sway_container {
|
|||
|
||||
bool is_floating;
|
||||
|
||||
bool is_focused;
|
||||
|
||||
int weight;
|
||||
|
||||
char *name;
|
||||
|
|
|
|||
36
include/focus.h
Normal file
36
include/focus.h
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#ifndef _SWAY_FOCUS_H
|
||||
#define _SWAY_FOCUS_H
|
||||
#include "container.h"
|
||||
|
||||
enum movement_direction {
|
||||
MOVE_LEFT,
|
||||
MOVE_RIGHT,
|
||||
MOVE_UP,
|
||||
MOVE_DOWN,
|
||||
MOVE_PARENT
|
||||
};
|
||||
|
||||
//focused_container - the container found by following the `focused` pointer
|
||||
//from a given container to a container with `is_focused` boolean set
|
||||
//---
|
||||
//focused_view - the container found by following the `focused` pointer from a
|
||||
//given container to a view.
|
||||
//---
|
||||
|
||||
swayc_t *get_focused_container(swayc_t *parent);
|
||||
swayc_t *get_focused_view(swayc_t *parent);
|
||||
|
||||
void set_focused_container(swayc_t *container);
|
||||
void set_focused_container_for(swayc_t *ancestor, swayc_t *container);
|
||||
|
||||
//lock focused container/view. locked by windows with OVERRIDE attribute
|
||||
//and unlocked when they are destroyed
|
||||
|
||||
extern bool locked_container_focus;
|
||||
extern bool locked_view_focus;
|
||||
|
||||
|
||||
bool move_focus(enum movement_direction direction);
|
||||
|
||||
#endif
|
||||
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
#ifndef _SWAY_HANDLERS_H
|
||||
#define _SWAY_HANDLERS_H
|
||||
|
||||
#include "container.h"
|
||||
#include <stdbool.h>
|
||||
#include <wlc/wlc.h>
|
||||
|
||||
extern struct wlc_interface interface;
|
||||
|
||||
//set focus to current pointer location and return focused container
|
||||
swayc_t *focus_pointer(void);
|
||||
swayc_t *container_under_pointer(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1,17 +0,0 @@
|
|||
#ifndef _SWAY_MOVEMENT_H
|
||||
#define _SWAY_MOVEMENT_H
|
||||
|
||||
#include <wlc/wlc.h>
|
||||
#include "list.h"
|
||||
|
||||
enum movement_direction {
|
||||
MOVE_LEFT,
|
||||
MOVE_RIGHT,
|
||||
MOVE_UP,
|
||||
MOVE_DOWN,
|
||||
MOVE_PARENT
|
||||
};
|
||||
|
||||
bool move_focus(enum movement_direction direction);
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue