mirror of
https://github.com/swaywm/sway.git
synced 2025-11-11 13:29:51 -05:00
Implement pid->workspace tracking
When you spawn a process with the exec command, sway now notes the workspace you had focused and the pid of the child process, then assigns that workspace to the child when its window appears. Some of this is carried over from sway 0.15, but with some major refactoring and centralization of state.
This commit is contained in:
parent
62a7b762ac
commit
acd79e1505
10 changed files with 154 additions and 33 deletions
|
|
@ -1,6 +1,5 @@
|
|||
#ifndef _SWAY_CONFIG_H
|
||||
#define _SWAY_CONFIG_H
|
||||
#define PID_WORKSPACE_TIMEOUT 60
|
||||
#include <libinput.h>
|
||||
#include <stdint.h>
|
||||
#include <string.h>
|
||||
|
|
@ -143,12 +142,6 @@ struct workspace_output {
|
|||
char *workspace;
|
||||
};
|
||||
|
||||
struct pid_workspace {
|
||||
pid_t *pid;
|
||||
char *workspace;
|
||||
time_t *time_added;
|
||||
};
|
||||
|
||||
struct bar_config {
|
||||
/**
|
||||
* One of "dock", "hide", "invisible"
|
||||
|
|
@ -300,7 +293,6 @@ struct sway_config {
|
|||
list_t *bars;
|
||||
list_t *cmd_queue;
|
||||
list_t *workspace_outputs;
|
||||
list_t *pid_workspaces;
|
||||
list_t *output_configs;
|
||||
list_t *input_configs;
|
||||
list_t *seat_configs;
|
||||
|
|
@ -384,9 +376,6 @@ struct sway_config {
|
|||
} handler_context;
|
||||
};
|
||||
|
||||
void pid_workspace_add(struct pid_workspace *pw);
|
||||
void free_pid_workspace(struct pid_workspace *pw);
|
||||
|
||||
/**
|
||||
* Loads the main config from the given path. is_active should be true when
|
||||
* reloading the config.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue