aboutsummaryrefslogtreecommitdiff
path: root/sway/focus.c
AgeCommit message (Collapse)Author
2017-11-11Move sway's internal tree code to sway/tree/Drew DeVault
2017-11-11Fire up the wlroots backend and run the event loopDrew DeVault
2016-10-02prevent dereference of freed workspaceZandr Martin
2016-10-01fix pointer format string in sway_log() callZandr Martin
2016-09-17add global `current_focus` pointerZandr Martin
2016-09-01Tweak how swaylock surfaces are handledDrew DeVault
Fixes #875
2016-09-01Reorganize includesDrew DeVault
2016-08-22Fix a format stringHummer12007
2016-08-03Simplify focus settingTony Crisci
Merge the main rendering paths of all containers to make focus setting a bit simpler and easier to follow.
2016-08-01Remove dead global locked_view_focusTony Crisci
The value of `locked_view_focus` is always false. Remove dead code associated with this variable to simplify things.
2016-07-31Update view border when workspace is focusedTony Crisci
When a workspace is focused, update the borders of all its child containers to be focused to indicate the workspace container is focused.
2016-07-31Implement focus handling for containersTony Crisci
The previous implementation of focus handling assumed that only views can be focused. Containers can also be focused with a command like `focus parent` or `focus child`. Change `set_focused_container()` to handle the case of the given container being a container with children and update borders accordingly.
2016-07-27Implement `focus child` commandTony Crisci
The `focus child` command focuses the child container within the selected container.
2016-07-27bugfix: set focus to workspace of an outputTony Crisci
In `move_focus()`, when given an output, set the focus to the workspace of that output instead of the output itself. This fixes a bug that did not allow users to switch between outputs introduced in afc6ad6. It also fixes other issues before that commit when a workspace with children was selected and the user tried to switch focus in the direction of another output.
2016-07-27bugfix: cmd focus parent don't set focus above wsTony Crisci
In the `focus parent` command, do not set focus above the workspace level. These containers are not meant to be focused. This prevents a crash on repeated `focus parent` commands.
2016-07-21Arrange backgrounds only when requiredMykyta Holubakha
2016-07-21Initial work on window eventsMykyta Holubakha
2016-07-16refactor swayc_tabbed_stacked_parent into _ancestor and _parent and use ↵D.B
where needed
2016-07-15Suspend destruction of wss when creating viewsMykyta Holubakha
2016-07-03resize command updates (#713)Zandr Martin
2016-05-28enforce workspace output assignentsZandr Martin
when creating a new output, move to that output all extant workspaces that are assigned to that output. (unrelated) remove comment that was no longer applicable, fix spacing in an assignment
2016-05-23set focus on fullscreen view when changing focusZandr Martin
2016-04-25Add support for nested tabbed/stacked containersMikkel Oscar Lyderik
2016-04-25Fix problems with floating windowsMikkel Oscar Lyderik
Makes any tabbed/stacked layout a container to separate from floating windows which may be attached to a workspace.
2016-04-25Tabbed and stacked layoutMikkel Oscar Lyderik
2016-04-17Use correct format string for x86_64 and i686Mikkel Oscar Lyderik
Fix #587
2016-04-02Fix spelling mistakesEric Engestrom
2016-03-30Mark focused view focus_inactive on unfocused outputMikkel Oscar Lyderik
2016-03-30Implement bordersMikkel Oscar Lyderik
The borders are implemented as a surface/buffer attached to each view which is sent to and rendered by wlc in the view_pre_render callback. All the drawing logic is handled in sway/border.c and all the logic for calculating the geometry of the border/view is handled in `update_geometry` in sway/layout.c (same place as gaps are calculated).
2016-03-05Remove focus when switching to empty workspaceMikkel Oscar Lyderik
Fix #504
2016-01-21Only update visibility if WS isn't destroyed afterMikkel Oscar Lyderik
No need to update visibility if the workspace will be destroyed right after.
2015-12-21Trigger ipc_event_workspace in all casesMikkel Oscar Lyderik
This makes sure that the workspace IPC event is triggered when needed. Fixes #382 while making sure that the IPC event is only triggered once.
2015-12-18focus: Fix moving last workspace.S. Christoffer Eliesen
If there's only one workspace on an output and it's moved to a different output then active workspace will be NULL.
2015-12-14Fix dangling pointer on focus swap/describe WSKevin Hamacher
2015-12-13Notify IPC on workspace changes more frequentlyDrew DeVault
2015-12-13Make destroy_workspace behave as expectedKevin Hamacher
2015-12-01Fix for_window [...] move scratchpad correctlyDrew DeVault
2015-12-01Revert "Fix bug with for_window [...] move scratchpad"Drew DeVault
This reverts commit 0796b0c475bb46095d14a5291d62dd8e7d098262.
2015-12-01Fix bug with for_window [...] move scratchpadDrew DeVault
2015-11-27Move IPC client into common, refactor IPCDrew DeVault
2015-11-04Include header declaring ipc_event_workpace(2)Mikkel Oscar Lyderik
2015-11-02put ipc_event_workspace in update_focustaiyu
2015-10-29commands: Learn mouse_warping.S. Christoffer Eliesen
Place mouse at center of focused view when changing to a workspace on a different output, if option is enabled. (This replicates existing i3 option.) This can be triggered in multiple ways: A) via `workspace <name>` which changes output B) via `focus <direction>` which changes output C) via `focus output <name>` which (obviously) changes output
2015-10-25log: Add swayc_log, use at a few key places.S. Christoffer Eliesen
swayc_log works just like sway_log, but appends type and name from given container to the log output.
2015-10-23seamless_mouse: Move pointer only if successfully changed workspace.S. Christoffer Eliesen
If e.g. a window has a popup open then that will lock the current focus, making a workspace switch denied. So don't move the mouse pointer in such cases.
2015-08-27update visibility + container info functionstaiyu
2015-08-25fixed segfault on exit + a little fixup of that floatfocus prtaiyu
2015-08-25changed view visibility to be boolminus
view_visibility enum remains with one constant that is the mask to wlc's view masking
2015-08-25refactored view visibilityminus
- replace visibilty mask integers with an enum - set output's visibilty mask on creation - added update_visibility to manually update a containers visibility (e.g. when it moved to an invisible workspace)
2015-08-22fixed vanishing floating viewtaiyu