| Commit message (Collapse) | Author | Age |
| |
|
|\
| |
| | |
commands: clean up checkargs function +other small changes
|
| |
| |
| |
| | |
This makes it a bit more obvious what the expected number of arguments is.
|
| |
| |
| |
| |
| | |
Consolidates logic and fixes mistake that used argc instead of val for
determining plural.
|
| |
| |
| |
| | |
Its uses have been replaced with EXPECTED_AT_LEAST.
|
|/ |
|
|\
| |
| | |
Fix swaybar crash when there's no status_command
|
|/ |
|
| |
|
|\
| |
| | |
cmd_swaynag_command: fix typo in variable
|
|/
|
|
|
| |
The custom swaynag_command was being stored as config->swaybg_command
instead of config->swaynag_command.
|
|\
| |
| | |
Add references to sway-output(5) in sway(5)
|
| |
| |
| |
| |
| |
| | |
- update ref in the swaybg_command description
- add ref to sway-output(5) in See Also
- add an `output` command description
|
|\ \
| |/
|/| |
config: remove peeked + expanded line log entries
|
|/
|
|
|
|
|
|
| |
The peeked and expanded line log entries were useful during the switch
to generic code blocks and subcommands. However, it has been a while
since those were introduced and the log entries are no longer helpful
for any remaining issues with config parsing. Instead of keeping them
as clutter in the log, they can just be removed.
|
|\
| |
| | |
Fix crash when resizing container hidden in the scratchpad
|
| |\
| |/
|/| |
|
|\ \
| | |
| | | |
Fix xwayland wants_floating logic
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| | |
Firstly, the container was wrongly identifying as a tiling container
because it had no workspace.
Secondly, when calculating the maximum possible size we can't use the
workspace if it's not there, so we'll allow unlimited size in this case.
|
|\ \
| | |
| | | |
Fix crash when quitting a QT app on the wayland backend using menu
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QT unmaps the view before destroying the popup. We destroyed the popup
in response to the view unmapping, but then we'd attempt to destroy it a
second time which caused a crash.
The patch removes the listener.
I tested it with GTK as well, and can confirm the popup is still being
destroyed.
|
|\ \
| | |
| | | |
Fix crash when moving a container to a fullscreen workspace
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Setting normal focus to the fullscreen view causes the old workspace to
start destroying. We then set focus to the old workspace which is no
longer attached in the tree.
As we are only setting focus_inactive on the fullscreen container, the
fix uses seat_set_raw_focus to avoid all the additional behaviour that
comes with it such as destroying the old workspace.
|
|\ \
| |/
|/| |
cmd_reload: recalc font sizing + rebuild textures
|
|/
|
|
|
|
|
|
|
|
|
| |
When the config gets reloaded, the font height and baseline get reset to
0. If the config does not have a font command in it, the variables will
remain at 0 causing a transparent area where the title would be
rendered.
This makes it so the font height and baseline are recalculated. Additionally,
since the font height and baseline may have changed due to the reload, the
title and marks textures are rebuilt.
|
|\
| |
| | |
swaybar: fix hotplug
|
| | |
|
|\ \
| | |
| | | |
Parse missing i3 window types
|
|/ /
| |
| |
| | |
fixes the parsing part of #2906
|
|\ \
| |/
|/| |
Make workspace back_and_forth seat-specific
|
|/
|
|
|
|
|
|
| |
* When using multiple seats, each seat has its own prev_workspace_name
for the purpose of workspace back_and_forth.
* Removes prev_workspace_name global variable.
* Removes unused next_name_map function in tree/workspace.c.
* Fixes memory leak in seat_destroy (seat was not freed).
|
|\
| |
| | |
swaybar: render with minimum height, nominally text height
|
|/ |
|
|\
| |
| | |
A script to make inactive windows transparent
|
|/
|
|
|
|
|
|
| |
Sway has ability to apply transparency to arbitrary windows. This script
wires up this functional to one of popular use-cases from
i3+<compositor_name>.
Signed-off-by: Konstantin Kharlamov <Hi-Angel@yandex.ru>
|
|\
| |
| | |
Abort if proprietary drivers are in use
|
|/
|
|
|
|
| |
The idea here is we don't want users to be blissfully unaware that they
are running unsupported drivers. So we abort on startup, and force the
user to add a specific argument to bypass the check.
|
|\
| |
| | |
Fix popup damage issues when toplevel and/or popup uses geometry
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The wlr_xdg_popup_get_toplevel_coords function has the following quirks:
* It does not do anything with the coordinates of the passed popup.
Instead, we are required to add them ourselves, which we do by passing
them to the function as the surface local values.
* It adds the geometry (shadows etc) of the toplevel itself, so the
coordinates are surface local rather than content local. For this
reason, we have to negate the toplevel's geometry
(child->view->geometry).
* I may be wrong, but the popup positions appear to be stored in surface
local coordinates rather than content local coordinates. The geometry
(shadows etc) of the popup itself must be negated (surface->geometry).
|
|\ \
| |/
|/| |
Remove raise_floating directive
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The directive controlled whether floating views should raise to the top
when the cursor is moved over it while using focus_follows_mouse. The
default was enabled, which is undesirable. For example, if you have two
floating views where one completely covers the other, the smaller one
would be inaccessible because moving the mouse over the bigger one would
raise it above the smaller one.
There is no known use case for having raise_floating enabled, so this
patch removes the directive and implements the raise_floating disabled
behaviour instead.
|
|\ \
| | |
| | | |
Put swaybar in overlay layer when using mode hide
|
| |/
| |
| |
| | |
This allows the bar to render over fullscreen views.
|
|\ \
| |/
|/| |
Fix crash when defaut seat is not created
|
|/
|
|
| |
Function input_manager_get_default_seat should always return a seat.
|
|\
| |
| | |
Minor refactor of input manager
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The input manager is a singleton object. Passing the sway_input_manager
argument to each of its functions is unnecessary, while removing the
argument makes it obvious to the caller that it's a singleton. This
patch removes the argument and makes the input manager use server.input
instead.
On a similar note:
* sway_input_manager.server is removed in favour of using the server
global.
* seat.input is removed because it can get it from server.input.
Due to a circular dependency, creating seat0 is now done directly in
server_init rather than in input_manager_create. This is because
creating seats must be done after server.input is set.
Lastly, it now stores the default seat name using a constant and removes
a second reference to seat0 (in input_manager_get_default_seat).
|
|\ \
| | |
| | | |
Fix crash when view unmaps while no outputs connected
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a view unmaps, we call workspace_consider_destroy. This function
assumed the workspace would always have an output, but this is not the
case when hotplugged down to zero. The function now handles this and
allows itself to be destroyed when there is no output.
This means that workspace_begin_destroy must remove the workspace from
the root->saved_workspaces list to avoid an eventual dangling pointer,
so it does that now.
Lastly, when an output is plugged in again and it has to create a new
initial workspace for it, we must emit the workspace::init IPC event
otherwise swaybar shows no workspaces at all. I guess when you start
sway, swaybar is started after the workspace has been created which is
why this hasn't been needed earlier.
|