aboutsummaryrefslogtreecommitdiffstats
path: root/sway/meson.build
Commit message (Collapse)AuthorAge
...
* | Implement title alignmentLibravatar Brian Ashworth2018-11-25
| | | | | | | | | | | | | | | | This adds support for `i3 4.16`'s ability to set the title alignment. The command is `title_align left|center|right`. When the title is on the right, marks are moved to the left. Otherwise, they are on the right.
* | Adding commands for configuring titlebar borders and paddingLibravatar Florent de Lamotte2018-11-22
| |
* | Merge pull request #3083 from c-edw/feature/StripWorkspaceNameLibravatar emersion2018-11-19
|\ \ | |/ |/| Implement strip_workspace_name.
| * Implement strip_workspace_name.Libravatar Connor E2018-11-17
| |
* | Add scroll factor config option.Libravatar Spencer Michaels2018-11-18
|/
* Remove raise_floating directiveLibravatar Ryan Dwyer2018-10-20
| | | | | | | | | | | | | The directive controlled whether floating views should raise to the top when the cursor is moved over it while using focus_follows_mouse. The default was enabled, which is undesirable. For example, if you have two floating views where one completely covers the other, the smaller one would be inaccessible because moving the mouse over the bigger one would raise it above the smaller one. There is no known use case for having raise_floating enabled, so this patch removes the directive and implements the raise_floating disabled behaviour instead.
* Implement popup_during_fullscreenLibravatar Ryan Dwyer2018-10-08
| | | | | | | | | | This introduces a new view_impl function: is_transient_for. Similar to container_has_ancestor but works using the surface parents rather than the tree. This patch modifies view_is_visible, container_at and so on to allow transient views to function normally when they're in front of a fullscreen view.
* Add configuration for raising containers on focusLibravatar Jonathan Buch2018-10-03
| | | | | | | * New configuration option: raise_floating (From the discussion on https://github.com/i3/i3/issues/2990) * By default, it still raises the window on focus, otherwise it will raise the window on click.
* Merge pull request #2703 from RyanDwyer/csd-borderLibravatar Drew DeVault2018-10-03
|\ | | | | Add CSD to border modes
| * Add CSD to border modesLibravatar Ryan Dwyer2018-09-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replaces view.using_csd with a new border mode: B_CSD. This also removes sway_xdg_shell{_v6}_view.deco_mode and view->has_client_side_decorations as we can now get these from the border. You can use `border toggle` to cycle through the modes including CSD, or use `border csd` to set it directly. The client must support the xdg-decoration protocol, and the only client I know of that does is the example in wlroots. If the client switches from SSD to CSD without us expecting it (via the server-decoration protocol), we stash the previous border type into view.saved_border so we can restore it if the client returns to SSD. I haven't found a way to test this though.
* | Handle border options for gapsLibravatar Brian Ashworth2018-10-01
| | | | | | | | | | | | | | | | | | | | | | | | Fixes `hide_edge_borders smart` when gaps are in use. Implements `hide_edge_borders smart_no_gaps` and `smart_borders on|no_gaps|off`. Since `smart_borders on` is equivalent to `hide_edge_borders smart` and `smart_borders no_gaps` is equivalent to `hide_edge_borders smart_no_gaps`, I opted to just save the last value set for `hide_edge_borders` and restore that on `smart_borders off`. This simplifies the conditions for setting the border.
* | Add support for installing binaries with DT_RPATHLibravatar Arkadiusz Hiler2018-09-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It's better to use DT_RPATH dynamic section of the elf binary to store the paths of libraries to load instead of overwriting LD_LIBRARY_PATH for the whole environment, causing surprises. This solution is much more transparent and perfectly suitable for running contained installations of wayland/wlroots/sway. The code unsetting the LD_LIBRARY_PATH/LD_PRELOAD was also deleted as it's a placebo security at best - we should trust the execution path that leads us to running sway, and it's way too late to care about those variables since we already started executing our compositor, thus we would be compromised anyway.
* | Merge pull request #2725 from PumbaPe/add-tap-and-dragLibravatar Drew DeVault2018-09-30
|\ \ | | | | | | Add tap and drag to sway-input
| * | add tap-and-drag setting to sway-inputLibravatar PP2018-09-29
| |/
* / Remove libcap/prctl artifactsLibravatar Arkadiusz Hiler2018-09-30
|/ | | | | | | They seem like relics of the pasts, from when we were retaining the ptrace cap. Some translations still may need updates.
* Introduce create_output command (for developer use)Libravatar Ryan Dwyer2018-09-19
| | | | Should help with testing hotplugging.
* Introduce tiling_drag directiveLibravatar Ryan Dwyer2018-09-11
|
* Implement type safe arguments and demote sway_containerLibravatar Ryan Dwyer2018-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit changes the meaning of sway_container so that it only refers to layout containers and view containers. Workspaces, outputs and the root are no longer known as containers. Instead, root, outputs, workspaces and containers are all a type of node, and containers come in two types: layout containers and view containers. In addition to the above, this implements type safe variables. This means we use specific types such as sway_output and sway_workspace instead of generic containers or nodes. However, it's worth noting that in a few places places (eg. seat focus and transactions) referring to them in a generic way is unavoidable which is why we still use nodes in some places. If you want a TL;DR, look at node.h, as well as the struct definitions for root, output, workspace and container. Note that sway_output now contains a workspaces list, and workspaces now contain a tiling and floating list, and containers now contain a pointer back to the workspace. There are now functions for seat_get_focused_workspace and seat_get_focused_container. The latter will return NULL if a workspace itself is focused. Most other seat functions like seat_get_focus and seat_set_focus now accept and return nodes. In the config->handler_context struct, current_container has been replaced with three pointers: node, container and workspace. node is the same as what current_container was, while workspace is the workspace that the node resides on and container is the actual container, which may be NULL if a workspace itself is focused. The global root_container variable has been replaced with one simply called root, which is a pointer to the sway_root instance. The way outputs are created, enabled, disabled and destroyed has changed. Previously we'd wrap the sway_output in a container when it is enabled, but as we don't have containers any more it needs a different approach. The output_create and output_destroy functions previously created/destroyed the container, but now they create/destroy the sway_output. There is a new function output_disable to disable an output without destroying it. Containers have a new view property. If this is populated then the container is a view container, otherwise it's a layout container. Like before, this property is immutable for the life of the container. Containers have both a `sway_container *parent` and `sway_workspace *workspace`. As we use specific types now, parent cannot point to a workspace so it'll be NULL for containers which are direct children of the workspace. The workspace property is set for all containers, except those which are hidden in the scratchpad as they have no workspace. In some cases we need to refer to workspaces in a container-like way. For example, workspaces have layout and children, but when using specific types this makes it difficult. Likewise, it's difficult for a container to get its parent's layout when the parent could be another container or a workspace. To make it easier, some helper functions have been created: container_parent_layout and container_get_siblings. container_remove_child has been renamed to container_detach and container_replace_child has been renamed to container_replace. `container_handle_fullscreen_reparent(con, old_parent)` has had the old_parent removed. We now unfullscreen the workspace when detaching the container, so this function is simplified and only needs one argument now. container_notify_subtree_changed has been renamed to container_update_representation. This is more descriptive of its purpose. I also wanted to be able to call it with whatever container was changed rather than the container's parent, which makes bubbling up to the workspace easier. There are now state structs per node thing. ie. sway_output_state, sway_workspace_state and sway_container_state. The focus, move and layout commands have been completely refactored to work with the specific types. I considered making these a separate PR, but I'd be backporting my changes only to replace them again, and it's easier just to test everything at once.
* Implement focus_on_window_activationLibravatar Ryan Dwyer2018-09-02
| | | | Depends on https://github.com/swaywm/wlroots/pull/1223
* Remove layout.cLibravatar Ryan Dwyer2018-08-26
| | | | | | | | | | | | | | | | | | | | | | | | | When we have type safety we'll need to have functions for workspace_add_tiling and so on. This means the existing container functions will be just for containers, so they are being moved to container.c. At this point layout.c doesn't contain much else, so I've relocated everything and removed the file. * container_swap and its static functions have been moved to the swap command and made static. * container_recursive_resize has been moved to the resize command and made static. * The following have been moved to container.c: * container_handle_fullscreen_reparent * container_insert_child * container_add_sibling * container_add_child * container_remove_child * container_replace_child * container_split * enum movement_direction and sway_dir_to_wlr have been moved to util.c. Side note: Several commands included layout.h which then included root.h. With layout.h gone, root.h has to be included by those commands.
* commands: add nopLibravatar Ian Fan2018-08-18
|
* Listen to server-decoration mode changesLibravatar emersion2018-08-06
|
* Separate root-related codeLibravatar Ryan Dwyer2018-08-04
| | | | | | | | | This creates a root.c and moves bits and pieces from elsewhere into it. * layout_init has been renamed to root_create and moved into root.c * root_destroy has been created and is called on shutdown * scratchpad code has been moved into root.c, because hidden scratchpad containers are stored in the root struct
* Write to swaynag pipe fd directly on config errorsLibravatar Brian Ashworth2018-08-03
|
* Link xcb dependency to meson options "enable_xwayland" (#2393)Libravatar Michel Ganguin2018-08-02
| | | | | | * Link xcb dependency to meson options "enable_xwayland" * Link xcb dependency to meson options "enable_xwayland"
* Add xkb_numlock/xkb_capslock commands (#2311)Libravatar ProgAndy2018-07-25
|
* style fixes, exclude sway/desctop/xwayland.c when enable_xwayland: falseLibravatar Pascal Pascher2018-07-24
|
* Implement scratchpadLibravatar Ryan Dwyer2018-07-23
| | | | | | | | | | | | | | Implements the following commands: * move scratchpad * scratchpad show * [criteria] scratchpad show Also fixes these: * Fix memory leak when executing command with criteria (use `list_free(views)` instead of `free(views)`) * Fix crash when running `move to` with no further arguments
* Implement floating_modifier and mouse operations for floating viewsLibravatar Ryan Dwyer2018-07-22
| | | | | | | | | | | | | | 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
* Implement force_display_urgency_hintLibravatar Ryan Dwyer2018-07-21
| | | | | | | | | | | | | 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.
* Implement default_floating_border command and adjust CSD behaviourLibravatar Ryan Dwyer2018-07-17
|
* Merge pull request #2276 from RyanDwyer/urgencyLibravatar Drew DeVault2018-07-16
|\ | | | | Implement urgency base functionality
| * Implement urgency base functionalityLibravatar Ryan Dwyer2018-07-16
| | | | | | | | | | | | 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.
* | Implement no_focus commandLibravatar Ryan Dwyer2018-07-16
|/
* Implement tap_button_map for input devicesLibravatar Brian Ashworth2018-07-14
|
* add scroll button optionLibravatar Robert Kubosz2018-07-11
| | | | | | 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.
* Implement floating_minimum_size and floating_maximum_sizeLibravatar Ryan Dwyer2018-07-11
|
* Split rendererLibravatar emersion2018-07-07
|
* Add idle inhibit unstable v1 supportLibravatar Dominique Martinet2018-07-02
|
* Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-29
|\
| * Automatically float xwayland windowsLibravatar emersion2018-06-18
| |
* | Merge remote-tracking branch 'upstream/master' into atomicLibravatar Ryan Dwyer2018-06-11
|\|
| * Implement gaps (PR #2047)Libravatar Nate Symer2018-06-09
| |
* | WIP: Atomic layout updates ground workLibravatar Ryan Dwyer2018-06-09
|/
* Refactor cmd_output to use config_subcommandLibravatar Brian Ashworth2018-06-03
|
* Implement floatingLibravatar Ryan Dwyer2018-06-01
|
* Implement `floating enable`Libravatar Drew DeVault2018-06-01
|
* Implement config parser for workspace_layoutLibravatar Brian Ashworth2018-05-28
|
* Support i3's legacy force_focus_wrapping commandLibravatar Brian Ashworth2018-05-28
|
* Implement focus_wrappingLibravatar Brian Ashworth2018-05-27
|