Ryan Dwyer
f6c3682c05
Use constants for titlebar dimensions
2018-05-22 08:27:42 +10:00
Ryan Dwyer
efc07fb3d4
Don't track damage for views on inactive tabs
2018-05-21 20:16:56 +10:00
Ryan Dwyer
c08f9bf257
Implement tabbed layout
2018-05-21 20:16:56 +10:00
Brian Ashworth
82cd55a670
Fix border commands from changing focus
2018-05-20 23:12:33 -04:00
Ryan Dwyer
9d99e5c2e7
Swaylock: Allow per-output images
2018-05-20 22:54:09 +10: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
emersion
b7ab7c0e66
Fix output hotplugging
2018-05-18 21:57:58 +01:00
emersion
e4dbafe4d8
Fix swaylock crashing when unplugging output
2018-05-18 19:13:08 +01:00
Ryan Dwyer
0e2cc0af30
Implement show_marks
2018-05-17 08:29:14 +10:00
Brian Ashworth
0944d3fd9c
Change scale from int32_t to double for pango
2018-05-16 12:01:04 -04: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
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
emersion
95a10dd4f3
Kill wl_shell
2018-05-14 13:26:10 +01: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
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
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
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
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
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
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
28eb97299e
Fix conflicting IPC command type constants with i3's
2018-05-12 18:22:21 +10:00
Ryan Dwyer
c72940837c
Implement IPC get_seats command
2018-05-12 18:17:36 +10:00
Ryan Dwyer
94e42f9857
Implement __focused__ criteria
2018-05-12 12:34:12 +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
emersion
bec80f1551
Damage borders when damaging view
2018-05-10 23:03:50 +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
5d6d24e71a
Move code for re-arranging after font height change into a common place
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
Drew DeVault
58a033d816
Convert border_colors.text to float[4]
2018-05-03 08:14:17 -04:00
Ryan Dwyer
d3d1e38c1b
Change comment format
2018-05-03 15:12:00 +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
Ryan Dwyer
6ef14e99ee
Restore view_update_position()
2018-05-01 19:59:36 +10:00
Ryan Dwyer
abcad0ece9
Move docblock and fix indenting of switch/case.
2018-05-01 17:36:12 +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
Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
2018-04-30 08:47:38 +10: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
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
aa36899d8a
Fix a bunch of swaybar memory leaks
2018-04-24 22:28:55 +01:00
Mattias Eriksson
2d884d4e4f
Improved key handling in swaylock
...
Make escape clear buffer
Add indicator states for ctrl,shift,super et al
Add CapsLock indicator
2018-04-24 15:40:30 +02:00
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
2018-04-24 20:14:22 +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
emersion
4cf77e1de4
Default to current time when triggering cursor events
2018-04-21 14:07:22 +01:00
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen
2018-04-19 08:56:03 -04: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
72beae209b
Fullscreen fixes.
2018-04-18 00:10:32 +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
Geoff Greer
ad6aa21c43
swaylock: Securely zero-out password.
...
- Replace char* with static array. Any chars > 1024 will be discarded.
- mlock() password buffer so it can't be written to swap.
- Clear password buffer after auth succeeds or fails.
This is basically the same treatment I gave the 0.15 branch in https://github.com/swaywm/sway/pull/1519
2018-04-12 17:49:21 -07: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
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
...
Focus inactive fixes
2018-04-08 16:05:03 -04:00
Tony Crisci
e7771c507a
80char
2018-04-08 15:32:19 -04:00
Drew DeVault
0e3ddf255e
Add input "identifier" map_to_output "identifier"
2018-04-08 15:09:12 -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
Drew DeVault
9114d3b84c
Implement tablet tool support
2018-04-08 10:48:13 -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
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
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
2018-04-06 15:38:37 -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
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
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
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
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
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
emersion
dcd15a2d3d
Implement shell views
2018-04-05 11:40:39 -04:00
Drew DeVault
f77986338f
Implement resize command
2018-04-05 00:03:20 -04:00
emersion
8eff00f723
Remove unused SWAY_VIEW_TYPES
2018-04-04 22:03:14 -04:00
emersion
679c51e421
Remove unused sway_view.unmanaged_link
2018-04-04 22:02:40 -04:00
Tony Crisci
fc9398a42e
Implement opacity command
2018-04-04 21:57:05 -04:00
Drew DeVault
d2d050d59c
Address review feedback
2018-04-04 18:47:48 -04:00
Drew DeVault
46b388995d
Add hidpi support to swaylock
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
d053acbed6
R E N D E R I N G
2018-04-04 18:47:48 -04:00
Drew DeVault
066143adef
Add password buffer, refactor rendering/surfaces
2018-04-04 18:47:48 -04:00
Drew DeVault
1008d4cc91
Split seat code into its own file
2018-04-04 18:47:48 -04:00
Drew DeVault
b32bf595ae
Initial swaylock port
2018-04-04 18:47:48 -04:00
Drew DeVault
a28730edee
Move swaybg background rendering into common/
...
swaylock will use it too
2018-04-04 18:47:48 -04:00
Tony Crisci
741e3959e3
Merge branch 'wlroots' into split-containers2
2018-04-04 00:20:44 -04:00
Drew DeVault
2605950769
Add hidpi support to swaybar
2018-04-03 21:06:28 -04:00
Tony Crisci
fa004dd0d7
move output create to its own file
2018-04-03 20:00:09 -04:00
Tony Crisci
a001890fb8
move workspace create to workspace.c
2018-04-03 19:52:17 -04:00
Tony Crisci
eca4468c2c
fix old todos
2018-04-03 17:06:57 -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
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
2992b72d61
change reap container approach
2018-04-02 22:37:21 -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
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
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
2187684bd0
Merge branch 'wlroots' into split-containers
2018-04-02 14:06:04 -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
Tony Crisci
35445b40a2
remove unused attachment config
2018-04-02 12:16:00 -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
Drew DeVault
0cbd2a4f49
Send click events for i3bar blocks
2018-04-02 11:09:23 -04:00
Drew DeVault
333dbcbe72
Render i3bar blocks
2018-04-02 11:09:23 -04:00
Drew DeVault
ee85c91831
Demarcate i3bar JSON into individual updates
2018-04-02 11:09:23 -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
81556f4b2a
add docstrings and todos
2018-03-31 20:52:34 -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
6f7b33e691
handle container destroy in the seat
2018-03-31 15:38:59 -04:00
Tony Crisci
7706d83160
basic split containers
2018-03-31 15:37:16 -04:00
Drew DeVault
f2332dc75c
Address review feedback
2018-03-31 15:20:43 -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
6a1a94b87c
Merge pull request #1678 from emersion/xwayland-xcursor
...
Set xwayland cursor
2018-03-31 00:35:50 -04:00
emersion
b237fa0b22
Set xwayland cursor
2018-03-31 00:24:38 -04:00
Drew DeVault
2a5108a278
Implement workspace switch on click
2018-03-30 22:44:08 -04:00