rootston: wire up window alpha keybinding
This commit is contained in:
parent
e2ea1ebe48
commit
9864f1c136
|
@ -278,6 +278,15 @@ void view_rotate(struct roots_view *view, float rotation) {
|
|||
view_damage_whole(view);
|
||||
}
|
||||
|
||||
void view_cycle_alpha(struct roots_view *view) {
|
||||
view->alpha -= 0.05;
|
||||
/* Don't go completely transparent */
|
||||
if (view->alpha < 0.1) {
|
||||
view->alpha = 1.0;
|
||||
}
|
||||
view_damage_whole(view);
|
||||
}
|
||||
|
||||
void view_close(struct roots_view *view) {
|
||||
if (view->close) {
|
||||
view->close(view);
|
||||
|
|
|
@ -106,6 +106,11 @@ static void keyboard_binding_execute(struct roots_keyboard *keyboard,
|
|||
}
|
||||
} else if (strcmp(command, "next_window") == 0) {
|
||||
roots_seat_cycle_focus(seat);
|
||||
} else if (strcmp(command, "alpha") == 0) {
|
||||
struct roots_view *focus = roots_seat_get_focus(seat);
|
||||
if (focus != NULL) {
|
||||
view_cycle_alpha(focus);
|
||||
}
|
||||
} else if (strncmp(exec_prefix, command, strlen(exec_prefix)) == 0) {
|
||||
const char *shell_cmd = command + strlen(exec_prefix);
|
||||
pid_t pid = fork();
|
||||
|
|
|
@ -42,8 +42,10 @@ meta-key = Logo
|
|||
# - "exec" to execute a shell command
|
||||
# - "close" to close the current view
|
||||
# - "next_window" to cycle through windows
|
||||
# - "alpha" to cycle a window's alpha channel
|
||||
[bindings]
|
||||
Logo+Shift+e = exit
|
||||
Logo+q = close
|
||||
Logo+m = maximize
|
||||
Alt+Tab = next_window
|
||||
Ctrl+Shift+a = alpha
|
||||
|
|
Loading…
Reference in New Issue