Age | Commit message (Collapse) | Author |
|
Fix #444
This is a temporary fix, the real fix is to store the commands as a
formatted argv array, so they don't have to be reformatted all over the
place.
|
|
If a bindsym and bincode maps to the same combination, the last one will
overwrite any previous mappings.
|
|
Fix #426
|
|
This is a "simple" version of --release (same as i3) that only supports
a binding that contain one normal key. e.g.:
bindsym --release $mod+x exec somthing-fun
I didn't bother implementing it for a combination like `$mod+x+z` since
it is a bit tricky to get right and also a bit weird to actually do on a
keyboard.
|
|
Send IPC modifier event on bar_modifier up/down
|
|
This makes sure that a modifier event is only sent for active bar
modifiers, and that it is only sent once for each of those modifiers.
An active bar modifier is a modifier defined for a bar with `mode hide`
and `hidden_state hide`.
|
|
Lookup of modifier names is required in several places, thus it makes
sense to move it to a general place.
|
|
Detects when a bar modifier key is pressed/released and sends a modifier
IPC event to any listeners (usually swaybars).
This way a swaybar can listen on the modifier event and hide/show the
bar accordingly (not implemented yet)
The modifier event looks like this:
{
"change": "pressed", // or released
"modifier": "Mod4"
}
|
|
This fixes https://github.com/SirCmpwn/sway/issues/431 by returning
focus to the fullscreen view. Also it fixes the issue with the
fullscreen view pointer not being set which did my head in
|
|
|
|
Not sure if you will accept this, but i find it useful (I use it when
opening new terminal windows on a workspace
v2: add short hand command and docs
|
|
Found this completely by accident
|
|
This makes sway handle and gracefully shut down everything when
receiving a SIGTERM.
Fix #416
|
|
|
|
|
|
musl libc compatibility
|
|
I've tried to make as few changes, as possible.
Usually the reason for using qsort_r is, that you can pass an extra userdata pointer to the
compare function. However, in sway list_sort wrapped qsort_r and always called a wrapper
function for comparing, the wrapper function then had the real compare function as argument.
The only thing, that the wrapper function does, is dereferencing the 'left' and 'right' function
arguments before passing them to the real compare function.
I have renamed list_sort to list_qsort to avoid confusion (so nobody tries to use list_qsort like
list_sort) and removed the wrapper functionality. Now the dereferencing must be done in the
compare function, that gets passed.
Some compare functions were used in both list_sort and list_seq_find. To make the difference
clear, I've added a '_qsort' suffix to the compare functions, that are intended to be used with
the new list_qsort. (In other words: list_qsort is not compatible anymore with list_seq_find).
- Changed and renamed function (it isn't used anywhere but in commands.c, and only for sorting):
compare_set -> compare_set_qsort
- New wrapper functions:
sway_binding_cmp_qsort (for sway_binding_cmp)
sway_mouse_binding_cmp_qsort (for sway_mouse_binding_cmp)
|
|
|
|
Our initial implementation of `bar { }` assumed that the commands could
only be used in the config. This is not true for two commands:
* bar mode
* bar hidden_state
This patch makes it possible to issue these commands outside a bar
block, for instance through swaymsg
$ swaymsg bar mode hide bar-0
This does not implement the `barconfig_update` IPC event which should be
trigged from these commands. I have added TODO's where this should be
added once implemented.
|
|
This fixes the issue where workspace 10 ends up being the default.
|
|
Add bar option: swaybar_command <command>
|
|
|
|
This works by tracking the pids of the child processes in the related
output container and terminating the processes and spawning new ones on
a config reload.
Should solve: #347
|
|
|
|
|
|
|
|
Implement bar option: font <font>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Added bar_cmd_modifier
|
|
|
|
Added bar_cmd_status_command
|
|
|
|
Get rid of `config->bar` and define the default bar config options when
a bar is initialized.
|
|
Defined a sway_mouse_binding for clicks on the swaybar
|
|
Lookup dragging key when in dragging mode
|
|
This makes it possible to define what mouse button key (left|right) to
use for dragging/resizing.
|
|
|
|
|
|
If the id is defined by another bar it will just use the default id for
the bar. Typically `bar-x`.
If the id command is used multiple times within a bar block, the last
one will 'win'.
|
|
Add initial support for custom bar-id
|
|
|
|
|
|
|
|
Bar confing subcommands
|