Ryan Dwyer
9fbe13b9be
Implement floating_modifier and mouse operations for floating views
...
This implements the following:
* `floating_modifier` configuration directive
* Drag a floating window by its title bar
* Hold mod + drag a floating window from anywhere
* Resize a floating view by dragging the border
* Resize a floating view by holding mod and right clicking anywhere on
the view
* Resize a floating view and keep aspect ratio by holding shift while
resizing using either method
* Mouse cursor turns into resize when hovering floating border or corner
6 years ago
Brian Ashworth
bc7d332109
Reset outputs on reload
6 years ago
Ryan Dwyer
37b33f92e8
Fix urgent timer logic and remove unnecessary header includes
6 years ago
Ryan Dwyer
c2ed3d8bd6
Implement force_display_urgency_hint
...
The directive sets the timeout before an urgent view becomes normal
again after switching to it from another workspace.
Also:
* When an xwayland surface removes the urgent hint while the timer is
active, we now ignore the request. This happens as soon as the view
receives focus, so it was effectively making the timer pointless.
* The timeout is now only applied when switching to it from another
workspace.
6 years ago
Brian Ashworth
9605ab45f1
Fix output wildcard handling
6 years ago
Ryan Dwyer
8789ceea87
Fix pointer events for overlapping floating views
...
Fixes #2315 .
6 years ago
Drew DeVault
3483f1ea1a
Merge branch 'master' into update-wlroots-1148
6 years ago
emersion
4154234eee
Update for swaywm/wlroots#1148
6 years ago
Drew DeVault
da9c86c608
Merge pull request #2310 from RyanDwyer/assign-output
...
Implement assign to output
6 years ago
emersion
d8badceb54
Merge pull request #2304 from RedSoxFan/fix-2298
...
Fix deferred command handling
6 years ago
Ryan Dwyer
54b00d351e
Implement assign to output
...
Eg. assign [class="Firefox"] output foo
6 years ago
emersion
eecb393401
Merge branch 'master' into xwayland-set-hints
6 years ago
emersion
cb4309b7cd
Merge pull request #2305 from RyanDwyer/focus-output
...
Implement focus output command
6 years ago
emersion
3dab83d6eb
Merge pull request #2308 from RyanDwyer/fix-double-transaction
...
Fix crash and render issues involving cursor_send_pointer_motion
6 years ago
Ryan Dwyer
63d6233fcb
Allow xwayland views to become urgent when on a non-visible workspace
...
This removes the urgency stuff from the commit handler and puts it in a
new set_hints handler instead. This allows the xwayland surface to
become urgent without having to commit (which doesn't happen if it's on
an non-visible workspace).
6 years ago
Ryan Dwyer
32806d16ee
Use parse_movement_direction
6 years ago
Ryan Dwyer
8533c35a9f
Fix crash and render issues involving cursor_send_pointer_motion
...
Fixes #2303 , as well as a crash.
To replicate the crash:
* Have multiple outputs
* In config: for_window [<criteria>] workspace foo
* Also in config: workspace foo output <left-output-name>
* Focus the right output, and ensure workspace foo doesn't exist
* Launch the app that triggers the criteria
When the view maps, it calls workspace_switch which calls
send_set_focus which calls cursor_send_pointer_motion which calls
transaction_commit_dirty. This call to transaction_commit_dirty is not
meant to happen at this time because the tree isn't guaranteed to be in
a consistent state, but I'm not sure how exactly this leads to the crash
or render issues.
In this case the transaction is already committed by the view
implementation's handle_map function. So the solution is to remove it
from cursor_send_pointer_motion and add it to the other functions in
cursor.c which call cursor_send_pointer_motion.
6 years ago
Ryan Dwyer
dad3a8deee
Fix crash when moving workspace to output
6 years ago
Ryan Dwyer
08736255a3
Defer the focus commands
6 years ago
Ryan Dwyer
a173b79c54
Implement focus output command
6 years ago
Brian Ashworth
ec65286606
Fix deferred command handling
6 years ago
emersion
747725b8bb
Don't unfocus when an override redirect window is mapped
6 years ago
emersion
fb4eca5d56
Handle xwayland override_redirect flag change
...
This fixes syncplay menus.
6 years ago
Drew DeVault
ca695482ec
Merge pull request #2292 from emersion/update-cursor-on-focus
...
Update cursor on focus change
6 years ago
Ryan Dwyer
8ce7e3b44e
Merge branch 'master' into destroy-output-destroy-empty-workspaces
6 years ago
emersion
03d49490cc
Update cursor on focus change
...
This allows to send wl_pointer.enter when switching between views
in a split/tabbed layout for instance. This (1) updates the cursor
image accordingly (2) makes it unnecessary to move the mouse before
scrolling. It's harmless to always call cursor_send_pointer_motion
because in case the focused surface hasn't changed this is a no-op.
The `last_focus != NULL` condition is required otherwise
cursor_send_pointer_motion will crash when sway starts up (the
sway_output doesn't yet have a workspace).
6 years ago
frsfnrrg
3931cb85b2
Fix memory leak in sway/desktop/idle_inhibit_v1.c
6 years ago
frsfnrrg
37471ac649
Fix memory leak in handle_layer_shell_surface
6 years ago
frsfnrrg
600676688a
Free individual criteria in free_config
...
Also free cmd_list when cleaning up a struct criteria.
6 years ago
frsfnrrg
b3014f7b16
Fix uninitialized pointer in view_unmap
...
Otherwise, sway crashes due to uninitialized pointer
dereference when AddressSanitizer is active.
6 years ago
Brian Ashworth
10fc7a5b49
Merge branch 'master' into default-floating-border
6 years ago
Drew DeVault
db3a363734
Revert "config: free include path on successful load"
...
This reverts commit 92450883d7
.
6 years ago
Ryan Dwyer
9cbff272cb
Remove superfluous IPC urgent events
...
When an xwayland view is mapped, the IPC urgent event was being sent on
every surface commit.
I had intentionally ommitted the check because I figured an urgent
surface could update its urgent timestamp by sending urgent a second
time. But that's not how it works in xwayland's case, and it makes for
more complicated code.
6 years ago
Ryan Dwyer
75c699db62
Implement default_floating_border command and adjust CSD behaviour
6 years ago
Drew DeVault
d6bd314dff
Merge pull request #2276 from RyanDwyer/urgency
...
Implement urgency base functionality
6 years ago
Ryan Dwyer
e2f28c023c
Focus view before running criteria when mapping
6 years ago
Ryan Dwyer
fc2484095a
Implement no_focus command
6 years ago
Ryan Dwyer
af5f736277
Render containers as urgent if they have an urgent child
6 years ago
Ryan Dwyer
9ca5cb7faf
Fix tab split focus bug
...
Fixes a bug where if you have a tab containing a split, then switch from
a non-split tab to the split tab, focus is not changed properly.
6 years ago
Ryan Dwyer
be28c18ad5
Mark containers as urgent in IPC if they have urgent views
6 years ago
Ryan Dwyer
5f0a4bb6a4
Update workspace urgent state when views close or move workspaces
6 years ago
Ryan Dwyer
560627437b
Make container_for_each_descendant_dfs descend into floating views
6 years ago
Ryan Dwyer
64e3bc3ab0
Fix crash in ipc_json_describe_view
...
I didn't expect a function called ipc_json_describe_view to be passed a
container which wasn't a view :\
6 years ago
Ryan Dwyer
a211daf9e6
Add documentation for urgent command
6 years ago
Ryan Dwyer
e3f90f00fe
Implement xwayland urgency hint
6 years ago
Ryan Dwyer
f86087d78f
Fix urgency IPC events
6 years ago
Ryan Dwyer
315d5311b2
Implement urgency base functionality
...
Introduces a command to manually set urgency, as well as rendering of
urgent views, sending the IPC event, removing urgency after focused for
one second, and matching urgent views via criteria.
6 years ago
Ian Fan
9559e3e2af
config output: free command string if unused
6 years ago
Ian Fan
92450883d7
config: free include path on successful load
6 years ago
Ian Fan
ba8981e44b
bar: free old position when changing
6 years ago
Ian Fan
011d43746f
Add error handling for getting config file size
6 years ago
Ian Fan
e6209afcd6
Fix config buffer overflow and logic
6 years ago
Ryan Dwyer
a120d4c79f
Make focus part of transactions
...
Rather than maintain copies of the entire focus stack, this PR
transactionises the focus by introducing two new properties to the
container state and using those when rendering.
* `bool focused` means this container has actual focus. Only one
container should have this equalling true in its current state.
* `struct sway_container *focus_inactive_child` points to the immediate
child that was most recently focused (eg. for tabbed and stacked
containers).
6 years ago
Drew DeVault
53e3f35ba3
Merge pull request #2272 from RyanDwyer/simplify-transactions
...
Simplify transactions by using a dirty flag on containers
6 years ago
Drew DeVault
806c06fdfb
Merge pull request #2266 from emersion/remove-orbital-screenshooter
...
Remove orbital screenshooter
6 years ago
Drew DeVault
b1afcc69fa
Add extended debugging flags
...
We currently have several ways of setting debug flags, including command
line arguments, environment variables, and compile-time macros. This
replaces the lot with command line flags.
6 years ago
Ryan Dwyer
6b2dc7e63b
Set signature to void
6 years ago
Ryan Dwyer
2032f85d94
Simplify transactions by utilising a dirty flag on containers
...
This PR changes the way we handle transactions to a more simple method.
The new method is to mark containers as dirty from low level code
(eg. arranging, or container_destroy, and eventually seat_set_focus),
then call transaction_commit_dirty which picks up those containers and
runs them through a transaction. The old methods of using transactions
(arrange_and_commit, or creating one manually) are now no longer
possible.
The highest-level code (execute_command and view implementation
handlers) will call transaction_commit_dirty, so most other code just
needs to set containers as dirty. This is done by arranging, but can
also be done by calling container_set_dirty.
6 years ago
Brian Ashworth
13c6627ddb
Implement tap_button_map for input devices
6 years ago
Ryan Dwyer
0584ecec0a
Force min/max size when resizing floating containers
6 years ago
Ryan Dwyer
5940682f40
Implement resize grow|shrink <direction> <amount> or <amount>
6 years ago
Ryan Dwyer
558ca9fc28
Implement resize command for floating views
...
Implements the following for floating views:
* resize set <width> <height>
* resize <grow|shrink> <width|height|up|down|left|right> <amount>
6 years ago
emersion
efda33b285
Simplify popup_unconstrain
...
Just use the parent output.
6 years ago
emersion
82c978d34b
Remove orbital screenshooter
6 years ago
emersion
d88f1d2196
Fix output_has_opaque_lockscreen
6 years ago
Drew DeVault
bcdf04d79c
Merge pull request #2252 from rkubosz/scroll-button-option
...
feature: scroll button option for input devices
6 years ago
Robert Kubosz
f8bc928b2d
add error handling for scroll button out of range
...
user will be informed if the scroll button indentifier values causes
underflow or overflow.
6 years ago
Ryan Dwyer
53133fdefb
Merge branch 'master' into xwayland-floating-borders
6 years ago
Robert Kubosz
89db5b5716
expanded error detection for scroll button option
...
Now the scroll_button will not accept:
- letters on string beginning;
- negative numbers.
What is tolerated:
- letters after number;
- rational numbers: the fraction after dot will be omitted.
6 years ago
Drew DeVault
da8149c066
Merge pull request #2253 from Hello71/issue2249
...
config.c: fix current_config uninit warning (#2249 )
6 years ago
emersion
a96f1c22fe
Add xdg-positioner support
6 years ago
emersion
9b16227ec3
Don't disable borders for xwayland floating views
6 years ago
Alex Xu
fbecfc2d35
config.c: fix current_config uninit warning ( #2249 )
6 years ago
Robert Kubosz
094edcbea2
rm constraint for max value of button identifier
...
updated error message to be more adequate for current contraint
6 years ago
Robert Kubosz
20d6c7c2e4
add paragraph to sway-input man page
...
The added paragraph describes how to get button identifier and set it in
config.
6 years ago
Robert Kubosz
08edaf4e76
increase maximum value of button identifier
...
and also cleanup spaces
6 years ago
Ryan Dwyer
ee0e1b170e
Fix crash in seat code
...
Container will be NULL if launching swaylock.
6 years ago
emersion
60fdb71a1f
Updates for swaywm/wlroots#1116
6 years ago
Drew DeVault
2bc18d8cf7
Merge pull request #2248 from Dudemanguy911/fix_crash_on_floating_windows
...
fix crash on floating windows
6 years ago
Robert Kubosz
41b80c28df
add scroll button option
...
This commit introduces a scroll_button option, which is intended to be
used with scroll_method. Now user can edit his sway config and add an
scroll_button option to device section.
6 years ago
dudemanguy
600c126150
fix crash on floating windows
6 years ago
Ryan Dwyer
f2d1cf3ceb
Implement floating_minimum_size and floating_maximum_size
6 years ago
emersion
73084c5fa6
Merge pull request #2243 from RyanDwyer/use-fullscreen-saved-buffer
...
Use saved buffer when fullscreen view is in a transaction
6 years ago
Ryan Dwyer
3b50a2a3af
Use saved buffer when fullscreen view is in a transaction
...
Fixes #2237 .
6 years ago
Ryan Dwyer
15dc5286e2
Move floating windows to front when focused
6 years ago
russ morris
6ae1004cd1
removed unnecessary parens
6 years ago
russ morris
c06266e12d
fix line lengths
6 years ago
russ morris
b9d8ecc548
tabs instead of spaces
6 years ago
russ morris
89c25dd149
fix tabbed titlebar widths
6 years ago
Ian Fan
23c1c26c3f
Add get_config message type to ipc
6 years ago
Ian Fan
5fd36164a0
Add get_binding_modes message type to ipc
6 years ago
Ryan Dwyer
56ad148403
Merge branch 'master' into fix-stacked-layout
6 years ago
Drew DeVault
6fd9a2bfd6
Merge branch 'master' into focus-mode-toggle
7 years ago
emersion
63b4bf5000
Update for swaywm/wlroots#1126
7 years ago
Konstantin Pospelov
9dd54f934e
Fix titlebar rendering for nested stacked containers
7 years ago
emersion
b755639ca8
Document `focus floating|tiling`
7 years ago
emersion
48c98b676f
Implement `focus mode_toggle`
7 years ago
emersion
ebcdce457a
Merge pull request #2223 from RyanDwyer/floating-move
...
Implement some floating move commands
7 years ago
Ryan Dwyer
b0fc7e9850
Remove duplicate function declaration and add assertion
7 years ago
Ryan Dwyer
ab8a86369c
Implement some floating move commands
...
This implements the following for floating containers:
* move <direction> <amount>
* move [absolute] position <x> <y>
* move [absolute] position mouse
7 years ago
vilhalmer
4e7ef1dd39
No need to walk to workspace, recursive will
7 years ago
vilhalmer
47c20f8ea4
Regroup signal
7 years ago
vilhalmer
ce626a0708
Replace empty workspace with moved workspace
7 years ago
vilhalmer
621d2666b1
Destroy empty workspace when destroying its output
7 years ago
emersion
f9625d1d56
Split renderer
7 years ago
Ryan Dwyer
0046eed969
Fix titles when container titles contain UTF-8 characters
...
The title and marks textures would have their height set from the
config's computed max font height, but the textures were not regenerated
when the config's max font height changed which made a gap appear.
Rather than making it regenerate the title textures every time the
config font height was changed, I've changed it to just make the
textures the height of the title itself and fill any gap when rendering.
Also, the title_width and marks_width variables have been renamed to
make it more obvious that they are in output-buffer-local coordinates.
Fixes #1936 .
7 years ago
emersion
9a9d9116be
Make view_update_* update live props as well
7 years ago
emersion
47d56306c3
Fix xwayland floating views unclickable
...
Some xwayland views are first configured with a 1x1 size, and then
resized. Since the view size isn't updated, they are unclickable.
Fixes #2195
7 years ago
Drew DeVault
817e847749
Merge pull request #2206 from martinetd/leaks
...
Fix a bunch of leaks
7 years ago
emersion
b3c55dd909
Merge branch 'master' into leaks
7 years ago
Ryan Dwyer
464d4d5889
Translate surface by its geo when doing opaque box check
7 years ago
Ryan Dwyer
9480781229
Don't clear when using opaque lockscreen
7 years ago
Ryan Dwyer
3b842f4eed
Detect opaque lockscreen when using a solid color
7 years ago
Ryan Dwyer
f1fadef923
Use pixman_region32_contains_rectangle
7 years ago
Ryan Dwyer
839c3a5500
Use opaque region to determine if frame done should be sent
7 years ago
Ryan Dwyer
58befcf2cd
Don't send frame done to surfaces behind lockscreen
...
Also, when rendering, don't descend into the tree if the lockscreen is
active. Just render the lockscreen's surfaces.
7 years ago
Drew DeVault
3d2595b102
Merge branch 'master' into remove-input-fix
7 years ago
Ian Fan
f63b209d51
Attach destroy handler earlier
...
This prevents it from being bypassed when the device has no seat configuration
7 years ago
Drew DeVault
a06d45a14d
Merge pull request #2217 from RedSoxFan/fix-663
...
Implement mode --pango_markup
7 years ago
Brian Ashworth
c833ae64bc
Fix pointer button events for layer surfaces
7 years ago
Brian Ashworth
78c08fb0a2
Implement mode --pango_markup
7 years ago
emersion
84109431f7
Merge pull request #2185 from swaywm/update-wlroots-1076
...
Updates per wlroots#1076
7 years ago
Thomas Plaçais
ab5c8c31a0
Escape underscore in sway-input(5) man page to avoid invalid colors
7 years ago
Dominique Martinet
7ef08ffbe6
pango/cairo: set default font map to NULL to free it
7 years ago
Dominique Martinet
fe72e3b349
cmd_results_to_json: return copied string and properly free the json
...
The only user of this function would copy the string right away
to get rid of the const flag anyway, and freeing a const string
afterwards might work but is not meant to be done according to the
json-c API.
7 years ago
emersion
51b215ad5c
Use wlr_surface.buffer_damage
7 years ago
Drew DeVault
d43500831a
Updates per wlroots#1076
7 years ago
Dominique Martinet
9314c45c41
workspace_next_name: free targets later than these already found in order
7 years ago
Dominique Martinet
785ed4383b
view_map: free criterias as the list it is
7 years ago
Dominique Martinet
ffbe91c245
container_free: free formatted title
7 years ago
Dominique Martinet
ffe9de6e24
ipc-server: free clients at destroy
7 years ago
Dominique Martinet
9f5d539657
config: add a couple of forgotten frees
7 years ago
Dominique Martinet
8a771785ad
keyboard: free xkb keymap on destroy
7 years ago
Ryan Dwyer
fc826b921f
Call view_set_tiled for mapping non-floating views
...
Fixes #2209 .
7 years ago
Drew DeVault
eed0b5614f
Merge pull request #2205 from RyanDwyer/fix-border-weirdness
...
Fix border weirdness
7 years ago
Ryan Dwyer
50b401677b
Fix use after free in transaction code
...
If we set an instruction as ready twice, it decreases the transaction's
num_waiting a second time and applies the transaction earlier than it
should. This no doubt has undesired effects, probably resulting in a use
after free.
Hopefully fixes the first part of #2207 .
7 years ago
Ryan Dwyer
4cb6c368a7
Fix boolean
7 years ago
Ryan Dwyer
f156a25e64
Only call view_set_tiled when switching floating mode
...
Otherwise it repeatedly sets the view's border to the config's default.
7 years ago
Dominique Martinet
b0918b1058
ipc-server: add display destroy listener and remove ipc_terminate
...
wl_event_source_remove() is illegal after display has been destroyed,
so just destroy everything when we still can.
==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0
READ of size 8 at 0x607000001240 thread T0
#0 0x48e86d in wl_list_insert ../common/list.c:149
#1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487
#2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94
#3 0x40b1ad in main ../sway/main.c:440
#4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
#5 0x409359 in _start (/opt/wayland/bin/sway+0x409359)
0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258)
freed by thread T0 here:
#0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097
previously allocated by thread T0 here:
#0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48)
#1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522
#2 0x40acb2 in main ../sway/main.c:363
#3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
7 years ago
emersion
4afa18a0c0
Merge pull request #2202 from RyanDwyer/fix-focus-damage
...
Fix focus related damage
7 years ago
Ryan Dwyer
0bd41a0dae
Fix focus related damage
...
When you have an unfocused container (so one view is focused_inactive),
and you focus any other view in that container, the view with
focused_inactive was not damaged. This is because we damaged the
previous focus and new focus, but needed to damage the parent of the new
focus.
7 years ago
Dominique Martinet
c092f1fe6a
startup: move setenv WAYLAND_DISPLAY before config execs
...
We would previously run all config commands without the environment,
which would appear to work as our socket name is the default one, but
wayland clients would start up in the wrong sway session.
(This explains why 'sometimes' my swayidle processes wouldn't die with
sway, as they weren't listening to the correct socket)
7 years ago
emersion
8cc26130a6
Merge pull request #2194 from RyanDwyer/fix-incorrect-render
...
Don't return pending children in seat_get_active_current_child
7 years ago
Ryan Dwyer
1e4807efa0
Don't return pending children in seat_get_active_current_child
...
Fixes #2192 .
seat_get_active_current_child is intended to return a child of the given
container which has finished its mapping transaction and is able to be
rendered on screen. The previous implementation was capable of returning
a pending child, which caused a child of a tabbed or stacked view to be
rendered prematurely while it was mapping.
7 years ago
Ryan Dwyer
d467452e5e
Fix damage on swaybar when view requests to exit fullscreen
...
Fixes #2191
7 years ago
emersion
f611a4f9b1
Merge pull request #2187 from martinetd/idle-inhibit
...
Idle inhibit
7 years ago
Dominique Martinet
71224781c4
idle_inhibit: move server data to its own struct
7 years ago
Dominique Martinet
072b334abc
idle_inhibit: stop inhibitor when views become invisible
7 years ago
Dominique Martinet
e4bfb3bc98
Add idle inhibit unstable v1 support
7 years ago
Dominique Martinet
4eeca10a8a
load_config: move NULL path check before first use
...
Found through static analysis
7 years ago
Dominique Martinet
8c526bbb03
config include: fix leak on relative include path
...
Found through static analysis
7 years ago
Dominique Martinet
248ea93c1a
bar config: fix uninitialized accesses on init error
...
If init fails halfway through it will call the destroy function,
which needs some coherent stuff filled.
Allocate with calloc and fill in what cannot fail first
Found through static analysis.
7 years ago
Dominique Martinet
e67c8cf1cb
cmd_assign: fix leak on error
...
Found through static analysis.
7 years ago
Dominique Martinet
c73c552cae
bar_cmd_modifier: fix use-after-free on error
...
Found through static analysis.
7 years ago
Dominique Martinet
6d2b82253a
bar_cmd_font: fix leak of font
...
join_args is a freshly allocated string and can be used as is.
Found through static analysis.
7 years ago
Dominique Martinet
0c6149171b
read_config: fix leak on error
...
Found through static analysis.
7 years ago
Dominique Martinet
a2354d5992
cmd_background: fix leak on error
...
Found through static analysis.
7 years ago
Dominique Martinet
df494a7e51
transaction_apply: use float for quotient
...
Pre-dividing 1000/60 would lose 2/3 due to round-up
Found through static analysis
7 years ago
Dominique Martinet
c78ab67877
workspace_next_name: fix string length for ws_num >= 100
...
The check didn't include && ws_num < 100 so l would always be 1 or 2
Instead of fixing logic it's simpler to just call snprintf twice to get
length and use that.
Also change malloc failure check to sway_assert because both callers of
this function do not do null check and would segfault...
Found through static analysis.
7 years ago
Dominique Martinet
9c9ee3e4ef
find prev/next output/workspace: add NULL check
...
These could be called with NULL if there is no focus
Found through static analysis.
7 years ago
Dominique Martinet
ab18740529
output commands: move !argc checks after argc gets decremented
...
Found through static analysis.
7 years ago
Dominique Martinet
557a14a6fe
config_commands_command: make alloc failure check more permanent
...
policy is accessed again later
Found through static analysis
7 years ago
Dominique Martinet
5690bea227
input_config: free new_input_config on error
...
Found through static analysis.
7 years ago
Dominique Martinet
ebe69583c7
ipc-server: fix more use-after-frees on ipc_send_reply error
...
Since ipc_send_reply frees the client on error, we need to check the
return value properly as we access client later on
Found through static analysis.
7 years ago
Dominique Martinet
0ab04b7434
ipc-server: minor code cleanup
...
No logic change here, this one is mostly to please static analyzer:
- client->fd can never be -1 (and if it could, close() a few lines below
would have needed the same check)
- we never send permission denied error (dead code)
7 years ago
Dominique Martinet
546ddbcd5b
ipc-server: fix double-free on send error in ipc_send_event
...
ipc_send_reply already does client disconnect on error, so we shouldn't
do it again.
We also need to process current index again as disconnect removes client
from the list we currently are processing (this is an indexed "list")
Found through static analysis.
7 years ago
Dominique Martinet
9c8fb7d025
invoke_swaybar: fix message length header size
...
size_t/ssize_t are 8 bytes on 64bit systems, so use the proper size to
transmit that information.
This could lead to ridiculously large alloc as len is not initialized to zero
Found through static analysis
7 years ago
Dominique Martinet
1b7f554474
log_kernel: s/fclose/pclose/ (for popen'd FILE)
...
With recent glibc the functions are strictly identical, but this might
not be true for all libc implementations
Found through static analysis.
7 years ago
emersion
7abb4d63e2
Init screencopy manager
7 years ago
Dominique Martinet
ce17788533
exec_always: fix leaks
...
- child would leak in the workspace_record_pid path
- removing malloc lets us get rid of That Comment nobody seems
to remember what it was about
- we would leak pipe fds on first fork failling
- we didn't return an error if second fork failed
- the final executed process still had both pipe fds
(would show up in /proc/23560/fd in launched programs)
- we would write twice to the pipe if execl failed for some reason
(e.g. if /bin/sh doesn't exist?!)
7 years ago
Drew DeVault
acd79e1505
Implement pid->workspace tracking
...
When you spawn a process with the exec command, sway now notes the
workspace you had focused and the pid of the child process, then assigns
that workspace to the child when its window appears.
Some of this is carried over from sway 0.15, but with some major
refactoring and centralization of state.
7 years ago
Dominique Martinet
bc1e99305a
xdg_shell: listen to fullscreen request on map
...
That event comes from the toplevel and not the surface, so would cause
a use-after-free on destroy if the toplevel got destroyed first:
==5454==ERROR: AddressSanitizer: heap-use-after-free on address 0x6110001ed198 at pc 0x000000472d10 bp 0x7ffc19070a80 sp 0x7ffc19070a70
WRITE of size 8 at 0x6110001ed198 thread T0
#0 0x472d0f in wl_list_remove ../common/list.c:157
#1 0x42e159 in handle_destroy ../sway/desktop/xdg_shell_v6.c:243
#2 0x7fa9e5b28ce8 in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7fa9e5afd6b1 in destroy_xdg_surface_v6 ../types/xdg_shell_v6/wlr_xdg_surface_v6.c:101
#4 0x7fa9e5d98025 in destroy_resource src/wayland-server.c:688
#5 0x7fa9e5d98091 in wl_resource_destroy src/wayland-server.c:705
#6 0x7fa9e27f103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
#7 0x7fa9e27f09fe in ffi_call (/lib64/libffi.so.6+0x59fe)
#8 0x7fa9e5d9bf2c (/lib64/libwayland-server.so.0+0xbf2c)
#9 0x7fa9e5d983de in wl_client_connection_data src/wayland-server.c:420
#10 0x7fa9e5d99f01 in wl_event_loop_dispatch src/event-loop.c:641
#11 0x7fa9e5d98601 in wl_display_run src/wayland-server.c:1260
#12 0x40a2f4 in main ../sway/main.c:433
#13 0x7fa9e527318a in __libc_start_main ../csu/libc-start.c:308
#14 0x40b749 in _start (/opt/wayland/bin/sway+0x40b749)
0x6110001ed198 is located 152 bytes inside of 240-byte region [0x6110001ed100,0x6110001ed1f0)
freed by thread T0 here:
#0 0x7fa9e7c89880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x7fa9e5affce9 in destroy_xdg_toplevel_v6 ../types/xdg_shell_v6/wlr_xdg_toplevel_v6.c:23
#2 0x7fa9e5d98025 in destroy_resource src/wayland-server.c:688
previously allocated by thread T0 here:
#0 0x7fa9e7c89e50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x7fa9e5b00eea in create_xdg_toplevel_v6 ../types/xdg_shell_v6/wlr_xdg_toplevel_v6.c:427
#2 0x7fa9e27f103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
The toplevel only notifies the compositor on destroy if it was mapped,
so only listen to events at map time.
7 years ago
Dominique Martinet
9ea4cc13a0
sway views: add helpers to get view and layer from wlr_surface
7 years ago
Ryan Dwyer
e396af853b
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Rostislav Pehlivanov
0cc24dd9c8
Fix crash with stacking layout after f42bf0ad4
...
The "simple" rendering function only applies to tiled views.
7 years ago
Ryan Dwyer
fc6fde7d90
Fix compile error
7 years ago
Rostislav Pehlivanov
f42bf0ad4a
container_at_view: don't offset the view by the window geometry
...
Fixes floating window input offsets. As discussed on IRC with emersion,
this shouldn't have been done in the first place.
7 years ago
Rostislav Pehlivanov
e0d0e8f840
Revert "Don't unmaximize floating views"
...
This reverts commit 97672295ed
.
7 years ago
emersion
4de28bba68
Fix floating views not receiving frame events
...
That happened when they were in tabbed or stacked containers.
Fixes #2161
7 years ago
Ryan Dwyer
96c8c02483
Fix flash of background when xwayland views are mapped
...
A flash of background was happening for two reasons:
1) We were using the xsurface's dimensions to check if the surface is
ready, but these are pending dimensions.
2) In my particular setup, the default geometry of the xsurface does not
intersect any output, which prevented it from receiving a frame done
event. This made the transaction time out and the client would only
redraw once it's been rendered.
7 years ago
Ryan Dwyer
3a6ed5110c
Render saved buffers with the surface's dimensions
7 years ago
Ryan Dwyer
a2fbb20a61
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Ryan Dwyer
d7169ee7ff
Replace list_empty with a simple alternative
7 years ago
Ryan Dwyer
e8fb6b3325
Fix crash when moving last child of a container to workspace or output
...
We were arranging a parent which may have been deleted by the reaper,
which meant the `current` children list of the surviving parent had a
dangling pointer.
Instead, we now reap the workspace.
7 years ago
Armin Preiml
1eede432fc
fix handling key modifiers if not pressed at first
...
fixes #2169
7 years ago
Armin Preiml
c4b900c1e0
fix accidently removing borders on XCB_CONFIGURE_REQUEST
...
The view was configured with the container coordinates.
Although they were right on the first configure, they
changed after a XCB_CONFIGURE_REQUEST, when the
border was already drawn.
7 years ago
Thomas Plaçais
9a3c6d2dbe
Check if command input has at least 2 arguments
7 years ago
Ryan Dwyer
9652529cc1
Allow views to skip configures
...
To do this properly, the transaction queue will only be processed if it
can be completely processed.
7 years ago
Ryan Dwyer
e6829c5991
Move unsetting of view->surface into view_unmap
7 years ago
Ryan Dwyer
8773ed3970
Fix memleak in container_get_box
...
Rather than allocate a structure and expect callers to free it, take a
pointer to an existing struct as an argument.
This function is no longer called anywhere though.
7 years ago
Ryan Dwyer
be86d3aba6
Remove transaction_add_damage
...
Instead, damage each container when applying the transaction.
7 years ago
Ryan Dwyer
61c1187685
Fix nitpicks
7 years ago
Ryan Dwyer
bf38081382
Merge branch 'master' into xwayland-wants-float
7 years ago
emersion
ecd748d240
Merge branch 'master' into float_xdg_shell
7 years ago
ael-code
a4578815f1
cleanup output-background subcommand handling
...
- fixes a double-free error when access() failed.
- refactor code to make memory managment (alloc/free) more straightforward
- do not bring the temporary wordexp_t struct around
- do not postpone errors handling
7 years ago
ael-code
4550cb2b3e
fix memleak on background cmd error
...
- src must be free after join_args()
- wordfree must bee used after wordexp
7 years ago
Dominique Martinet
6856866a61
layer_shell: order destroying before sway_output
...
Both sway_output and sway_layer_shell listen to wlr's output destroy event,
but sway_layer_shell needs to access into sway_output's data strucure and needs
to be destroyed first.
Resolve this by making sway_layer_shell listen to a new event that happens at
start of sway_output's destroy handler
7 years ago
Dominique Martinet
08800c8ee2
layer_shell: cleanup output link on output destroy
...
Fixes this kind of use-after-free:
==1795==ERROR: AddressSanitizer: heap-use-after-free on address 0x612000191ef0 at pc 0x00000048c388 bp 0x7ffe308f0410 sp 0x7ffe308f0400
WRITE of size 8 at 0x612000191ef0 thread T0
#0 0x48c387 in wl_list_remove ../common/list.c:157
#1 0x42196b in handle_destroy ../sway/desktop/layer_shell.c:275
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc22cf68 in layer_surface_destroy ../types/wlr_layer_shell.c:182
#4 0x7f55cc22d084 in layer_surface_resource_destroy ../types/wlr_layer_shell.c:196
#5 0x7f55cc4ca025 in destroy_resource src/wayland-server.c:688
#6 0x7f55cc4ca091 in wl_resource_destroy src/wayland-server.c:705
#7 0x7f55cc22c3a2 in resource_handle_destroy ../types/wlr_layer_shell.c:18
#8 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
#9 0x7f55c8ef09fe in ffi_call (/lib64/libffi.so.6+0x59fe)
#10 0x7f55cc4cdf2c (/lib64/libwayland-server.so.0+0xbf2c)
#11 0x7f55cc4ca3de in wl_client_connection_data src/wayland-server.c:420
#12 0x7f55cc4cbf01 in wl_event_loop_dispatch src/event-loop.c:641
#13 0x7f55cc4ca601 in wl_display_run src/wayland-server.c:1260
#14 0x40bb1e in server_run ../sway/server.c:141
#15 0x40ab2f in main ../sway/main.c:432
#16 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
#17 0x408d29 in _start (/opt/wayland/bin/sway+0x408d29)
0x612000191ef0 is located 48 bytes inside of 312-byte region [0x612000191ec0,0x612000191ff8)
freed by thread T0 here:
#0 0x7f55ce3bb880 in __interceptor_free (/lib64/libasan.so.5+0xee880)
#1 0x42f1db in handle_destroy ../sway/desktop/output.c:1275
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc23b4c2 in wlr_output_destroy ../types/wlr_output.c:284
#4 0x7f55cc1ddc20 in xdg_toplevel_handle_close ../backend/wayland/output.c:235
#5 0x7f55c8ef103d in ffi_call_unix64 (/lib64/libffi.so.6+0x603d)
previously allocated by thread T0 here:
#0 0x7f55ce3bbe50 in calloc (/lib64/libasan.so.5+0xeee50)
#1 0x42f401 in handle_new_output ../sway/desktop/output.c:1308
#2 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#3 0x7f55cc1d6cbf in new_output_reemit ../backend/multi/backend.c:113
#4 0x7f55cc2549fa in wlr_signal_emit_safe ../util/signal.c:29
#5 0x7f55cc1deac7 in wlr_wl_output_create ../backend/wayland/output.c:327
#6 0x7f55cc1db353 in backend_start ../backend/wayland/backend.c:55
#7 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
#8 0x7f55cc1d67a0 in multi_backend_start ../backend/multi/backend.c:24
#9 0x7f55cc1bad55 in wlr_backend_start ../backend/backend.c:35
#10 0x40ba8a in server_run ../sway/server.c:136
#11 0x40ab2f in main ../sway/main.c:432
#12 0x7f55cb97318a in __libc_start_main ../csu/libc-start.c:308
7 years ago
Ryan Dwyer
a7b3f29292
Remove incorrect assertion and supporting code
...
Children can exist when destroying a container, such as when destroying
the last output. Sway is not terminating in that case.
7 years ago
Ryan Dwyer
93696b78ec
Fix crash when closing output window from outer session
...
Emitting the close event needs to happen before
container_output_destroy, because container_output_destroy sets the
sway_output to NULL and sway_output is used in IPC.
7 years ago
Ryan Dwyer
834805f5e2
Fix crash when disconnecting output
...
We were freeing the sway_output immediately upon disconnect which left
a dangling pointer in the output's container. It then tried to use the
pointer when the container is freed.
We don't need to store the sway_output in an output's container which is
destroying, so the fix is to set the pointer to NULL and remove the use
in container_free.
Also added an arrange when the output is disconnected for good measure.
7 years ago
Ryan Dwyer
0085f64ac0
Remove timer when transaction destroys
7 years ago
Ryan Dwyer
e8001e6fbe
Damage output when views toggle fullscreen
...
Also add workspace to the transaction when a view maps in fullscreen
mode.
7 years ago
Ryan Dwyer
50190bc760
Rename view's free callback to destroy
7 years ago
Ryan Dwyer
7a922c65aa
Damage output when a fullscreen view unmaps
...
Also moved the arranging into view_unmap to avoid excessive code
duplication.
7 years ago
Dominique Martinet
c9be014557
xdg_shell: make view floating if a parent has been set
...
Prompts e.g. authentication request from firefox-wayland ought to be
floating.
This is a bit coarse but just fixed size is not enough, here is what
firefox does:
[1285461.363] -> xdg_wm_base@18.get_xdg_surface(new id xdg_surface@68, wl_surface@71)
[1285461.508] -> xdg_surface@68.get_toplevel(new id xdg_toplevel@67)
[1285461.571] -> xdg_toplevel@67.set_parent(xdg_toplevel@37)
[1285461.630] -> xdg_toplevel@67.set_title("Authentication Required")
[1285461.736] -> xdg_toplevel@67.set_app_id("firefox")
...
[1285476.549] xdg_toplevel@67.configure(0, 0, array)
...
[1285502.080] -> xdg_toplevel@67.set_min_size(299, 187)
[1285502.140] -> xdg_toplevel@67.set_max_size(1920, 32767)
This can also be observed with e.g. the open window of gedit
(gedit->open->other documents)
7 years ago
Ryan Dwyer
beacd4d9f9
Rename progress_queue to transaction_progress_queue
7 years ago
Ryan Dwyer
9b15e81cff
Fix potential crash when fullscreen view unmaps
...
It happened when a view is a grandchild or deeper of the workspace, is
fullscreen, and unmaps. The workspace would not be included in the
transaction and its pointer to the fullscreen view was left dangling.
7 years ago
Tony Crisci
e9ad10c2d6
dont focus-follow-mouse when keyboard grab
7 years ago
Ryan Dwyer
c371ff3de8
Implement per-configure debug timings
7 years ago
Ryan Dwyer
289d696adc
Implement transaction timings debug
...
Launch sway with SWAY_DEBUG=txn_timings to enable it.
7 years ago
emersion
eeb38d65cb
xwayland: accept configure requests from floating views
7 years ago
Ryan Dwyer
a3976e2659
Fix another crash when moving out of stacks or tabs
7 years ago
Ryan Dwyer
1549fb719a
Implement atomic layout updates for xwayland views
7 years ago
Ryan Dwyer
b6a238c7b7
Fix crash when running move <direction> in an empty workspace
7 years ago
Ryan Dwyer
b864ac0149
Fix crash when unmapping a view with reapable parents
...
container_destroy was calling container_reap_empty, which calls
container_destroy and so on. Eventually the original container_destroy
would return a NULL pointer to the caller which caused a crash.
This also fixes an arrange on the wrong container when moving views in
and out of stacks.
7 years ago
Ryan Dwyer
33e03cb277
Fix crash related to stacks and tabs
7 years ago
Ryan Dwyer
f08a30d6d0
Force transactions to complete in order
...
This forces transactions to complete in order by using a singly linked
list stored in the sway server.
7 years ago
Ryan Dwyer
32b865e610
Fix crash when deleting last child in a tabbed or stacked container
...
There was no `current` child because the container was destroyed. This
makes it fall back to looking in the parent's current children list.
7 years ago
Ryan Dwyer
b11c9199a6
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Ryan Dwyer
38398e2d77
Implement atomic layout updates for tree operations
...
This implements atomic layout updates for when views map, reparent or
unmap.
7 years ago
Drew DeVault
5222e14555
Merge pull request #2155 from ael-code/fix_output_command_failure
...
bugfix: avoid access after free
7 years ago
ael-code
ad085c1332
bugfix: avoid access after free
...
if src is NULL due to a previous error we cannot use it in the command
result string.
Moreover if `src` points to `p.we_wordv[0]` we cannot use it after
`wordfree(&p)` in the command result string.
Bonus feature: If there was an error accessing the file, the string
rapresentation of the error is now included in the command result
string.
7 years ago
Drew DeVault
e8fbda4d21
Merge pull request #2146 from tobiasblass/prepare_server_before_dropping_privileges
...
Perform (partial) server initialization before dropping privileges.
7 years ago
Rostislav Pehlivanov
aa9f058e3e
Init the dmabuf exporting protocol in wlroots
...
Allows desktop capture via the dmabuf-capture wlroots example client.
7 years ago
Tobias Blass
a5c091e302
Perform (partial) server initialization before dropping privileges.
...
Some operations during backend creation (e.g. becoming DRM master)
require CAP_SYS_ADMIN privileges. At this point, sway has dropped them
already, though. This patch splits the privileged part of server_init
into its own function and calls it before dropping its privileges.
This fixes the bug with minimal security implications.
7 years ago
emersion
cda66e9a26
Automatically float xwayland windows
7 years ago
Ryan Dwyer
1c89f32533
Preserve buffers during transactions
...
* Also fix parts of the rendering where it was rendering the pending
state instead of current.
7 years ago
Ryan Dwyer
645bf446fa
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
emersion
088cae45c8
Update for swaywm/wlroots#1060
7 years ago
frsfnrrg
ca061ba8bf
Fix keyboard shortcut handling inconsistencies
...
* Ensure that modifier keys are identified even when the next key does
not produce a keysym. This requires that modifier change tracking
be done for each sway_shortcut_state.
* Permit regular and --release shortcuts on the same key combination.
Distinct bindings are identified for press and release cases; note
that the release binding needs to be identified for both key press
and key release events.
* Maintain ascending sort order for the shortcut state list, and keep
track of the number of pressed key ids, for simpler (and hence
faster) searching of the list of key bindings.
* Move binding duplicate detection into get_active_binding to avoid
duplicating error messages.
7 years ago
frsfnrrg
b23cd827cf
Sort binding key lists
...
Sort the list comprising the set of keys for the binding in ascending
order. (Keyboard shortcuts depend only on the set of simultaneously
pressed keys, not their order, so this change should have no external
effect.) This simplifies comparisons between bindings.
7 years ago
Ryan Dwyer
9e96cfd310
Merge remote-tracking branch 'upstream/master' into atomic
7 years ago
Drew DeVault
867fb6aedb
Merge pull request #2124 from emersion/drag-icons
...
Render drag icons
7 years ago
Nate Symer
6a910b9ba5
Implement gaps (PR #2047 )
7 years ago
emersion
cfd02918c0
Render drag icons
7 years ago
emersion
88cd7616db
Fix compilation errors related to disabled outputs
7 years ago
Ryan Dwyer
bb66e6d578
Refactor everything that needs to arrange windows
...
* The arrange_foo functions are now replaced with arrange_and_commit, or
with manually created transactions and arrange_windows x2.
* The arrange functions are now only called from the highest level
functions rather than from both high level and low level functions.
* Due to the previous point, view_set_fullscreen_raw and
view_set_fullscreen are both merged into one function again.
* Floating and fullscreen are now working with transactions.
7 years ago
Ryan Dwyer
f9e6d703d2
Make main properties be the pending state
7 years ago
Ryan Dwyer
59c9488701
WIP: Atomic layout updates ground work
7 years ago
Brian Ashworth
e2b2fb0a0e
Switch restore workspaces to a nested for-loop
7 years ago
Brian Ashworth
5c9a917df9
Restore workspaces to outputs based on priority
7 years ago
emersion
acf71fe805
Merge pull request #2119 from martinetd/gcc-strtruncation
...
sway/criteria: gcc string truncation warning fix
7 years ago
Dominique Martinet
720313e185
sway/criteria: gcc string truncation warning fix
7 years ago
Dominique Martinet
d26a0a1a6e
sway exec command: use waitpid instead of wait
7 years ago
Brian Ashworth
212e4ef395
Remove strip quoting and fix strncpy-overlap
7 years ago
emersion
07bee8cffe
Merge pull request #2084 from RedSoxFan/runtime-var-expansion
...
Runtime variable expansion
7 years ago
Brian Ashworth
e072fbc6d9
Switch output storing from list_t to wl_list
7 years ago
Brian Ashworth
a0bbe67076
Address emersions comments on output re-enabling
7 years ago
Brian Ashworth
a1b5b93d29
Store sway_outputs so that they can be reenabled
7 years ago
Brian Ashworth
82b3b587dd
Remove tab/stack check for focusing after a split
7 years ago
Brian Ashworth
e7261e2917
Fix focusing after splitting tabs/stacks
7 years ago
Scott Leggett
609c420501
Initialise previous cursor position.
...
Fix the problem with focus jumping to the container under the cursor
when first starting sway.
7 years ago
Tobias Blass
d6d292897f
Remove suspicious unconditional return
...
This return effectively disables the log_kernel function
7 years ago
Brian Ashworth
f4870d5432
Fix logic issue in do_var_replacement
7 years ago
Brian Ashworth
067fe9d047
Support runtime var expansion and set at runtime
7 years ago
emersion
0f71547032
Merge pull request #2095 from emersion/fullscreen-damage-only-visible
...
Only send frame to visible surfaces when fullscreened
7 years ago
emersion
6b9ffbad20
Merge pull request #2103 from RyanDwyer/focus-fixes
...
Focus fixes
7 years ago
Brian Ashworth
9aaac8b8c8
Fix movement crashes/issues
7 years ago
Ryan Dwyer
1206a60977
Don't restore focus if unmapping surface wasn't focused
7 years ago
Ryan Dwyer
bcdb676abb
Don't set focus to NULL when clicking a surface which has no container
7 years ago
Ryan Dwyer
9253278328
Restore focus when unmapping layer shell surfaces
7 years ago
Ryan Dwyer
74799937cf
Restore focus when unmapping unmanaged xwayland surfaces
7 years ago
emersion
0549fd027b
Merge pull request #2087 from RedSoxFan/output-subcommand
...
Refactor cmd_output to use config_subcommand
7 years ago
emersion
6d0ad6a1ed
Merge pull request #2099 from RyanDwyer/fix-seat-get-active-child
...
Fix seat_get_active_child
7 years ago
Brian Ashworth
51fa988be9
Address review comments for output subcommands
7 years ago
Brian Ashworth
5ea4a4d3ee
Refactor cmd_output to use config_subcommand
7 years ago
Ryan Dwyer
d02e9aa4bc
Fix initial workspace orientation on a rotated output
7 years ago
Ryan Dwyer
57e78414fa
Fix seat_get_active_child
...
seat_get_active_child is used for tabbed and stacked containers to get
the active child. The previous implementation used seat_get_focus_inactive
then ascended the tree to the child of the tabbed/stacked container, but
this fails when the workspace itself is stacked or tabbed and the most
recently active child is floating.
The new implementation takes a more simple approach, where it directly
scans the focus stack for the first immediate child which isn't the
floating container.
Fixes #2098 .
7 years ago
emersion
ebe0b668c9
Merge pull request #2093 from emersion/damage-debug
...
Add SWAY_DAMAGE_DEBUG
7 years ago
emersion
8e3d19aad2
Merge pull request #2096 from kupospelov/fix-title-update
...
Fix view title update order
7 years ago
Ryan Dwyer
8289e30308
Fix potential crash when destroying workspace
...
`_container_destroy` emits a destroy event, and any listener for this
event should have access to the full container, not a half destroyed
one.
`_container_destroy` also destroys the swayc, so we have to grab a
reference to the sway_workspace so we can free it afterwards.
This also fixes a memory leak where the floating container wasn't freed.
Fixes #2092 .
7 years ago
Konstantin Pospelov
e6baac4297
Fix view title update order
...
This commit fixes the function call order to make sure that the title
texture is updated using the relevant global font size.
7 years ago
emersion
55b855d867
Add SWAY_DAMAGE_DEBUG
...
Setting it to "rerender" will always re-render everything
regardless of the damaged region. Setting it to "highlight" will
clear the screen and render only damaged regions.
7 years ago
emersion
34bdf25bb5
Only send frame to visible surfaces when fullscreened
7 years ago
emersion
51eee3aecc
Schedule a frame even if damage is empty
7 years ago
Dominique Martinet
71ab13f1eb
sway/config: fix use-after-free for end of block
...
Introduced in 7c810dc344
7 years ago
Drew DeVault
df204b65d8
Merge pull request #2089 from emersion/send-frame-done-visible
...
Only send frame done to visible views
7 years ago
emersion
65845be802
Only send frame done to visible views
...
Also don't accumulate empty damage
7 years ago
Brian Ashworth
8bfa2def88
Address first round of review for generic blocks
7 years ago
Brian Ashworth
51bb9d8573
Support braces on next line for config blocks
7 years ago
Brian Ashworth
7c810dc344
Make command block implementation generic
7 years ago
emersion
2d480e754e
Merge pull request #2080 from frsfnrrg/keyboard-remodeling
...
Reduce work duplication in keyboard and binding code
7 years ago
Ryan Dwyer
3f1cfd547e
Fix top border when a view is initially floating
...
Fixes #2085 .
7 years ago
frsfnrrg
78b7b46895
Style fix, redundant entry removal, fix extra keysym delete
7 years ago
frsfnrrg
480f0c593c
Rename update_shortcut_model to update_shortcut_state
7 years ago
frsfnrrg
83d559dd03
Rename check_shortcut_model to get_active_binding
7 years ago
frsfnrrg
c53e4e6cde
Style fixed for keyboard.c
7 years ago
frsfnrrg
eb00edc6e2
Style fixes for bind.c
7 years ago
frsfnrrg
f2fe93d171
Remove almost-always redundant loop in key handling
7 years ago
frsfnrrg
705230a26c
Fix binding bindcode flag initialization
7 years ago
frsfnrrg
a056419ad7
Rewrite shortcut handling code to avoid hardcoded values
...
The same shortcut algorithm is now used for keycodes,
raw keysyms, and translated keysyms. Pressed keysyms
are now stored in association with the keycodes that
generated them. Modifier keycodes (and associated
keysyms) are identified retroactively by the subsequent
change to the modifier flags.
7 years ago
frsfnrrg
f5ed65e633
Use XKB keycode numbering for bindcode
7 years ago
frsfnrrg
d77681ea3d
Share common code between bindsym and bindcode commands
7 years ago
Drew DeVault
96446fdbf7
Merge pull request #2027 from RyanDwyer/implement-floating
...
Implement floating
7 years ago
Brian Ashworth
edf37f27e1
Fix cmd_workspace crash when a surface has focus
7 years ago
Ryan Dwyer
70c2c50445
Fix changing borders on floating views
7 years ago
Ryan Dwyer
d466b8fa7b
Don't auto float xdg views if their dimensions are not set
7 years ago
Ryan Dwyer
a2c1cb9072
Fix mpv damage issue when unfullscreening into floating
7 years ago
Ryan Dwyer
c9e3a313b4
Fix fullscreen position of xwayland views
7 years ago
Ryan Dwyer
00cac22038
Fix crash when using multiple outputs
7 years ago
Drew DeVault
e605dc43bb
Fix mouse warping interaction with layout coords
7 years ago
Ryan Dwyer
c9f8d35ca9
Consider floating views when calculating title height
7 years ago
Ryan Dwyer
9119f87655
Fix floating position when view is floated when mapped
7 years ago
Ryan Dwyer
f7cadf2333
Adjust move command to account for changed coordinate system
7 years ago
Ryan Dwyer
f24087d104
Fix fullscreen position
7 years ago
Ryan Dwyer
97672295ed
Don't unmaximize floating views
7 years ago
Ryan Dwyer
40af5d81a1
Fix getting adjacent output
7 years ago
Ryan Dwyer
becceafa7f
Remove unfinished wants_floating implementation for xwayland
7 years ago
Ryan Dwyer
5b1601c2e3
Don't let xwayland views set position unless unmanaged
7 years ago
Ryan Dwyer
02d385e06f
Use swayc rather than wlr_output when rendering
7 years ago
Ryan Dwyer
3b1db30a5e
Use surface size if xdg shell's geometry isn't set
7 years ago
Ryan Dwyer
4371c746e4
Implement wants_floating for xdg_shell and xdg_shell_v6
7 years ago
Ryan Dwyer
d4ed204d4d
Remove container_self_or_parent_floating
7 years ago
Ryan Dwyer
70f5d6fcf3
Rename container_set_geometry_from_view
7 years ago
Ryan Dwyer
3281574fa3
Remove check for if floating view intersects output
7 years ago
Ryan Dwyer
7d2b33a458
Render floating views before top layer and unmanaged
7 years ago
Ryan Dwyer
e4e912ea91
Store swayc coordinates as layout-local
7 years ago
Ryan Dwyer
00f6e179cd
Add L_FLOATING back to debug tree
7 years ago
Ryan Dwyer
02de2a6f65
Rename set_maximized functions to set_tiled
7 years ago
Ryan Dwyer
5d69a56209
Prevent splitting a floating view
7 years ago
Ryan Dwyer
dc83b158e1
Fix issues with sticky containers and workspaces
...
* Attach sticky containers to new workspaces when switching
* Fire the close event *before* we start destroying the workspace to
prevent a crash
Because the sticky container now follows the visible workspace, this
simplifies the rendering and container_at logic.
7 years ago
Ryan Dwyer
13a4b0512e
Fix unfullscreening a floating view
7 years ago
Ryan Dwyer
754cb7944c
Respect view's border config for floating containers
7 years ago
Ryan Dwyer
aaba7642b3
Replace is_floating boolean with function
7 years ago
Ryan Dwyer
34f35f0bad
Use L_FLOATING instead of reapable boolean
7 years ago
Ryan Dwyer
1f2e399ade
Implement floating
7 years ago
Drew DeVault
1132efe42e
Send frame done to floating views
...
Also centers them on the screen when initially floated
In the future we'll need a more sophisticated solution than that
7 years ago
Drew DeVault
71db8de4be
Render floating views
7 years ago
Drew DeVault
f3ab895916
Implement `floating enable`
7 years ago
emersion
c47d6cb1c4
Merge pull request #2081 from RedSoxFan/fix-2077
...
Send reparent events in container_split
7 years ago
Brian Ashworth
8237d944d4
Fix move perpendicular segfault
7 years ago
Brian Ashworth
cca587b21f
Send reparent events in container_split
7 years ago
Brian Ashworth
e13c94f2dd
Fix typo
7 years ago
Brian Ashworth
633bee9019
Fix moving out of tab/stack when only child
7 years ago
Brian Ashworth
64225b1137
Send IPC layout of node itself
7 years ago
Brian Ashworth
3b90b55666
Notify of subtree change
7 years ago
Brian Ashworth
f5e44d4b2c
Fix layout in -t get_tree
7 years ago
Brian Ashworth
103a302fa4
Fix moving out of a tabbed/stacked workspace
7 years ago
Brian Ashworth
a66fd74a54
Fix breaking out of tabs/stacks
7 years ago
Ryan Dwyer
6f4cb2b29d
Add tree representation to IPC workspace description
7 years ago
Brian Ashworth
d76729af22
Implement config parser for workspace_layout
7 years ago
Brian Ashworth
205a1732cf
Force fullscreen views to be fully opaque
7 years ago
Brian Ashworth
c81d0ef1e8
Support i3's legacy force_focus_wrapping command
7 years ago
emersion
1071785f56
Merge pull request #2060 from RedSoxFan/focus-wrapping
...
Implement focus_wrapping
7 years ago
emersion
015878e5db
Merge pull request #2058 from RyanDwyer/refactor-parse-title-format
...
Refactor parse_title_format
7 years ago
Brian Ashworth
46da1dc32b
Implement focus_wrapping
7 years ago
Ryan Dwyer
7c7d24600b
Fix ancestor typos
7 years ago
Ryan Dwyer
9df1432f56
Refactor parse_title_format
...
Don't read properties until needed, and do it with less lines of code.
7 years ago
Drew DeVault
b2c0ba5b18
Merge pull request #2050 from smlx/focus-fix
...
Focus containers only on entry.
7 years ago
Drew DeVault
53a3fc63c5
Merge pull request #2055 from RedSoxFan/output-destroy-workspace-ipc
...
Send workspace::move in container_output_destroy
7 years ago
frsfnrrg
a78a5684ea
Implement bindsym/bindcode --locked
...
Adds the --locked flag to bindsym and bindcode commands.
When a keyboard's associated seat has an exclusive client
(i.e, a screenlocker), then bindings are only executed if
they have the locked flag. When there is no such client,
this restriction is lifted.
7 years ago
Scott Leggett
4d8120ccf3
Improve comment.
7 years ago
Brian Ashworth
fd137c4f05
Send workspace::move in container_output_destroy
7 years ago
Scott Leggett
b57f88e7db
Avoid assert on container type.
7 years ago
Scott Leggett
1b8de39287
Move previous cursor_position inline.
7 years ago
emersion
9c0cc98d07
Don't move empty workspaces when output is destroyed
7 years ago
Scott Leggett
d1ebbebea0
Remove unused function.
7 years ago
Scott Leggett
0039f7a4fd
Simplify logic, remove redundant variables.
7 years ago
Scott Leggett
dd86444e59
Rely on view_is_visible rather thank walking the tree ourselves.
7 years ago
Scott Leggett
4cd304e4ba
Store previous position in sway_cursor.
7 years ago
Ryan Dwyer
8fda41dab5
Merge branch 'master' into cmd-swap
7 years ago
Drew DeVault
a372852c44
Merge branch 'master' into xdg-shell-tiled
7 years ago
emersion
b350e8ec82
xdg-shell: make all toplevels tiled
7 years ago
Ryan Dwyer
d3dd7e5bae
Rename view_get_type to view_get_shell
7 years ago
Ryan Dwyer
484cc189e9
Add shell criteria token
...
Closes #2044 .
7 years ago
Scott Leggett
06098bef98
Focus containers only on entry.
7 years ago
Ryan Dwyer
51865c00c8
Add %app_id to title_format
7 years ago
Brian Ashworth
569f4e0e4c
Implement swap command
7 years ago
Drew DeVault
fea654a6ce
Replace oft-failing abort with if statement
...
Fixes #2045
7 years ago
Ivan Chebykin
464ec44b00
Check for next_focus before assert
7 years ago
Ivan Chebykin
6e6b0decd9
Fix usage of sway_assert
7 years ago
Ivan Chebykin
820a8c9c2d
Moved visibility check of of loop, added asserts
7 years ago
Ivan Chebykin
740234a4bc
Break after first tabbed/stacked layout
7 years ago
Ivan Chebykin
53516fa03f
Fix mouse focusing for horizontal/vertical views in tabbed containers
7 years ago
Ivan Chebykin
f85d3e15ba
Fixed styling issues
7 years ago
Ivan Chebykin
e19fe56e2f
Focus inactive container instead of checking cursor position
7 years ago
Ivan Chebykin
3b67253312
Skip all nested containers
7 years ago
Ivan Chebykin
c62efbb5ce
Implement correct focusing for tabbed containers
7 years ago
Ivan Chebykin
c1be4b0153
Fix focusing from other containers
7 years ago
Ivan Chebykin
87af08966a
Don't focus tabbed and stacked containers on mouseover
7 years ago
emersion
24832d8574
Update for swaywm/wlroots#1000
7 years ago
emersion
01abab8838
Merge pull request #2017 from emersion/wlroots-993
...
Update for swaywm/wlroots#993
7 years ago
Drew DeVault
ab74c95d56
Merge pull request #2036 from RyanDwyer/workspace-switch-on-map
...
Switch workspace if required when mapping a view
7 years ago
Drew DeVault
daf328d054
Merge pull request #2033 from RyanDwyer/arrange-after-flatten
...
Arrange views after flattening the parent
7 years ago
Drew DeVault
a268a0c2ae
Merge pull request #2034 from RyanDwyer/cleanup-container-titles
...
Clean up container title functions
7 years ago
Ryan Dwyer
f32a002401
Switch workspace if required when mapping a view
...
If a view is created on a workspace that wasn't visible, switch to it.
Fixes #1879 .
7 years ago
Ryan Dwyer
e496cc99f8
Fix focus bug when moving between outputs
...
When moving focus left or right to an adjacent output, only select the
first or last child in the new workspace if the workspace's layout is
horizontalish. If it's a verticalish layout, use the last focused
container.
7 years ago
Ryan Dwyer
db38b9bbf3
Clean up container title functions
...
* Add and use lenient_strcat and lenient_strncat functions
* Rename `concatenate_child_titles` function as that's no longer what it
does
* Rename `container_notify_child_title_changed` because we only need to
notify that the tree structure has changed, not titles
* Don't notify parents when a child changes its title
* Update ancestor titles when changing a container's layout
* Eg. create nested tabs and change the inner container to stacking
* No need to store tree presentation in both container->name and
formatted_title
7 years ago
Ryan Dwyer
320703fdca
Arrange views after flattening the parent
...
Fixes #2029 .
7 years ago
Ryan Dwyer
c9630975da
Fix crash in move workspace to output command
...
Fixes #2026 .
7 years ago
Ryan Dwyer
cdbae9a5e9
Fix nested tabs
...
Fixes #2023 .
7 years ago
Brian Ashworth
a6d43ff746
Implement IPC_GET_MARKS
7 years ago
Ryan Dwyer
5354988317
Implement clicking stacked title bars
7 years ago
Ryan Dwyer
f6c3682c05
Use constants for titlebar dimensions
7 years ago
Ryan Dwyer
664169fbf1
Implement stacked layout
7 years ago
Drew DeVault
8bbf78fdd4
Fix focus follows mouse with no focus
7 years ago
emersion
708ff238f3
Update for swaywm/wlroots#993
7 years ago
Brian Ashworth
0273c6438c
Fix hide_edge_borders smart for tabs and stacks
7 years ago
Ryan Dwyer
048b29527b
Pre-multiply alpha for tab decorations
7 years ago
Ryan Dwyer
90607dc329
Add left/right borders to tabs
7 years ago
Ryan Dwyer
5ab4930185
Fix tab border issues
7 years ago
Ryan Dwyer
4672cb7ccf
Use class or app_id in tree representation
7 years ago
Ryan Dwyer
efc07fb3d4
Don't track damage for views on inactive tabs
7 years ago
Ryan Dwyer
bd79584f65
Add assertion in container_at_view
7 years ago
Ryan Dwyer
c08f9bf257
Implement tabbed layout
7 years ago
Ryan Dwyer
c4ea2b51f6
Fix hide_edge_borders constraints
...
When checking if a border is on the edge, the check should be done
against the workspace rather than the output.
7 years ago
Brian Ashworth
82cd55a670
Fix border commands from changing focus
7 years ago
Drew DeVault
cf3ab1f45f
Merge pull request #2007 from swaywm/fix-focus-follows-mouse
...
Fix focus_follows_mouse over swaybar
7 years ago
Drew DeVault
a3d3c819cf
Fix focus_follows_mouse over swaybar
...
If you moved your mouse over swaybar (e.g. to scroll between
workspaces), focus would move to the workspace. This is not the right
thing to do. The solution is complicated by the fact that if you move
your mouse into a new output with an empty workspace, that workspace
_should_ receive focus.
7 years ago
Brian Ashworth
750a497a8b
Pre-multiply alpha for non-textures
7 years ago
Konstantin Pospelov
fcc11f9771
Fix pixel bar below title
...
This commit changes how the left and right indents are calculated for the
title bottom pixel bar, so that it is displayed properly in case the left or
right border is hidden.
7 years ago
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 .
7 years ago
Ryan Dwyer
f0212d66ee
Update marks textures on output scale event
7 years ago
Ryan Dwyer
ebb0d051db
Fix many border opacity issues
7 years ago
Ryan Dwyer
b1645fb352
Update show_marks documentation
7 years ago
Ryan Dwyer
69ac7f73e7
Destroy marks textures when view destroyed
7 years ago
Ryan Dwyer
b351d0a64a
Set textures to null when destroying
7 years ago
Ryan Dwyer
5384fdcbc6
Don't show marks which start with an underscore
7 years ago
Ryan Dwyer
0e2cc0af30
Implement show_marks
7 years ago
Ryan Dwyer
fc96f004d2
Don't steal focus when a view changes its title
...
Fixes #1989
7 years ago
Dominique Martinet
89ae1792b5
sway: run commands without waiting for Xwayland
...
Xwayland is lazy now, there is no need to wait at all
7 years ago
emersion
79e970d86e
Correctly clip title texture if necessary
7 years ago
Ryan Dwyer
4d1edfcba9
Change unmark implemention to match i3's
7 years ago
Ryan Dwyer
22d38600d0
Implement marks
7 years ago
Brian Ashworth
9ba0dca7ba
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
77b42ec821
Always render top border for border normal
7 years ago
emersion
95a10dd4f3
Kill wl_shell
7 years ago
Brian Ashworth
3488fbc859
Fix y and height for a hidden top normal border
7 years ago
Brian Ashworth
34b864fb17
Merge branch 'master' into fix-1975
7 years ago
Brian Ashworth
6ff7c52736
Fix titles and detect edges for hide_edge_borders
7 years ago
Ryan Dwyer
92b8497a0b
Fix crash when launching programs from dmenu
7 years ago
Ryan Dwyer
8432d8a15e
xdg_shell: Replace get_prop with get_string_prop
7 years ago
Ryan Dwyer
490f92255c
Initialise error_arg to NULL in criteria_parse
7 years ago
Ryan Dwyer
39007fc30f
Fix double free in criteria
7 years ago
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.
7 years ago
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.
7 years ago
Drew DeVault
404d006a1c
Enable lazy xwayland
7 years ago
Drew DeVault
b2dec12368
Merge pull request #1970 from emersion/xdg-shell-stable
...
Add xdg-shell stable support
7 years ago
emersion
88d9d43b36
Add xdg-shell stable support
7 years ago
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>
7 years ago
Drew DeVault
61aa0937a7
Merge pull request #1824 from snaggen/idle
...
DPMS and lock handling
7 years ago
Ryan Dwyer
90e6dfa268
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
0f43eac5dc
Fix recursion when counting descendants of a type
7 years ago
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
7 years ago
emersion
360e63b8a7
Don't destroy view child on xdg-popup unmap
7 years ago
Brian Ashworth
2adf23c2a3
Only count views for hide_edge_borders smart
7 years ago
Brian Ashworth
ec60e24f75
Merge branch 'master' into edge-borders
7 years ago
Brian Ashworth
e3625d8f33
Count descendant views for hide_edge_borders smart
7 years ago
Drew DeVault
e2b8eac4bf
Merge branch 'master' into wlroots-970
7 years ago
Drew DeVault
2da685e913
Merge remote-tracking branch 'origin/master' into scdoc
7 years ago
Drew DeVault
51b0b25587
Merge pull request #1959 from RyanDwyer/ipc-get-seats
...
Implement IPC get_seats command
7 years ago
Drew DeVault
a2d7079b26
Merge branch 'master' into scdoc
7 years ago
Drew DeVault
da679a8051
Fix typos
7 years ago
emersion
50298dc901
Send pointer discrete axis values and source
...
Update for swaywm/wlroots#970
7 years ago
Drew DeVault
32a572cecf
Revert "Merge pull request #1943 from RyanDwyer/criteria-improvements"
...
This reverts commit 3e1bf721c6
, reversing
changes made to 2217518bd5
.
7 years ago
Drew DeVault
ac0e62584f
Revert "Merge pull request #1953 from RyanDwyer/criteria-focused"
...
This reverts commit 2511adffc2
, reversing
changes made to 3e1bf721c6
.
7 years ago
Ryan Dwyer
c72940837c
Implement IPC get_seats command
7 years ago
Ryan Dwyer
4717c71da5
Merge branch 'master' into fix-crash-on-fullscreen
7 years ago
Ryan Dwyer
94e42f9857
Implement __focused__ criteria
7 years ago
Drew DeVault
7a964651fb
Remove sway-security(7)
...
We will need to overhaul this for 1.0
7 years ago
Drew DeVault
d9a08b7a9d
Add sway-input(5)
7 years ago
Drew DeVault
1813482266
Add sway-bar(5)
7 years ago
Drew DeVault
432256ad84
Add sway(5)
7 years ago
Drew DeVault
c2a7d367af
Wire up scdoc and rewrite sway(1)
7 years ago
Drew DeVault
3e1bf721c6
Merge pull request #1943 from RyanDwyer/criteria-improvements
...
Overhaul criteria implementation
7 years ago
Brian Ashworth
3db7fc2bb2
Implement hide_edge_borders
7 years ago
Dudemanguy911
935bda0f33
fix crash on fullscreen toggle
7 years ago
Drew DeVault
2217518bd5
Merge pull request #1956 from ggreer/move-focus
...
cmd_move_container: Focus a window on the source workspace.
7 years ago
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.
7 years ago
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.
7 years ago
Ryan Dwyer
8595fc5a6f
Update criteria documentation
7 years ago
Ryan Dwyer
0bf0a4fa40
Don't unescape \\ in criteria
7 years ago
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
7 years ago
Ryan Dwyer
83e314bf51
Highlight all child borders when using focus parent
7 years ago
emersion
44fcc06efd
Fix damage tracking on HiDPI
7 years ago
emersion
90614f3a63
Accumulate surface damage even if whole=true
7 years ago
emersion
c0f5d740a5
Damage container when updating title
7 years ago
emersion
70b80b4698
Damage container on focus
7 years ago
emersion
bec80f1551
Damage borders when damaging view
7 years ago
emersion
98f7ee8f59
Render borders with damage
7 years ago
emersion
c8a9ea3903
Implement full damage tracking
7 years ago
Drew DeVault
3bab37858a
Merge pull request #1932 from emersion/fix-layer-shell-exclusive
...
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
Ryan Dwyer
497793b5b7
Use reasonable default for font height
...
Fixes #1949
7 years ago
emersion
3d29e73e72
layer-shell: use usable_area when arranging non-exclusive layer surfaces
7 years ago
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.
7 years ago
Ryan Dwyer
4922d269b8
Fix titles on rotated outputs
...
If the output is rotated, the scissor box needs to be transformed in the
opposite rotation.
7 years ago
Vincent Vanlaer
95dac2a069
Update xwayland start for new API
...
https://github.com/swaywm/wlroots/pull/959
7 years ago
Rostislav Pehlivanov
b592351eef
Revert "exec_always: Search for executables in /usr/lib/sway"
...
This reverts commit 7709340727
.
7 years ago
Rostislav Pehlivanov
2c0c3dc7cc
Revert "Make the LIBDIR path configurable"
...
This reverts commit 1670b46bf6
.
7 years ago
Rostislav Pehlivanov
0cdc47ab1e
Revert "Meson: Replace option `instlibdir` with `libexecdir`"
...
This reverts commit 830c4ef74c
.
7 years ago
Rostislav Pehlivanov
cf602687c6
Revert "command/exec_always: Use wlr_log for logging errors in the child process"
...
This reverts commit 177c67e6b8
.
7 years ago
Ryan Dwyer
556ff5f50e
Implement pango support
...
Implements support for the pango: prefix in the font command.
Closes #1903 .
7 years ago
Ryan Dwyer
1daf69477e
Fix PATH setenv() in exec_always
7 years ago
emersion
786727d8bb
Merge branch 'master' into usr-lib
7 years ago
Nicolas Braud-Santoni
177c67e6b8
command/exec_always: Use wlr_log for logging errors in the child process
7 years ago
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.
7 years ago
Nicolas Braud-Santoni
1670b46bf6
Make the LIBDIR path configurable
7 years ago
Nicolas Braud-Santoni
7709340727
exec_always: Search for executables in /usr/lib/sway
7 years ago
Ryan Dwyer
936226845f
Add extra check for view title being NULL
7 years ago
Ryan Dwyer
5d6d24e71a
Move code for re-arranging after font height change into a common place
7 years ago
Ryan Dwyer
da7d6642d3
Refactor parse_title_format()
7 years ago
Ryan Dwyer
d10a0a8c41
Fix memory leak in title_format command
7 years ago
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)
7 years ago
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
Drew DeVault
029c9b1796
Merge pull request #1907 from emersion/backend-input-mapping
...
Default to backend-wise input device mapping, if any
7 years ago
Drew DeVault
d233e75eec
Hide cursor on touch down
7 years ago
Drew DeVault
00e62c214d
Fix alphabetization of command list
7 years ago
emersion
424006089e
Default to backend-wise input device mapping, if any
7 years ago
emersion
29224e7aec
Fix segfault when running the resize command without arguments
7 years ago
Ryan Dwyer
ed0d606c2a
Fix title texture width
...
Use max of the container width or text width.
7 years ago
Drew DeVault
85396b90fb
Fix unfocused.text default
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
74d1367fac
Update titles when surfaces are committed
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
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
7 years ago
Dillen Meijboom
b45e2bd95e
Fixed #1888 GCC cannot compile due to uninitialized variables ( #1889 )
7 years ago
Ryan Dwyer
daab8e3503
Support alpha in border colours
...
The alpha component is merged with the container's opacity.
Completes #1882 .
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
cb07434913
Remove unnecessary pointers
7 years ago
Ryan Dwyer
51df1d4ff8
Update cursor when border is changed
7 years ago
Drew DeVault
7f574c538d
Fix alphabetization of commands array
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
700510b45e
Implement indicator border
7 years ago
Ryan Dwyer
ed9e2015b2
Scale borders according to output scale
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
emersion
976e6b99b6
Merge branch 'master' into refactor-arrange-windows
7 years ago
Drew DeVault
24ab66d123
Merge pull request #1867 from emersion/wlroots-923
...
Update for wlroots#923
7 years ago
emersion
3fd8897abe
Don't call view_set_fullscreen on unmapped xwayland views
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
emersion
860d2384b4
Update for swaywm/wlroots#923
7 years ago
Geoff Greer
5587af1782
Rename len to msg_len. Avoids an aliased variable that was a little confusing to follow.
7 years ago
Geoff Greer
b9726afd48
invoke_swaybar(): Set process group. Kill process group.
...
Fixes a bug where terminate_swaybar() did not terminate swaybar.
7 years ago
emersion
ff61df17ff
Add map_from_region command
7 years ago
Ryan Dwyer
ae39d7b28c
Remove sway_container.workspace_layout
...
Fixes #1716 .
7 years ago
Drew DeVault
c54097428a
Merge branch 'master' into criteria-commands
7 years ago
emersion
df245780d2
Do not let tiled xwayland views do what they want
7 years ago
emersion
3ed3bdf03f
Fix segfault when switching back to workspace with osu!
7 years ago
Ryan Dwyer
dfc26c664f
Update wording about unmanaged/unmapped views
7 years ago
Ryan Dwyer
689a6a5605
Use size_t instead of int and calloc instead of malloc
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
Drew DeVault
420a669f21
Updates per swaywm/wlroots#887
7 years ago
Ryan Dwyer
fbb5198e43
Sort workspaces after rename
7 years ago
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
7 years ago
Ryan Dwyer
4d2b3fc950
Render unmanaged xwayland views when an xwayland view is fullscreen
...
This makes Chromium and Firefox context menus appear when fullscreen.
7 years ago
emersion
a41057714f
Update for wlroots#885
7 years ago
Drew DeVault
72149111a5
Merge pull request #1838 from emersion/use-wlr-renderer-init-wl-shm
...
Use wlr_renderer_init_wl_shm
7 years ago
Drew DeVault
4386dcb624
Merge pull request #1837 from emersion/cursor-default-to-current-time
...
Default to current time when triggering cursor events
7 years ago
emersion
b96d774c70
Use wlr_renderer_init_wl_shm
7 years ago
emersion
4cf77e1de4
Default to current time when triggering cursor events
7 years ago
Drew DeVault
6e6decf385
Merge pull request #1834 from emersion/xwayland-no-unmap-on-destroy
...
Don't unmap on destroy, this is already guaranteed by wlroots
7 years ago
emersion
33ed279494
Update cursor when workspace focus changes
7 years ago
emersion
17bee33fc9
Don't unmap on destroy, this is already guaranteed by wlroots
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
6afccd07d9
Add TODO about rendering fullscreen views smaller than the output
7 years ago
Ryan Dwyer
76837b9132
Ignore xdg_shell_v6 request_fullscreen if not mapped
7 years ago
Ryan Dwyer
bd67342bdc
Don't render top layer when fullscreen.
7 years ago
Drew DeVault
777800e37a
Fix qutebrowser crash on context menu dismissal
7 years ago
Drew DeVault
21eb63cc9e
Merge branch 'master' into fullscreen
7 years ago
Ryan Dwyer
9ab61716b5
Correct the repeat_rate documentation.
7 years ago
Ryan Dwyer
9d3739a6f7
Split repeat commands into separate files.
7 years ago
Ryan Dwyer
9715e38ca8
render_output(): When fullscreen, clear to black and don't render background
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
2acfbc519e
xdg_shell_v6: Use client_pending state instead of current
...
It appears client_pending is the state that should be used here.
7 years ago
Ryan Dwyer
1285f01b13
Merge branch 'master' into fullscreen
7 years ago
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
}
7 years ago
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.
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
emersion
7114451607
Destroy display in server_fini
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
143b528f71
Handle fullscreen flag when mapping a surface.
7 years ago
Ryan Dwyer
a44d016e2b
Don't damage views if they're hidden by a fullscreen view.
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
db
f555edf353
remove empty workspace when focusing its output
...
Until now, focus changing code only considered cleaning up the last focused
workspace. This commit adds removal of empty workspace from output that just
received focus on a different workspace.
Fixes : #1797
7 years ago
Dominique Martinet
8490d1662c
Fix gcc maybe-uninitialized warning
7 years ago
Dominique Martinet
25af959fe9
Fix gcc string truncation warnings
7 years ago
emersion
2b34bf1882
Merge branch 'master' into crashes
7 years ago
emersion
bdaf420ead
Do not call the map handler when an xwayland surface is created
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
Dominique Martinet
1fd21650d7
seat_set_focus_wrap: fix use-after-free when destroying last focused container
7 years ago
Danny Bautista
c53b2edd41
Add documentation for seat cursor command.
7 years ago
Danny Bautista
c355d680e9
Clean up cursor simulation code.
7 years ago
Danny Bautista
1edb2bd892
Implement cursor event simulation with sway commands.
7 years ago
db
63b2543749
Add workspace_auto_back_and_forth for move cmd
7 years ago
Drew DeVault
07b6be6214
Merge pull request #1769 from acrisci/focus-inactive-fixes
...
Focus inactive fixes
7 years ago
Drew DeVault
0e3ddf255e
Add input "identifier" map_to_output "identifier"
7 years ago
Tony Crisci
8ecd89b7ef
address feedback
7 years ago
Tony Crisci
ae78f6fb93
Merge branch 'wlroots' into focus-inactive-fixes
7 years ago
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
7 years ago
Tony Crisci
70b33342fe
criteria match containers
7 years ago
emersion
5ebc99253a
Use wlr_surface_point_accepts_input for unmanaged surfaces
7 years ago
Tony Crisci
46280460a5
push all parents of focused container in focus stack
7 years ago
Drew DeVault
efff7c4225
Merge pull request #1776 from emersion/wlroots-remove-backend-egl
...
Update for wlroots#850
7 years ago
emersion
9570e37016
Update for wlroots#850
7 years ago
Drew DeVault
8763957344
Merge pull request #1774 from swaywm/tablet-tool
...
Implement tablet tool support
7 years ago
Drew DeVault
9114d3b84c
Implement tablet tool support
7 years ago
db
042b80b9fa
Add workspace_auto_back_and_forth command
...
This is the only missing piece - other code regarding this functionality has
already been ported from pre-wlroots source.
7 years ago
Tony Crisci
9db859585e
container_create_notify on split
7 years ago
Tony Crisci
0ff22c1755
implement ipc focus stack
7 years ago
Tony Crisci
de811823b6
seat focus inactive children foreach
7 years ago
Tony Crisci
c0f9ee7bd1
seat get focus inactive view
7 years ago
emersion
2b357af7ee
Give keyboard focus to unmanaged xwayland surfaces
...
This fixes dmenu
7 years ago
emersion
a5d06b6e2b
Merge pull request #1766 from emersion/fix-output-container-position
...
Fix output containers position
7 years ago
Drew DeVault
5d34e4531f
Add basic server decorations support
7 years ago
emersion
61abd56ca4
Fix output containers position
7 years ago
Drew DeVault
b12b848bdc
Merge pull request #1759 from emersion/output-send-frame-done
...
Don't send frame done immediately when rendering
7 years ago
emersion
8af0c2b000
Don't send frame done immediately when rendering
7 years ago
emersion
33b4f945ab
Fix inverted assertion
...
Seems like it doesn't work this way
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
606d322bc2
Container coordiantes/sizes are floating point
7 years ago
Drew DeVault
640232eb22
Revert "Break everything^W^WUse wlr_box for sway_container"
7 years ago
emersion
0c627918bb
Damage all surfaces when damaging whole 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
emersion
58914822aa
Don't damage the whole output
7 years ago
Drew DeVault
c8be7bfc1e
Fix another of @orestisf1993's issues
7 years ago
emersion
e550e22c0b
Refactor rendering code
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
cca420b2f8
Fix focus_follows_mouse issues
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
emersion
c2b1beef15
Remove L_TYPES
7 years ago
emersion
254ca8103c
Merge pull request #1747 from acrisci/ipc-layout
...
ipc layout
7 years ago
Drew DeVault
f63d9417cd
Merge pull request #1743 from emersion/subsurface-damage-tracking
...
Damage tracking for view children
7 years ago
Tony Crisci
6b308dbeb7
address feedback
7 years ago
Tony Crisci
235798ff8e
dont send ipc events when there are no listeners
7 years ago
emersion
641807d920
Handle unmanaged surfaces motion
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
1c91d0c10f
Add damage tracking for xwayland unmanaged surfaces
7 years ago
Tony Crisci
bbfc5487bc
add layout to ipc containers
7 years ago
emersion
07f3bb3ad1
Handle xwayland configure requests for unmanaged surfaces
7 years ago
emersion
a528aea2ee
Make xwayland surface destroy more foolproof
7 years ago
emersion
7ce1038478
Fix xwayland unmanaged surfaces
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
Drew DeVault
94ecd0f0aa
Configure wlr_xdg_output_manager during init
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
aa35715f4b
Merge pull request #1736 from acrisci/ipc-container-type
...
Ipc container type
7 years ago
Tony Crisci
04ce09630c
add type to container json
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
Drew DeVault
d2d050d59c
Address review feedback
7 years ago
Drew DeVault
b7e7794912
Implement input-inhibit in sway, swaylock
7 years ago
Drew DeVault
06fbd51ff5
Add input inhibitor to input manager
7 years ago
Drew DeVault
3ede718c06
Refocus the last focused container on lock exit
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
Drew DeVault
deb63eda88
Merge pull request #1717 from emersion/fix-multiple-outputs
...
Fix rendering with multiple outputs
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
emersion
5cd9457247
Send enter event to layer shell surfaces
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
Tony Crisci
20f9d49b82
cleanup
7 years ago
Tony Crisci
2992b72d61
change reap container approach
7 years ago
Drew DeVault
0bf3b88019
Give layer shells under the shell layer focus
7 years ago
Drew DeVault
56078edd65
Give exclusive focus to layers above shell layer
7 years ago
Tony Crisci
2c165e1288
fix more close segfaults
7 years ago
Drew DeVault
623a08e14f
Identify topmost interactive layer post-arrange
7 years ago
Tony Crisci
32ef182f47
cleanup split command handlers
7 years ago
Tony Crisci
a89096278b
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d434da5632
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
d070244362
fix workspace splits
7 years ago
emersion
a4a241697a
Merge branch 'wlroots' into view-redesign
7 years ago
emersion
0c0cc79282
Merge pull request #1699 from acrisci/seat-fixes
...
Seat fixes and cleanup
7 years ago
emersion
2f64ce86c4
Xwayland unmanaged views aren't views anymore
7 years ago
Drew DeVault
4134407fa9
Merge pull request #1690 from swaywm/i3bar-json
...
I3bar json
7 years ago
Tony Crisci
357a4401fa
address feedback
7 years ago
Tony Crisci
2187684bd0
Merge branch 'wlroots' into split-containers
7 years ago
Tony Crisci
c7a6524954
fix segfault
7 years ago
Tony Crisci
5e024278a6
Merge branch 'wlroots' into seat-fixes
7 years ago
Tony Crisci
22287b42bf
dont copy input config
7 years ago
emersion
2a8985a345
Merge pull request #1697 from RedSoxFan/back-and-forth
...
Fix back-and-forth workspace name saving for non-empty workspaces
7 years ago
Tony Crisci
35445b40a2
remove unused attachment config
7 years ago
Drew DeVault
e3689dd5a9
Fixes regarding @emersion's feedback
7 years ago
Drew DeVault
c507727ad2
Fix use-after-free with block hotspots
7 years ago
Tony Crisci
a82c107c76
80col
7 years ago
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
7 years ago
emersion
61fabede14
Address review comments
7 years ago
Tony Crisci
53bb7ea996
dont copy seat config on the seat
7 years ago
Tony Crisci
0828c77251
rename input-manager functions
7 years ago
Tony Crisci
e677c5b204
rename seat functions
7 years ago
Tony Crisci
b5d49cc4e8
remove default from kill switch
7 years ago
Tony Crisci
27e394f8b0
fix children list segfault
7 years ago
Tony Crisci
eda425fdab
fix some segfaults
7 years ago
emersion
1d68f9ecca
Add sway_view_impl
7 years ago
emersion
b2c2ee693b
Introduce common functions to create, map, unmap, destroy views
7 years ago
Tony Crisci
2aec85bf24
clean up view destroy seat cleanup
7 years ago
Tony Crisci
6f7b33e691
handle container destroy in the seat
7 years ago
Tony Crisci
e7ecb001d7
reap container parent on destroy
7 years ago
Tony Crisci
f7a20726fc
temporarily add LD_LIBRARY_PATH stuff
7 years ago
Tony Crisci
7706d83160
basic split containers
7 years ago
Drew DeVault
122b96abed
Merge pull request #1684 from swaywm/follow-warp
...
Implement focus_follows_mouse, mouse_warping
7 years ago
Drew DeVault
f2332dc75c
Address review feedback
7 years ago
emersion
8aedc042ee
Fix two segfaults when destroying outputs
7 years ago
Drew DeVault
b9d2983324
Fix interaction between warping and following
7 years ago
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)
7 years ago
Drew DeVault
ae6d459000
Implement mouse warping
7 years ago
Drew DeVault
89ca6676be
Merge pull request #1681 from emersion/xwayland-configure-position
...
Fix various xwayland issues
7 years ago
emersion
98b67e2399
Fix xwayland configure in set_size
7 years ago
Drew DeVault
a1e7ffd857
Merge pull request #1677 from emersion/maximize-xwayland-views
...
Maximize xwayland views by default
7 years ago
Brian Ashworth
c901510e01
Fixes back-and-forth name saving for non-empty ws
7 years ago
emersion
0f7936735c
Fix unmanaged views rendering on all outputs
7 years ago
emersion
6579717994
Fix xwayland configure position
7 years ago
Drew DeVault
eb5a8e03ff
Check for null container
7 years ago
Drew DeVault
e4fd47d3a1
Merge pull request #1682 from emersion/unmanaged-no-container
...
Make it clear that unmanaged views don't have a container
7 years ago
Drew DeVault
ccdcaa478f
Fix bug with previous commit
7 years ago
emersion
a44a71c116
Make it clear that unmanaged views don't have a container
...
view->swayc is NULL anyway.
7 years ago
Drew DeVault
8aa195e311
Fix #1104
7 years ago
Drew DeVault
5c08e13e50
Set Xwayland seat on focus
...
Necessary to make primary selection syncronize
7 years ago
Drew DeVault
ae0552606b
Configure linux_dmabuf, primary_selection
7 years ago
Drew DeVault
6a1a94b87c
Merge pull request #1678 from emersion/xwayland-xcursor
...
Set xwayland cursor
7 years ago
Drew DeVault
18173fb5ad
Free bar configs on reload and exit
7 years ago
emersion
b237fa0b22
Set xwayland cursor
7 years ago
emersion
5f3fce7519
Maximize xwayland views by default
7 years ago
Drew DeVault
212b503992
Use wlr_surface_point_accepts_input
7 years ago
Drew DeVault
f5470f3338
Pass pointer events to surface layers
7 years ago
emersion
9665642765
Merge branch 'wlroots' into client-cursors
7 years ago
Drew DeVault
1b88eaee6b
Merge pull request #1665 from emersion/damage-tracking-lite
...
Add lite damage tracking
7 years ago
Drew DeVault
e6fa7a722e
Merge pull request #1669 from emersion/workspace-pointer-events
...
Fix pointer events for hidden workspaces
7 years ago
emersion
139f80b0f0
Handle map/unmap events in xdg-shell-v6
7 years ago
emersion
3a68c012a9
Remove debug, add explicit TODO
7 years ago
emersion
50219564c2
Fix white screen due to bad cast
7 years ago
emersion
a776ecbb86
Add lite damage tracking
...
This skips the renderer if nothing has changed, and renders
everything otherwise.
7 years ago
Tony Crisci
7e0d430a0c
Merge branch 'wlroots' into wlroots-xwayland-map
7 years ago
emersion
eb716c6c43
Fix segfaults when focusing a workspace
7 years ago
emersion
03255fd202
Fix pointer events for hidden workspaces
7 years ago
Drew DeVault
88f08a42f3
Fix segfault when reaping invisible workspaces
7 years ago
Drew DeVault
b28e6d2369
IPC fixes
7 years ago
Drew DeVault
49379dd0fc
Fix workspace deletion edge cases
7 years ago
emersion
cf09ea184b
Use the new map/unmap events for xwayland views
7 years ago
Drew DeVault
a5e457d59a
Add xwayland views to focused container
7 years ago
emersion
1592543fd6
Merge pull request #1659 from swaywm/default-orientation
...
Add default_orientation command
7 years ago
Drew DeVault
b6b674fd76
Merge pull request #1657 from emersion/render-fixes
...
Misc minor fixes
7 years ago
emersion
681f38c878
Fix segfault on xwayland unmanaged view unmap
7 years ago
emersion
6c9d67b105
Handle set_cursor requests from clients
...
Allow clients to set a custom cursor if they have the seat's
pointer focus.
7 years ago
Drew DeVault
01af343912
Destroy empty workspaces when moving away
7 years ago
Drew DeVault
69eb021767
Add default_orientation command
7 years ago
emersion
28cb412b0d
Unify initial xwayland view mapping with map handler
7 years ago
emersion
981827ca42
Cleanup and remove global renderer reference
7 years ago
Drew DeVault
2d46050281
Fix crash when override redirect views close
7 years ago
Drew DeVault
e62cc0ac26
Finish porting over workspace_next_name
7 years ago
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.
7 years ago
Drew DeVault
d6acb3d86c
Set WAYLAND_DISPLAY earlier in startup
7 years ago
Drew DeVault
f26ecd9f58
Merge remote-tracking branch 'origin/wlroots' into swaybar-layers
7 years ago
Tony Crisci
8f490d7d2d
Fix oversights from previous pull request
7 years ago
Tony Crisci
dc8c9fbeb6
Revert "Merge pull request #1653 from swaywm/revert-1647-refactor-tree"
...
This reverts commit 472e81f35d
, reversing
changes made to 6b7841b11f
.
7 years ago
Drew DeVault
d0c7f66e95
Revert "Refactor tree"
7 years ago
Drew DeVault
6b7841b11f
Merge pull request #1647 from acrisci/refactor-tree
...
Refactor tree
7 years ago
Tony Crisci
2778edef97
arrange windows
7 years ago
Tony Crisci
92c58b1e63
rename container_for_each_descendent
7 years ago
Drew DeVault
dbda7bfbed
Move declaration into loop
7 years ago
Drew DeVault
ddc09940b1
Exit ipc_get_workspace_callback early
7 years ago
Drew DeVault
8efee109ad
Implement modes
7 years ago
Drew DeVault
741424c4e7
Clean up imported bar commands
7 years ago
Drew DeVault
849c3515ab
Use statically allocated text buffer
7 years ago
Drew DeVault
c91adbd188
Fix failure to rearrange output in some cases
7 years ago
Drew DeVault
f3fbf19312
Do some small cleanup
...
- Fix workspace events (security config isn't in use so it wasn't being
sent)
- Kill status bar process when swaybar exits
- Don't rearrange windows on every layer surface commit
7 years ago
Drew DeVault
5f5076baff
Call arrange_windows on layer destroy
7 years ago
Drew DeVault
8b5b72c576
Restart swaybar on config reload
7 years ago
Drew DeVault
2e84f21ab7
Terminate swaybar when freeing bar config
7 years ago
Drew DeVault
2719ddfe5e
Spawn swaybars when outputs are added
7 years ago
Drew DeVault
5c9cdbcdd2
Add swaybg_command
7 years ago
Drew DeVault
569b2bfd5d
Move bar config into its own file
7 years ago
Drew DeVault
bf7a4cd0eb
Add bar configuration commands
7 years ago
Drew DeVault
6836074fed
Implement enough IPC for swaybar to work
7 years ago
Drew DeVault
a76829f375
Some layer shell fixes
...
Based on the corresponding rootston changes
7 years ago
Scott Anderson
c8e7437b82
Clear buffer after beginning renderer
7 years ago
Tony Crisci
4c394a0e9e
address feedback
7 years ago
Tony Crisci
4ec8bf4cee
80col
7 years ago
Tony Crisci
62d1b4cb96
fix container_get_in_direction name
7 years ago
Tony Crisci
e5491bf498
rename container destroy func
7 years ago
Tony Crisci
ed2cedb544
rename layout init
7 years ago
Tony Crisci
eca029f218
more renaming things
7 years ago
Tony Crisci
b90099b4b7
rename container functions
7 years ago
Drew DeVault
941ca5c8fd
Maximize xdg shell surfaces on creation
...
Makes them look better yo
In the future we might want to only do this for tiled windows, and let
floating windows do their own thing.
7 years ago
Tony Crisci
83d09cf594
remove swayc_t typedef
7 years ago
Tony Crisci
874f009866
move tree includes to their own directory
7 years ago
Drew DeVault
8d6bce02af
Address review feedback
7 years ago
Drew DeVault
68cfa7ef67
Render layer surfaces and respect exclusive zone
7 years ago
Drew DeVault
0c8a64942e
Add initial layer shell skeleton
7 years ago
Drew DeVault
1e604f3e35
Update input events per swaywm/wlroots#765
7 years ago
Drew DeVault
53df5889d5
Fix lingering xdg shell issues
7 years ago
Drew DeVault
cbb2e3308e
Update API to match latest wlroots
7 years ago
emersion
01beee5826
Update wlroots API
...
Breaking changes in wlr_xdg_shell_v6 and wlr_renderer have been
made upstream.
7 years ago
emersion
1004915796
Update rendering code for wlroots matrix redesign
7 years ago
emersion
4ab5506064
ipc: add output modes
7 years ago
Dominique Martinet
95963e4a1f
xwayland: do not send surface configure when no width/height
...
The code in apply_horiz_layout systematically does `set_position`
then `set_size`, so for new windows there is an invalid call.
For old windows there are two calls when only one is needed,
with the current code set_position could not send any surface
configure without impact, but in the future it might be needed?
Native wayland surfaces do not need to know where they are (the
set_position handled only updates the sway internal view variable),
why does X11 window need that?
7 years ago
Tony Crisci
02804584e5
ipc new window event
7 years ago
Drew DeVault
3c80498891
Utilize wlr_xwayland_surface_is_unmanaged
7 years ago
Tony Crisci
ad879c99e0
ipc show focused container
7 years ago
Drew DeVault
4b781356a4
Fix wlr_render_with_matrix call
...
This takes an alpha parameter now.
7 years ago
Drew DeVault
265378270a
Revert "Multiple output coords by scale"
...
This reverts commit 94f8bdf081
.
7 years ago
Drew DeVault
94f8bdf081
Multiple output coords by scale
7 years ago
Drew DeVault
8ad26c8afd
Send surface enter/leave events
7 years ago
Drew DeVault
61c1c3e7af
Use focus for new windows xwayland/wl_shell
7 years ago
Drew DeVault
669f91b991
Document updates to the output command
7 years ago
Tony Crisci
1cca3965f3
static bfs queue
7 years ago
Tony Crisci
2154b7c7d6
add config handlers
7 years ago
Tony Crisci
7262bf655f
remove checks for command handlers
7 years ago
Tony Crisci
5b219a1598
separate config directives and commands
7 years ago
Tony Crisci
ac8269d536
take seat param for handle_command and rename
7 years ago
Tony Crisci
66d1e0b313
basic layout command
7 years ago
Tony Crisci
bcb870bcf2
bug: fix crash on focus up
7 years ago
Tony Crisci
23e9f5dc35
use wl_container_of() in output destroy callback
7 years ago
Tony Crisci
4b3aa59b8b
rename new_input listener on input-manager
7 years ago
Tony Crisci
316effd7b1
make handle_output_destroy() static
7 years ago
Tony Crisci
4c4cc9c999
remove old comments
7 years ago
Tony Crisci
b88f06e70a
bugfix: get right layout box for rendering views
7 years ago
Tony Crisci
176d24f02d
choose adjacent container between outputs
7 years ago
Tony Crisci
fb37e80225
basic move focus in direction across outputs
7 years ago
Tony Crisci
80927985fb
fix output rendering issue
7 years ago
Tony Crisci
7c089442c3
use box projection function
7 years ago
Tony Crisci
9510a20fcd
arrange windows after output add
7 years ago
Tony Crisci
a3ae67af4e
basic focus in direction
7 years ago
Tony Crisci
52670c636c
basic focus (without direction)
7 years ago
Tony Crisci
780d9fe1e3
cleanup layout.c
7 years ago
Tony Crisci
083e11ac7c
fix build for latest api
7 years ago
Tony Crisci
c6cb87be19
output damage fix
7 years ago
Tony Crisci
7dfbf06de9
output destroy
7 years ago
Tony Crisci
06c71f115b
input device destroy
7 years ago
Tony Crisci
946d9459c5
get swayc in direction
7 years ago
Tony Crisci
93084c9cf8
remove old focus member
7 years ago
Tony Crisci
ce3a1b3922
properly pick next focus
7 years ago
Tony Crisci
145b4fdf58
use bfs iterator to collect focus stack
7 years ago
Tony Crisci
095ddb1561
fix build for output damage
7 years ago
Tony Crisci
a7d49da239
separate seat get focus and seat get focus inactive
7 years ago
Tony Crisci
7d8f2c52aa
make index_child static
7 years ago
Tony Crisci
5151502298
basic focus overhaul
7 years ago
Drew DeVault
b28602aa74
Implement workspaces
7 years ago
Drew DeVault
a686fb07ae
Execute pending commands when Xwayland is ready
7 years ago
Dominique Martinet
6259831d31
commands/reload: remove unimplemented 'load_swaybars' call
7 years ago
Dominique Martinet
5766f426aa
config reload: destroy old seat when removed from config
...
This adds new sway_seat_destroy and sway_cursor_destroy helpers
and compare new and old config on free
7 years ago
Dominique Martinet
869be4378d
commands: add 'reload' command
7 years ago
emersion
0c58673c6a
Merge pull request #1574 from acrisci/config-refactor
...
Command criteria
7 years ago
Tony Crisci
beb3805cf0
dont allow kill command in config
7 years ago
Tony Crisci
38a1628a76
clear handler context before ipc command
7 years ago
Tony Crisci
c3fc0d446f
cmd-kill: use sway_assert when no container
7 years ago
Tony Crisci
5505d84ac2
criteria cleanup
7 years ago
Drew DeVault
a6bc46eea9
Remove sway/old/
7 years ago
Drew DeVault
c933781fac
Merge pull request #1570 from acrisci/config-references
...
Copy input config references
7 years ago
Tony Crisci
6b03b1205d
implement property criteria
7 years ago
Tony Crisci
0e3eae4baa
view interface
7 years ago
Tony Crisci
1156523ccf
run all commands with focused container context
7 years ago
Tony Crisci
6a1d71b8b8
basic command criteria
7 years ago
Tony Crisci
c353e01c85
add kill command
7 years ago
Tony Crisci
cc3c713889
seat config handler context
7 years ago
Tony Crisci
9e0595f26b
input config handler context
7 years ago
Tony Crisci
2bf76509f8
update for new wlr-keyboard modifiers
7 years ago
Tony Crisci
9f54cd8935
copy config references for input and seat
7 years ago
Tony Crisci
ddc49ede46
xwm handle map and unmap
7 years ago
Tony Crisci
83ddd2d9db
render override redirect
7 years ago
Tony Crisci
2ce1d8d6cd
render wl-shell and xwayland views
7 years ago
Tony Crisci
619254db76
subsurface input
7 years ago
Tony Crisci
76ce629198
xdg-popups
7 years ago
Tony Crisci
4c8c9b29e4
render xdg surface
7 years ago
Dominique Martinet
67985e9031
sway: change all sway_log to wlr_log
7 years ago
Dominique Martinet
c83900593d
config: add 'set' command
7 years ago
Dominique Martinet
19ddb70a32
fixup free config use free_sway_binding
7 years ago
Dominique Martinet
9a326be7f8
config: leak sanitizer pass
...
Add free for everything that's implemented right now.
Will need to add more as the implementations are re-added.
7 years ago
Dominique Martinet
f5b33cb4b6
fix typos in comments/messages; add shutting down message
7 years ago
Dominique Martinet
28b8ea9f1e
cmd_input: cleanup around current_input_config
...
- Restore old one if we weren't part of a block (should be NULL anyway)
- Check current_input_config got properly allocated
- free temporary current_input_config when done using it
7 years ago
Dominique Martinet
afca73b6fc
apply_input_config: restore previous `current_input_config`
...
This is important for freeing the proper one at end of block
7 years ago
Drew DeVault
91313d3847
Merge pull request #1539 from acrisci/bindings
...
Bindings
7 years ago
Drew DeVault
bc7011db3c
Merge pull request #1543 from emersion/output-config-by-identifier
...
Allow to configure outputs by their identifier
7 years ago
Tony Crisci
b01a53abfb
Merge branch 'wlroots' into bindings
7 years ago
Tony Crisci
8b4eb5d7d1
cleanup bindings
7 years ago
Tony Crisci
50e791cadb
binding release
7 years ago
Calvin Lee
7196f59db0
Consolidate WLR and Sway logging
...
See #1390
7 years ago
emersion
ead3f1e676
Allow to configure outputs by their identifier
7 years ago
Tony Crisci
bd3ca70e3d
fix nitpicks
7 years ago
Tony Crisci
62b7ab3959
overwrite old bindings
7 years ago
Tony Crisci
0b8481f41a
fix keyboard_execute_bindcode
7 years ago
Tony Crisci
8d567cd062
bindcode
7 years ago
Tony Crisci
27cd633b40
run compositor bindings last
7 years ago
Tony Crisci
ccaedf5b15
run binding command
7 years ago
emersion
21c61f1c09
Refactor output command, add output enable
7 years ago
Tony Crisci
d941246d58
match user bindsym
7 years ago
Tony Crisci
daad222337
compositor bindings
7 years ago
Tony Crisci
eea80e7276
keyboard translate keysyms
7 years ago
Tony Crisci
ba69f06695
binding config
7 years ago
Drew DeVault
e1c5adc918
Merge pull request #1535 from martinetd/libinput
...
Libinput config
7 years ago
Tony Crisci
2f7e435c6f
desktop: use wlr-surface commit
7 years ago
Dominique Martinet
f3d8df45fc
seat_configure_pointer: apply libinput config
...
Restore the code that used to be in config.c:apply_input_config() pre-wlroots
7 years ago
Tony Crisci
63f7fb9517
cleanup
7 years ago
Tony Crisci
f35575f71d
handle keymap not found
7 years ago
Tony Crisci
39e7871a85
dont set cursor image on motion
7 years ago
Tony Crisci
5c036a3eac
error on not enough input/seat args for cmd
7 years ago
Tony Crisci
730af5e721
use snprintf to get identifier len
7 years ago
Tony Crisci
9df4a2c7a8
document fallback seat
7 years ago
Tony Crisci
f2985000f3
ipc get_inputs
7 years ago
Tony Crisci
a949d7de5a
Merge branch 'wlroots' into feature/input
7 years ago
Tony Crisci
a87960711a
Merge branch 'feature/input' of github.com:acrisci/sway into feature/input
7 years ago
Tony Crisci
4c436a1a6f
remove assumption of one device per identifier
7 years ago
Tony Crisci
483ede0146
improve xkb command logging
7 years ago
Drew DeVault
eb4f66f785
Merge pull request #1526 from emersion/fractional-output-scale
...
Add support for fractional output scale
7 years ago
emersion
c815d6d1a9
Add support for fractional output scale
7 years ago
emersion
4e2ab53119
Add IPC get_outputs
7 years ago
Tony Crisci
41e71d950a
remove verbose commit logging
7 years ago
Drew DeVault
b0291d126f
Fix compile error
7 years ago
Tony Crisci
a27736adcd
cleanup input-manager
7 years ago
Tony Crisci
88bcd43ebf
seat fallback config
7 years ago
Tony Crisci
e27eff8a29
send keyboard enter on keyboard configuration
7 years ago
Tony Crisci
c41801b75e
set keyboard config at runtime
7 years ago
Tony Crisci
0256cd1473
fix keyboard hotplugging
7 years ago
Tony Crisci
9e4fc7253e
get device id correctly
7 years ago
Tony Crisci
b0ed1ad28d
device add/remove logging
7 years ago
Tony Crisci
24e2406429
strip whitespace for device id
7 years ago
Tony Crisci
b8261ab24b
expect exactly one xkb arg
7 years ago
Tony Crisci
f16aa3c0ad
rename config apply cmds
7 years ago
Tony Crisci
f4a5a0ead4
put seat and input config in their own files
7 years ago
Tony Crisci
2624f55f8d
input and seat command docs
7 years ago
Tony Crisci
b3a0309f26
fix logging issue for new wlroots
7 years ago
Tony Crisci
9fa70ce426
Merge branch 'wlroots' into feature/input
7 years ago
Tony Crisci
030fcb64da
keyboard cleanup
7 years ago
Tony Crisci
9eecbb5d8a
xkb config
7 years ago
Tony Crisci
92fef27eaa
basic configuration
7 years ago
emersion
cba592b3d2
Use strtol instead of atoi in output command
7 years ago
emersion
9254c5a93f
Fail if unknown output subcommand
7 years ago
emersion
4d389f8b65
Replace refresh_rate and position by mode in output command
7 years ago
emersion
ec2fd6e5c0
Handle output remove
7 years ago
emersion
a4619e98c4
Update output containers on output layout change
7 years ago
emersion
d293c42942
Update output container box in event handler
7 years ago
emersion
c7abb77f22
Listen to output layout change
7 years ago
emersion
f3d880b0ec
Add scale and transform events to sway_output
7 years ago
Tony Crisci
c173d30b92
seat configuration
7 years ago
Tony Crisci
538903bc5a
config cleanup
7 years ago
Tony Crisci
163edc5a90
sway input device
7 years ago
emersion
475a0132a9
Use custom modes when output has no mode
7 years ago
Tony Crisci
462a451328
input config
7 years ago
Tony Crisci
9ae906cd37
sway pointer
7 years ago
Tony Crisci
4d449743c5
keyboard remove
7 years ago
Tony Crisci
5e9ee32d63
set focus on new window
7 years ago
Tony Crisci
609f63934a
basic keyboard
7 years ago
Tony Crisci
6339c4f161
remove pointer device
7 years ago
Tony Crisci
21626e8153
seat focus on button press
7 years ago
Tony Crisci
0fdecb4d3a
Merge branch 'wlroots' into feature/input
7 years ago
Tony Crisci
5f644d78fc
button and axis events
7 years ago
Tony Crisci
e69b052a6d
working pointer motion
7 years ago
Tony Crisci
9333a7eb53
working xcursor
7 years ago
Tony Crisci
7c67bea942
sway xcursor manager
7 years ago
emersion
4a14aa9ad9
Remove output from layout
7 years ago
Tony Crisci
d76e745b73
input include directory
7 years ago
Tony Crisci
ec7fc42a00
sway cursor
7 years ago
Tony Crisci
f6f63f60d6
basic input manager and seat
7 years ago
Tony Crisci
21ce20885a
rename input to input-manager
7 years ago
emersion
8764dc26c6
Add new_output_config, update root container size on output hotplug
7 years ago
emersion
41dd291612
Use wlr_output_layout_get_box
7 years ago
emersion
7c5d8c553c
Simplify free calls, use wlr_output_set_scale
7 years ago
emersion
c25ad5e7c4
Merge branch 'wlroots' into output-config
7 years ago
Drew DeVault
ab36a5a4d7
Merge pull request #1501 from emersion/command-include
...
Add include command
7 years ago
Tony Crisci
338a0399f8
input skeleton
7 years ago
Tony Crisci
47f268d8fa
view activate
7 years ago
emersion
68ae989cee
Init, merge output config params, use wlr_output_layout
7 years ago
emersion
aaae59026f
Add output config
7 years ago
emersion
9aeda82477
Add include command
7 years ago
Drew DeVault
3fe64482bb
Merge pull request #1498 from emersion/config
...
Add minimal config subsystem
7 years ago
Tony Crisci
8bdf3b1b02
view set position
7 years ago
emersion
90f7f1a0e6
Add minimal config subsystem
7 years ago
emersion
514c819ff9
Add exec and exec_always commands
7 years ago
Tony Crisci
0896b68675
Merge branch 'wlroots' into feature/xwayland
7 years ago
Tony Crisci
1870f116ba
xwayland shell
7 years ago
Tony Crisci
9afcfd44c4
wl-shell: class instead of app_id
7 years ago
Tony Crisci
6a694853e5
wl-shell: dimensions to size
7 years ago
Tony Crisci
823f6ee122
Merge branch 'wlroots' into feature/wl-shell
7 years ago
Tony Crisci
8239067da4
basic wl-shell
7 years ago
Tony Crisci
802e7392f8
use "size" instead of "dimensions"
7 years ago
Tony Crisci
59db38ce17
sway wl_shell
7 years ago
Drew DeVault
b6f4120afc
Merge pull request #1489 from acrisci/feature/basic-get-tree
...
basic get_tree
7 years ago
Tony Crisci
9220225f1d
remove unused timespec_to_msec
7 years ago
Tony Crisci
421f49fe03
basic get_tree
7 years ago
Tony Crisci
7152075681
log env after ipc init
7 years ago
Drew DeVault
1cfebe827a
Merge pull request #1479 from acrisci/feature/meson-build
...
meson build
7 years ago
Tony Crisci
31e44c01b4
send callbacks with send_frame_done
7 years ago
Tony Crisci
517af37cc9
remove relevant CMakeLists.txt
7 years ago
Tony Crisci
2f3633433e
add meson install files
7 years ago
Tony Crisci
cc310cffb0
meson: common static library
7 years ago
Tony Crisci
88cc7e3178
use meson subdirectories
7 years ago
Drew DeVault
974d510585
Merge pull request #1477 from acrisci/bug/set-mode
...
set mode on output
7 years ago
Tony Crisci
9696f50eba
remove nvidia support claim
7 years ago
Tony Crisci
6993a76232
set mode on output
7 years ago
Drew DeVault
8caabe59c2
Handle view destruction properly
7 years ago
Drew DeVault
a57d462926
Fix rendering issues, wire up some xdg listeners
7 years ago
Drew DeVault
ce1936bc65
Arrange windows on desktop
7 years ago
Drew DeVault
b379b40071
Invoke command handlers once parsed
7 years ago
Drew DeVault
7753a0ec75
Wire up IPC server
7 years ago
Drew DeVault
d7d21bb0f8
Add initial command subsystem (untested)
...
Need to spin up the IPC server to test this
7 years ago
Drew DeVault
4ca1e77fdb
Add views to tree and render them
7 years ago
Drew DeVault
aeda2e077f
Add workspace to outputs
7 years ago
Dominique Martinet
6c1cd82e32
xdg_shell_v6: add _POSIX_C_SOURCE define for struct timespec
...
wlroots 1e0e73 added struct timespec to wlr_seat.h, so we need to
define a _POSIX_C_SOURCE large enough whenever we include wlr_seat.h
7 years ago
Dominique Martinet
b8f8de27b8
wlr_data_device header update
...
wlroots 6a7560 renamed the header file
7 years ago
Drew DeVault
db4fb1c85c
Add outputs to the tree
7 years ago
Drew DeVault
733993a651
Move everything to sway/old/
7 years ago
Drew DeVault
0c8491f7d0
Initial (awful) pass on xdg shell support
7 years ago