Commit graph

2136 commits

Author SHA1 Message Date
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