Commit Graph

684 Commits

Author SHA1 Message Date
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
Drew DeVault
ae14dfc7ae Implement scroll wheel workspace switching 2018-03-30 22:44:08 -04:00
Drew DeVault
8d1425bde9 Initialize seat pointer in swaybar 2018-03-30 22:44:08 -04:00
emersion
9665642765
Merge branch 'wlroots' into client-cursors 2018-03-30 19:04:06 -04:00
emersion
139f80b0f0
Handle map/unmap events in xdg-shell-v6 2018-03-30 17:43:43 -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