aboutsummaryrefslogtreecommitdiff
path: root/sway/config
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-01-21 11:17:07 -0500
committerGitHub <noreply@github.com>2018-01-21 11:17:07 -0500
commitc933781facbb664fedcd52ab19f35c392cd9e7b4 (patch)
tree95b0e63411e44958364321bbfe3bc00515625cc6 /sway/config
parent3dd915876d459a2aeeb7a5864330f5bc30bc2f00 (diff)
parent9f54cd89359119897fed2747c373879c09ae8706 (diff)
Merge pull request #1570 from acrisci/config-references
Copy input config references
Diffstat (limited to 'sway/config')
-rw-r--r--sway/config/input.c10
-rw-r--r--sway/config/seat.c11
2 files changed, 21 insertions, 0 deletions
diff --git a/sway/config/input.c b/sway/config/input.c
index 96181302..c4f6211d 100644
--- a/sway/config/input.c
+++ b/sway/config/input.c
@@ -90,6 +90,16 @@ void merge_input_config(struct input_config *dst, struct input_config *src) {
}
}
+struct input_config *copy_input_config(struct input_config *ic) {
+ struct input_config *copy = calloc(1, sizeof(struct input_config));
+ if (copy == NULL) {
+ wlr_log(L_ERROR, "could not allocate input config");
+ return NULL;
+ }
+ merge_input_config(copy, ic);
+ return copy;
+}
+
void free_input_config(struct input_config *ic) {
if (!ic) {
return;
diff --git a/sway/config/seat.c b/sway/config/seat.c
index 03cc6d4e..bd8b45c8 100644
--- a/sway/config/seat.c
+++ b/sway/config/seat.c
@@ -99,6 +99,17 @@ void merge_seat_config(struct seat_config *dest, struct seat_config *source) {
}
}
+struct seat_config *copy_seat_config(struct seat_config *seat) {
+ struct seat_config *copy = new_seat_config(seat->name);
+ if (copy == NULL) {
+ return NULL;
+ }
+
+ merge_seat_config(copy, seat);
+
+ return copy;
+}
+
void free_seat_config(struct seat_config *seat) {
if (!seat) {
return;