aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAge
* Overhaul criteria implementationLibravatar Ryan Dwyer2018-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Damage borders when damaging viewLibravatar emersion2018-05-10
|
* Implement pango supportLibravatar Ryan Dwyer2018-05-06
| | | | | | Implements support for the pango: prefix in the font command. Closes #1903.
* Move code for re-arranging after font height change into a common placeLibravatar Ryan Dwyer2018-05-05
|
* Implement title_formatLibravatar Ryan Dwyer2018-05-05
| | | | | | | | | | 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)
* Convert border_colors.text to float[4]Libravatar Drew DeVault2018-05-03
|
* Change comment formatLibravatar Ryan Dwyer2018-05-03
|
* Calculate config->font_height based on existing container titlesLibravatar Ryan Dwyer2018-05-03
|
* Render titlesLibravatar Ryan Dwyer2018-05-03
|
* Restore view_update_position()Libravatar Ryan Dwyer2018-05-01
|
* Move docblock and fix indenting of switch/case.Libravatar Ryan Dwyer2018-05-01
|
* Implement bordersLibravatar Ryan Dwyer2018-04-30
| | | | | | | | | | | | | 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
* Remove arrange_windows()Libravatar Ryan Dwyer2018-04-30
| | | | After the refactor, this function is no longer called.
* Refactor arrange_windows()Libravatar Ryan Dwyer2018-04-28
| | | | | | | | | 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.
* Add map_from_region commandLibravatar emersion2018-04-26
|
* Remove sway_container.workspace_layoutLibravatar Ryan Dwyer2018-04-26
| | | | Fixes #1716.
* Merge branch 'master' into criteria-commandsLibravatar Drew DeVault2018-04-25
|\
| * Fix a bunch of swaybar memory leaksLibravatar emersion2018-04-24
| |
| * Improved key handling in swaylockLibravatar Mattias Eriksson2018-04-24
| | | | | | | | | | | | Make escape clear buffer Add indicator states for ctrl,shift,super et al Add CapsLock indicator
* | Update wording about unmanaged/unmapped viewsLibravatar Ryan Dwyer2018-04-24
|/
* Implement rename workspace commandLibravatar Ryan Dwyer2018-04-23
| | | | | | | | This implements the following commands: * rename workspace to new_name * rename workspace old_name to new_name * rename workspace number n to new_name
* Default to current time when triggering cursor eventsLibravatar emersion2018-04-21
|
* Merge branch 'master' into fullscreenLibravatar Drew DeVault2018-04-19
|\
| * Make key repeat configurableLibravatar Ryan Dwyer2018-04-18
| | | | | | | | | | | | | | | | | | | | | | This creates two input commands for configuring the repeat delay and rate. Example config: input "myidentifier" { repeat_delay 250 repeat_rate 25 }
* | Fullscreen fixes.Libravatar Ryan Dwyer2018-04-18
| |
* | Create sway_workspace struct.Libravatar Ryan Dwyer2018-04-17
| |
* | Feedback for fullscreen.Libravatar Ryan Dwyer2018-04-17
| |
* | Implement fullscreen.Libravatar Ryan Dwyer2018-04-16
|/
* swaylock: Securely zero-out password.Libravatar Geoff Greer2018-04-12
| | | | | | | | - Replace char* with static array. Any chars > 1024 will be discarded. - mlock() password buffer so it can't be written to swap. - Clear password buffer after auth succeeds or fails. This is basically the same treatment I gave the 0.15 branch in https://github.com/swaywm/sway/pull/1519
* Clean up cursor simulation code.Libravatar Danny Bautista2018-04-10
|
* Implement cursor event simulation with sway commands.Libravatar Danny Bautista2018-04-10
|
* Merge pull request #1769 from acrisci/focus-inactive-fixesLibravatar Drew DeVault2018-04-08
|\ | | | | Focus inactive fixes
| * 80charLibravatar Tony Crisci2018-04-08
| |
| * Merge branch 'wlroots' into focus-inactive-fixesLibravatar Tony Crisci2018-04-08
| |\
| * | seat focus inactive children foreachLibravatar Tony Crisci2018-04-07
| | |
| * | seat get focus inactive viewLibravatar Tony Crisci2018-04-07
| | |
* | | Add input "identifier" map_to_output "identifier"Libravatar Drew DeVault2018-04-08
| | |
* | | Fix cursor motion issuesLibravatar Drew DeVault2018-04-08
| |/ |/| | | | | | | | | | | Use only one canonical cursor x/y position and send cursor enter when mouse is warped. Tangentally related to #1714
* | Implement tablet tool supportLibravatar Drew DeVault2018-04-08
|/
* Give keyboard focus to unmanaged xwayland surfacesLibravatar emersion2018-04-07
| | | | This fixes dmenu
* Merge pull request #1756 from emersion/output-damageLibravatar Drew DeVault2018-04-07
|\ | | | | Fine-grained damage tracking
| * Simplify damage tracking functions, use them in layer shellLibravatar emersion2018-04-06
| |
* | Merge pull request #1700 from swaywm/move-cmd-fullLibravatar Drew DeVault2018-04-07
|\ \ | | | | | | Implement move [left|right|up|down]
| * | Add debug tree viewLibravatar Drew DeVault2018-04-06
| | |
| * | Implement move [left|right|up|down]Libravatar Drew DeVault2018-04-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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))) ```
* | | Revert "Break everything^W^WUse wlr_box for sway_container"Libravatar Drew DeVault2018-04-06
| | |
* | | Break everything^W^WUse wlr_box for sway_containerLibravatar Drew DeVault2018-04-06
| |/ |/|
* | Send surface enter/leave events to view childrenLibravatar emersion2018-04-06
|/
* Fix wl_output enter/leave eventsLibravatar emersion2018-04-06
| | | | Fixes #1739
* Remove L_TYPESLibravatar emersion2018-04-05
|