Age | Commit message (Collapse) | Author |
|
cmd_output: Merge instead of replace output config
|
|
|
|
|
|
|
|
This is necessary because i3 config files use CSS notation for colors
(i.e. #rrggbb).
|
|
|
|
|
|
cmd_floating: Don't add non-float as sibling to float.
|
|
main: Setup logging before wlc_init.
|
|
refactor cmd_output
|
|
Add --help to print usage
|
|
If `wlc_init` fails the error message will never be logged or printed
anywhere.
|
|
|
|
|
|
|
|
|
|
When turning a float to a non-float, `get_focused_container` might
return another floating view, causing the active view to be inserted
into the floating list on its workspace instead of the normal child list
which it should. (Since it has `is_floating` as false the resulting
discrepency triggered other bad behaviour eventually leading sway to
crash.)
This patch fixes that by simply checking floating status before making
it a sibling.
|
|
Using 'flag' results in duplicate code paths for short and long options.
This broke the -q short option in swaymsg, because there was:
{"quiet", no_argument, &quiet, 'q'}
Which will set quiet to 'q' and return 0, not 'q'.
|
|
|
|
|
|
|
|
This handles some cases where sway will crash if an output command is
invalid/missing an argument.
|
|
First of all because it's not needed that early, and second of all
because there's a bug where calling `sway --get-socketpath` via `popen`
causes the child sway process to spin/hang instead of returning EOF.
(Specifically `(unset SWAYSOCK; swaymsg)` hangs.) This patch fixes that.
(Also note that this patch moves the "detailed review" comment, so I
guess this patch requires extra detailed review?)
|
|
Which will match any output.
|
|
This also makes it so that your i3 config is used before
/etc/sway/config.
|
|
A floating window that's sticky will move to the new active workspace
whenever the workspace on the same output changes.
|
|
|
|
debug_log: Improve container_log so that debug lines are aligned.
|
|
workspace: Improve workspace_next_name.
|
|
Makes the log easier to read, and the developers more happy (this one at
least).
|
|
This function looks for bound commands that start with `workspace` (ie.
the commands that change to a static workspace) and fetches the
workspace name.
However, if it's actually a list of commands, then the parsing will pick
up the delimiter ("," or ";") and also fail to recognize keywords
("next" etc).
This patch fixes that by properly separating with delimiters.
|
|
This is especially relevant in combination with `for_window`, e.g.:
`for_window [title="Terminal"] floating enable`.
|
|
|
|
|
|
|
|
Call swaybg without invoking a shell
|
|
This makes escaping the arguments obsolete.
Also avoid dynamic memory allocation for the output id. It only supported ids up
to 99. Now we support up to 999, and take 4 bytes off the stack instead.
|
|
|
|
criteria: Add. Learn for_window command.
|
|
|
|
|
|
A criteria is a string in the form of `[class="regex.*" title="str"]`.
It is stored in a struct with a list of *tokens* which is a
attribute/value pair (stored as a `crit_token` struct). Most tokens will
also have a precompiled regex stored that will be used during criteria
matching.
for_window command: When a new view is created its metadata is tested
against all stored criteria, and if a match is found the associated
command list is executed.
Unfortunately some metadata is not available in sway at the moment
(specifically `instance`, `window_role` and `urgent`). Any criteria
string that tries to match an unsupported attribute will fail.
(Note that while the criteria code can be used to parse any criteria
string it is currently only used by the `for_window` command.)
|
|
This fixes a compiler warning:
../sway/extensions.c: In function ‘set_background’:
../sway/extensions.c:16:37: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
struct background_config *config = malloc(sizeof(struct background_config));
^
../sway/extensions.c:16:37: warning: incompatible implicit declaration of built-in function ‘malloc’
../sway/extensions.c:16:37: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
|
|
|
|
|
|
|
|
This should fix #241.
|
|
Compare modifiers as well as keys when number of modifiers+keys are the
same (so that e.g. mod1+x != mod4+x).
|
|
We can't handle them currently (the criteria needs to e.g. be passed to
each command handler which then needs to do the right thing), so it's
better to just do nothing than to create unexpected results (because the
command was executed on the wrong view).
(Before this patch any command list with a criteria string would simply
fail to parse, so this is at least a step in the right direction.)
|
|
A criteria string (e.g. '[class="something" title="something"]') is now
correctly treated as a single argument.
|