aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-01-30Check the output state for recorded workspacesKonstantin Pospelov
Sway records pid, workspace, and output for every new process. However, if the output gets disabled and the workspace disappears, the workspace is still re-created on the disabled output. This commit adds a check for the enabled flag, so that NULL will be passed to workspace_create() in this case.
2021-01-30desktop/layer_shell: Fix allocation type mismatchManuel Stoeckl
2021-01-26desktop/output: Disable head if mode is NULLKenny Levinsen
wlr_output_configuration_head_v1_create normally fills out the head "enabled" field to match the wlr_output state. We overwrite this to also set the head as enabled if it is only turned off with DPMS. However, in some cases we may not have a mode for this display, in which case setting it as enabled will lead to a segfault later on. Therefore, enabled conditional on the presence of a mode.
2021-01-26Fix typo in bug reporting templateMartin Michlmayr
2021-01-25Implement foreign toplevel fullscreen output hintsfwsmit
2021-01-20Adhere to ICCCM focus specificationBrassyPanache
For certain applications (e.g. JetBrains) the parent window controls input. We need to adhere to the ICCCM input focus specification to properly handle these cases. Relates to swaywm/wlroots#2604
2021-01-17Log when config file is not foundSimon Ser
This happens when Sway is not installed on the system, so there's no default config in /etc.
2021-01-17Raise verbosity of error message in load_main_configSimon Ser
2021-01-16Changed fprintf(stdout,...) to printf(...) for more readable codeSpizzyCoder
2021-01-15config/output: correct refresh rate rounding errorRonan Pigott
2021-01-15swaymsg: use 3 digits for fractional part of the refresh rateRonan Pigott
The fractional part of the real number we want to represent never has more than 3 decimal digits, so use 3 decimal digits of precision. e.g. 'swaymsg -t get_outputs' would show a refresh rate of 59934 mHz as 59.933998 Hz, now correctly as 59.934 Hz.
2021-01-12protocols: update layer-shell-unstable-v1 to v4Simon Ser
This is taken from wlr-protocols commit d1598e82240d ("layer-shell: add keyboard_interactivity.on_demand").
2021-01-12Rename output_layer_for_each_surface_{toplevel,popup}Simon Ser
Swap the "surface" part for consistency with wlroots' naming.
2021-01-12Switch to wlr_xdg_surface_for_each_popup_surfaceSimon Ser
Instead of calling wlr_xdg_surface_for_each_popup and then wlr_surface_for_each_surface, use the new for_each_popup_surface helper introduced in [1] that does it in one go. [1]: https://github.com/swaywm/wlroots/pull/2609
2021-01-11Fix #5940Mukundan314
Fallback to focused_statusline instead of statusline on focused output
2021-01-08desktop/xwayland: use index constants for atom arraySimon Ser
This ensures we don't swap two atoms by mistake.
2021-01-08man: update maintainerSimon Ser
Also remove the AUTHORS section from swaybar-protocol(7), for consistency with the rest of the man pages.
2021-01-08readme: remove unused refSimon Ser
2021-01-04Remove call for action from WM enhancement issue templateSimon Ser
i3 feature set is mostly frozen as well, so we shouldn't advise people to open feature requests there. Moreover, i3 will disregard feature requests from sway users (because it doesn't benefit the i3 project itself). There is now no good way to request new WM features, and this is by design. This aligns with [1]. [1]: https://github.com/swaywm/sway/commit/fc1148da7f9c7bfc81f29e2b8304ae4e1592d95d
2021-01-04CONTRIBUTING.md: Add note on sway's scopeDrew DeVault
2021-01-04cmd_move: update container representation in sibling swapsRonan Pigott
2021-01-01input/seat: Reset command handler context in seat_destroy()Andri Yngvason
This fixes a dangling reference which causes a use-after-free.
2021-01-01input/seat: Clean up focus_stack in seat_destroy()Andri Yngvason
This fixes use-after-free when seat_destroy() has been called.
2021-01-01input: Clean up input_method_relay in seat_destoy()Andri Yngvason
This fixes a crash that happens when input_method_new or text_method_new events are emitted after the seat has been freed.
2020-12-30Remove create_renderer_func argumentSimon Ser
It's removed upstream [1]. [1]: https://github.com/swaywm/wlroots/pull/2561
2020-12-29ci: enable basu on freebsdJan Beich
2020-12-26Remove Patreon links from README.*.mdDrew DeVault
2020-12-26Remove .github/FUNDING.ymlDrew DeVault
Since I'm no longer a maintainer of, or regular contributor to, this project, it doesn't make sense to solicit donations.
2020-12-26grimshot: Fix man page issuesWilliam Culhane
This fixes a few formatting errors in SYNOPSIS, moves the command options out of SYNOPSIS, swaps the labels on the SYNOPSIS and DESCRIPTION sections, creates an EXAMPLES section and slightly rewords parts of the OPTIONS, DESCRIPTION, EXAMPLES, and OUTPUT sections.
2020-12-24container: set fullscreen mode before attempting focusRonan Pigott
2020-12-20workspace: rework workspace prev|next like i3Ronan Pigott
Changes workspace prev|next commands to visit each numbered or named workspace first before considering workspace from the other category
2020-12-20commands/move: reset geometry of promoted containersRonan Pigott
2020-12-20commands/move: squash workspace after directional con moveRonan Pigott
2020-12-20introduce workspace_squashRonan Pigott
workspace_squash is container_flatten in the reverse direction. Instead of eliminating redundant splits that are parents of the target container, it eliminates pairs of redundant H/V splits that are children of the workspace. Splits are redundant if a con and its grandchild have the same layout, and the immediate child has the opposite split. For example, layouts are transformed like: H[V[H[app1 app2]] app3] -> H[app1 app2 app3] i3 uses this operation to simplify the tree after moving heavily nested containers to a higher level in the tree via an orthogonal move.
2020-12-20commands/move: rework container_move_in_directionRonan Pigott
This changes the move command to better match i3 behavior after the layout changes. workspace_rejigger handled the case where containers would escape their workspace in an orthogonal move by changing the layout to accomodate them, but this case is now handled within the loop.
2020-12-20Change workspace_layout to match i3 behaviorRonan Pigott
In i3, the workspace_layout command does not affect the workspace layout. Instead, new workspace level containers are wrapped in the desired layout and the workspace layout always defaults to the output orientation.
2020-12-20Revert "commands/move: maintain workspace_layout when moving"Ronan Pigott
This is in preparation for changing the workspace_layout command to work like it does in i3. This reverts commit b4a75a1ab2a72842830aeea37733311f85e6f660.
2020-12-20commands/move: don't flatten on move; reap empty former parent insteadTudor Brindus
Some comparisons of current Sway versus i3 behavior: 1) T[T[T[app]]] + move left * Sway: T[app] * i3: T[T[app]] 2) H[V[H[V[app]]]] + move left * Sway: H[app] * i3: H[V[app]] After this commit, Sway behavior matches i3. The intermediate states are now: T[T[T[app]]] -> T[T[app T[]]] -> T[T[app]] H[V[H[V[app]]]] -> H[V[app H[V[]]]] -> H[V[app]]
2020-12-20commands/layout: don't change the layout of workspaces with childrenRonan Pigott
In i3 the layout command on a workspace affects the workspace layout only on empty workspaces. Otherwise children are placed in a new container with the desired layout to preserve the workspace layout.
2020-12-20container: don't split single childrenRonan Pigott
In i3 splits are ineffective on singleton H/V containers, and the command is interpreted to affect the parent layout instead.
2020-12-20Test output before direct scan-outSimon Ser
This avoids some log spam. Eventually when we wire up the atomic test commit this will take care of the other log spam referenced below. References: https://github.com/swaywm/sway/pull/5010 References: https://github.com/swaywm/wlroots/issues/2181 Closes: https://github.com/swaywm/wlroots/issues/2532
2020-12-18readme: use references for linksSimon Ser
This avoids cluttering the README text with URLs.
2020-12-18ISSUE_TEMPLATE: the wiki is community maintainedRouven Czerwinski
Mention that the github wiki may contain outdated information scripts and old workarounds and that sway the sway project does not provide support for it.
2020-12-18readme: remove link to non-existing wiki pageSimon Ser
2020-12-18readme: releases are signed with E88F5E48Simon Ser
See https://github.com/swaywm/wlroots/issues/2462#issuecomment-723578521
2020-12-16Fix swaybar tray for non-systemdArav K
Meson's generated config.h header defines false macros as 0, not undefined. This means that the header line, which was checking for the definition existing, not a non-zero value, was incorrect. Now the swaybar tray can be used with systemd, elogind, or basu.
2020-12-14ci: fix archlinux buildsRonan Pigott
The "xorg-server-xwayland" package has become "xorg-xwayland" in Arch. Our egl requirement was previously satisfied by xorg-server-xwayland's dependency on libgl, which "xorg-xwayland" does not have. So add the libegl dependency as well.
2020-12-10common/log: write log importanceSimon Ser
When colors aren't used, write the log importance to stderr. This makes it easier to grep for errors and avoids mistaking error messages for debug messages. This is [1] ported to Sway. [1]: https://github.com/swaywm/wlroots/pull/2149
2020-12-09Route wlroots logs into Sway logging infrastructureSimon Ser
Instead of letting wlroots print messages to stdout, route debugging messages into Sway's logging functions. This allows a more consistent output (e.g. if Sway or wlroots changes its output style, they don't get out-of-sync). I also added a [wlr] prefix to wlroots messages, not yet sure it's a good thing.
2020-12-09build: add basu as sd-bus providerSimon Ser