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.
7 years ago
Alex Xu (Hello71)
3202c45054
Check for NULL in container_update_title
...
Fixes crash when opening Firefox developer tools.
7 years ago
Ryan Dwyer
ed0d606c2a
Fix title texture width
...
Use max of the container width or text width.
7 years ago
Drew DeVault
58a033d816
Convert border_colors.text to float[4]
7 years ago
Drew DeVault
8f06aa7598
Fix anti-aliasing
7 years ago
Ryan Dwyer
89d1571041
Fix potential segfault when setting container title
7 years ago
Ryan Dwyer
55b307cddf
Calculate config->font_height based on existing container titles
7 years ago
Ryan Dwyer
b667298a0a
Render titles
7 years ago
Dillen Meijboom
b45e2bd95e
Fixed #1888 GCC cannot compile due to uninitialized variables ( #1889 )
7 years ago
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.
7 years ago
Ryan Dwyer
83952c5201
Restore view_update_position()
7 years ago
Ryan Dwyer
55577498c0
Allow clicking view decorations to focus view
7 years ago
Ryan Dwyer
0375f966f1
Fix surface offset when using borders
7 years ago
Ryan Dwyer
fa5de2876e
Move docblock and fix indenting of switch/case.
7 years ago
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
7 years ago
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.
7 years ago
Ryan Dwyer
312fdf313f
Remove arrange_windows()
...
After the refactor, this function is no longer called.
7 years ago
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.
7 years ago
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
7 years ago
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
7 years ago
Ryan Dwyer
30a7488936
Add assert to view_execute_criteria()
7 years ago
Ryan Dwyer
72767e1cc3
Implement criteria commands
...
Implements the following commands:
* for_window [...] <cmdlist>
* assign [...] <workspace>
7 years ago
Ryan Dwyer
22b9169631
Fix crash in container_descendants()
...
If root is a C_VIEW, the children property is a null pointer.
7 years ago
emersion
a41057714f
Update for wlroots#885
7 years ago
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.
7 years ago
Ryan Dwyer
45a2fad0de
container_get_in_direction(): Don't split this function
7 years ago
Ryan Dwyer
7e38cc2e05
arrange_windows(): Calculate workspace properties when fullscreen
7 years ago
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).
7 years ago
Ryan Dwyer
72beae209b
Fullscreen fixes.
7 years ago
Ryan Dwyer
cc4da245a8
Fix views unmapping their own fullscreen windows.
7 years ago
Ryan Dwyer
c685ef081f
Create sway_workspace struct.
7 years ago
Ryan Dwyer
bfd5834f4c
Feedback for fullscreen.
7 years ago
Ryan Dwyer
52420cc24d
Implement fullscreen.
7 years ago
Dominique Martinet
8490d1662c
Fix gcc maybe-uninitialized warning
7 years ago
Dominique Martinet
de65d05821
container_destroy: fix segfault
...
cont->children doesn't have to be NULL when there is no children
7 years ago
Tony Crisci
9db859585e
container_create_notify on split
7 years ago
Tony Crisci
c0f9ee7bd1
seat get focus inactive view
7 years ago
emersion
61abd56ca4
Fix output containers position
7 years ago
Drew DeVault
c47b4d4edb
Merge pull request #1756 from emersion/output-damage
...
Fine-grained damage tracking
7 years ago
Drew DeVault
f5a9bd5cb7
Merge pull request #1700 from swaywm/move-cmd-full
...
Implement move [left|right|up|down]
7 years ago
emersion
93ca8919f6
Don't rejigger if parent has two children
7 years ago
emersion
37b173f326
When moving between outputs, use output center as reference
7 years ago
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
7 years ago
Drew DeVault
df0d57b916
Fix issue with incorrectly rejiggered workspaces
7 years ago
Drew DeVault
764489e737
Break everything^W^WUse wlr_box for sway_container
7 years ago
Drew DeVault
9109b1fd11
Fix moving to parallel container on another output
7 years ago
Drew DeVault
5ff16994c5
Address @emersion feedback
7 years ago
Drew DeVault
c8be7bfc1e
Fix another of @orestisf1993's issues
7 years ago
Drew DeVault
1f70b94f34
Fix moving into right end of container
7 years ago
Drew DeVault
cd6e3182fa
Fix issues @orestisf1993 raised
7 years ago
Drew DeVault
b5baa78dc3
Address @emersion's comments
7 years ago
Drew DeVault
603e0e42c5
Add debug tree view
7 years ago
emersion
516f5454ad
Simplify damage tracking functions, use them in layer shell
7 years ago
emersion
290c916290
Send surface enter/leave events to view children
7 years ago
Drew DeVault
a06052ad9d
Fix splitting workspaces
7 years ago
Drew DeVault
efac07db5f
Fix workspaces not updated on swaybar
7 years ago
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)))
```
7 years ago
Drew DeVault
d77a0119f4
Avoid arranging windows while reloading config
7 years ago
Drew DeVault
b08f7e5183
Fix deletion of still-visible workspaces on unfocus
7 years ago
emersion
88e3e5ea5d
Fix wl_output enter/leave events
...
Fixes #1739
7 years ago
Drew DeVault
f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
...
Damage tracking for view children
7 years ago
emersion
d65d001aa5
Fix desktop_damage_whole_surface
7 years ago
emersion
6b9b03f09f
Remove outdated TODO
7 years ago
emersion
076bedb85e
Add container_damage_whole
7 years ago
emersion
f5e5b1819b
Track damage of xdg-shell-v6 popups
7 years ago
Drew DeVault
f242362e7e
Handle output removal on swaybar
7 years ago
emersion
45f93e1650
Accumulate damage from subsurfaces
7 years ago
emersion
dcd15a2d3d
Implement shell views
7 years ago
Drew DeVault
9e89daf213
Merge pull request #1734 from swaywm/resize-cmd
...
Implement resize command
7 years ago
Drew DeVault
f77986338f
Implement resize command
7 years ago
Tony Crisci
65f254f3fb
Merge branch 'wlroots' into fix-focus-inactive
7 years ago
Tony Crisci
deda37469a
fix focus child
7 years ago
emersion
44b8d30f52
Use new wlr_*_surface_at functions
7 years ago
emersion
8eff00f723
Remove unused SWAY_VIEW_TYPES
7 years ago
Tony Crisci
fc9398a42e
Implement opacity command
7 years ago
Tony Crisci
cfd806577b
fix sending window new event
7 years ago
Tony Crisci
3e61718053
try to fix focus-inactive
7 years ago
Tony Crisci
76b0f3531f
send window close event
7 years ago
Tony Crisci
62c79ef451
fix double free
7 years ago
Tony Crisci
741e3959e3
Merge branch 'wlroots' into split-containers2
7 years ago
Tony Crisci
9d1cbd77ac
simplify container close
7 years ago
emersion
f3ef1da750
Fix wrong output container coordinates
7 years ago
Tony Crisci
fa004dd0d7
move output create to its own file
7 years ago
Tony Crisci
a001890fb8
move workspace create to workspace.c
7 years ago
Tony Crisci
97b171649d
move output damage to workspace destructor
7 years ago
emersion
c0554d23d3
Fix rendering with multiple outputs
7 years ago
Tony Crisci
035a88e0dc
rename container_finish to _container_destroy
7 years ago
Tony Crisci
481a8275c1
address feedback
7 years ago
Drew DeVault
1a5785b0c3
Merge pull request #1712 from RedSoxFan/workspace-number-names
...
Fix name generation from workspace number commands
7 years ago
Brian Ashworth
1e549230db
Fix name generation for workspace number <name>
7 years ago
Tony Crisci
a514fee1b9
rename workspace_get_initial_output
7 years ago
Tony Crisci
9b567fc37e
clean up container_get_default_layout
7 years ago
Tony Crisci
065887bb7b
move container_set_layout to layout.h
7 years ago
Tony Crisci
fcbcbf34ad
make container_finish private
7 years ago
Tony Crisci
5f4761c4f4
unify workspace create functions
7 years ago
Tony Crisci
cba258e16a
move output code out of the tree
7 years ago
Tony Crisci
09d448ea2d
unify container destroy functions
7 years ago
Tony Crisci
b4c5f79725
move view and workspace destructors to container.c
7 years ago
Tony Crisci
7afbe9284f
rename _container_destroy to container_finish
7 years ago
Tony Crisci
33006c4e64
dont deallocate in container_close
7 years ago