Age | Commit message (Collapse) | Author |
|
Better handle outputs without CRTC
|
|
This happens if you plug in more outputs than supported by your GPU.
This patch makes it so outputs without CRTCs appear as disabled. As soon as
they get a CRTC (signalled via the mode event), we can enable them.
|
|
Simplify the code by registering signals when outputs are created and removing
signals when they are destroyed.
|
|
Remove swaylock headers and unicode.c
|
|
swaybg fixes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This modifies `bar_cmd_tray_bindsym` to use `get_mouse_bindsym` for
parsing mouse buttons. This also introduces `bar_cmd_tray_bindcode`,
which will use `get_mouse_bindcode` for parsing mouse buttons. Like with
sway bindings, the two commands are encapsulated in a single file to
maximize shared code.
This also modifies tray bindings to work off of events codes rather than
x11 buttons, which allows for any mouse buttons to be used.
For `get_bar_config`, `event_code` has been added to the `tray_bindings`
section and will include to event code for the button. If the event code
can be mapped to a x11 button, `input_code` will still be the x11 button
number. Otherwise, `input_code` will be `0`.
|
|
If there are no outputs, do not SIGABRT when a layer surface is created,
just close the layer surface.
|
|
Allow resizing a hidden scratchpad container by px. Resizing a hidden
scratchpad container by ppt is still not allowed since there is no
workspace
|
|
In `seatop_begin_down`, raise the floating container. This appears to
have been dropped in the transition to seatops.
|
|
In `sway_terminate`, `ipc_event_shutdown` was being sent regardless
which mode sway was running in. When running as an ipc client,
`sway_terminate` should just exit
|
|
Clear the focus when we hide the cursor and show it again during the unhide
action. The unhide function will rebase the cursor after the unhide.
Tested by looking at the WAYLAND_DEBUG=1 output of termite.
Also call cursor_handle_activity before sending pointer events to send the enter
events to the surface if the cursor was hidden before.
Fixes #3431
|
|
|
|
In `view_child_damage`, do not damage the surface if it has been
unmapped or if the container is NULL.
|
|
This fixes the handling of hidden scratchpad containers for some
commands. For the most part, this just prevents running the commands on
hidden scratchpad containers, but there are some commands that have some
special handling for them.
|
|
Resize only current and immediate siblings rather than all siblings
|
|
|
|
For example, create layout V[view view view] and resize the leftmost
view using mod+rightclick. Previously, the edge between view 2 and 3
would be adjusted as well. Now this edge will remain constant, which
matches the behaviour of i3.
To do this operation correctly, the resize tiling seatop now keeps track
of two containers, as the container that resizes horizontally will be a
different container to the one which resizes vertically (one will be an
ancestor). The tiling resize seatop now figures out these containers
during the start of the operation and keeps references to them in the
event. A new function container_find_resize_parent has been introduced
to do this. This function is also used by the resize command.
During cursor motion, the seatop logic is similar to before, but now has
to choose the correct container to resize.
In resize.c, container_resize_tiled and resize_tiled have been merged
into one. One of them originally did nothing except pass the values
through to the other.
container_resize_tiled now takes a simplified approach where it just
finds the immediate siblings on either side and resizes them without
worrying about the others. The parellel_coord and parallel_size
functions are no longer needed and have been removed.
|
|
When resetting the keyboard during reload, disarm the key repeat on all
keyboards since the bindings (and possibly keyboard) will be freed before
the key repeat can go off.
|
|
Adds a note about assuming a tab width equal to 4 spaces when
determining the line length to CONTRIBUTING.md
|
|
|
|
Remove 'input' field of IPC command return json
|
|
Patch tested by compiling with `__attribute__ ((format (printf, 2, 3)))`
applied to `cmd_results_new`.
String usage constants have been converted from pointers to arrays when
encountered. General handler format strings were sometimes modified to
include the old input string, especially for unknown command errors.
|
|
This field is not in i3 and provides imprecise and redundant information.
(Specifically, when swaymsg is given a list of commands, the IPC return
array already indicates precisely which number command failed; knowing
the name of the command is not useful when multiple commands of the
same type are provided.)
|
|
Replace resize_axis with wlr_edges
|
|
|
|
swaynag: handle empty $XDG_CONFIG_HOME better
|
|
Set config path to fallback instead of setting $XDG_CONFIG_HOME
|
|
This patch removes the resize_axis enum in favour of wlr_edges. As
wlr_edges has no `horizontal` or `vertical` value, it denotes these by
bitwise `or`ing the left/right and up/down values. Two constants are
defined to make it easier to refer to these.
This will allow the tiling resize seatop to utilise the functions in
this file. resize_axis was local to the resize command and couldn't be
exposed in function arguments.
|
|
Split swaylock into separate project
|
|
|
|
|
|
Add xwayland command
|
|
Improve mouse button parsing: bar mouse bindings
|
|
Improve mouse button parsing: seat cursor buttons
|
|
Improve mouse button parsing: input scroll_button
|
|
Refactor seat operations to use an interface
|
|
reload: reset input configs
|
|
swaybar: obey height if given
|
|
input events: toggle and ipc get_inputs
|
|
swaybar: adjustable status padding
|
|
swaybar: allow identifiers for output and tray
|
|
This allows `bar output` and `bar tray_output` to specify an output
identifier. Output names should still work as well.
This parses the output identifier from the xdg_output description,
which wlroots currently sets to `make model serial (name)`. Since this
could change in the future, all identifier comparisons are guarded by
NULL-checks in case the description cannot be parsed to an identifier.
|