aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)AuthorLines
2016-03-30New feature: adjust gaps with floating_mod+scrollFurkan Sahin-0/+8
I made this configurable but I didn't make the command for it. That's left as an exercise to an eager contributor. mod_scroll_behavior [gaps inner|gaps outer] Would merge implementions of more behaviors for mod+scroll, if anyone has some neato ideas.
2016-03-30Mark focused view focus_inactive on unfocused outputFurkan Sahin-0/+1
2016-03-29Implement bordersFurkan Sahin-10/+13
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-29Add border <none|normal|toggle|pixel> configFurkan Sahin-4/+6
2016-03-29Implement parsing of hide_edge_bordersFurkan Sahin-0/+9
2016-03-28Make client/pango.h not depend on client/window.hFurkan Sahin-5/+5
2016-03-28Add default border colorsFurkan Sahin-0/+18
2016-03-13Implement some more on bordersFurkan Sahin-0/+17
Note that this segfaults ALL THE TIME in wlc code. Paging @Cloudef for help, I'm at a loss.
2016-01-28Initial setup of window border renderingFurkan Sahin-0/+7
Please don't complain to me about the performance of this
2016-03-26Implement include commandFurkan Sahin-4/+16
The include command (`include <path>`) makes it possible to include sub config files from the main config file (or from within other sub config files). The include command uses the following rules for including config files: * the `path` can be either a full path or a path that is relative to the parent config. Shell expansion is supported, so it's possible to do `include ~/.config/sway.d/*`. * The same config file can only be included once (to prevent include cycles). If a config is included multiple times it will just be ignored after it has been included once. * Including a sub config file is the same as inserting the content of that file into the parent config, thus rules about overwriting bindsyms etc. works the same as for a single config. Implement #542
2016-03-25Add graphical feedback to swaylock (#526)Furkan Sahin-0/+37
2016-03-24Update to new WLC APIFurkan Sahin-1/+2
2016-03-20Implement 'smart_gaps' feature from i3-gapsFurkan Sahin-0/+1
2016-03-17Remove unused panel_size (and fix rearrange)Furkan Sahin-1/+0
desktop_shell.panel_size was only used to determine if sway should rearrange the output when rendering the panel in the output_pre_render hook. This is not needed since the output will have been arranged at that point. It also caused sway to rearrange all the time when running with two or more different monitors/resolutions because panel_size kept changing with every output_pre_render callback. Should fix #514
2016-03-04Fix assigning workspaces to outputsFurkan Sahin-1/+1
It's possible to assign workspaces to certain outputs using the command: workspace <name> output <output> However, this did not work in some cases where the workspace was assigned before the given output was made available to sway. This patch fixes those cases.
2016-02-24Free config before exiting sway.Furkan Sahin-0/+4
Apart from freeing the sway_config struct, this also terminates the swaybars spawned by sway, since they are linked by PID to the bar config structs.
2016-02-24Improve how swaybars are spawnedFurkan Sahin-1/+1
2016-02-23Differentiate between all or no outputsFurkan Sahin-0/+1
2016-02-23Make sway spawn only one bar per bar configFurkan Sahin-5/+3
2016-02-22Make single bar handle multiple outputsFurkan Sahin-4/+12
2016-02-26Correctly exit sway on errors.Furkan Sahin-1/+1
Calling `exit` in sway_terminate prevents sway from correctly shutting down (freeing data, cleanly terminating the ipc server, etc.). A better way is to exit straight away if the failure occurs before `wlc_run` and use sway_abort as usual if it occur when wlc is running.
2016-02-21Fix ipc event bit masksFurkan Sahin-9/+9
2016-02-08Replace deprecated function wlc_output_get_pixels.Furkan Sahin-0/+7
This makes IPC GET_PIXELS use the new `wlc_pixels_read` call instead of the deprecated `wlc_output_get_pixels`. The old version worked by passing a callback function to wlc which would grab the pixels and send them to the IPC client. The new version works by maintaining a list of clients who have requested the pixels of some output and then grap and send the pixels in the output_post_render hook of the `wlc_interface`.
2016-01-28Print /proc/<pid>/maps on segfaultFurkan Sahin-0/+1
2016-01-27font: Allow adding font to the config. In prep for border titlesFurkan Sahin-0/+1
v2: Give default font and make bar use it if no bar font
2016-01-25extract cairo_set_source_u32()Furkan Sahin-0/+5
2016-01-25Add quotes to multiword arguments.Furkan Sahin-0/+5
This adds quotes around multiword arguments before they are passed to `/bin/sh -c` in an exec command. Example: I connect to irc like this: exec termite -e "mosh server tmux a" Without this patch the arguments are passed to sh as: termite -e mosh server tmux a When it should be: termite -e "mosh server tmux a" For the command to work.
2016-01-24swaybar: move headers to include/barFurkan Sahin-0/+208
2016-01-24swaybar: move core functionality to state.cFurkan Sahin-0/+2
2016-01-23Revert "s/numlen/log10/g"Furkan Sahin-0/+5
This reverts commit 4d8a071134db4ced1870c2d3177fb8a95e249567.
2016-01-23s/numlen/log10/gFurkan Sahin-5/+0
2016-01-17libinputFurkan Sahin-3/+57
2016-01-09Add support for bincode commandFurkan Sahin-0/+1
If a bindsym and bincode maps to the same combination, the last one will overwrite any previous mappings.
2016-01-06Implement IPC binding event (keyboard)Furkan Sahin-0/+4
This implements the IPC binding event for keyboard bindings. It is slightly different from the i3 implementation [1] since sway supports more than one non-modifier key in a binding. Thus the json interface has been changed from: { ... "symbol": "t", ... } to: { ... "symbols": [ "t" ], ... } [1] http://i3wm.org/docs/ipc.html#_binding_event
2016-01-06Add function for duplication a sway_bindingFurkan Sahin-0/+1
2016-01-06Add function for getting list of modifier names.Furkan Sahin-0/+7
Get an array of modifier names from modifier masks.
2016-01-07Implement bindsym --releaseFurkan Sahin-0/+4
This is a "simple" version of --release (same as i3) that only supports a binding that contain one normal key. e.g.: bindsym --release $mod+x exec somthing-fun I didn't bother implementing it for a combination like `$mod+x+z` since it is a bit tricky to get right and also a bit weird to actually do on a keyboard.
2016-01-05Only send modifier event once for active modifiersFurkan Sahin-0/+6
This makes sure that a modifier event is only sent for active bar modifiers, and that it is only sent once for each of those modifiers. An active bar modifier is a modifier defined for a bar with `mode hide` and `hidden_state hide`.
2016-01-05Move modifier name table to common/util.cFurkan Sahin-0/+18
Lookup of modifier names is required in several places, thus it makes sense to move it to a general place.
2016-01-05Send IPC modifier event on bar_modifier up/downFurkan Sahin-0/+7
Detects when a bar modifier key is pressed/released and sends a modifier IPC event to any listeners (usually swaybars). This way a swaybar can listen on the modifier event and hide/show the bar accordingly (not implemented yet) The modifier event looks like this: { "change": "pressed", // or released "modifier": "Mod4" }
2016-01-05Detect bar modifier pressed/releasedFurkan Sahin-0/+20
2016-01-03swaybar: Implement binding_mode_indicatorFurkan Sahin-0/+4
2016-01-03Add type to returned response.Furkan Sahin-3/+16
Makes `ipc_recv_response` return a struct with size, type and payload rather than just the payload string. This is useful if the type has to be checked on the client.
2016-01-03Add IPC event typesFurkan Sahin-0/+7
Adds custom IPC_EVENT_* types
2015-12-29Handle SIGTERM sent to swayFurkan Sahin-0/+5
This makes sway handle and gracefully shut down everything when receiving a SIGTERM. Fix #416
2015-12-22swaybar: fix memory leaksFurkan Sahin-0/+1
2015-12-21Merge pull request #393 from robotanarchy/musl-libc-compatibilityFurkan Sahin-2/+5
musl libc compatibility
2015-12-22replace non-standard qsort_r with qsortFurkan Sahin-2/+5
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)
2015-12-21Trigger ipc_event_workspace in all casesFurkan Sahin-1/+1
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-21Implement `barconfig_update` IPC eventFurkan Sahin-0/+2