Commit graph

2645 commits

Author SHA1 Message Date
Ryan Dwyer 7c7d24600b Fix ancestor typos 2018-05-28 12:45:42 +10:00
Ryan Dwyer 9df1432f56 Refactor parse_title_format
Don't read properties until needed, and do it with less lines of code.
2018-05-28 12:03:43 +10:00
Drew DeVault b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
Focus containers only on entry.
2018-05-27 15:42:39 -04:00
Drew DeVault 53a3fc63c5
Merge pull request #2055 from RedSoxFan/output-destroy-workspace-ipc
Send workspace::move in container_output_destroy
2018-05-27 15:42:08 -04:00
frsfnrrg a78a5684ea Implement bindsym/bindcode --locked
Adds the --locked flag to bindsym and bindcode commands.

When a keyboard's associated seat has an exclusive client
(i.e, a screenlocker), then bindings are only executed if
they have the locked flag. When there is no such client,
this restriction is lifted.
2018-05-27 13:28:02 -04:00
Scott Leggett 4d8120ccf3 Improve comment. 2018-05-28 02:35:24 +10:00
Brian Ashworth fd137c4f05 Send workspace::move in container_output_destroy 2018-05-27 12:27:18 -04:00
Scott Leggett b57f88e7db Avoid assert on container type. 2018-05-28 02:25:42 +10:00
Scott Leggett 1b8de39287 Move previous cursor_position inline. 2018-05-28 02:14:19 +10:00
emersion 9c0cc98d07
Don't move empty workspaces when output is destroyed 2018-05-27 16:58:31 +01:00
Scott Leggett d1ebbebea0 Remove unused function. 2018-05-28 01:38:46 +10:00
Scott Leggett 0039f7a4fd Simplify logic, remove redundant variables. 2018-05-28 01:38:46 +10:00
Scott Leggett dd86444e59 Rely on view_is_visible rather thank walking the tree ourselves. 2018-05-28 01:38:46 +10:00
Scott Leggett 4cd304e4ba Store previous position in sway_cursor. 2018-05-28 01:37:43 +10:00
Ryan Dwyer 8fda41dab5
Merge branch 'master' into cmd-swap 2018-05-28 00:14:22 +10:00
Drew DeVault a372852c44
Merge branch 'master' into xdg-shell-tiled 2018-05-27 08:58:10 -04:00
emersion b350e8ec82
xdg-shell: make all toplevels tiled 2018-05-27 13:28:37 +01:00
Ryan Dwyer d3dd7e5bae Rename view_get_type to view_get_shell 2018-05-27 22:02:00 +10:00
Ryan Dwyer 484cc189e9 Add shell criteria token
Closes #2044.
2018-05-27 22:02:00 +10:00
Scott Leggett 06098bef98 Focus containers only on entry. 2018-05-27 15:29:48 +10:00
Ryan Dwyer 51865c00c8 Add %app_id to title_format 2018-05-27 09:50:38 +10:00
Brian Ashworth 569f4e0e4c Implement swap command 2018-05-26 11:05:02 -04:00
Drew DeVault fea654a6ce Replace oft-failing abort with if statement
Fixes #2045
2018-05-26 10:35:15 -04:00
Ivan Chebykin 464ec44b00
Check for next_focus before assert 2018-05-26 15:54:49 +03:00
Ivan Chebykin 6e6b0decd9
Fix usage of sway_assert 2018-05-26 15:51:36 +03:00
Ivan Chebykin 820a8c9c2d
Moved visibility check of of loop, added asserts 2018-05-26 13:34:14 +03:00
Ivan Chebykin 740234a4bc
Break after first tabbed/stacked layout 2018-05-25 17:45:41 +03:00
Ivan Chebykin 53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers 2018-05-25 17:22:25 +03:00
Ivan Chebykin f85d3e15ba
Fixed styling issues 2018-05-25 16:54:43 +03:00
Ivan Chebykin e19fe56e2f
Focus inactive container instead of checking cursor position 2018-05-25 16:54:43 +03:00
Ivan Chebykin 3b67253312
Skip all nested containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin c62efbb5ce
Implement correct focusing for tabbed containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin c1be4b0153
Fix focusing from other containers 2018-05-25 16:54:43 +03:00
Ivan Chebykin 87af08966a
Don't focus tabbed and stacked containers on mouseover 2018-05-25 16:54:43 +03:00
emersion 24832d8574
Update for swaywm/wlroots#1000 2018-05-25 13:55:47 +01:00
emersion 01abab8838
Merge pull request #2017 from emersion/wlroots-993
Update for swaywm/wlroots#993
2018-05-25 13:54:54 +01:00
Drew DeVault ab74c95d56
Merge pull request #2036 from RyanDwyer/workspace-switch-on-map
Switch workspace if required when mapping a view
2018-05-25 08:47:08 -04:00
Drew DeVault daf328d054
Merge pull request #2033 from RyanDwyer/arrange-after-flatten
Arrange views after flattening the parent
2018-05-25 08:43:57 -04:00
Drew DeVault a268a0c2ae
Merge pull request #2034 from RyanDwyer/cleanup-container-titles
Clean up container title functions
2018-05-25 08:41:01 -04:00
Ryan Dwyer f32a002401 Switch workspace if required when mapping a view
If a view is created on a workspace that wasn't visible, switch to it.

Fixes #1879.
2018-05-25 22:28:01 +10:00
Ryan Dwyer e496cc99f8 Fix focus bug when moving between outputs
When moving focus left or right to an adjacent output, only select the
first or last child in the new workspace if the workspace's layout is
horizontalish. If it's a verticalish layout, use the last focused
container.
2018-05-25 21:39:48 +10:00
Ryan Dwyer db38b9bbf3 Clean up container title functions
* Add and use lenient_strcat and lenient_strncat functions
* Rename `concatenate_child_titles` function as that's no longer what it
does
* Rename `container_notify_child_title_changed` because we only need to
notify that the tree structure has changed, not titles
* Don't notify parents when a child changes its title
* Update ancestor titles when changing a container's layout
	* Eg. create nested tabs and change the inner container to stacking
* No need to store tree presentation in both container->name and
formatted_title
2018-05-25 21:07:59 +10:00
Ryan Dwyer 320703fdca Arrange views after flattening the parent
Fixes #2029.
2018-05-25 16:42:55 +10:00
Ryan Dwyer c9630975da Fix crash in move workspace to output command
Fixes #2026.
2018-05-24 23:01:17 +10:00
Ryan Dwyer cdbae9a5e9 Fix nested tabs
Fixes #2023.
2018-05-24 17:38:31 +10:00
Brian Ashworth a6d43ff746 Implement IPC_GET_MARKS 2018-05-22 17:35:39 -04:00
Ryan Dwyer 5354988317 Implement clicking stacked title bars 2018-05-22 08:43:00 +10:00
Ryan Dwyer f6c3682c05 Use constants for titlebar dimensions 2018-05-22 08:27:42 +10:00
Ryan Dwyer 664169fbf1 Implement stacked layout 2018-05-22 08:27:24 +10:00
Drew DeVault 8bbf78fdd4 Fix focus follows mouse with no focus 2018-05-21 17:21:01 -04:00
emersion 708ff238f3
Update for swaywm/wlroots#993 2018-05-21 19:11:20 +01:00
Brian Ashworth 0273c6438c Fix hide_edge_borders smart for tabs and stacks 2018-05-21 13:18:18 -04:00
Ryan Dwyer 048b29527b Pre-multiply alpha for tab decorations 2018-05-21 20:16:56 +10:00
Ryan Dwyer 90607dc329 Add left/right borders to tabs 2018-05-21 20:16:56 +10:00
Ryan Dwyer 5ab4930185 Fix tab border issues 2018-05-21 20:16:56 +10:00
Ryan Dwyer 4672cb7ccf Use class or app_id in tree representation 2018-05-21 20:16:56 +10:00
Ryan Dwyer efc07fb3d4 Don't track damage for views on inactive tabs 2018-05-21 20:16:56 +10:00
Ryan Dwyer bd79584f65 Add assertion in container_at_view 2018-05-21 20:16:56 +10:00
Ryan Dwyer c08f9bf257 Implement tabbed layout 2018-05-21 20:16:56 +10:00
Ryan Dwyer c4ea2b51f6 Fix hide_edge_borders constraints
When checking if a border is on the edge, the check should be done
against the workspace rather than the output.
2018-05-21 13:59:01 +10:00
Brian Ashworth 82cd55a670 Fix border commands from changing focus 2018-05-20 23:12:33 -04:00
Drew DeVault cf3ab1f45f
Merge pull request #2007 from swaywm/fix-focus-follows-mouse
Fix focus_follows_mouse over swaybar
2018-05-20 16:05:53 -04:00
Drew DeVault a3d3c819cf Fix focus_follows_mouse over swaybar
If you moved your mouse over swaybar (e.g. to scroll between
workspaces), focus would move to the workspace. This is not the right
thing to do. The solution is complicated by the fact that if you move
your mouse into a new output with an empty workspace, that workspace
_should_ receive focus.
2018-05-20 14:46:29 -04:00
Brian Ashworth 750a497a8b Pre-multiply alpha for non-textures 2018-05-20 09:33:47 -04:00
Konstantin Pospelov fcc11f9771 Fix pixel bar below title
This commit changes how the left and right indents are calculated for the
title bottom pixel bar, so that it is displayed properly in case the left or
right border is hidden.
2018-05-19 18:39:01 +03:00
Ryan Dwyer 9fd28aea8c Rebuild textures if needed when moving a container
When moving a container to an output which has a different scale than
the previous, rebuild the title and marks textures at the new scale.

Fixes #1999.
2018-05-19 23:33:36 +10:00
Ryan Dwyer f0212d66ee Update marks textures on output scale event 2018-05-17 08:29:14 +10:00
Ryan Dwyer ebb0d051db Fix many border opacity issues 2018-05-17 08:29:14 +10:00
Ryan Dwyer b1645fb352 Update show_marks documentation 2018-05-17 08:29:14 +10:00
Ryan Dwyer 69ac7f73e7 Destroy marks textures when view destroyed 2018-05-17 08:29:14 +10:00
Ryan Dwyer b351d0a64a Set textures to null when destroying 2018-05-17 08:29:14 +10:00
Ryan Dwyer 5384fdcbc6 Don't show marks which start with an underscore 2018-05-17 08:29:14 +10:00
Ryan Dwyer 0e2cc0af30 Implement show_marks 2018-05-17 08:29:14 +10:00
Ryan Dwyer fc96f004d2 Don't steal focus when a view changes its title
Fixes #1989
2018-05-16 20:29:04 +10:00
Dominique Martinet 89ae1792b5 sway: run commands without waiting for Xwayland
Xwayland is lazy now, there is no need to wait at all
2018-05-16 16:50:56 +09:00
emersion 79e970d86e
Correctly clip title texture if necessary 2018-05-15 08:38:28 +01:00
Ryan Dwyer 4d1edfcba9 Change unmark implemention to match i3's 2018-05-15 11:24:16 +10:00
Ryan Dwyer 22d38600d0 Implement marks 2018-05-15 11:18:27 +10:00
Brian Ashworth 9ba0dca7ba
Merge branch 'master' into fix-1975 2018-05-14 09:06:23 -04:00
Brian Ashworth 77b42ec821 Always render top border for border normal 2018-05-14 09:04:18 -04:00
emersion 95a10dd4f3
Kill wl_shell 2018-05-14 13:26:10 +01:00
Brian Ashworth 3488fbc859 Fix y and height for a hidden top normal border 2018-05-14 01:46:53 -04:00
Brian Ashworth 34b864fb17
Merge branch 'master' into fix-1975 2018-05-14 00:28:21 -04:00
Brian Ashworth 6ff7c52736 Fix titles and detect edges for hide_edge_borders 2018-05-14 00:20:34 -04:00
Ryan Dwyer 92b8497a0b Fix crash when launching programs from dmenu 2018-05-14 11:48:15 +10:00
Ryan Dwyer 8432d8a15e xdg_shell: Replace get_prop with get_string_prop 2018-05-14 11:47:39 +10:00
Ryan Dwyer 490f92255c Initialise error_arg to NULL in criteria_parse 2018-05-14 11:38:09 +10:00
Ryan Dwyer 39007fc30f Fix double free in criteria 2018-05-14 11:38:09 +10:00
Ryan Dwyer bffcb496cc Revert "Revert "Merge pull request #1953 from RyanDwyer/criteria-focused""
This reverts commit ac0e62584f.

This reimplements the criteria __focused__ commit in preparation for
fixing a known bug.
2018-05-14 11:38:09 +10:00
Ryan Dwyer 1e9aaa54a8 Revert "Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements""
This reverts commit 32a572cecf.

This reimplements the criteria overhaul in preparation for fixing a
known bug.
2018-05-14 11:38:09 +10:00
Drew DeVault 404d006a1c Enable lazy xwayland 2018-05-13 14:18:07 -04:00
Drew DeVault b2dec12368
Merge pull request #1970 from emersion/xdg-shell-stable
Add xdg-shell stable support
2018-05-13 13:45:15 -04:00
emersion 88d9d43b36
Add xdg-shell stable support 2018-05-13 16:38:56 +01:00
Heghedus Razvan 789a877b37 Fix crash when using pango markup font
The characters & < > ' " needs to be escaped when using pango markup

Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-05-13 17:53:45 +03:00
Drew DeVault 61aa0937a7
Merge pull request #1824 from snaggen/idle
DPMS and lock handling
2018-05-13 10:11:10 -04:00
Ryan Dwyer 90e6dfa268
Merge branch 'master' into edge-borders 2018-05-13 11:45:11 +10:00
Brian Ashworth 0f43eac5dc Fix recursion when counting descendants of a type 2018-05-12 21:19:55 -04:00
Mattias Eriksson 8fbafbfab5 Idle handling for dpms/lockscreen et al
Swayidle handles idle events and allows
for dpms and lockscreen handling. It also
handles systemd sleep events, and can
raise a lockscreen on sleep

Fixes #541
2018-05-13 00:30:09 +02:00
emersion 360e63b8a7
Don't destroy view child on xdg-popup unmap 2018-05-12 19:33:38 +01:00
Brian Ashworth 2adf23c2a3 Only count views for hide_edge_borders smart 2018-05-12 12:56:26 -04:00
Brian Ashworth ec60e24f75
Merge branch 'master' into edge-borders 2018-05-12 12:43:34 -04:00
Brian Ashworth e3625d8f33 Count descendant views for hide_edge_borders smart 2018-05-12 12:37:48 -04:00
Drew DeVault e2b8eac4bf
Merge branch 'master' into wlroots-970 2018-05-12 09:30:00 -04:00
Drew DeVault 2da685e913 Merge remote-tracking branch 'origin/master' into scdoc 2018-05-12 09:01:16 -04:00
Drew DeVault 51b0b25587
Merge pull request #1959 from RyanDwyer/ipc-get-seats
Implement IPC get_seats command
2018-05-12 09:00:32 -04:00
Drew DeVault a2d7079b26 Merge branch 'master' into scdoc 2018-05-12 08:59:25 -04:00
Drew DeVault da679a8051 Fix typos 2018-05-12 08:58:48 -04:00
emersion 50298dc901
Send pointer discrete axis values and source
Update for swaywm/wlroots#970
2018-05-12 13:56:17 +01:00
Drew DeVault 32a572cecf Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"
This reverts commit 3e1bf721c6, reversing
changes made to 2217518bd5.
2018-05-12 08:52:54 -04:00
Drew DeVault ac0e62584f Revert "Merge pull request #1953 from RyanDwyer/criteria-focused"
This reverts commit 2511adffc2, reversing
changes made to 3e1bf721c6.
2018-05-12 08:52:48 -04:00
Ryan Dwyer c72940837c Implement IPC get_seats command 2018-05-12 18:17:36 +10:00
Ryan Dwyer 4717c71da5
Merge branch 'master' into fix-crash-on-fullscreen 2018-05-12 17:52:51 +10:00
Ryan Dwyer 94e42f9857 Implement __focused__ criteria 2018-05-12 12:34:12 +10:00
Drew DeVault 7a964651fb Remove sway-security(7)
We will need to overhaul this for 1.0
2018-05-11 21:31:59 -04:00
Drew DeVault d9a08b7a9d Add sway-input(5) 2018-05-11 21:25:05 -04:00
Drew DeVault 1813482266 Add sway-bar(5) 2018-05-11 21:13:43 -04:00
Drew DeVault 432256ad84 Add sway(5) 2018-05-11 21:03:43 -04:00
Drew DeVault c2a7d367af Wire up scdoc and rewrite sway(1) 2018-05-11 20:58:38 -04:00
Drew DeVault 3e1bf721c6
Merge pull request #1943 from RyanDwyer/criteria-improvements
Overhaul criteria implementation
2018-05-11 20:39:43 -04:00
Brian Ashworth 3db7fc2bb2 Implement hide_edge_borders 2018-05-11 18:44:56 -04:00
Dudemanguy911 935bda0f33 fix crash on fullscreen toggle 2018-05-11 07:42:56 -05:00
Drew DeVault 2217518bd5
Merge pull request #1956 from ggreer/move-focus
cmd_move_container: Focus a window on the source workspace.
2018-05-11 07:34:14 -04:00
Geoff Greer 87fa84df13 cmd_move_container: Focus a window on the source workspace.
In Sway 0.15, moving a window to another workspace would cause a window on the source workspace to be focused. This restores that behavior, allowing you to quickly move a lot of windows to another workspace.
2018-05-10 23:44:35 -07:00
Geoff Greer 0a79983f94 Allow setting border widths for normal borders using default_border.
In Sway 0.15, `default_border normal 1` would set 1px wide borders. This recreates that behavior.
2018-05-10 23:35:37 -07:00
Ryan Dwyer 8595fc5a6f Update criteria documentation 2018-05-11 10:43:10 +10:00
Ryan Dwyer 0bf0a4fa40 Don't unescape \\ in criteria 2018-05-11 10:42:24 +10:00
Ryan Dwyer 3b0c26d149 Overhaul criteria implementation
The criteria struct now uses properties for each token type rather than
the list_t list of tokens. The reason for this is that different token
types have different data types: pcre, string and number to name a few.
This solution should be more flexible moving forward. A bonus of this is
that criteria is now easier to understand when looking at the struct
definition.

The criteria parser has been rewritten because the previous one didn't
support valueless pairs (eg. [class="foo" floating]).

Criteria now has types. Types at the moment are CT_COMMAND,
CT_ASSIGN_WORKSPACE and CT_ASSIGN_OUTPUT. i3 uses types as well.
Previously the assign command was creating a criteria with 'move to
workspace <name>' as its command, but this caused the window to appear
briefly on the focused workspace before being moved to the assigned
workspace. It now creates the view directly in the assigned workspace.

Each view will only execute a given criteria once. This is achieved by
storing a list of executed criteria in the view. This is the same
strategy used by i3.

Escaping now works properly. Previously you could do things like
[class="Fire\"fox"] and the stored value would be 'Fire\"fox', but it
should be (and now is) 'Fire"fox'.

The public functions in criteria.c are now all prefixed with criteria_.

Xwayland views now listen to the set_title, set_class and
set_window_type events and criteria will be run when these happen. XDG
shell has none of these events so it continues to update the title in
handle_commit.

Each view type's get_prop function has been split into get_string_prop
and get_int_prop because some properties like the X11 window ID and
window type are numeric.

The following new criteria tokens are now supported:

* id (X11 window ID)
* instance
* tiling
* workspace
2018-05-11 09:38:53 +10:00
Ryan Dwyer 83e314bf51 Highlight all child borders when using focus parent 2018-05-11 09:20:46 +10:00
emersion 44fcc06efd
Fix damage tracking on HiDPI 2018-05-10 23:22:00 +01:00
emersion 90614f3a63
Accumulate surface damage even if whole=true 2018-05-10 23:03:51 +01:00
emersion c0f5d740a5
Damage container when updating title 2018-05-10 23:03:51 +01:00
emersion 70b80b4698
Damage container on focus 2018-05-10 23:03:50 +01:00
emersion bec80f1551
Damage borders when damaging view 2018-05-10 23:03:50 +01:00
emersion 98f7ee8f59
Render borders with damage 2018-05-10 23:03:50 +01:00
emersion c8a9ea3903
Implement full damage tracking 2018-05-10 23:02:37 +01:00
Drew DeVault 3bab37858a
Merge pull request #1932 from emersion/fix-layer-shell-exclusive
layer-shell: use usable_area when arranging non-exclusive layer surfaces
2018-05-10 08:19:03 -04:00
Ryan Dwyer 497793b5b7 Use reasonable default for font height
Fixes #1949
2018-05-10 21:24:00 +10:00
emersion 3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces 2018-05-10 12:19:38 +01:00
Dan Robertson 4ebd6f3507
Fix null deref in server_init
If the backend fails to be created, log an error and immidiately return
from server_init.
2018-05-09 16:32:55 +00:00
Ryan Dwyer 4922d269b8 Fix titles on rotated outputs
If the output is rotated, the scissor box needs to be transformed in the
opposite rotation.
2018-05-09 16:41:54 +10:00
Vincent Vanlaer 95dac2a069 Update xwayland start for new API
https://github.com/swaywm/wlroots/pull/959
2018-05-07 14:23:44 +02:00
Rostislav Pehlivanov b592351eef Revert "exec_always: Search for executables in /usr/lib/sway"
This reverts commit 7709340727.
2018-05-06 00:20:49 +01:00
Rostislav Pehlivanov 2c0c3dc7cc Revert "Make the LIBDIR path configurable"
This reverts commit 1670b46bf6.
2018-05-06 00:19:52 +01:00
Rostislav Pehlivanov 0cdc47ab1e Revert "Meson: Replace option instlibdir with libexecdir"
This reverts commit 830c4ef74c.
2018-05-06 00:19:43 +01:00
Rostislav Pehlivanov cf602687c6 Revert "command/exec_always: Use wlr_log for logging errors in the child process"
This reverts commit 177c67e6b8.
2018-05-06 00:19:29 +01:00
Ryan Dwyer 556ff5f50e Implement pango support
Implements support for the pango: prefix in the font command.

Closes #1903.
2018-05-06 08:25:22 +10:00
Ryan Dwyer 1daf69477e Fix PATH setenv() in exec_always 2018-05-06 08:16:34 +10:00
emersion 786727d8bb
Merge branch 'master' into usr-lib 2018-05-05 20:03:46 +01:00
Nicolas Braud-Santoni 177c67e6b8 command/exec_always: Use wlr_log for logging errors in the child process 2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni 830c4ef74c Meson: Replace option instlibdir with libexecdir
Derive a value from it, called `rundir` rather than writing join_paths(libexecdir,
'sway') all over the place.
2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni 1670b46bf6 Make the LIBDIR path configurable 2018-05-05 17:22:46 +02:00
Nicolas Braud-Santoni 7709340727 exec_always: Search for executables in /usr/lib/sway 2018-05-05 17:22:46 +02:00
Ryan Dwyer 936226845f Add extra check for view title being NULL 2018-05-05 22:29:37 +10:00
Ryan Dwyer 5d6d24e71a Move code for re-arranging after font height change into a common place 2018-05-05 22:29:37 +10:00
Ryan Dwyer da7d6642d3 Refactor parse_title_format() 2018-05-05 22:29:37 +10:00
Ryan Dwyer d10a0a8c41 Fix memory leak in title_format command 2018-05-05 22:29:37 +10:00
Ryan Dwyer 228c478e8d Implement title_format
This implements the title_format command, with a new placeholder %shell
which gets substituted with the view type (xwayland, xdg_shell_v6 or
wl_shell).

Example config:

    for_window [title=".*"] title_format %title (class=%class instance=%instance shell=%shell)
2018-05-05 22:29:37 +10:00
Ryan Dwyer e83e5487be Use scissor to render title texture
This allows the title's texture to always be the full width of the text,
and clipped at render time according to the desired width (eg. tabs...).

As an added bonus, the texture no longer needs to be updated when
containers are arranged.
2018-05-05 20:32:31 +10:00
Alex Xu (Hello71) 3202c45054 Check for NULL in container_update_title
Fixes crash when opening Firefox developer tools.
2018-05-04 11:10:01 -04:00
Drew DeVault 029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
Default to backend-wise input device mapping, if any
2018-05-03 10:46:02 -04:00
Drew DeVault d233e75eec Hide cursor on touch down 2018-05-03 10:39:34 -04:00
Drew DeVault 00e62c214d Fix alphabetization of command list 2018-05-03 09:24:13 -04:00
emersion 424006089e
Default to backend-wise input device mapping, if any 2018-05-03 14:16:17 +01:00
emersion 29224e7aec
Fix segfault when running the resize command without arguments 2018-05-03 14:04:39 +01:00
Ryan Dwyer ed0d606c2a Fix title texture width
Use max of the container width or text width.
2018-05-03 22:51:14 +10:00
Drew DeVault 85396b90fb Fix unfocused.text default 2018-05-03 08:22:16 -04:00
Drew DeVault 58a033d816 Convert border_colors.text to float[4] 2018-05-03 08:14:17 -04:00
Drew DeVault 8f06aa7598 Fix anti-aliasing 2018-05-03 08:12:26 -04:00
Ryan Dwyer 74d1367fac Update titles when surfaces are committed 2018-05-03 15:42:49 +10:00
Ryan Dwyer 89d1571041 Fix potential segfault when setting container title 2018-05-03 15:23:39 +10:00
Ryan Dwyer 55b307cddf Calculate config->font_height based on existing container titles 2018-05-03 15:12:00 +10:00
Ryan Dwyer b667298a0a Render titles 2018-05-03 15:12:00 +10:00
Drew DeVault 52aa245b24 Implement basic touch support
This required changing container_at_cursor to container_at_coords so
that we could get the appropriate surface (and sx/xy) without moving the
cursor.

Future work:

- Simulate a cursor for clients which have not bound to wl_touch
- Keep sending motion events when moving outside the surface (#1892)
- Bind gestures to sway commands
2018-05-02 09:00:26 -04:00
Dillen Meijboom b45e2bd95e Fixed #1888 GCC cannot compile due to uninitialized variables (#1889) 2018-05-02 10:40:45 +01:00
Ryan Dwyer daab8e3503 Support alpha in border colours
The alpha component is merged with the container's opacity.

Completes #1882.
2018-05-02 08:40:38 +10:00
db 22170bde77 Fix layer surface crash on output destroy
Before freeing sway_output, NULL the wlr_output reference to it. Check for that
NULL in layer_shell handle_destroy. Don't damage null container in unmap.
Additionaly, terminate swaybg if its output is being disabled.
2018-05-01 19:05:32 +02:00
Ryan Dwyer cb07434913 Remove unnecessary pointers 2018-05-01 22:48:57 +10:00
Ryan Dwyer 51df1d4ff8 Update cursor when border is changed 2018-05-01 22:42:08 +10:00
Drew DeVault 7f574c538d Fix alphabetization of commands array 2018-05-01 07:46:57 -04:00
Ryan Dwyer 83952c5201 Restore view_update_position() 2018-05-01 07:46:57 -04:00
Ryan Dwyer 55577498c0 Allow clicking view decorations to focus view 2018-05-01 07:46:57 -04:00
Ryan Dwyer 700510b45e Implement indicator border 2018-05-01 07:46:57 -04:00
Ryan Dwyer ed9e2015b2 Scale borders according to output scale 2018-05-01 07:46:57 -04:00
Ryan Dwyer 0375f966f1 Fix surface offset when using borders 2018-05-01 07:46:57 -04:00
Ryan Dwyer fa5de2876e Move docblock and fix indenting of switch/case. 2018-05-01 07:46:57 -04:00
Ryan Dwyer 630ba30e3c Implement borders
Implements rendering of borders. Title text is still to do.

Implements the following configuration directives:

* client.focused
* client.focused_inactive
* client.unfocused
* client.urgent
* border
* default_border
2018-05-01 07:46:57 -04:00
Ryan Dwyer 91f97fc21a Fix segfault in view_unmap()
If the last remaining view on a workspace is unmapped and the workspace
is not visible, parent will be a C_OUTPUT. Call the arrange_output()
function in this case.
2018-05-01 17:18:20 +10:00
Ryan Dwyer 312fdf313f Remove arrange_windows()
After the refactor, this function is no longer called.
2018-04-30 08:47:38 +10:00
emersion 976e6b99b6
Merge branch 'master' into refactor-arrange-windows 2018-04-29 13:10:59 +01:00
Drew DeVault 24ab66d123
Merge pull request #1867 from emersion/wlroots-923
Update for wlroots#923
2018-04-29 08:00:20 -04:00
emersion 3fd8897abe
Don't call view_set_fullscreen on unmapped xwayland views 2018-04-28 20:44:42 +01:00
Ryan Dwyer 167c2e1aa9 Refactor arrange_windows()
Replaces arrange_windows() with arrange_root(), arrange_output(),
arrange_workspace() and arrange_children_of().

Also makes fullscreen views save and restore their dimensions, which
allows it to preserve any custom resize and is also a requirement for
floating views once they are implemented.
2018-04-28 11:26:14 +10:00
emersion 860d2384b4
Update for swaywm/wlroots#923 2018-04-27 17:30:45 +01:00
Geoff Greer 5587af1782 Rename len to msg_len. Avoids an aliased variable that was a little confusing to follow. 2018-04-26 18:16:29 -07:00
Geoff Greer b9726afd48 invoke_swaybar(): Set process group. Kill process group.
Fixes a bug where terminate_swaybar() did not terminate swaybar.
2018-04-26 18:13:44 -07:00
emersion ff61df17ff
Add map_from_region command 2018-04-26 10:53:47 +01:00
Ryan Dwyer ae39d7b28c Remove sway_container.workspace_layout
Fixes #1716.
2018-04-26 10:14:18 +10:00
Drew DeVault c54097428a
Merge branch 'master' into criteria-commands 2018-04-25 11:00:56 +02:00
emersion df245780d2
Do not let tiled xwayland views do what they want 2018-04-24 18:19:26 +01:00
emersion 3ed3bdf03f
Fix segfault when switching back to workspace with osu! 2018-04-24 18:18:49 +01:00
Ryan Dwyer dfc26c664f Update wording about unmanaged/unmapped views 2018-04-24 20:14:22 +10:00
Ryan Dwyer 689a6a5605 Use size_t instead of int and calloc instead of malloc 2018-04-24 20:08:32 +10:00
Ryan Dwyer 30a7488936 Add assert to view_execute_criteria() 2018-04-24 20:08:32 +10:00
Ryan Dwyer 72767e1cc3 Implement criteria commands
Implements the following commands:

* for_window [...] <cmdlist>
* assign [...] <workspace>
2018-04-24 20:08:32 +10:00
Ryan Dwyer 22b9169631 Fix crash in container_descendants()
If root is a C_VIEW, the children property is a null pointer.
2018-04-24 12:27:04 +10:00
Drew DeVault 420a669f21 Updates per swaywm/wlroots#887 2018-04-23 11:15:07 +02:00
Ryan Dwyer fbb5198e43 Sort workspaces after rename 2018-04-23 18:54:45 +10:00
Ryan Dwyer d956286b92 Implement rename workspace command
This implements the following commands:

* rename workspace to new_name
* rename workspace old_name to new_name
* rename workspace number n to new_name
2018-04-23 18:54:45 +10:00
Ryan Dwyer 4d2b3fc950 Render unmanaged xwayland views when an xwayland view is fullscreen
This makes Chromium and Firefox context menus appear when fullscreen.
2018-04-23 09:20:19 +10:00
emersion a41057714f
Update for wlroots#885 2018-04-21 19:12:49 +01:00
Drew DeVault 72149111a5
Merge pull request #1838 from emersion/use-wlr-renderer-init-wl-shm
Use wlr_renderer_init_wl_shm
2018-04-21 15:22:08 +02:00
Drew DeVault 4386dcb624
Merge pull request #1837 from emersion/cursor-default-to-current-time
Default to current time when triggering cursor events
2018-04-21 15:21:52 +02:00
emersion b96d774c70
Use wlr_renderer_init_wl_shm 2018-04-21 14:08:48 +01:00
emersion 4cf77e1de4
Default to current time when triggering cursor events 2018-04-21 14:07:22 +01:00
Drew DeVault 6e6decf385
Merge pull request #1834 from emersion/xwayland-no-unmap-on-destroy
Don't unmap on destroy, this is already guaranteed by wlroots
2018-04-21 14:47:44 +02:00
emersion 33ed279494
Update cursor when workspace focus changes 2018-04-21 12:46:48 +01:00
emersion 17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots 2018-04-20 16:24:34 +01:00
Ryan Dwyer 34429a3605 Keep view fullscreened when moving to another workspace.
container_handle_fullscreen_reparent() must be called *after* setting
the container's new parent.
2018-04-20 21:26:14 +10:00
Ryan Dwyer 6afccd07d9 Add TODO about rendering fullscreen views smaller than the output 2018-04-20 08:12:03 +10:00
Ryan Dwyer 76837b9132 Ignore xdg_shell_v6 request_fullscreen if not mapped 2018-04-20 08:10:58 +10:00
Ryan Dwyer bd67342bdc Don't render top layer when fullscreen. 2018-04-20 08:08:34 +10:00
Drew DeVault 777800e37a Fix qutebrowser crash on context menu dismissal 2018-04-19 09:15:21 -04:00
Drew DeVault 21eb63cc9e
Merge branch 'master' into fullscreen 2018-04-19 08:56:03 -04:00
Ryan Dwyer 9ab61716b5 Correct the repeat_rate documentation. 2018-04-19 13:48:20 +10:00
Ryan Dwyer 9d3739a6f7 Split repeat commands into separate files. 2018-04-19 13:47:29 +10:00
Ryan Dwyer 9715e38ca8 render_output(): When fullscreen, clear to black and don't render background 2018-04-19 13:01:43 +10:00
Ryan Dwyer 45a2fad0de container_get_in_direction(): Don't split this function 2018-04-19 12:53:02 +10:00
Ryan Dwyer 7e38cc2e05 arrange_windows(): Calculate workspace properties when fullscreen 2018-04-19 12:50:53 +10:00
Ryan Dwyer 2acfbc519e xdg_shell_v6: Use client_pending state instead of current
It appears client_pending is the state that should be used here.
2018-04-19 12:47:34 +10:00
Ryan Dwyer 1285f01b13 Merge branch 'master' into fullscreen 2018-04-19 12:44:13 +10:00
Ryan Dwyer 5b30391383 Make key repeat configurable
This creates two input commands for configuring the repeat delay and rate.

Example config:

    input "myidentifier" {
        repeat_delay 250
        repeat_rate 25
    }
2018-04-18 23:19:23 +10:00
Ryan Dwyer 8d06b222f0 Fullscreen rendering and input fixes.
* Render background when using fullscreen, because transparency.
* Check that fullscreen surface allows input.
* Don't look for surfaces in top layer if there's a fullscreen view.
2018-04-18 13:06:10 +10:00
Ryan Dwyer 35ccdd67a8 More fullscreen fixes.
* Render fullscreen views without wlr function, which makes popups and
lockscreen work.
* Don't allow input events to surfaces behind fullscreen views.
* Use correct output dimensions (for rotated outputs).
2018-04-18 08:35:28 +10:00
emersion 7114451607
Destroy display in server_fini 2018-04-17 23:15:11 +01:00
Ryan Dwyer 72beae209b Fullscreen fixes. 2018-04-18 00:10:32 +10:00
Ryan Dwyer cc4da245a8 Fix views unmapping their own fullscreen windows. 2018-04-17 11:06:03 +10:00
Ryan Dwyer 143b528f71 Handle fullscreen flag when mapping a surface. 2018-04-17 11:04:57 +10:00
Ryan Dwyer a44d016e2b Don't damage views if they're hidden by a fullscreen view. 2018-04-17 10:58:42 +10:00
Ryan Dwyer c685ef081f Create sway_workspace struct. 2018-04-17 09:31:34 +10:00
Ryan Dwyer bfd5834f4c Feedback for fullscreen. 2018-04-17 08:11:50 +10:00
Ryan Dwyer 52420cc24d Implement fullscreen. 2018-04-16 20:36:40 +10:00
db f555edf353 remove empty workspace when focusing its output
Until now, focus changing code only considered cleaning up the last focused
workspace. This commit adds removal of empty workspace from output that just
received focus on a different workspace.

Fixes: #1797
2018-04-15 08:30:30 +02:00
Dominique Martinet 8490d1662c Fix gcc maybe-uninitialized warning 2018-04-13 22:47:27 +09:00
Dominique Martinet 25af959fe9 Fix gcc string truncation warnings 2018-04-13 22:47:27 +09:00
emersion 2b34bf1882
Merge branch 'master' into crashes 2018-04-13 09:14:37 -04:00
emersion bdaf420ead
Do not call the map handler when an xwayland surface is created 2018-04-13 14:43:41 +02:00
Dominique Martinet de65d05821 container_destroy: fix segfault
cont->children doesn't have to be NULL when there is no children
2018-04-13 14:58:23 +09:00
Dominique Martinet 1fd21650d7 seat_set_focus_wrap: fix use-after-free when destroying last focused container 2018-04-13 14:58:23 +09:00
Danny Bautista c53b2edd41 Add documentation for seat cursor command. 2018-04-10 15:44:02 -04:00
Danny Bautista c355d680e9 Clean up cursor simulation code. 2018-04-10 15:40:27 -04:00
Danny Bautista 1edb2bd892 Implement cursor event simulation with sway commands. 2018-04-10 12:40:50 -04:00
db 63b2543749 Add workspace_auto_back_and_forth for move cmd 2018-04-09 21:34:56 +02:00
Drew DeVault 07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
Focus inactive fixes
2018-04-08 16:05:03 -04:00
Drew DeVault 0e3ddf255e Add input "identifier" map_to_output "identifier" 2018-04-08 15:09:12 -04:00
Tony Crisci 8ecd89b7ef address feedback 2018-04-08 14:22:20 -04:00
Tony Crisci ae78f6fb93 Merge branch 'wlroots' into focus-inactive-fixes 2018-04-08 12:47:56 -04:00
Drew DeVault 9c5a88a7bd Fix cursor motion issues
Use only one canonical cursor x/y position and send cursor enter when
mouse is warped.

Tangentally related to #1714
2018-04-08 12:42:56 -04:00
Tony Crisci 70b33342fe criteria match containers 2018-04-08 12:13:09 -04:00
emersion 5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces 2018-04-08 11:43:18 -04:00
Tony Crisci 46280460a5 push all parents of focused container in focus stack 2018-04-08 11:34:38 -04:00
Drew DeVault efff7c4225
Merge pull request #1776 from emersion/wlroots-remove-backend-egl
Update for wlroots#850
2018-04-08 11:34:02 -04:00
emersion 9570e37016
Update for wlroots#850 2018-04-08 11:19:14 -04:00
Drew DeVault 8763957344
Merge pull request #1774 from swaywm/tablet-tool
Implement tablet tool support
2018-04-08 11:16:56 -04:00
Drew DeVault 9114d3b84c Implement tablet tool support 2018-04-08 10:48:13 -04:00
db 042b80b9fa Add workspace_auto_back_and_forth command
This is the only missing piece - other code regarding this functionality has
already been ported from pre-wlroots source.
2018-04-08 16:44:59 +02:00
Tony Crisci 9db859585e container_create_notify on split 2018-04-07 18:01:18 -04:00
Tony Crisci 0ff22c1755 implement ipc focus stack 2018-04-07 16:23:53 -04:00
Tony Crisci de811823b6 seat focus inactive children foreach 2018-04-07 16:14:12 -04:00
Tony Crisci c0f9ee7bd1 seat get focus inactive view 2018-04-07 16:06:36 -04:00
emersion 2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
This fixes dmenu
2018-04-07 14:03:30 -04:00
emersion a5d06b6e2b
Merge pull request #1766 from emersion/fix-output-container-position
Fix output containers position
2018-04-07 13:21:52 -04:00
Drew DeVault 5d34e4531f Add basic server decorations support 2018-04-07 13:21:07 -04:00
emersion 61abd56ca4
Fix output containers position 2018-04-07 12:44:02 -04:00
Drew DeVault b12b848bdc
Merge pull request #1759 from emersion/output-send-frame-done
Don't send frame done immediately when rendering
2018-04-07 12:23:26 -04:00
emersion 8af0c2b000
Don't send frame done immediately when rendering 2018-04-07 12:10:50 -04:00
emersion 33b4f945ab
Fix inverted assertion
Seems like it doesn't work this way
2018-04-07 12:03:13 -04:00
Drew DeVault c47b4d4edb
Merge pull request #1756 from emersion/output-damage
Fine-grained damage tracking
2018-04-07 11:53:10 -04:00
Drew DeVault f5a9bd5cb7
Merge pull request #1700 from swaywm/move-cmd-full
Implement move [left|right|up|down]
2018-04-07 11:19:25 -04:00
emersion 93ca8919f6
Don't rejigger if parent has two children 2018-04-06 18:10:02 -04:00
emersion 37b173f326
When moving between outputs, use output center as reference 2018-04-06 17:50:12 -04:00
Drew DeVault 606d322bc2 Container coordiantes/sizes are floating point 2018-04-06 16:19:06 -04:00
Drew DeVault 640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container" 2018-04-06 16:13:26 -04:00
emersion 0c627918bb
Damage all surfaces when damaging whole container 2018-04-06 15:59:50 -04:00
Drew DeVault df0d57b916 Fix issue with incorrectly rejiggered workspaces 2018-04-06 15:54:03 -04:00
Drew DeVault 764489e737 Break everything^W^WUse wlr_box for sway_container 2018-04-06 15:38:37 -04:00
Drew DeVault 9109b1fd11 Fix moving to parallel container on another output 2018-04-06 15:37:55 -04:00
Drew DeVault 5ff16994c5 Address @emersion feedback 2018-04-06 15:09:52 -04:00
emersion 58914822aa
Don't damage the whole output 2018-04-06 14:17:58 -04:00
Drew DeVault c8be7bfc1e Fix another of @orestisf1993's issues 2018-04-06 13:57:04 -04:00
emersion e550e22c0b
Refactor rendering code 2018-04-06 13:27:01 -04:00
Drew DeVault 1f70b94f34 Fix moving into right end of container 2018-04-06 13:17:22 -04:00
Drew DeVault cd6e3182fa Fix issues @orestisf1993 raised 2018-04-06 12:46:33 -04:00
Drew DeVault b5baa78dc3 Address @emersion's comments 2018-04-06 11:53:10 -04:00
Drew DeVault 603e0e42c5 Add debug tree view 2018-04-06 11:49:27 -04:00
emersion 516f5454ad
Simplify damage tracking functions, use them in layer shell 2018-04-06 11:45:40 -04:00
emersion 290c916290
Send surface enter/leave events to view children 2018-04-06 10:26:32 -04:00
Drew DeVault a06052ad9d Fix splitting workspaces 2018-04-06 09:43:52 -04:00
Drew DeVault efac07db5f Fix workspaces not updated on swaybar 2018-04-06 09:43:52 -04:00
Drew DeVault 57954a2b24 Implement move [left|right|up|down]
The exact semantics of this command are complicated. I'll describe each
test scenario as s-expressions. Everything assumes L_HORIZ if not
specified, but if you rotate everything 90 degrees the same test cases
hold.

```
(container (view a) (view b focus) (view c))
-> move left
(container (view b focus) (view a) (view c))

(container (view a) (view b focus) (view c))
-> move right
(container (view a) (view c) (view b focus))

(container L_VERT (view a))
(container L_HORIZ
  (view b) (view c focus))
-> move up
(container L_VERT
  (view a) (view c focus))
(container L_HORIZ (view b))

(workspace
  (view a) (view b focus) (view c))
-> move up
(workspace [split direction flipped]
  (view b focus)
  (container (view a) (view c)))

(workspace
  (view a) (view b focus) (view c))
-> move down
(workspace [split direction flipped]
  (container (view a) (view c))
  (view b focus)))

Note: outputs use wlr_output_layout instead of assuming that i+/-1 is
the next output in the move direction.

(root
  (output X11-1
    (workspace 1))
  (output X11-2
    (workspace 1 (view a focus) (view b)))))
-> move left
(root
  (output X11-1
    (workspace 1 (view a focus)))
  (output X11-2
    (workspace 1 (view b)))))

(root
  (output X11-1
    (workspace 1
      (container (view a) (view b)))
  (output X11-2
    (workspace 1 (view c focus)))))
-> move left
(root
  (output X11-1
    (workspace 1
      (container (view a) (view b))
      (view c focus)))
  (output X11-2
    (workspace 1)))
```
2018-04-06 09:43:52 -04:00
Drew DeVault d77a0119f4 Avoid arranging windows while reloading config 2018-04-06 09:43:44 -04:00
Drew DeVault cca420b2f8 Fix focus_follows_mouse issues 2018-04-06 09:32:51 -04:00
Drew DeVault b08f7e5183 Fix deletion of still-visible workspaces on unfocus 2018-04-06 09:26:49 -04:00
emersion 88e3e5ea5d
Fix wl_output enter/leave events
Fixes #1739
2018-04-06 00:10:17 -04:00
emersion c2b1beef15
Remove L_TYPES 2018-04-05 23:22:08 -04:00
emersion 254ca8103c
Merge pull request #1747 from acrisci/ipc-layout
ipc layout
2018-04-05 22:54:26 -04:00
Drew DeVault f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
Damage tracking for view children
2018-04-05 22:53:21 -04:00
Tony Crisci 6b308dbeb7 address feedback 2018-04-05 22:50:10 -04:00
Tony Crisci 235798ff8e dont send ipc events when there are no listeners 2018-04-05 19:01:03 -04:00
emersion 641807d920
Handle unmanaged surfaces motion 2018-04-05 18:48:35 -04:00
emersion d65d001aa5
Fix desktop_damage_whole_surface 2018-04-05 18:38:50 -04:00
emersion 6b9b03f09f
Remove outdated TODO 2018-04-05 18:33:18 -04:00
emersion 076bedb85e
Add container_damage_whole 2018-04-05 18:31:19 -04:00
emersion 1c91d0c10f
Add damage tracking for xwayland unmanaged surfaces 2018-04-05 17:39:17 -04:00
Tony Crisci bbfc5487bc add layout to ipc containers 2018-04-05 17:33:35 -04:00
emersion 07f3bb3ad1
Handle xwayland configure requests for unmanaged surfaces 2018-04-05 17:22:39 -04:00
emersion a528aea2ee
Make xwayland surface destroy more foolproof 2018-04-05 17:11:46 -04:00
emersion 7ce1038478
Fix xwayland unmanaged surfaces 2018-04-05 17:08:30 -04:00
emersion f5e5b1819b
Track damage of xdg-shell-v6 popups 2018-04-05 16:48:11 -04:00
Drew DeVault f242362e7e Handle output removal on swaybar 2018-04-05 16:04:30 -04:00
emersion 45f93e1650
Accumulate damage from subsurfaces 2018-04-05 15:20:45 -04:00
Drew DeVault 94ecd0f0aa Configure wlr_xdg_output_manager during init 2018-04-05 14:01:14 -04:00
emersion dcd15a2d3d
Implement shell views 2018-04-05 11:40:39 -04:00
Drew DeVault 9e89daf213
Merge pull request #1734 from swaywm/resize-cmd
Implement resize command
2018-04-05 00:17:47 -04:00
Drew DeVault f77986338f Implement resize command 2018-04-05 00:03:20 -04:00
Tony Crisci aa35715f4b
Merge pull request #1736 from acrisci/ipc-container-type
Ipc container type
2018-04-04 23:06:53 -04:00
Tony Crisci 04ce09630c add type to container json 2018-04-04 22:41:05 -04:00
Tony Crisci 65f254f3fb Merge branch 'wlroots' into fix-focus-inactive 2018-04-04 22:36:09 -04:00
Tony Crisci deda37469a fix focus child 2018-04-04 22:31:10 -04:00
emersion 44b8d30f52 Use new wlr_*_surface_at functions 2018-04-04 22:03:14 -04:00
emersion 8eff00f723 Remove unused SWAY_VIEW_TYPES 2018-04-04 22:03:14 -04:00
Tony Crisci fc9398a42e Implement opacity command 2018-04-04 21:57:05 -04:00
Tony Crisci cfd806577b fix sending window new event 2018-04-04 19:37:01 -04:00
Tony Crisci 3e61718053 try to fix focus-inactive 2018-04-04 18:52:38 -04:00
Drew DeVault d2d050d59c Address review feedback 2018-04-04 18:47:48 -04:00
Drew DeVault b7e7794912 Implement input-inhibit in sway, swaylock 2018-04-04 18:47:48 -04:00
Drew DeVault 06fbd51ff5 Add input inhibitor to input manager 2018-04-04 18:47:48 -04:00
Drew DeVault 3ede718c06 Refocus the last focused container on lock exit 2018-04-04 18:47:48 -04:00
Tony Crisci 76b0f3531f send window close event 2018-04-04 14:19:38 -04:00
Tony Crisci 62c79ef451 fix double free 2018-04-04 00:22:40 -04:00
Tony Crisci 741e3959e3 Merge branch 'wlroots' into split-containers2 2018-04-04 00:20:44 -04:00
Tony Crisci 9d1cbd77ac simplify container close 2018-04-03 23:59:44 -04:00
emersion f3ef1da750
Fix wrong output container coordinates 2018-04-03 21:06:13 -04:00
Tony Crisci fa004dd0d7 move output create to its own file 2018-04-03 20:00:09 -04:00
Drew DeVault deb63eda88
Merge pull request #1717 from emersion/fix-multiple-outputs
Fix rendering with multiple outputs
2018-04-03 19:57:36 -04:00
Tony Crisci a001890fb8 move workspace create to workspace.c 2018-04-03 19:52:17 -04:00
Tony Crisci 97b171649d move output damage to workspace destructor 2018-04-03 19:36:57 -04:00
emersion c0554d23d3
Fix rendering with multiple outputs 2018-04-03 19:34:56 -04:00
Tony Crisci 035a88e0dc rename container_finish to _container_destroy 2018-04-03 19:32:09 -04:00
Tony Crisci 481a8275c1 address feedback 2018-04-03 19:23:59 -04:00
emersion 5cd9457247
Send enter event to layer shell surfaces 2018-04-03 18:47:04 -04:00
Drew DeVault 1a5785b0c3
Merge pull request #1712 from RedSoxFan/workspace-number-names
Fix name generation from workspace number commands
2018-04-03 15:58:12 -04:00
Brian Ashworth 1e549230db Fix name generation for workspace number <name> 2018-04-03 15:18:57 -04:00
Tony Crisci a514fee1b9 rename workspace_get_initial_output 2018-04-03 13:24:48 -04:00
Tony Crisci 9b567fc37e clean up container_get_default_layout 2018-04-03 13:23:34 -04:00
Tony Crisci 065887bb7b move container_set_layout to layout.h 2018-04-03 13:16:23 -04:00
Tony Crisci fcbcbf34ad make container_finish private 2018-04-03 13:10:51 -04:00
Tony Crisci 5f4761c4f4 unify workspace create functions 2018-04-03 13:08:45 -04:00
Tony Crisci cba258e16a move output code out of the tree 2018-04-03 12:40:11 -04:00
Tony Crisci 09d448ea2d unify container destroy functions 2018-04-03 12:34:01 -04:00
Tony Crisci b4c5f79725 move view and workspace destructors to container.c 2018-04-03 12:25:19 -04:00
Tony Crisci 7afbe9284f rename _container_destroy to container_finish 2018-04-03 11:27:27 -04:00
Tony Crisci 33006c4e64 dont deallocate in container_close 2018-04-02 23:15:19 -04:00
Tony Crisci 20f9d49b82 cleanup 2018-04-02 22:42:44 -04:00
Tony Crisci 2992b72d61 change reap container approach 2018-04-02 22:37:21 -04:00
Drew DeVault 0bf3b88019 Give layer shells under the shell layer focus 2018-04-02 21:17:16 -04:00
Drew DeVault 56078edd65 Give exclusive focus to layers above shell layer 2018-04-02 21:09:09 -04:00
Tony Crisci 2c165e1288 fix more close segfaults 2018-04-02 21:01:33 -04:00
Drew DeVault 623a08e14f Identify topmost interactive layer post-arrange 2018-04-02 20:46:07 -04:00
Tony Crisci 32ef182f47 cleanup split command handlers 2018-04-02 20:12:18 -04:00
Tony Crisci a89096278b Merge branch 'wlroots' into split-containers 2018-04-02 19:22:10 -04:00
Tony Crisci d434da5632 Merge branch 'wlroots' into split-containers 2018-04-02 16:09:27 -04:00
Tony Crisci d070244362 fix workspace splits 2018-04-02 15:40:40 -04:00
emersion a4a241697a
Merge branch 'wlroots' into view-redesign 2018-04-02 15:30:58 -04:00
emersion 0c0cc79282
Merge pull request #1699 from acrisci/seat-fixes
Seat fixes and cleanup
2018-04-02 15:24:25 -04:00
emersion 2f64ce86c4
Xwayland unmanaged views aren't views anymore 2018-04-02 14:35:43 -04:00
Drew DeVault 4134407fa9
Merge pull request #1690 from swaywm/i3bar-json
I3bar json
2018-04-02 14:23:01 -04:00
Tony Crisci 357a4401fa address feedback 2018-04-02 14:15:40 -04:00
Tony Crisci 2187684bd0 Merge branch 'wlroots' into split-containers 2018-04-02 14:06:04 -04:00
Tony Crisci c7a6524954 fix segfault 2018-04-02 13:56:35 -04:00
Tony Crisci 5e024278a6 Merge branch 'wlroots' into seat-fixes 2018-04-02 13:23:43 -04:00
Tony Crisci 22287b42bf dont copy input config 2018-04-02 13:19:58 -04:00
emersion 2a8985a345
Merge pull request #1697 from RedSoxFan/back-and-forth
Fix back-and-forth workspace name saving for non-empty workspaces
2018-04-02 12:28:08 -04:00
Tony Crisci 35445b40a2 remove unused attachment config 2018-04-02 12:16:00 -04:00
Drew DeVault e3689dd5a9 Fixes regarding @emersion's feedback 2018-04-02 11:57:06 -04:00
Drew DeVault c507727ad2 Fix use-after-free with block hotspots 2018-04-02 11:53:56 -04:00
Tony Crisci a82c107c76 80col 2018-04-02 11:44:42 -04:00
Drew DeVault b2d871cfe2 Partially implement move command
Works:

- move [container|window] to workspace <name>
    - Note, this should be able to move C_CONTAINER but this is untested
- move [workspace] to output [left|right|up|down|<name>]

Not implemented yet:

- move [left|right|up|down]
- move scratchpad
- move position
2018-04-02 11:12:18 -04:00
emersion 61fabede14
Address review comments 2018-04-02 10:57:45 -04:00
Tony Crisci 53bb7ea996 dont copy seat config on the seat 2018-04-02 10:37:31 -04:00
Tony Crisci 0828c77251 rename input-manager functions 2018-04-02 08:49:38 -04:00
Tony Crisci e677c5b204 rename seat functions 2018-04-02 08:45:37 -04:00
Tony Crisci b5d49cc4e8 remove default from kill switch 2018-03-31 21:05:58 -04:00
Tony Crisci 27e394f8b0 fix children list segfault 2018-03-31 19:45:30 -04:00
Tony Crisci eda425fdab fix some segfaults 2018-03-31 18:52:02 -04:00
emersion 1d68f9ecca
Add sway_view_impl 2018-03-31 18:07:44 -04:00
emersion b2c2ee693b
Introduce common functions to create, map, unmap, destroy views 2018-03-31 17:49:40 -04:00
Tony Crisci 2aec85bf24 clean up view destroy seat cleanup 2018-03-31 17:07:37 -04:00
Tony Crisci 6f7b33e691 handle container destroy in the seat 2018-03-31 15:38:59 -04:00
Tony Crisci e7ecb001d7 reap container parent on destroy 2018-03-31 15:37:16 -04:00
Tony Crisci f7a20726fc temporarily add LD_LIBRARY_PATH stuff 2018-03-31 15:37:16 -04:00
Tony Crisci 7706d83160 basic split containers 2018-03-31 15:37:16 -04:00
Drew DeVault 122b96abed
Merge pull request #1684 from swaywm/follow-warp
Implement focus_follows_mouse, mouse_warping
2018-03-31 15:32:29 -04:00
Drew DeVault f2332dc75c Address review feedback 2018-03-31 15:20:43 -04:00
emersion 8aedc042ee
Fix two segfaults when destroying outputs 2018-03-31 13:47:22 -04:00
Drew DeVault b9d2983324 Fix interaction between warping and following 2018-03-31 13:05:45 -04:00
Drew DeVault 9b38ef950f Implement focus_follows_mouse
Also contains two other small changes:

- Clicking any button will focus the container clicked (not just left)
- Remove seamless_mouse (doesn't make sense on wlroots)
2018-03-31 13:05:45 -04:00
Drew DeVault ae6d459000 Implement mouse warping 2018-03-31 13:05:45 -04:00
Drew DeVault 89ca6676be
Merge pull request #1681 from emersion/xwayland-configure-position
Fix various xwayland issues
2018-03-31 11:40:34 -04:00
emersion 98b67e2399
Fix xwayland configure in set_size 2018-03-31 11:30:15 -04:00
Drew DeVault a1e7ffd857
Merge pull request #1677 from emersion/maximize-xwayland-views
Maximize xwayland views by default
2018-03-31 11:27:05 -04:00
Brian Ashworth c901510e01 Fixes back-and-forth name saving for non-empty ws 2018-03-31 11:13:20 -04:00
emersion 0f7936735c
Fix unmanaged views rendering on all outputs 2018-03-31 10:56:49 -04:00
emersion 6579717994
Fix xwayland configure position 2018-03-31 10:53:53 -04:00
Drew DeVault eb5a8e03ff Check for null container 2018-03-31 10:51:39 -04:00
Drew DeVault e4fd47d3a1
Merge pull request #1682 from emersion/unmanaged-no-container
Make it clear that unmanaged views don't have a container
2018-03-31 10:49:06 -04:00
Drew DeVault ccdcaa478f Fix bug with previous commit 2018-03-31 10:47:04 -04:00
emersion a44a71c116
Make it clear that unmanaged views don't have a container
view->swayc is NULL anyway.
2018-03-31 10:39:05 -04:00
Drew DeVault 8aa195e311 Fix #1104 2018-03-31 09:45:11 -04:00
Drew DeVault 5c08e13e50 Set Xwayland seat on focus
Necessary to make primary selection syncronize
2018-03-31 09:29:34 -04:00
Drew DeVault ae0552606b Configure linux_dmabuf, primary_selection 2018-03-31 09:21:15 -04:00
Drew DeVault 6a1a94b87c
Merge pull request #1678 from emersion/xwayland-xcursor
Set xwayland cursor
2018-03-31 00:35:50 -04:00
Drew DeVault 18173fb5ad Free bar configs on reload and exit 2018-03-31 00:35:06 -04:00
emersion b237fa0b22
Set xwayland cursor 2018-03-31 00:24:38 -04:00
emersion 5f3fce7519
Maximize xwayland views by default 2018-03-30 23:58:40 -04:00
Drew DeVault 212b503992 Use wlr_surface_point_accepts_input 2018-03-30 23:08:24 -04:00
Drew DeVault f5470f3338 Pass pointer events to surface layers 2018-03-30 21:03:35 -04:00
emersion 9665642765
Merge branch 'wlroots' into client-cursors 2018-03-30 19:04:06 -04:00
Drew DeVault 1b88eaee6b
Merge pull request #1665 from emersion/damage-tracking-lite
Add lite damage tracking
2018-03-30 18:53:36 -04:00
Drew DeVault e6fa7a722e
Merge pull request #1669 from emersion/workspace-pointer-events
Fix pointer events for hidden workspaces
2018-03-30 18:49:18 -04:00
emersion 139f80b0f0
Handle map/unmap events in xdg-shell-v6 2018-03-30 17:43:43 -04:00
emersion 3a68c012a9
Remove debug, add explicit TODO 2018-03-30 17:24:29 -04:00
emersion 50219564c2
Fix white screen due to bad cast 2018-03-30 17:16:35 -04:00
emersion a776ecbb86
Add lite damage tracking
This skips the renderer if nothing has changed, and renders
everything otherwise.
2018-03-30 17:16:35 -04:00
Tony Crisci 7e0d430a0c
Merge branch 'wlroots' into wlroots-xwayland-map 2018-03-30 16:16:12 -04:00
emersion eb716c6c43
Fix segfaults when focusing a workspace 2018-03-30 16:12:02 -04:00
emersion 03255fd202
Fix pointer events for hidden workspaces 2018-03-30 15:33:16 -04:00
Drew DeVault 88f08a42f3 Fix segfault when reaping invisible workspaces 2018-03-30 14:31:17 -04:00
Drew DeVault b28e6d2369 IPC fixes 2018-03-30 13:56:31 -04:00
Drew DeVault 49379dd0fc Fix workspace deletion edge cases 2018-03-30 13:49:34 -04:00
emersion cf09ea184b
Use the new map/unmap events for xwayland views 2018-03-30 13:34:25 -04:00
Drew DeVault a5e457d59a Add xwayland views to focused container 2018-03-30 12:06:45 -04:00
emersion 1592543fd6
Merge pull request #1659 from swaywm/default-orientation
Add default_orientation command
2018-03-30 11:49:45 -04:00
Drew DeVault b6b674fd76
Merge pull request #1657 from emersion/render-fixes
Misc minor fixes
2018-03-30 11:42:59 -04:00
emersion 681f38c878
Fix segfault on xwayland unmanaged view unmap 2018-03-30 11:22:12 -04:00
emersion 6c9d67b105
Handle set_cursor requests from clients
Allow clients to set a custom cursor if they have the seat's
pointer focus.
2018-03-30 10:53:18 -04:00
Drew DeVault 01af343912 Destroy empty workspaces when moving away 2018-03-30 10:47:19 -04:00
Drew DeVault 69eb021767 Add default_orientation command 2018-03-30 10:43:55 -04:00
emersion 28cb412b0d
Unify initial xwayland view mapping with map handler 2018-03-30 10:09:56 -04:00
emersion 981827ca42
Cleanup and remove global renderer reference 2018-03-30 00:49:27 -04:00
Drew DeVault 2d46050281 Fix crash when override redirect views close 2018-03-30 00:46:40 -04:00
Drew DeVault e62cc0ac26 Finish porting over workspace_next_name 2018-03-30 00:34:24 -04:00
Drew DeVault 00d450e554 Use output coords for layer surfaces
This will need to be more carefully thought out when we get the
output_layout working entirely.
2018-03-30 00:16:18 -04:00
Drew DeVault d6acb3d86c Set WAYLAND_DISPLAY earlier in startup 2018-03-30 00:13:54 -04:00
Drew DeVault f26ecd9f58 Merge remote-tracking branch 'origin/wlroots' into swaybar-layers 2018-03-30 00:04:04 -04:00
Tony Crisci 8f490d7d2d Fix oversights from previous pull request 2018-03-29 23:53:38 -04:00
Tony Crisci dc8c9fbeb6 Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
This reverts commit 472e81f35d, reversing
changes made to 6b7841b11f.
2018-03-29 23:41:33 -04:00
Drew DeVault d0c7f66e95
Revert "Refactor tree" 2018-03-29 23:29:29 -04:00
Drew DeVault 6b7841b11f
Merge pull request #1647 from acrisci/refactor-tree
Refactor tree
2018-03-29 23:19:14 -04:00
Tony Crisci 2778edef97 arrange windows 2018-03-29 23:15:39 -04:00
Tony Crisci 92c58b1e63 rename container_for_each_descendent 2018-03-29 23:08:59 -04:00
Drew DeVault dbda7bfbed Move declaration into loop 2018-03-29 22:23:41 -04:00
Drew DeVault ddc09940b1 Exit ipc_get_workspace_callback early 2018-03-29 22:16:43 -04:00
Drew DeVault 8efee109ad Implement modes 2018-03-29 22:11:08 -04:00
Drew DeVault 741424c4e7 Clean up imported bar commands 2018-03-29 22:11:08 -04:00
Drew DeVault 849c3515ab Use statically allocated text buffer 2018-03-29 22:11:08 -04:00
Drew DeVault c91adbd188 Fix failure to rearrange output in some cases 2018-03-29 22:11:08 -04:00
Drew DeVault f3fbf19312 Do some small cleanup
- Fix workspace events (security config isn't in use so it wasn't being
  sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
2018-03-29 22:11:08 -04:00
Drew DeVault 5f5076baff Call arrange_windows on layer destroy 2018-03-29 22:11:08 -04:00
Drew DeVault 8b5b72c576 Restart swaybar on config reload 2018-03-29 22:11:08 -04:00
Drew DeVault 2e84f21ab7 Terminate swaybar when freeing bar config 2018-03-29 22:11:08 -04:00
Drew DeVault 2719ddfe5e Spawn swaybars when outputs are added 2018-03-29 22:11:08 -04:00
Drew DeVault 5c9cdbcdd2 Add swaybg_command 2018-03-29 22:11:08 -04:00
Drew DeVault 569b2bfd5d Move bar config into its own file 2018-03-29 22:11:08 -04:00
Drew DeVault bf7a4cd0eb Add bar configuration commands 2018-03-29 22:11:08 -04:00
Drew DeVault 6836074fed Implement enough IPC for swaybar to work 2018-03-29 22:11:08 -04:00
Drew DeVault a76829f375 Some layer shell fixes
Based on the corresponding rootston changes
2018-03-29 22:11:08 -04:00
Scott Anderson c8e7437b82 Clear buffer after beginning renderer 2018-03-30 14:38:14 +13:00
Tony Crisci 4c394a0e9e address feedback 2018-03-29 21:22:39 -04:00
Tony Crisci 4ec8bf4cee 80col 2018-03-29 18:38:43 -04:00
Tony Crisci 62d1b4cb96 fix container_get_in_direction name 2018-03-29 18:17:31 -04:00
Tony Crisci e5491bf498 rename container destroy func 2018-03-29 18:17:03 -04:00
Tony Crisci ed2cedb544 rename layout init 2018-03-29 17:13:37 -04:00
Tony Crisci eca029f218 more renaming things 2018-03-29 17:06:29 -04:00
Tony Crisci b90099b4b7 rename container functions 2018-03-29 16:40:40 -04:00
Drew DeVault 941ca5c8fd Maximize xdg shell surfaces on creation
Makes them look better yo

In the future we might want to only do this for tiled windows, and let
floating windows do their own thing.
2018-03-29 15:40:15 -04:00
Tony Crisci 83d09cf594 remove swayc_t typedef 2018-03-29 14:31:10 -04:00
Tony Crisci 874f009866 move tree includes to their own directory 2018-03-29 14:21:42 -04:00
Drew DeVault 8d6bce02af Address review feedback 2018-03-28 18:11:03 -04:00
Drew DeVault 68cfa7ef67 Render layer surfaces and respect exclusive zone 2018-03-28 16:42:13 -04:00
Drew DeVault 0c8a64942e Add initial layer shell skeleton 2018-03-28 15:47:22 -04:00
Drew DeVault 1e604f3e35 Update input events per swaywm/wlroots#765 2018-03-28 12:22:45 -04:00
Drew DeVault 53df5889d5 Fix lingering xdg shell issues 2018-03-27 15:54:34 -04:00
Drew DeVault cbb2e3308e Update API to match latest wlroots 2018-03-27 13:28:43 -04:00
emersion 01beee5826
Update wlroots API
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
2018-03-19 23:31:18 +01:00
emersion 1004915796
Update rendering code for wlroots matrix redesign 2018-03-15 21:22:34 +01:00
emersion 4ab5506064
ipc: add output modes 2018-03-12 13:48:42 +01:00
Dominique Martinet 95963e4a1f xwayland: do not send surface configure when no width/height
The code in apply_horiz_layout systematically does `set_position`
then `set_size`, so for new windows there is an invalid call.

For old windows there are two calls when only one is needed,
with the current code set_position could not send any surface
configure without impact, but in the future it might be needed?
Native wayland surfaces do not need to know where they are (the
set_position handled only updates the sway internal view variable),
why does X11 window need that?
2018-03-03 16:37:14 +01:00
Tony Crisci 02804584e5 ipc new window event 2018-02-27 19:53:15 -05:00
Drew DeVault 3c80498891 Utilize wlr_xwayland_surface_is_unmanaged 2018-02-27 08:26:18 -05:00
Tony Crisci ad879c99e0 ipc show focused container 2018-02-26 19:07:59 -05:00
Drew DeVault 4b781356a4 Fix wlr_render_with_matrix call
This takes an alpha parameter now.
2018-02-26 19:04:57 -05:00
Drew DeVault 265378270a Revert "Multiple output coords by scale"
This reverts commit 94f8bdf081.
2018-02-25 17:55:49 -05:00
Drew DeVault 94f8bdf081 Multiple output coords by scale 2018-02-25 17:54:28 -05:00
Drew DeVault 8ad26c8afd Send surface enter/leave events 2018-02-25 17:23:36 -05:00
Drew DeVault 61c1c3e7af Use focus for new windows xwayland/wl_shell 2018-02-25 12:55:19 -05:00
Drew DeVault 669f91b991 Document updates to the output command 2018-02-25 11:35:31 -05:00
Tony Crisci 1cca3965f3 static bfs queue 2018-02-24 14:30:47 -05:00
Tony Crisci 2154b7c7d6 add config handlers 2018-02-24 13:34:47 -05:00
Tony Crisci 7262bf655f remove checks for command handlers 2018-02-24 13:22:57 -05:00
Tony Crisci 5b219a1598 separate config directives and commands 2018-02-24 13:20:34 -05:00
Tony Crisci ac8269d536 take seat param for handle_command and rename 2018-02-24 12:50:24 -05:00
Tony Crisci 66d1e0b313 basic layout command 2018-02-22 18:37:14 -05:00
Tony Crisci bcb870bcf2 bug: fix crash on focus up 2018-02-20 19:47:48 -05:00
Tony Crisci 23e9f5dc35 use wl_container_of() in output destroy callback 2018-02-20 19:21:32 -05:00
Tony Crisci 4b3aa59b8b rename new_input listener on input-manager 2018-02-20 19:09:38 -05:00
Tony Crisci 316effd7b1 make handle_output_destroy() static 2018-02-20 19:06:56 -05:00
Tony Crisci 4c4cc9c999 remove old comments 2018-02-20 19:04:03 -05:00
Tony Crisci b88f06e70a bugfix: get right layout box for rendering views 2018-02-19 17:55:16 -05:00
Tony Crisci 176d24f02d choose adjacent container between outputs 2018-02-17 19:03:21 -05:00
Tony Crisci fb37e80225 basic move focus in direction across outputs 2018-02-17 18:33:02 -05:00
Tony Crisci 80927985fb fix output rendering issue 2018-02-17 16:30:32 -05:00
Tony Crisci 7c089442c3 use box projection function 2018-02-17 15:18:21 -05:00
Tony Crisci 9510a20fcd arrange windows after output add 2018-02-17 13:32:04 -05:00
Tony Crisci a3ae67af4e basic focus in direction 2018-02-14 17:12:21 -05:00
Tony Crisci 52670c636c basic focus (without direction) 2018-02-14 16:47:23 -05:00
Tony Crisci 780d9fe1e3 cleanup layout.c 2018-02-14 15:23:56 -05:00
Tony Crisci 083e11ac7c fix build for latest api 2018-02-14 15:08:10 -05:00
Tony Crisci c6cb87be19 output damage fix 2018-02-14 14:55:38 -05:00
Tony Crisci 7dfbf06de9 output destroy 2018-02-14 14:51:51 -05:00
Tony Crisci 06c71f115b input device destroy 2018-02-14 14:47:59 -05:00
Tony Crisci 946d9459c5 get swayc in direction 2018-02-14 14:30:27 -05:00
Tony Crisci 93084c9cf8 remove old focus member 2018-02-10 19:53:50 -05:00
Tony Crisci ce3a1b3922 properly pick next focus 2018-02-10 18:19:53 -05:00
Tony Crisci 145b4fdf58 use bfs iterator to collect focus stack 2018-02-10 16:52:45 -05:00
Tony Crisci 095ddb1561 fix build for output damage 2018-02-10 16:13:08 -05:00
Tony Crisci a7d49da239 separate seat get focus and seat get focus inactive 2018-02-07 18:17:57 -05:00
Tony Crisci 7d8f2c52aa make index_child static 2018-02-06 18:54:10 -05:00
Tony Crisci 5151502298 basic focus overhaul 2018-02-04 14:08:54 -05:00
Drew DeVault b28602aa74 Implement workspaces 2018-01-30 23:09:21 -05:00
Drew DeVault a686fb07ae Execute pending commands when Xwayland is ready 2018-01-30 20:01:49 -05:00
Dominique Martinet 6259831d31 commands/reload: remove unimplemented 'load_swaybars' call 2018-01-22 07:26:40 +01:00
Dominique Martinet 5766f426aa config reload: destroy old seat when removed from config
This adds new sway_seat_destroy and sway_cursor_destroy helpers
and compare new and old config on free
2018-01-22 07:26:37 +01:00
Dominique Martinet 869be4378d commands: add 'reload' command 2018-01-22 07:25:23 +01:00
emersion 0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
Command criteria
2018-01-22 01:16:23 +01:00
Tony Crisci beb3805cf0 dont allow kill command in config 2018-01-21 19:13:11 -05:00
Tony Crisci 38a1628a76 clear handler context before ipc command 2018-01-21 14:21:32 -05:00
Tony Crisci c3fc0d446f cmd-kill: use sway_assert when no container 2018-01-21 14:15:10 -05:00
Tony Crisci 5505d84ac2 criteria cleanup 2018-01-21 14:11:41 -05:00
Drew DeVault a6bc46eea9 Remove sway/old/ 2018-01-21 12:21:57 -05:00
Drew DeVault c933781fac
Merge pull request #1570 from acrisci/config-references
Copy input config references
2018-01-21 11:17:07 -05:00
Tony Crisci 6b03b1205d implement property criteria 2018-01-21 09:17:51 -05:00
Tony Crisci 0e3eae4baa view interface 2018-01-21 09:09:53 -05:00
Tony Crisci 1156523ccf run all commands with focused container context 2018-01-21 08:46:31 -05:00
Tony Crisci 6a1d71b8b8 basic command criteria 2018-01-20 16:21:45 -05:00
Tony Crisci c353e01c85 add kill command 2018-01-20 14:10:11 -05:00
Tony Crisci cc3c713889 seat config handler context 2018-01-20 11:44:34 -05:00
Tony Crisci 9e0595f26b input config handler context 2018-01-20 11:34:57 -05:00
Tony Crisci 2bf76509f8 update for new wlr-keyboard modifiers 2018-01-17 11:47:27 -05:00
Tony Crisci 9f54cd8935 copy config references for input and seat 2018-01-17 09:49:02 -05:00
Tony Crisci ddc49ede46 xwm handle map and unmap 2018-01-15 09:38:05 -05:00
Tony Crisci 83ddd2d9db render override redirect 2018-01-14 13:19:21 -05:00
Tony Crisci 2ce1d8d6cd render wl-shell and xwayland views 2018-01-14 11:47:48 -05:00
Tony Crisci 619254db76 subsurface input 2018-01-14 10:50:20 -05:00
Tony Crisci 76ce629198 xdg-popups 2018-01-14 10:47:19 -05:00
Tony Crisci 4c8c9b29e4 render xdg surface 2018-01-14 10:35:56 -05:00
Dominique Martinet 67985e9031 sway: change all sway_log to wlr_log 2018-01-05 23:39:46 +01:00
Dominique Martinet c83900593d config: add 'set' command 2018-01-05 15:36:20 +01:00
Dominique Martinet 19ddb70a32 fixup free config use free_sway_binding 2018-01-05 00:07:34 +01:00
Dominique Martinet 9a326be7f8 config: leak sanitizer pass
Add free for everything that's implemented right now.
Will need to add more as the implementations are re-added.
2018-01-05 00:07:34 +01:00
Dominique Martinet f5b33cb4b6 fix typos in comments/messages; add shutting down message 2018-01-05 00:07:34 +01:00
Dominique Martinet 28b8ea9f1e cmd_input: cleanup around current_input_config
- Restore old one if we weren't part of a block (should be NULL anyway)
- Check current_input_config got properly allocated
- free temporary current_input_config when done using it
2018-01-05 00:07:34 +01:00
Dominique Martinet afca73b6fc apply_input_config: restore previous current_input_config
This is important for freeing the proper one at end of block
2018-01-05 00:07:34 +01:00
Drew DeVault 91313d3847
Merge pull request #1539 from acrisci/bindings
Bindings
2018-01-04 09:47:36 -05:00
Drew DeVault bc7011db3c
Merge pull request #1543 from emersion/output-config-by-identifier
Allow to configure outputs by their identifier
2018-01-04 09:47:04 -05:00
Tony Crisci b01a53abfb Merge branch 'wlroots' into bindings 2018-01-04 08:00:22 -05:00
Tony Crisci 8b4eb5d7d1 cleanup bindings 2018-01-04 07:54:14 -05:00
Tony Crisci 50e791cadb binding release 2018-01-04 07:25:52 -05:00
Calvin Lee 7196f59db0 Consolidate WLR and Sway logging
See #1390
2017-12-31 14:32:28 -07:00
emersion ead3f1e676
Allow to configure outputs by their identifier 2017-12-29 19:04:16 +01:00
Tony Crisci bd3ca70e3d fix nitpicks 2017-12-29 09:11:15 -05:00
Tony Crisci 62b7ab3959 overwrite old bindings 2017-12-28 18:50:22 -05:00
Tony Crisci 0b8481f41a fix keyboard_execute_bindcode 2017-12-28 16:52:12 -05:00
Tony Crisci 8d567cd062 bindcode 2017-12-28 16:24:23 -05:00
Tony Crisci 27cd633b40 run compositor bindings last 2017-12-27 19:07:17 -05:00
Tony Crisci ccaedf5b15 run binding command 2017-12-27 15:25:16 -05:00
emersion 21c61f1c09
Refactor output command, add output enable 2017-12-27 21:23:30 +01:00
Tony Crisci d941246d58 match user bindsym 2017-12-27 15:17:01 -05:00
Tony Crisci daad222337 compositor bindings 2017-12-27 13:31:31 -05:00
Tony Crisci eea80e7276 keyboard translate keysyms 2017-12-27 13:20:28 -05:00
Tony Crisci ba69f06695 binding config 2017-12-27 12:31:06 -05:00
Drew DeVault e1c5adc918
Merge pull request #1535 from martinetd/libinput
Libinput config
2017-12-27 08:04:06 -08:00
Tony Crisci 2f7e435c6f desktop: use wlr-surface commit 2017-12-27 10:10:13 -05:00
Dominique Martinet f3d8df45fc seat_configure_pointer: apply libinput config
Restore the code that used to be in config.c:apply_input_config() pre-wlroots
2017-12-24 20:54:48 +01:00
Tony Crisci 63f7fb9517 cleanup 2017-12-20 06:12:08 -05:00
Tony Crisci f35575f71d handle keymap not found 2017-12-19 05:36:17 -05:00
Tony Crisci 39e7871a85 dont set cursor image on motion 2017-12-19 05:28:06 -05:00
Tony Crisci 5c036a3eac error on not enough input/seat args for cmd 2017-12-19 05:26:55 -05:00
Tony Crisci 730af5e721 use snprintf to get identifier len 2017-12-19 04:57:42 -05:00
Tony Crisci 9df4a2c7a8 document fallback seat 2017-12-19 04:52:03 -05:00
Tony Crisci f2985000f3 ipc get_inputs 2017-12-18 14:27:38 -05:00
Tony Crisci a949d7de5a Merge branch 'wlroots' into feature/input 2017-12-18 11:01:11 -05:00
Tony Crisci a87960711a Merge branch 'feature/input' of github.com:acrisci/sway into feature/input 2017-12-18 10:45:04 -05:00
Tony Crisci 4c436a1a6f remove assumption of one device per identifier 2017-12-18 10:44:51 -05:00
Tony Crisci 483ede0146 improve xkb command logging 2017-12-18 10:44:25 -05:00
Drew DeVault eb4f66f785
Merge pull request #1526 from emersion/fractional-output-scale
Add support for fractional output scale
2017-12-18 09:21:30 -05:00
emersion c815d6d1a9
Add support for fractional output scale 2017-12-18 14:13:07 +01:00
emersion 4e2ab53119
Add IPC get_outputs 2017-12-18 14:06:03 +01:00
Tony Crisci 41e71d950a remove verbose commit logging 2017-12-18 07:13:02 -05:00
Drew DeVault b0291d126f Fix compile error 2017-12-17 21:00:17 -05:00
Tony Crisci a27736adcd cleanup input-manager 2017-12-17 10:44:53 -05:00
Tony Crisci 88bcd43ebf seat fallback config 2017-12-17 10:39:22 -05:00
Tony Crisci e27eff8a29 send keyboard enter on keyboard configuration 2017-12-17 08:30:20 -05:00
Tony Crisci c41801b75e set keyboard config at runtime 2017-12-16 20:06:58 -05:00
Tony Crisci 0256cd1473 fix keyboard hotplugging 2017-12-16 19:16:00 -05:00
Tony Crisci 9e4fc7253e get device id correctly 2017-12-16 14:03:58 -05:00
Tony Crisci b0ed1ad28d device add/remove logging 2017-12-16 13:16:58 -05:00
Tony Crisci 24e2406429 strip whitespace for device id 2017-12-16 13:00:31 -05:00
Tony Crisci b8261ab24b expect exactly one xkb arg 2017-12-16 12:40:58 -05:00
Tony Crisci f16aa3c0ad rename config apply cmds 2017-12-16 12:14:24 -05:00
Tony Crisci f4a5a0ead4 put seat and input config in their own files 2017-12-16 11:25:59 -05:00
Tony Crisci 2624f55f8d input and seat command docs 2017-12-16 08:19:33 -05:00
Tony Crisci b3a0309f26 fix logging issue for new wlroots 2017-12-16 07:39:22 -05:00
Tony Crisci 9fa70ce426 Merge branch 'wlroots' into feature/input 2017-12-16 07:33:23 -05:00
Tony Crisci 030fcb64da keyboard cleanup 2017-12-16 07:21:21 -05:00
Tony Crisci 9eecbb5d8a xkb config 2017-12-15 05:22:51 -05:00
Tony Crisci 92fef27eaa basic configuration 2017-12-14 11:11:56 -05:00
emersion cba592b3d2
Use strtol instead of atoi in output command 2017-12-14 02:23:33 +01:00
emersion 9254c5a93f
Fail if unknown output subcommand 2017-12-14 00:50:01 +01:00
emersion 4d389f8b65
Replace refresh_rate and position by mode in output command 2017-12-14 00:45:47 +01:00
emersion ec2fd6e5c0
Handle output remove 2017-12-13 21:47:37 +01:00
emersion a4619e98c4
Update output containers on output layout change 2017-12-13 15:52:18 +01:00
emersion d293c42942
Update output container box in event handler 2017-12-12 21:09:51 +01:00
emersion c7abb77f22
Listen to output layout change 2017-12-12 20:02:01 +01:00
emersion f3d880b0ec
Add scale and transform events to sway_output 2017-12-12 19:40:17 +01:00
Tony Crisci c173d30b92 seat configuration 2017-12-12 10:55:20 -05:00
Tony Crisci 538903bc5a config cleanup 2017-12-12 09:03:58 -05:00
Tony Crisci 163edc5a90 sway input device 2017-12-12 08:29:37 -05:00
emersion 475a0132a9
Use custom modes when output has no mode 2017-12-11 21:47:40 +01:00
Tony Crisci 462a451328 input config 2017-12-11 07:55:01 -05:00
Tony Crisci 9ae906cd37 sway pointer 2017-12-10 16:57:38 -05:00
Tony Crisci 4d449743c5 keyboard remove 2017-12-10 15:37:17 -05:00
Tony Crisci 5e9ee32d63 set focus on new window 2017-12-10 15:13:27 -05:00
Tony Crisci 609f63934a basic keyboard 2017-12-10 15:01:09 -05:00
Tony Crisci 6339c4f161 remove pointer device 2017-12-10 13:28:04 -05:00
Tony Crisci 21626e8153 seat focus on button press 2017-12-10 11:11:47 -05:00
Tony Crisci 0fdecb4d3a Merge branch 'wlroots' into feature/input 2017-12-10 10:25:56 -05:00
Tony Crisci 5f644d78fc button and axis events 2017-12-10 10:08:16 -05:00
Tony Crisci e69b052a6d working pointer motion 2017-12-10 08:48:44 -05:00
Tony Crisci 9333a7eb53 working xcursor 2017-12-09 14:06:00 -05:00
Tony Crisci 7c67bea942 sway xcursor manager 2017-12-09 11:51:28 -05:00