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
emersion
3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces
2018-05-10 12:19:38 +01: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
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
Ryan Dwyer
74d1367fac
Update titles when surfaces are committed
2018-05-03 15:42:49 +10:00
Ryan Dwyer
b667298a0a
Render titles
2018-05-03 15:12:00 +10: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
a19a511b90
Implement indicator border
2018-05-01 19:21:29 +10:00
Ryan Dwyer
d847ac1120
Scale borders according to output scale
2018-05-01 18:35:58 +10:00
Ryan Dwyer
e67f354333
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-04-30 21:24:13 +10:00
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows
2018-04-29 13:10:59 +01: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
df245780d2
Do not let tiled xwayland views do what they want
2018-04-24 18:19:26 +01:00
Drew DeVault
420a669f21
Updates per swaywm/wlroots#887
2018-04-23 11:15:07 +02: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
17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots
2018-04-20 16:24:34 +01: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
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
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
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
Ryan Dwyer
72beae209b
Fullscreen fixes.
2018-04-18 00:10:32 +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
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created
2018-04-13 14:43:41 +02:00
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
...
This fixes dmenu
2018-04-07 14:03:30 -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
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
764489e737
Break everything^W^WUse wlr_box for sway_container
2018-04-06 15:38:37 -04:00
emersion
58914822aa
Don't damage the whole output
2018-04-06 14:17:58 -04:00
emersion
e550e22c0b
Refactor rendering code
2018-04-06 13:27:01 -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
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
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
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
emersion
dcd15a2d3d
Implement shell views
2018-04-05 11:40:39 -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
741e3959e3
Merge branch 'wlroots' into split-containers2
2018-04-04 00:20:44 -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
emersion
c0554d23d3
Fix rendering with multiple outputs
2018-04-03 19:34:56 -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
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
Drew DeVault
56078edd65
Give exclusive focus to layers above shell layer
2018-04-02 21:09:09 -04:00
Drew DeVault
623a08e14f
Identify topmost interactive layer post-arrange
2018-04-02 20:46:07 -04:00
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign
2018-04-02 15:30:58 -04:00
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore
2018-04-02 14:35:43 -04:00
Tony Crisci
5e024278a6
Merge branch 'wlroots' into seat-fixes
2018-04-02 13:23:43 -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
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
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
emersion
8aedc042ee
Fix two segfaults when destroying outputs
2018-03-31 13:47:22 -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
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
emersion
5f3fce7519
Maximize xwayland views by default
2018-03-30 23:58:40 -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
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
681f38c878
Fix segfault on xwayland unmanaged view unmap
2018-03-30 11:22:12 -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
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
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