aboutsummaryrefslogtreecommitdiffstats
path: root/sway
Commit message (Collapse)AuthorAge
* handlers: geometry_request: Better debug output.Libravatar S. Christoffer Eliesen2015-12-28
| | | | Previous output was confusing.
* arrange_windows_r: Round pixels to match reality, fixes calculations.Libravatar S. Christoffer Eliesen2015-12-28
| | | | | | | | | | | | | | | If the width or height of a container can't be evenly distributed to its children, then the layout algorithm still thought it got it right (due to using decimals) which caused a gap of one or more pixels for some window arrangements. This is fixed by this patch by first rounding off the width and height (so that decimals are never introduced) and then adjusting the last view in a container to fill the remaining pixels (which now is counted correctly due to the decimals being removed). Also, due to the way gaps are implemented, an odd sized gap can never be aligned properly, so just adjust to closest even number.
* arrange_windows_r: Bring parent coordinates into layout calculations.Libravatar S. Christoffer Eliesen2015-12-28
| | | | | This brings consistency into the algorithm (instead of resetting and then fetching again).
* Focus new sibling added to containerLibravatar Mikkel Oscar Lyderik2015-12-25
| | | | This makes sure that the window being added to a container gets focus.
* Trigger workspace init event (floating)Libravatar Mikkel Oscar Lyderik2015-12-25
| | | | | | | Triggers workspace init event when moving a floating window to a new workspace. This is a follow up on #391 which didn't handle floating windows.
* Use SYSCONFDIR as recommendedLibravatar Yacine Hmito2015-12-23
| | | | | - swaylock config path not hardcoded anymore - the unusual and weird FALLBACK_CONFIG_DIR is no more
* Initialize id, part twoLibravatar Drew DeVault2015-12-22
|
* Initialize IDLibravatar Drew DeVault2015-12-22
|
* Merge pull request #393 from robotanarchy/musl-libc-compatibilityLibravatar Drew DeVault2015-12-21
|\ | | | | musl libc compatibility
| * replace non-standard qsort_r with qsortLibravatar robotanarchy2015-12-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I've tried to make as few changes, as possible. Usually the reason for using qsort_r is, that you can pass an extra userdata pointer to the compare function. However, in sway list_sort wrapped qsort_r and always called a wrapper function for comparing, the wrapper function then had the real compare function as argument. The only thing, that the wrapper function does, is dereferencing the 'left' and 'right' function arguments before passing them to the real compare function. I have renamed list_sort to list_qsort to avoid confusion (so nobody tries to use list_qsort like list_sort) and removed the wrapper functionality. Now the dereferencing must be done in the compare function, that gets passed. Some compare functions were used in both list_sort and list_seq_find. To make the difference clear, I've added a '_qsort' suffix to the compare functions, that are intended to be used with the new list_qsort. (In other words: list_qsort is not compatible anymore with list_seq_find). - Changed and renamed function (it isn't used anywhere but in commands.c, and only for sorting): compare_set -> compare_set_qsort - New wrapper functions: sway_binding_cmp_qsort (for sway_binding_cmp) sway_mouse_binding_cmp_qsort (for sway_mouse_binding_cmp)
| * remove unused execinfo.h include from debug_log.cLibravatar robotanarchy2015-12-21
| |
* | Trigger ipc_event_workspace in all casesLibravatar Mikkel Oscar Lyderik2015-12-21
| | | | | | | | | | | | 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.
* | Merge pull request #390 from mikkeloscar/workspace-ipc-eventLibravatar Drew DeVault2015-12-21
|\ \ | | | | | | Don't skip all clients on ipc_workspace_event.
| * | Don't skip all clients on ipc_workspace_event.Libravatar Mikkel Oscar Lyderik2015-12-21
| | | | | | | | | | | | Only clients not subcriped to the workspace event should be skipped.
* | | Trigger event on bar mode|hidden_state commandsLibravatar Mikkel Oscar Lyderik2015-12-21
| | |
* | | Implement `barconfig_update` IPC eventLibravatar Mikkel Oscar Lyderik2015-12-21
|/ /
* | Handle bar commands outside config fileLibravatar Mikkel Oscar Lyderik2015-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Our initial implementation of `bar { }` assumed that the commands could only be used in the config. This is not true for two commands: * bar mode * bar hidden_state This patch makes it possible to issue these commands outside a bar block, for instance through swaymsg $ swaymsg bar mode hide bar-0 This does not implement the `barconfig_update` IPC event which should be trigged from these commands. I have added TODO's where this should be added once implemented.
* | Fix default swaybar fontLibravatar Drew DeVault2015-12-21
|/
* layout: Fix `edge_gaps off` with top/left panels.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | Since x/y won't be zero when there's a top or left panel in place, we need to take those coordinates into account too.
* container: Fix inner gaps against screen edge.Libravatar S. Christoffer Eliesen2015-12-20
|
* Merge pull request #373 from sce/per_panel_configLibravatar Drew DeVault2015-12-20
|\ | | | | Per panel config
| * extensions: Track panels by wl_resource, position per panel.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | | | | | | | | | | | | Track each panel separately via its wl_resource. `set_panel_position` might be called before `set_panel`, so reuse panel config. Place the position in panel_config so that each panel has its own position.
| * extensions: panel_config->resource => wl_surface_res.Libravatar S. Christoffer Eliesen2015-12-20
| | | | | | | | Change the name to something less ambigious.
* | Merge pull request #372 from sce/fix_swaybar_output_name_testLibravatar Drew DeVault2015-12-20
|\ \ | | | | | | config: load_swaybars: Fix name comparison.
| * | config: load_swaybars: Fix name comparison.Libravatar S. Christoffer Eliesen2015-12-20
| |/
* / config: free_bar: Check if outputs is NULL.Libravatar S. Christoffer Eliesen2015-12-20
|/ | | | | bar_config.outputs is NULL if no output is explicitly defined in config (ie. use for for all outputs).
* Implement compositor support for swaylockLibravatar Drew DeVault2015-12-18
| | | | This makes swaylock more or less work.
* Fix lock extension setup in compositorLibravatar Drew DeVault2015-12-18
|
* Merge pull request #361 from mikkeloscar/i3bar-commandLibravatar Drew DeVault2015-12-18
|\ | | | | Add support for running swaybar_command
| * Add support for running swaybar_commandLibravatar Mikkel Oscar Lyderik2015-12-19
| |
* | Fix default workspace name generationLibravatar Drew DeVault2015-12-18
|/ | | | This fixes the issue where workspace 10 ends up being the default.
* Merge pull request #360 from sce/fix_arrange_windowsLibravatar Drew DeVault2015-12-18
|\ | | | | Fix arrange windows
| * layout: arrange_windows: Partially fix swaybar irregularties.Libravatar S. Christoffer Eliesen2015-12-18
| |
| * layout: arrange_windows: Fix/better debug output.Libravatar S. Christoffer Eliesen2015-12-18
| |
* | Merge pull request #359 from mikkeloscar/i3bar-commandLibravatar Drew DeVault2015-12-18
|\ \ | | | | | | Add bar option: swaybar_command <command>
| * | Add bar option: swaybar_command <command>Libravatar Mikkel Oscar Lyderik2015-12-19
| |/
* | Terminate children when freeing output containerLibravatar Mikkel Oscar Lyderik2015-12-18
| |
* | Reload swaybar/swaybg on config reload.Libravatar Mikkel Oscar Lyderik2015-12-18
|/ | | | | | | | This works by tracking the pids of the child processes in the related output container and terminating the processes and spawning new ones on a config reload. Should solve: #347
* Add shims for swaylock on compositorLibravatar Drew DeVault2015-12-18
|
* layout: Keep output at the correct size, workspace can be smaller.Libravatar S. Christoffer Eliesen2015-12-18
| | | | | | | | | | | | | | If the output is not at the correct size then that info must be queried from wlc. The output size is used by e.g. seamless mouse to detect output edges. With this patch the output size is now correct and the workspace size is adjusted according to any panels. Without this patch seamless mouse would fail to detect outputs above/below each other if there was a panel in between because the output would offically end where the panel started, not at the actual screen edge.
* focus: Fix moving last workspace.Libravatar S. Christoffer Eliesen2015-12-18
| | | | | If there's only one workspace on an output and it's moved to a different output then active workspace will be NULL.
* sway: insert numbered workspaces in orderLibravatar progandy2015-12-18
| | | | | | | | | | fixes #308 Ordered by number ascending, with insert before same numbers. Workspaces without numbers are appended at the end of the list. Example order: 1 2:named 3:the_second 3:the_first 9 FIRST_NAME SECOND_NAME ...
* sway: enable workspace selection by numberLibravatar progandy2015-12-18
|
* Fix bar invocation for multihead setupLibravatar Drew DeVault2015-12-16
|
* Use system swaybar instead of local swaybarLibravatar Drew DeVault2015-12-16
|
* Invoke swaybar when an output matches a bar configLibravatar Drew DeVault2015-12-16
|
* Bring unmanaged windows to front on output arrangeLibravatar Drew DeVault2015-12-16
| | | | Fixes #312
* Merge pull request #338 from mikkeloscar/bar-separator-symbolLibravatar Drew DeVault2015-12-16
|\ | | | | Implement bar option: separator_symbol
| * Implement bar option: separator_symbolLibravatar Mikkel Oscar Lyderik2015-12-16
| |
* | Use free_flat_list for simple char* list.Libravatar Mikkel Oscar Lyderik2015-12-16
|/ | | | No need to reimplement free_flat_list functionality.