Age | Commit message (Collapse) | Author |
|
|
|
Fix segfault in dispatch_cursor_button
|
|
resize set: convert ppt to px for floating containers
|
|
|
|
|
|
Fix double free of mode
|
|
config->current_mode is a pointer into the config->modes list, and each
mode has already been freed.
Same with bars.
|
|
Fix double free when unmapping any view
|
|
|
|
Fix unused function in swap command
|
|
[WIP] Free unfreed resources.
|
|
Also fixes a size_t cast to void *.
|
|
Render software cursors with wlr_output_render_software_cursors
|
|
|
|
|
|
Use #if instead of #ifdef for WLR_HAS_*
|
|
|
|
IPC: Send keyboard layout info in IPC_GET_INPUTS
|
|
Signed-off-by: Harish Krupo <harishkrupo@gmail.com>
|
|
Alter config variable replacement process
|
|
cmd_ws_auto_back_and_forth: fix negation
|
|
In the conversion to `parse_boolean` for `cmd_ws_auto_back_and_forth`,
the `negation` was never removed causing the setting to be the opposite
of what it should be.
|
|
Allow multiple outputs for workspace output
|
|
`i3 4.16` allows users to list multiple outputs for a workspace and the
first available will be used. The syntax is as follows:
`workspace <workspace> output <outputs...>`
Additionally when the workspace is created, the outputs get added to the
output priority list in the order specified. This ensures that if a higher
output gets connected, the workspace will move to the higher output. This
works the same way as if the user had a workspace on an output, disconnected
the output, and then later reconnected the output.
|
|
Currently, variables cannot contain commands and cannot span more than
one argument. This is due to variable replacement happening after
determining the handler and after splitting the config line into
arguments.
This changes the process to:
0. Check for empty lines and block boundaries
1. Split the arguments as before
2. Verify that the first argument is not a variable. If needed the
following occurs
a. Perform variable replacement on just the first argument
b. Join the arguments back together then split the arguments again. This is needed when the variable
contains the command and arguments for the command.
3. Determine the handler
4. If the handler is cmd_set, escape the variable name so that it does
not get replaced
5. Join the arguments back together, do variable replacement on the full
command, and split the arguments again
6. Perform any needed quote stripping or unescaping on arguments
7. Run the command handler
This allows for config snippets such as:
```
set $super bindsym Mod4
$super+a exec some-command
```
and
```
set $bg bg #ffffff solid_color
output * $bg
```
|
|
|
|
Use parse_boolean where possible.
|
|
|
|
Remove extra line.
|
|
|
|
Update documentation for focus_follows_mouse.
|
|
|
|
resize set: implement width and height keywords
|
|
This implements the following syntaxes from `i3 4.16`:
* `resize set [width] <width> [px|ppt]`
* `resize set height <height> [px|ppt]`
* `resize set [width] <width> [px|ppt] [height] <height> [px|ppt]`
Additionally, a bug was fixed that caused setting the height of a tiled
container to change the width instead due to a typo.
|
|
Fix building with clang
|
|
The "struct sway_container *other" variable in swap.c was potentially
used uninitialized, depending on an "if" statement.
|
|
Implement per side and per direction outer gaps
|
|
gaps: remove duplicate inner gaps
|
|
This introduces the following command extensions from `i3-gaps`:
* `gaps horizontal|vertical|top|right|bottom|left <amount>`
* `gaps horizontal|vertical|top|right|bottom|left all|current
set|plus|minus <amount>`
* `workspace <ws> gaps horizontal|vertical|top|right|bottom|left
<amount>`
`inner` and `outer` are also still available as options for all three
of the above commands. `outer` now acts as a shorthand to set/alter
all sides.
Additionally, this fixes two bugs with the prevention of invalid gap
configurations for workspace configs:
1. If outer gaps were not set and inner gaps were, the outer gaps
would be snapped to the negation of the inner gaps due to `INT_MIN`
being less than the negation. This took precedence over the default
outer gaps.
2. Similarly, if inner gaps were not set and outer gaps were, inner
gaps would be set to zero, which would take precedence over the
default inner gaps.
Fixing both of the above items also requires checking the gaps again
when creating a workspace since the default outer gaps can be smaller
than the negation of the workspace specific inner gaps.
|
|
|
|
* Add focus_follows_mouse_mode.
* Fail if focus_follows_mouse is invalid.
* Fix indentation.
|
|
Add relative output transform
|
|
This commit enhances the output transform
command with options for a relative transform,
i.e. the provided transform will be applied as
an offset to the current transform. Append
`clockwise` to rotate clockwise from the current
rotation, or `anticlockwise` to rotate in the
opposite direction.
For example, if the output LVDS-1 is rotated
90 degrees clockwise, the command
`output LVDS-1 transform 90 clockwise`
will rotate the display to 180 degrees.
All transform options are supported,
including flipped transforms.
Relative transforms can only be applied to
a single output and cannot be used with
a wildcard (*) output specifier.
|
|
Use wlr_surface_get_effective_damage
|
|
|
|
Fix the double execution of exec_always commands on config reloads
|
|
|
|
The exec_always command was executed twice, since it was not checking for the
config->validating variable.
Fix this by defering the command if the configuration is validating.
Fixes #3072
|
|
Fix focus_wrapping yes
|
|
It appears that the focus code that handles `focus_wrapping yes` was
removed during the conversion to type safety. This re-implements the
focus code for when `focus_wrapping` is set to `yes` (default). Neither
the `no` or `force` options appear to be effected and should be working.
|