Commit Graph

4042 Commits

Author SHA1 Message Date
Drew DeVault bec982bba6
Merge pull request #2289 from frsfnrrg/memory-fixes
Fix memory leaks and reference to uninitialized
2018-07-17 08:46:53 -07:00
frsfnrrg 3931cb85b2 Fix memory leak in sway/desktop/idle_inhibit_v1.c 2018-07-17 11:35:24 -04:00
frsfnrrg 37471ac649 Fix memory leak in handle_layer_shell_surface 2018-07-17 11:35:24 -04:00
frsfnrrg 600676688a Free individual criteria in free_config
Also free cmd_list when cleaning up a struct criteria.
2018-07-17 11:35:00 -04:00
frsfnrrg b3014f7b16 Fix uninitialized pointer in view_unmap
Otherwise, sway crashes due to uninitialized pointer
dereference when AddressSanitizer is active.
2018-07-17 10:42:48 -04:00
Brian Ashworth f516dbfb6d
Merge pull request #2286 from RyanDwyer/default-floating-border
Implement default_floating_border command and adjust CSD behaviour
2018-07-16 22:21:00 -04:00
Brian Ashworth 10fc7a5b49
Merge branch 'master' into default-floating-border 2018-07-16 22:12:29 -04:00
Drew DeVault db3a363734 Revert "config: free include path on successful load"
This reverts commit 92450883d7.
2018-07-16 21:02:13 -04:00
Drew DeVault 9c8d73dad6
Merge pull request #2287 from RyanDwyer/superfluous-urgent-events
Remove superfluous IPC urgent events
2018-07-16 17:59:30 -07:00
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.
2018-07-17 10:27:03 +10:00
Ryan Dwyer 75c699db62 Implement default_floating_border command and adjust CSD behaviour 2018-07-17 10:14:33 +10:00
Drew DeVault 7268d544c2
Merge pull request #2285 from emersion/cleanup-swayidle
swayidle: cleanup
2018-07-16 16:34:04 -07:00
Drew DeVault d6bd314dff
Merge pull request #2276 from RyanDwyer/urgency
Implement urgency base functionality
2018-07-16 15:39:08 -07:00
Ryan Dwyer 255dc8bbb0 swaybar: Read urgent colors from IPC 2018-07-17 08:29:43 +10:00
emersion 297e32126f
Merge pull request #2265 from RedSoxFan/implement-1962
Implement swaylock configuration file parsing
2018-07-16 22:25:25 +01:00
emersion 4657ea5a42 swayidle: cleanup
No idea why wlr_output_layout was involved here.
2018-07-16 22:20:53 +01:00
Brian Ashworth 7b91712416 Switch to using getopt_long for config flag 2018-07-16 12:17:40 -04:00
Brian Ashworth 14c949c1c7 Remove leftover parens 2018-07-16 12:17:40 -04:00
Brian Ashworth 85584734ce Remove int cast after changing to size_t 2018-07-16 12:17:40 -04:00
Brian Ashworth d375f6af18 Change to size_t in swaylock's get_config_path 2018-07-16 12:17:40 -04:00
Brian Ashworth 296889f3d7 Implement swaylock configuration file parsing 2018-07-16 12:17:40 -04:00
Drew DeVault 6a9ca6efa0
Merge pull request #2283 from RyanDwyer/no-focus
Implement no_focus command
2018-07-16 08:31:00 -07:00
Ryan Dwyer e2f28c023c Focus view before running criteria when mapping 2018-07-16 22:27:11 +10:00
Ryan Dwyer fc2484095a Implement no_focus command 2018-07-16 22:18:12 +10:00
emersion a588b326c2
Merge pull request #2282 from RyanDwyer/fix-tab-split-focus
Fix tab split focus bug
2018-07-16 09:54:09 +01:00
Ryan Dwyer af5f736277 Render containers as urgent if they have an urgent child 2018-07-16 18:22:27 +10:00
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.
2018-07-16 18:09:35 +10:00
Ryan Dwyer be28c18ad5 Mark containers as urgent in IPC if they have urgent views 2018-07-16 14:30:31 +10:00
Ryan Dwyer 5f0a4bb6a4 Update workspace urgent state when views close or move workspaces 2018-07-16 13:15:35 +10:00
Ryan Dwyer 560627437b Make container_for_each_descendant_dfs descend into floating views 2018-07-16 12:45:20 +10:00
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 :\
2018-07-16 11:55:53 +10:00
Ryan Dwyer a211daf9e6 Add documentation for urgent command 2018-07-16 10:15:18 +10:00
Ryan Dwyer e3f90f00fe Implement xwayland urgency hint 2018-07-16 08:42:34 +10:00
Ryan Dwyer f86087d78f Fix urgency IPC events 2018-07-16 08:19:25 +10:00
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.
2018-07-16 08:19:25 +10:00
emersion b314a8f2cc
Merge pull request #2280 from ianyfan/leaks
Fix some memory leaks
2018-07-15 22:09:04 +01:00
Ian Fan 9559e3e2af config output: free command string if unused 2018-07-15 21:51:00 +01:00
Ian Fan 92450883d7 config: free include path on successful load 2018-07-15 21:48:39 +01:00
Ian Fan ba8981e44b bar: free old position when changing 2018-07-15 21:47:22 +01:00
Drew DeVault 87334dbccb
Merge pull request #2277 from ianyfan/config-read-fix
Fix config buffer overflow and logic
2018-07-15 11:55:51 -07:00
Ian Fan 011d43746f Add error handling for getting config file size 2018-07-15 15:36:51 +01:00
Ian Fan e6209afcd6 Fix config buffer overflow and logic 2018-07-15 14:59:54 +01:00
Drew DeVault 8e05fb7826
Merge pull request #2275 from RyanDwyer/transactionise-focus
Make focus part of transactions
2018-07-15 06:49:29 -07:00
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).
2018-07-15 22:08:26 +10:00
Drew DeVault 53e3f35ba3
Merge pull request #2272 from RyanDwyer/simplify-transactions
Simplify transactions by using a dirty flag on containers
2018-07-15 05:01:25 -07:00
Drew DeVault 806c06fdfb
Merge pull request #2266 from emersion/remove-orbital-screenshooter
Remove orbital screenshooter
2018-07-15 05:00:38 -07:00
Drew DeVault f4edf84b4f
Merge pull request #2273 from swaywm/debug-flags
Add extended debugging flags
2018-07-14 18:30:59 -07:00
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.
2018-07-14 20:44:32 -04:00
Ryan Dwyer 6b2dc7e63b Set signature to void 2018-07-15 10:41:10 +10:00
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.
2018-07-14 23:14:55 +10:00