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