Mikkel Oscar Lyderik
be6455b295
Squash trailing whitespace
9 years ago
Mikkel Oscar Lyderik
bacd40d6db
Fix clang warnings
9 years ago
Drew DeVault
4546ce1188
Add wlc-render.h to handlers.c
9 years ago
crondog
7916eb70b9
commands: move position mouse
...
Bounds checking works ok except it overlaps the bar. Just like with
normal floating. Should be fixed once swaybar is fixed.
9 years ago
crondog
0ee5547406
font: Allow adding font to the config. In prep for border titles
...
v2: Give default font and make bar use it if no bar font
9 years ago
Drew DeVault
f1f4791a3b
Fix returning to sway after swaylock completes
9 years ago
Mikkel Oscar Lyderik
32ae26e519
Add quotes to multiword arguments.
...
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.
9 years ago
Drew DeVault
fe35ea633a
Merge pull request #457 from mikkeloscar/move-view-fix
...
Fix rendering of view when moving to new workspace
9 years ago
Drew DeVault
ef407559e2
Add new wlc thing to views
9 years ago
Drew DeVault
a416715372
Revert "s/numlen/log10/g"
...
This reverts commit 038bb8cc7c
.
9 years ago
Drew DeVault
038bb8cc7c
s/numlen/log10/g
9 years ago
Quentin Glidic
449617f104
commands: Fix memory allocation in assign
...
Also use the safer snprintf since we just computed the size.
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
9 years ago
Quentin Glidic
43483d8fee
commands: Fix usage of arrow in assign
...
Signed-off-by: Quentin Glidic <sardemff7+git@sardemff7.net>
9 years ago
Christoph Gysin
2341ae64ad
sway-input: fix typo
9 years ago
Mikkel Oscar Lyderik
102719c7dd
manpage: fix sway-input layout
9 years ago
Mikkel Oscar Lyderik
54111839a4
manpage: add references sway.5 <-> sway-input.5
9 years ago
Mikkel Oscar Lyderik
e953f634d9
Fix generating sway-input.5 manpage
9 years ago
Mikkel Oscar Lyderik
4cbb09d566
cmake: fix libinput include dirs
9 years ago
crondog
cd0eaf00da
Prevent ipc from crashing sway
9 years ago
Mikkel Oscar Lyderik
fa0526f3df
Fix rendering of view when moving to new workspace
...
This is a possible fix for #384 .
To be honest I don't fully understand why this bug is happening, but I
have narrowed it down to the view stack in wlc and how sway orders views
in very specific situations (those described in #384 ).
Anyway this should fix the problem by eliminating the call to
`wlc_view_bring_to_front` which isn't really needed anyway since sending
all invisible views to the back is the same as bringing all visible
views to the front (rotating the view stack).
9 years ago
Mikkel Oscar Lyderik
2c43bd2ac8
Only update visibility if WS isn't destroyed after
...
No need to update visibility if the workspace will be destroyed right
after.
9 years ago
Yacine Hmito
c487cf71a5
Fix issue #455
...
CMAKE_INSTALL_FULL_SYSCONFIG is not actually passed to
the C preprocessor. I remember it working, so I must have
messed up somewhere last time I touched this.
This is fixed by manually passing its value to the C preprocessor
through the SYSCONFDIR definition
9 years ago
Drew DeVault
d969a1dec0
Fix memory leak in config.c
...
Thanks @jollywho
9 years ago
Mikkel Oscar Lyderik
ac740271a5
Strip stray whitespace
9 years ago
Cole Mickens
28081b7689
libinput
9 years ago
crondog
81caf89ff8
cmd_assign
...
This implements cmd_assign. Basically a copy and paste from
cmd_for_window however it has → handling and injects a `move container to
workspace`
9 years ago
Mikkel Oscar Lyderik
0ba3f08f52
Strip quotes from workspace name v2
...
This is a more general fix for #444
This reverts part of commit 222f0d44fc
.
9 years ago
Mikkel Oscar Lyderik
fc8e5703a5
Strip quotes of each argv when handling command
9 years ago
Mikkel Oscar Lyderik
222f0d44fc
Strip quotes from workspace name.
...
Fix #444
This is a temporary fix, the real fix is to store the commands as a
formatted argv array, so they don't have to be reformatted all over the
place.
9 years ago
Mikkel Oscar Lyderik
15621ea8ff
Add backwards compatability for binding event
9 years ago
Mikkel Oscar Lyderik
e3ddcaabc4
Add bindcode to binding events.
9 years ago
Mikkel Oscar Lyderik
f8b260d4a1
Add support for bincode command
...
If a bindsym and bincode maps to the same combination, the last one will
overwrite any previous mappings.
9 years ago
Mikkel Oscar Lyderik
cb8ac7fd4a
Unescape string after doing var replacement
...
Fix #426
9 years ago
Mikkel Oscar Lyderik
15cbc53a77
Make IPC binding event support a compile time opt.
9 years ago
Mikkel Oscar Lyderik
14147ac056
Reduce duplicate code
9 years ago
Mikkel Oscar Lyderik
6392abe35b
Implement IPC binding event (keyboard)
...
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
9 years ago
Mikkel Oscar Lyderik
32cd3f70eb
Add function for duplication a sway_binding
9 years ago
Mikkel Oscar Lyderik
55f63935ab
Implement bindsym --release
...
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.
9 years ago
Drew DeVault
8f5de70c93
Merge pull request #434 from mikkeloscar/detect-modifier
...
Send IPC modifier event on bar_modifier up/down
9 years ago
Mikkel Oscar Lyderik
9186455a3c
Merge branch 'master' of github.com:SirCmpwn/sway
9 years ago
Mikkel Oscar Lyderik
364e37a1eb
Fix whitespace issues.
9 years ago
Mikkel Oscar Lyderik
843e2ad2c1
Only send modifier event once for active modifiers
...
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`.
9 years ago
Jøhannes Lippmann
648db4016f
Clearer order of locations searched for config file.
...
The i3wm config locations are visited _before_ using the fallback
configs. The man page was confusing - it talked about the fallback
configs first, but also said they are looked at "at last". By changing
the order of the sentences, this should be clearer.
9 years ago
Mikkel Oscar Lyderik
2e0ef533f2
Init layout before checking config
9 years ago
Mikkel Oscar Lyderik
a8402035e9
Add modifier key to bar_config json
9 years ago
Mikkel Oscar Lyderik
95e0f44c73
Move modifier name table to common/util.c
...
Lookup of modifier names is required in several places, thus it makes
sense to move it to a general place.
9 years ago
Drew DeVault
caaff5ac54
Revert "Free wordexp_t in config.c:get_config_path"
...
This reverts commit 33b24736c7
.
9 years ago
Mikkel Oscar Lyderik
c20c63b677
Send IPC modifier event on bar_modifier up/down
...
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"
}
9 years ago
Drew DeVault
33b24736c7
Free wordexp_t in config.c:get_config_path
...
Thanks @jollywho
9 years ago
Mikkel Oscar Lyderik
5af4e747d3
Merge pull request #433 from crondog/issue431
...
Return focus to fullscreen view
9 years ago
crondog
b755fd073e
Return focus to fullscreen view
...
This fixes https://github.com/SirCmpwn/sway/issues/431 by returning
focus to the fullscreen view. Also it fixes the issue with the
fullscreen view pointer not being set which did my head in
9 years ago
Mikkel Oscar Lyderik
7727c9efbc
Detect bar modifier pressed/released
9 years ago
Mikkel Oscar Lyderik
e62c49f83c
Fix overwriting current pressed keys.
...
This fixes a bug where the key at index 0 in the `key_state_array` would
be overwritten by the next pressed key. This broke any bindings
consisting of multiple non-mod keys like: `$mod+a+b`.
9 years ago
Mikkel Oscar Lyderik
aa2f754c64
swaybar: Implement binding_mode_indicator
9 years ago
Mikkel Oscar Lyderik
19833fbc8b
Add IPC event types
...
Adds custom IPC_EVENT_* types
9 years ago
crondog
397b58e88f
split toggle
...
Not sure if you will accept this, but i find it useful (I use it when
opening new terminal windows on a workspace
v2: add short hand command and docs
9 years ago
crondog
596c4d9428
Dont try and fullscreen a workspace with no views
...
Found this completely by accident
9 years ago
Drew DeVault
5292860b92
Merge pull request #418 from mikkeloscar/sway-handle-sigterm
...
Handle SIGTERM sent to sway
9 years ago
Mikkel Oscar Lyderik
16b8c2e915
Handle SIGTERM sent to sway
...
This makes sway handle and gracefully shut down everything when
receiving a SIGTERM.
Fix #416
9 years ago
Drew DeVault
d409620a55
Fix use-after-free when closing fullscreen views
9 years ago
S. Christoffer Eliesen
b18f004210
handlers: geometry_request: Better debug output.
...
Previous output was confusing.
9 years ago
S. Christoffer Eliesen
6750975b9f
arrange_windows_r: Round pixels to match reality, fixes calculations.
...
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.
9 years ago
S. Christoffer Eliesen
831f6680f4
arrange_windows_r: Bring parent coordinates into layout calculations.
...
This brings consistency into the algorithm (instead of resetting and
then fetching again).
9 years ago
Mikkel Oscar Lyderik
cf64000e21
Focus new sibling added to container
...
This makes sure that the window being added to a container gets focus.
9 years ago
Mikkel Oscar Lyderik
5d07c61330
Trigger workspace init event (floating)
...
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.
9 years ago
Yacine Hmito
f02cf75ff3
Use SYSCONFDIR as recommended
...
- swaylock config path not hardcoded anymore
- the unusual and weird FALLBACK_CONFIG_DIR is no more
9 years ago
Drew DeVault
8a22ac3966
Initialize id, part two
9 years ago
Drew DeVault
7c06ef35de
Initialize ID
9 years ago
Drew DeVault
91c102a897
Merge pull request #393 from robotanarchy/musl-libc-compatibility
...
musl libc compatibility
9 years ago
robotanarchy
c3e9ee5e43
replace non-standard qsort_r with qsort
...
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)
9 years ago
Mikkel Oscar Lyderik
50b04884b6
Trigger ipc_event_workspace in all cases
...
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.
9 years ago
robotanarchy
3dd2393797
remove unused execinfo.h include from debug_log.c
9 years ago
Drew DeVault
442a54c38b
Merge pull request #390 from mikkeloscar/workspace-ipc-event
...
Don't skip all clients on ipc_workspace_event.
9 years ago
Mikkel Oscar Lyderik
42e5b4b032
Don't skip all clients on ipc_workspace_event.
...
Only clients not subcriped to the workspace event should be skipped.
9 years ago
Mikkel Oscar Lyderik
c803b79764
Trigger event on bar mode|hidden_state commands
9 years ago
Mikkel Oscar Lyderik
66c66c7304
Implement `barconfig_update` IPC event
9 years ago
Mikkel Oscar Lyderik
a96a5e0013
Handle bar commands outside config file
...
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.
9 years ago
Drew DeVault
fc71c6303c
Fix default swaybar font
9 years ago
S. Christoffer Eliesen
f4b9c3856a
layout: Fix `edge_gaps off` with top/left panels.
...
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.
9 years ago
S. Christoffer Eliesen
ce54b4ff2e
container: Fix inner gaps against screen edge.
9 years ago
Drew DeVault
3082245243
Merge pull request #373 from sce/per_panel_config
...
Per panel config
9 years ago
Drew DeVault
33fb648938
Merge pull request #372 from sce/fix_swaybar_output_name_test
...
config: load_swaybars: Fix name comparison.
9 years ago
S. Christoffer Eliesen
e45fd9b6c5
extensions: Track panels by wl_resource, position per panel.
...
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.
9 years ago
S. Christoffer Eliesen
6db0f6f80f
extensions: panel_config->resource => wl_surface_res.
...
Change the name to something less ambigious.
9 years ago
S. Christoffer Eliesen
6ace37d0b1
config: load_swaybars: Fix name comparison.
9 years ago
S. Christoffer Eliesen
2779559b15
config: free_bar: Check if outputs is NULL.
...
bar_config.outputs is NULL if no output is explicitly defined in config
(ie. use for for all outputs).
9 years ago
Drew DeVault
3282163f64
Implement compositor support for swaylock
...
This makes swaylock more or less work.
9 years ago
Drew DeVault
eefc93db43
Fix lock extension setup in compositor
9 years ago
Drew DeVault
253efad437
Merge pull request #361 from mikkeloscar/i3bar-command
...
Add support for running swaybar_command
9 years ago
Mikkel Oscar Lyderik
207678e809
Add support for running swaybar_command
9 years ago
Drew DeVault
7647762bab
Fix default workspace name generation
...
This fixes the issue where workspace 10 ends up being the default.
9 years ago
Drew DeVault
2ab4e5676e
Merge pull request #360 from sce/fix_arrange_windows
...
Fix arrange windows
9 years ago
Drew DeVault
b9f14cee41
Merge pull request #359 from mikkeloscar/i3bar-command
...
Add bar option: swaybar_command <command>
9 years ago
Mikkel Oscar Lyderik
9d7f1afdfb
Add bar option: swaybar_command <command>
9 years ago
S. Christoffer Eliesen
f0b3ee6d84
layout: arrange_windows: Partially fix swaybar irregularties.
9 years ago
S. Christoffer Eliesen
0ad5059b6f
layout: arrange_windows: Fix/better debug output.
9 years ago
Mikkel Oscar Lyderik
90ff36cab8
Terminate children when freeing output container
9 years ago
Mikkel Oscar Lyderik
ede27eabc5
Reload swaybar/swaybg on config reload.
...
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
9 years ago
Drew DeVault
7558a274fa
Add shims for swaylock on compositor
9 years ago
S. Christoffer Eliesen
ed730db11b
layout: Keep output at the correct size, workspace can be smaller.
...
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.
9 years ago
S. Christoffer Eliesen
18a7afa1b3
focus: Fix moving last workspace.
...
If there's only one workspace on an output and it's moved to a different
output then active workspace will be NULL.
9 years ago
progandy
76c520a04b
sway: insert numbered workspaces in order
...
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 ...
9 years ago
progandy
8f1ac1ef2c
sway: enable workspace selection by number
9 years ago
Drew DeVault
03787871d0
Fix bar invocation for multihead setup
9 years ago
Drew DeVault
1a365f19c9
Use system swaybar instead of local swaybar
9 years ago
Drew DeVault
60c204a09b
Invoke swaybar when an output matches a bar config
9 years ago
Drew DeVault
f6da4dda4b
Bring unmanaged windows to front on output arrange
...
Fixes #312
9 years ago
Drew DeVault
01798a5ae2
Merge pull request #338 from mikkeloscar/bar-separator-symbol
...
Implement bar option: separator_symbol
9 years ago
Mikkel Oscar Lyderik
053fb09d1e
Use free_flat_list for simple char* list.
...
No need to reimplement free_flat_list functionality.
9 years ago
Mikkel Oscar Lyderik
2fd7dd64ec
Implement bar option: separator_symbol
9 years ago
Drew DeVault
473ac4531f
[swaybar] Get bar config via IPC
9 years ago
Drew DeVault
efff8e5ba5
Merge pull request #335 from mikkeloscar/bar-font
...
Implement bar option: font <font>
9 years ago
Mikkel Oscar Lyderik
9316851715
Implement bar option: font <font>
9 years ago
Mikkel Oscar Lyderik
ded8919c69
Implement bar option: binding_mode_indicator <yes|no>
9 years ago
Mikkel Oscar Lyderik
47f4aea9e7
Correctly free bindings list
9 years ago
Mikkel Oscar Lyderik
f59f5d27aa
Implement bar option: output <output>
9 years ago
Mikkel Oscar Lyderik
05e7334106
Fix active_workspace_border color definition
9 years ago
Drew DeVault
809c251df8
Merge pull request #328 from mikkeloscar/bar-height
...
Add bar height option (Airblader/i3)
9 years ago
Mikkel Oscar Lyderik
6834a33290
Add bar height option (Airblader/i3)
9 years ago
Drew DeVault
432e3310f6
Fix crash from ipc_json_describe_workspace
...
destroying workspace '10'
Error: Signal 11. Printing backtrace
Backtrace: sway(error_handler+0x2f) [0x41478f]
Backtrace: /usr/lib/libc.so.6(+0x33680) [0x7f06d9a99680]
Backtrace: /usr/lib/libc.so.6(strlen+0x2a) [0x7f06d9ae70ca]
Backtrace: /usr/lib/libc.so.6(__strdup+0xe) [0x7f06d9ae6dfe]
Backtrace: /usr/lib/libjson-c.so.2(json_object_new_string+0x39) [0x7f06da01ffe9]
Backtrace: sway(ipc_json_describe_workspace+0xd8) [0x410408]
Backtrace: sway(ipc_event_workspace+0x38) [0x410618]
Backtrace: sway(set_focused_container+0x190) [0x40daf0]
Backtrace: sway(workspace_switch+0x1a1) [0x4142b1]
Backtrace: sway() [0x4096c6]
Backtrace: sway(handle_command+0x178) [0x405eb8]
Backtrace: sway() [0x40e6ee]
Backtrace: /usr/lib/libwlc.so.0(+0x19a1b) [0x7f06da6f0a1b]
Backtrace: /usr/lib/libwlc.so.0(+0x11b0c) [0x7f06da6e8b0c]
Backtrace: /usr/lib/libwayland-server.so.0(wl_event_loop_dispatch+0x72) [0x7f06d9e13242]
Backtrace: /usr/lib/libwayland-server.so.0(wl_display_run+0x25) [0x7f06d9e119a5]
Backtrace: /usr/lib/libwlc.so.0(wlc_run+0xfc) [0x7f06da6fda1c]
Backtrace: sway(main+0x25f) [0x4125cf]
Backtrace: /usr/lib/libc.so.6(__libc_start_main+0xf0) [0x7f06d9a86610]
Backtrace: sway(_start+0x29) [0x405bf9]
9 years ago
Drew DeVault
b76acbaf4f
Implement IPC_GET_BAR_CONFIG
9 years ago
Mikkel Oscar Lyderik
de1f625c27
Add rgba support for bar colors
9 years ago
Mikkel Oscar Lyderik
8c1d56812b
Implement bar option: colors {}
9 years ago
Mikkel Oscar Lyderik
71a25d5da7
Remove a couple of unwanted spaces
9 years ago
Drew DeVault
242da783f4
Merge pull request #324 from mikkeloscar/free-bar-bindings
...
Free bar->bindings
9 years ago
Drew DeVault
7b0ea051c6
Merge pull request #325 from gpyh/bar_cmd_modifier
...
Added bar_cmd_modifier
9 years ago
Yacine Hmito
0ead9324dc
Added bar_cmd_modifier
9 years ago
Mikkel Oscar Lyderik
95de999922
Free bar->bindings
9 years ago
Drew DeVault
9db15e29b1
Merge pull request #323 from gpyh/bar_cmd_status_command
...
Added bar_cmd_status_command
9 years ago
Yacine Hmito
5786fa7e35
Added bar_cmd_status_command
9 years ago
Mikkel Oscar Lyderik
0513322c03
Move default bar config to bar creation.
...
Get rid of `config->bar` and define the default bar config options when
a bar is initialized.
9 years ago
Yacine Hmito
87126a9fc2
Added bar_cmd_bindsym
...
Defined a sway_mouse_binding for clicks on the swaybar
9 years ago
Drew DeVault
42a85431ee
Merge pull request #320 from mikkeloscar/configure-mouse-btn2
...
Lookup dragging key when in dragging mode
9 years ago
Mikkel Oscar Lyderik
82af08d8e9
Lookup dragging key when in dragging mode
...
Fixes bug introduced in 22916e9
where dragging of floating windows was
messed up.
9 years ago
Mikkel Oscar Lyderik
0aeee6963d
Make mouse key used for drag/resize configurable
...
This makes it possible to define what mouse button key (left|right) to
use for dragging/resizing.
9 years ago
Mikkel Oscar Lyderik
0d1eb5553c
Implement bar option: mode <dock|hide|invisible>
9 years ago
Mikkel Oscar Lyderik
d6cd37d873
Implement bar option: hidden_state <hide|show>
9 years ago
Mikkel Oscar Lyderik
401333e7c7
Implement bar option: id <custom-id>
...
If the id is defined by another bar it will just use the default id for
the bar. Typically `bar-x`.
If the id command is used multiple times within a bar block, the last
one will 'win'.
9 years ago
Drew DeVault
2be742d02d
Merge pull request #314 from mikkeloscar/bar-id
...
Add initial support for custom bar-id
9 years ago
Mikkel Oscar Lyderik
2cedf88273
Add bar id to debug logs
9 years ago
Mikkel Oscar Lyderik
c6b13163c9
Add initial support for custom bar-id
9 years ago
Mikkel Oscar Lyderik
cf56c41c10
Move sway/util.c to common/util.c
9 years ago
Streetwalrus Einstein
774ffbe0d5
Detect proprietary AMD drivers too
9 years ago
Drew DeVault
b65e348233
Fix crash in bar { } blocks
9 years ago
Mikkel Oscar Lyderik
45b959f601
Move numlen(1) to sway/util.c
9 years ago
Mikkel Oscar Lyderik
211bc71599
Use tabs instead of spaces
9 years ago
Drew DeVault
0b2cf8b65c
Merge pull request #313 from mikkeloscar/bar-confing-subcommands
...
Bar confing subcommands
9 years ago
Mikkel Oscar Lyderik
b00c106460
Add more debug logging to bar option parsing
9 years ago
Mikkel Oscar Lyderik
bd0c58e85a
Implement bar option: position <top|bottom|left|right>
9 years ago
Mikkel Oscar Lyderik
cc08daded4
Implement bar option: strip_workspace_numbers <yes|no>
9 years ago
Drew DeVault
4d17aa9919
Revert "Make mouse key used for drag/resize configurable"
...
This reverts commit 22916e9ebc
.
9 years ago
Mikkel Oscar Lyderik
cb9b157e03
Add tray_output not supported warning
9 years ago
Drew DeVault
3ef6173c15
Merge pull request #311 from mikkeloscar/bar-config-parser
...
Implement bar { } config parsing
9 years ago
Mikkel Oscar Lyderik
0a8ec26383
Implement bar option: tray_padding <px> [px]
9 years ago
Mikkel Oscar Lyderik
b9e8accc51
Implement bar option: workspace_buttons <yes|no>
9 years ago
Mikkel Oscar Lyderik
74152043f4
Implement 'bar { }' block parsing
9 years ago
Kevin Hamacher
64a183b23d
Fix dangling pointer on focus swap/describe WS
9 years ago
Drew DeVault
0b6949df08
Merge pull request #305 from mikkeloscar/fix-window-start
...
Don't reset x,y position before use.
9 years ago
Drew DeVault
7868e44d3f
Notify IPC on workspace changes more frequently
9 years ago
Mikkel Oscar Lyderik
3891a7c73f
Don't reset x,y position before use.
...
The x and y position is calculated based on the position of the bar, we
don't want to reset these values when we need them.
9 years ago
Kevin Hamacher
d77d03ce84
Make destroy_workspace behave as expected
9 years ago
Drew DeVault
2f89b7084d
Correctly handle moving between fullscreen views
...
If focus would move in an output with a fullscreen view, it always
leaves the output. If focus would enter an output with a fullscreen
view, it always focuses the fullscreened view.
9 years ago
Drew DeVault
d361ce656d
Track the fullscreen view on a workspace swayc_t
9 years ago
Drew DeVault
6655534feb
Fullscreen on top of bar
9 years ago
Drew DeVault
af80b12add
Implement invoking `sway` as IPC client
...
As an alternative to invoking swaymsg.
9 years ago
Drew DeVault
19fd979af4
Merge pull request #300 from mikkeloscar/configure-mouse-btn
...
[RFC] Make mouse key used for drag/resize configurable
9 years ago
Drew DeVault
bffbe11e53
Fix config.c strlen error
9 years ago
Mikkel Oscar Lyderik
f28a1d9183
Add floating_modifier extension to manpage
9 years ago
Mikkel Oscar Lyderik
22916e9ebc
Make mouse key used for drag/resize configurable
...
This makes it possible to define what mouse button key (left|right) to
use for dragging/resizing.
9 years ago
Drew DeVault
762a78be3c
Merge pull request #292 from christophgysin/man
...
move manpages to subfolders
9 years ago
Drew DeVault
71afa38890
Add swaylock protocol, add resource destructors
...
This prevents sway crashing if swaybg or swaybar dies.
9 years ago
Christoph Gysin
bf5244b49c
Fix using last output config if none matched
9 years ago
Christoph Gysin
99af7e7c9c
move manpages to subfolders
9 years ago
Christoph Gysin
cce9c338c0
cmake: build common code only once
...
This creates (static) libraries for protocols/, common/, and wayland/.
9 years ago
Drew DeVault
9b9d968cbf
Fix for_window [...] move scratchpad correctly
9 years ago
Drew DeVault
d098c620fe
Revert "Fix bug with for_window [...] move scratchpad"
...
This reverts commit 0796b0c475
.
9 years ago
Drew DeVault
0796b0c475
Fix bug with for_window [...] move scratchpad
9 years ago
Drew DeVault
98ff23b497
Fix busted install of /etc/sway/config
9 years ago
Christoph Gysin
92a3538381
cmake: extract sway
9 years ago
Mikkel Oscar Lyderik
3658777e47
Use wlc_point instead of deprecated wlc_origin
...
Struct was renamed in wlc, use the new name.
9 years ago
Yacine Hmito
f3f77f9ff1
FALLBACK_CONFIG_DIR did not work. Fixed.
...
- Flag was ignored. Now it's taken into account.
- Missing trailing slashes in path now behaves properly.
9 years ago
Yacine Hmito
09feef89ee
Can customize config fallback directory
...
CMake takes a `FALLBACK_CONFIG_DIR` flag which is the directory where the
standard configuration file `config` is copied at installation.
If loading from typical configuration directories fails, sway loads
FALLBACK_CONFIG_DIR/config (/etc/sway/config by default).
9 years ago
Drew DeVault
44d0f731c3
Add framework for switching command sets
...
This will allow the bar {} block to have a different command set (and
also bar { colors { } }.
9 years ago
Drew DeVault
4f89735fc4
Add bar config struct and defaults
9 years ago
Drew DeVault
3f950b6e52
Merge pull request #278 from christophgysin/merge
...
cmd_output: Merge instead of replace output config
9 years ago
Christoph Gysin
b1bd3ae6f3
cmd_output: Merge instead of replace output config
9 years ago
Christoph Gysin
ae7ed79573
config: Store 'enabled' as int
9 years ago
Christoph Gysin
3c8763af22
cmd_output: check for missing subcommand arguments
9 years ago
Drew DeVault
5a369b3132
Only strip comments at the start of a line
...
This is necessary because i3 config files use CSS notation for colors
(i.e. #rrggbb).
9 years ago
Drew DeVault
ef91764bc7
Fix output adjustment for panels
9 years ago
Drew DeVault
e59cffcea2
Support desktop shell panels in compositor
9 years ago
Drew DeVault
9d2bbe2640
Merge pull request #274 from sce/fix_stray_floats
...
cmd_floating: Don't add non-float as sibling to float.
9 years ago
Drew DeVault
25ad3181f5
Merge pull request #276 from sce/earlier_logging
...
main: Setup logging before wlc_init.
9 years ago
Drew DeVault
c942f1624e
Merge pull request #275 from christophgysin/cmd_output
...
refactor cmd_output
9 years ago
Drew DeVault
0af15cc19e
Merge pull request #269 from christophgysin/usage
...
Add --help to print usage
9 years ago
S. Christoffer Eliesen
c26a4b42cf
main: Setup logging before wlc_init.
...
If `wlc_init` fails the error message will never be logged or printed
anywhere.
9 years ago
Christoph Gysin
7059eccaa1
cmd_output: Log enable/disable state
9 years ago
Christoph Gysin
ffdfaaa985
apply_output_config: use list_seq_find() to find config
9 years ago
Christoph Gysin
7d82cd9c0a
cmd_output: Use list_seq_find() to find matching config
9 years ago
Christoph Gysin
88f372a22a
cmd_output: Cleanup cmd_output argument handling
9 years ago
S. Christoffer Eliesen
badfb4bb43
cmd_floating: Don't add non-float as sibling to float.
...
When turning a float to a non-float, `get_focused_container` might
return another floating view, causing the active view to be inserted
into the floating list on its workspace instead of the normal child list
which it should. (Since it has `is_floating` as false the resulting
discrepency triggered other bad behaviour eventually leading sway to
crash.)
This patch fixes that by simply checking floating status before making
it a sibling.
9 years ago
Christoph Gysin
923c3245ac
Fix option parsing
...
Using 'flag' results in duplicate code paths for short and long options.
This broke the -q short option in swaymsg, because there was:
{"quiet", no_argument, &quiet, 'q'}
Which will set quiet to 'q' and return 0, not 'q'.
9 years ago
Christoph Gysin
2f2e1f3fc7
sway: Add --help option that prints usage
9 years ago
Christoph Gysin
e48a16ce5e
sway: Print usage and exit on unknown options
9 years ago
Christoph Gysin
3ba33321de
Use macros for exit values
9 years ago
Mikkel Oscar Lyderik
c477bbf345
Add warnings about invalid output commands
...
This handles some cases where sway will crash if an output command is
invalid/missing an argument.
9 years ago
S. Christoffer Eliesen
20cb390323
sway/main: Move wlc init to after args are handled.
...
First of all because it's not needed that early, and second of all
because there's a bug where calling `sway --get-socketpath` via `popen`
causes the child sway process to spin/hang instead of returning EOF.
(Specifically `(unset SWAYSOCK; swaymsg)` hangs.) This patch fixes that.
(Also note that this patch moves the "detailed review" comment, so I
guess this patch requires extra detailed review?)
9 years ago
Drew DeVault
1661edee28
Allow output config for output named *
...
Which will match any output.
9 years ago
Drew DeVault
2f192cceca
Improve config file loading
...
This also makes it so that your i3 config is used before
/etc/sway/config.
9 years ago
S. Christoffer Eliesen
2d0f78c0d6
workspace: Learn sticky.
...
A floating window that's sticky will move to the new active workspace
whenever the workspace on the same output changes.
9 years ago
S. Christoffer Eliesen
db642fc8c5
commands: code formatting: Sort list of commands by alphabet.
9 years ago
Drew DeVault
cbd7348704
Merge pull request #265 from sce/better_logging
...
debug_log: Improve container_log so that debug lines are aligned.
9 years ago
Drew DeVault
cad2694a3c
Merge pull request #264 from sce/fix_ws_next_name
...
workspace: Improve workspace_next_name.
9 years ago
S. Christoffer Eliesen
c1d88acf72
debug_log: Improve container_log so that debug lines are aligned.
...
Makes the log easier to read, and the developers more happy (this one at
least).
9 years ago
S. Christoffer Eliesen
0a78af0acc
workspace: Improve workspace_next_name.
...
This function looks for bound commands that start with `workspace` (ie.
the commands that change to a static workspace) and fetches the
workspace name.
However, if it's actually a list of commands, then the parsing will pick
up the delimiter ("," or ";") and also fail to recognize keywords
("next" etc).
This patch fixes that by properly separating with delimiters.
9 years ago
S. Christoffer Eliesen
d9770cc243
cmd_floating: Support `enable` and `disable` commands too.
...
This is especially relevant in combination with `for_window`, e.g.:
`for_window [title="Terminal"] floating enable`.
9 years ago
Drew DeVault
27f03c705d
Move IPC client into common, refactor IPC
9 years ago
Drew DeVault
53d353e6b4
Add "variant": "sway" to IPC version response
9 years ago
Drew DeVault
9a15371ba3
Parse command line args for swaymsg
9 years ago
Drew DeVault
206606b32c
Merge pull request #261 from christophgysin/exec
...
Call swaybg without invoking a shell
9 years ago
Christoph Gysin
e362f871d9
Call swaybg without invoking a shell
...
This makes escaping the arguments obsolete.
Also avoid dynamic memory allocation for the output id. It only supported ids up
to 99. Now we support up to 999, and take 4 bytes off the stack instead.
9 years ago
Christoph Gysin
be3fae148b
swaybg: implement scaling mode "fit"
9 years ago
Drew DeVault
9fb020d04c
Merge pull request #251 from sce/criteria_1
...
criteria: Add. Learn for_window command.
9 years ago
S. Christoffer Eliesen
5483fe1883
criteria: Code formatting.
9 years ago
Christoph Gysin
eeb7f5c036
config: print line number
9 years ago
S. Christoffer Eliesen
a06cb7cd01
criteria: Add. Learn for_window command.
...
A criteria is a string in the form of `[class="regex.*" title="str"]`.
It is stored in a struct with a list of *tokens* which is a
attribute/value pair (stored as a `crit_token` struct). Most tokens will
also have a precompiled regex stored that will be used during criteria
matching.
for_window command: When a new view is created its metadata is tested
against all stored criteria, and if a match is found the associated
command list is executed.
Unfortunately some metadata is not available in sway at the moment
(specifically `instance`, `window_role` and `urgent`). Any criteria
string that tries to match an unsupported attribute will fail.
(Note that while the criteria code can be used to parse any criteria
string it is currently only used by the `for_window` command.)
9 years ago
Christoph Gysin
a99aa92bc6
extensions: add missing include
...
This fixes a compiler warning:
../sway/extensions.c: In function ‘set_background’:
../sway/extensions.c:16:37: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration]
struct background_config *config = malloc(sizeof(struct background_config));
^
../sway/extensions.c:16:37: warning: incompatible implicit declaration of built-in function ‘malloc’
../sway/extensions.c:16:37: note: include ‘<stdlib.h>’ or provide a declaration of ‘malloc’
9 years ago
S. Christoffer Eliesen
e31a899841
layout: get_swayc_in_direction_under: Handle floating views.
9 years ago
S. Christoffer Eliesen
b5ddad4bf6
layout: swap_container: Handle floating views.
9 years ago
S. Christoffer Eliesen
ed1b0bffbc
layout: replace_child: Handle floating views.
9 years ago
S. Christoffer Eliesen
8aef255d5f
layout: add_sibling: Handle floating views properly.
...
This should fix #241 .
9 years ago
S. Christoffer Eliesen
a6c9f40b9a
sway_binding_cmp_keys: Differentiate between modifier keys.
...
Compare modifiers as well as keys when number of modifiers+keys are the
same (so that e.g. mod1+x != mod4+x).
9 years ago
S. Christoffer Eliesen
db92920cf9
handle_command: Skip commands that has a criteria string.
...
We can't handle them currently (the criteria needs to e.g. be passed to
each command handler which then needs to do the right thing), so it's
better to just do nothing than to create unexpected results (because the
command was executed on the wrong view).
(Before this patch any command list with a criteria string would simply
fail to parse, so this is at least a step in the right direction.)
9 years ago
S. Christoffer Eliesen
b7e3d05ace
stringop: Properly handle criteria strings.
...
A criteria string (e.g. '[class="something" title="something"]') is now
correctly treated as a single argument.
9 years ago
S. Christoffer Eliesen
4367e6d3e3
container: Store app_id attribute for views.
9 years ago
S. Christoffer Eliesen
47c313fe3e
container: Store class attribute for views.
9 years ago
taiyu
9d50f88cef
fix list sorting
9 years ago
S. Christoffer Eliesen
a0c5a0bb30
cmd_bindsym: Detect/handle duplicates.
...
Also replace `bindsym_sort` with function `sway_binding_cmp` that takes
all data into account when comparing.
9 years ago
S. Christoffer Eliesen
9ce5d635f1
commands: Comment/doc for config_command.
9 years ago
S. Christoffer Eliesen
5531dbe1b2
cmd_workspace: Don't fill up config->workspace_outputs with duplicates.
...
This also fixes a bug where issuing a new "workspace a output b" command
for an already assigned workspace would not work (the old config would
be found first and used instead).
9 years ago
S. Christoffer Eliesen
d0af224e6d
stringop: lenient_strcmp: Add.
9 years ago
Drew DeVault
2100d7bfef
Fix #240
9 years ago
Drew DeVault
35fd139105
Add all documented scaling modes to config parser
...
Note that not all scaling modes are actually supported by swaybg yet.
9 years ago
Drew DeVault
5728307520
Add wallpapers to output command
9 years ago
Drew DeVault
79b277fe9b
Parse output background config
9 years ago
Drew DeVault
4a1584be53
Fix background extensions
...
Thanks @Cloudef, it works great
9 years ago
Drew DeVault
65b8a5c3ce
Add background handling
...
This does not work as expected. I think the problem is on the wlc side.
Please review, @Cloudef. To reproduce the issues:
1. Run sway
2. Open terminal in sway
3. Run swaybg
swaybg will create a surface and ask to have it set as the background,
but wlc_handle_from_wl_surface_resource will return 0. If the swaybg
surface is a shell surface, then it works - but wlc complains about the
pointer type and segfaults as soon as the pre-render hook tries to draw
the background.
9 years ago
Drew DeVault
82db2a57a9
Basic support for extensions in server and clients
9 years ago
Drew DeVault
01202568f9
Track pid of child process from exec
...
This will allow us to eventually open that process on the current view.
Requires support from @Cloudef.
9 years ago
S. Christoffer Eliesen
236f26f62e
output: Support multiple adjacent outputs.
...
When querying for an adjacent output we now need an absolute position in
order to know which adjacent output that matches. (The position is
either the current mouse position or the center of the currently focused
container, depending on context.)
If two outputs have one edge each that at least partially align with
each other they now count as adjacent.
Seamless mouse is affected by this and now properly moves and positions
itself between outputs with "uneven" placement (as long as they have at
least some part of the edge adjacent to each other).
When focusing or moving a container in a specified direction the center
of the current focused container decides where to look for an adjacent
output. So if e.g. an output has two adjacent outputs to the right and a
"focus right" command is issued then it's the placement of the currently
focused container that decides which output actually gets focused.
Also, if an output has at least one output adjacent in some direction
but the entire edge is not covered (ie. it has "holes" with no outputs),
then the algorithm will choose the output that is closest to the
currently focused container (this does not apply to seamless mouse, the
pointer will just stop at the edge in that case).
9 years ago
S. Christoffer Eliesen
a94a91a723
cmd_output: Replace existing config if called multiple times.
9 years ago
Drew DeVault
cd161aa985
We somewhat more wlc_point now
...
Apparently I missed some
cc @Cloudef
9 years ago
Drew DeVault
95442dac8d
We wlc_point now
...
cc @Cloudef
9 years ago
S. Christoffer Eliesen
f64b7e71d4
ipc: Store socketname in SWAYSOCK. Fixes `--get-socketpath`.
...
After adding pid to the socket path the `--get-socketpath` command broke
because it doesn't know the pid of the running instance. Fix this by
setting and querying `SWAYSOCK`.
Also ignore `SWAYSOCK` upon normal startup if a socket exists at that
location (ie. from another sway instance), and don't overwrite `I3SOCK`
if it exists either.
9 years ago
Drew DeVault
1011957465
Merge branch 'master' of github.com:SirCmpwn/sway
9 years ago
Drew DeVault
38b18d460a
Revert "Try ~/.i3/config earlier than /etc/sway/config"
...
This reverts commit f0ceb4e909
.
9 years ago
Drew DeVault
f3fc48f692
Merge pull request #225 from sce/logind_socket_path
...
ipc: Put socket into proper user runtime dir.
9 years ago
Drew DeVault
f0ceb4e909
Try ~/.i3/config earlier than /etc/sway/config
...
And ~/.config/i3/config, of course.
9 years ago
S. Christoffer Eliesen
253204efb9
ipc: Put socket into proper user runtime dir.
9 years ago
Drew DeVault
c43ef2aedd
We don't need to implement strdup
...
After defining _GNU_SOURCE
9 years ago
Drew DeVault
bfcabe48ef
Start fleshing out wayland client implementation
...
This introduces a basic shared framework for making wayland clients
within sway itself.
9 years ago
Drew DeVault
ef8335d694
Start working on IPC for get_pixels
...
This is broken
9 years ago
Drew DeVault
250097d32b
Fix gaps for views being incorrect
9 years ago
Drew DeVault
4397cff7bc
Fix some IPC issues
...
Socket now includes pid in the filename (fixes nested sway sessions or
old sockets causing problems).
Fixed warnings on strict aliasing and cleaned up relevant code in
general.
9 years ago
Drew DeVault
d729032ba2
Add file and line number to log in Debug build
9 years ago
Mikkel Oscar Lyderik
d5b5d92b30
Include header declaring ipc_event_workpace(2)
9 years ago
S. Christoffer Eliesen
abc5fbfaec
Learn "gaps edge_gaps <on|off|toggle>".
...
When yes, the old behaviour of adding half the inner gap around each
view is used.
When no, don't add any gap when an edge of the view aligns with the
workspace. The result is inner gap only between views, not against the
workspace edge.
The algorithm is not perfect because it means the extra space is
distributed amongst edge-aligned views only, but it's simple, looks good
and it works.
9 years ago
S. Christoffer Eliesen
eeec0fda8a
commands: gaps: Re-arrange windows after changing default gaps.
9 years ago
S. Christoffer Eliesen
936f8c24e0
commands: gaps: Always apply default gaps config.
9 years ago
S. Christoffer Eliesen
5c1e20b6ff
commands: gaps: Accept zero value.
9 years ago
S. Christoffer Eliesen
820681965d
commands: gaps: Refactor, expected_syntax.
9 years ago
S. Christoffer Eliesen
af31a3f04a
commands: Learn 'move workspace to output <direction|name>'.
9 years ago
S. Christoffer Eliesen
9c8394022e
commands: Learn 'move <container|window> to output <direction|name>'.
9 years ago
taiyu
65d71d0a5e
put ipc_event_workspace in update_focus
9 years ago
S. Christoffer Eliesen
5ba47d4a44
input_state: Remove mouse_origin (x&y). Query wlc instead.
9 years ago
S. Christoffer Eliesen
78ca619769
commands: Learn mouse_warping.
...
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
9 years ago
S. Christoffer Eliesen
4799d07ac1
input_state: Extract 'pointer_position_set' function from handlers.
9 years ago
S. Christoffer Eliesen
865b30f138
container: Move container_under_pointer here from handlers.
9 years ago
S. Christoffer Eliesen
3c250e78be
layout: get_swayc_in_direction: Properly find adjacent outputs.
9 years ago
S. Christoffer Eliesen
5fa8f91655
commands: Learn 'focus output <direction|name>'
9 years ago
S. Christoffer Eliesen
fede354a3d
layout: Don't reset container size if it's a floating window.
9 years ago
S. Christoffer Eliesen
fabcf7c678
handlers: Pass workspace to workspace_switch, not output.
9 years ago
Drew DeVault
6cd106d23c
Merge pull request #208 from minus7/ipc_subscribe
...
implemented IPC subscribe for workspace event
9 years ago
minus
9925554ea4
implemented IPC subscribe for workspace event
9 years ago
S. Christoffer Eliesen
9f02b0bf16
commands: Learn 'debuglog'.
...
Replicates i3 option. Verbosity level given as command line argument
becomes default log level, and using 'debuglog toggle' switches back and
forth between default and debug (or L_ERROR and debug if default is also
L_DEBUG).
9 years ago
S. Christoffer Eliesen
83ca7d3a5c
output: Fix code style.
9 years ago
S. Christoffer Eliesen
c49e5340db
commands: cmd_move: Fix "move container to workspace _number_ n"
...
This is an undocumented feature (the word "number" is just ignored
anyway), but it exists to be compatible with i3 config syntax.
Plus some code cleanup at the same time.
9 years ago
S. Christoffer Eliesen
5a70853253
log: Add swayc_log, use at a few key places.
...
swayc_log works just like sway_log, but appends type and name from given
container to the log output.
9 years ago
S. Christoffer Eliesen
c6bb23b7dd
sway/output: Create, move code from handlers.c here.
9 years ago
Drew DeVault
010368150b
Update set_origin to match wlc changes
9 years ago
S. Christoffer Eliesen
c1479701de
seamless_mouse: Move pointer only if successfully changed workspace.
...
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.
9 years ago
S. Christoffer Eliesen
1f08106b0a
handlers: Don't switch output when mouse button is pressed.
...
(E.g. if the user is using a scrollbar at the edge of the screen then
switching workspace would cancel the scroll.)
9 years ago
S. Christoffer Eliesen
362413bd50
commands: cmd_results->input is duplicated/freed.
9 years ago
S. Christoffer Eliesen
88a2ddbe83
commands: Code formatting.
9 years ago
S. Christoffer Eliesen
187f0ab1c4
commands: Allow 'floating_modifier' & 'focus_follows_mouse' at runtime.
9 years ago
S. Christoffer Eliesen
af30a1b67c
ipc,commands,config: Replace cmd_status enum with cmd_results struct.
...
In i3 the ipc reply will contain a human readable error message, and
this patch replicates that behaviour.
However, that error message is also useful for logging, which this
patch takes advantage of.
E.g. instead of logging errors directly in commands.c/checkargs, it is
fed back to the caller which eventually ends up logging everything with
maximum context available (config.c/read_config).
So instead of logging e.g. "Error on line 'exit'" it will now log:
"Error on line 'exit': Can't execute from config."
9 years ago
S. Christoffer Eliesen
544c6c412a
ipc: Return correct status in ipc reply.
9 years ago
S. Christoffer Eliesen
b093a5d16f
handlers: Fix swapped top/bottom for seamless transitions.
9 years ago
Drew DeVault
2c100105bf
Move pointer during seamless transitions
9 years ago
S. Christoffer Eliesen
edf33aad29
config: Add "seamless_mouse" to decide if pointer crosses output edges.
9 years ago
S. Christoffer Eliesen
fc1bacf034
Switch to adjacent output when hitting output edge.
...
(Currently, after switching output the relative position of the mouse
stays the same.)
9 years ago
S. Christoffer Eliesen
9b271573a9
commands: Allow changing resolution outside config load.
9 years ago
S. Christoffer Eliesen
4fea92ef0c
config: Don't try to apply bad output resolution.
9 years ago
S. Christoffer Eliesen
ca862a5bd4
config: Apply output config also during config reload.
9 years ago
S. Christoffer Eliesen
6eb8da0e14
commands,container: Tweak debug output to better reflect reality.
9 years ago
S. Christoffer Eliesen
e3837ba634
commands: Gracefully handle empty commands.
...
Before this patch sway would proceed into find_handler which would cause
a crash trying to parse a NULL string.
This could be triggered via e.g. `i3-msg -s $(sway --get-socketpath)`.
9 years ago
Drew DeVault
83c23f274c
Merge pull request #195 from sce/get_socketpath
...
main: Implement --get-socketpath switch.
9 years ago
S. Christoffer Eliesen
3be11a08e6
main: Implement --get-socketpath switch.
9 years ago
S. Christoffer Eliesen
71ebe8c36b
commands: Catch empty exec with --no-startup-id cases.
9 years ago
S. Christoffer Eliesen
71bcee4f96
commands: Ignore exec switch "--no-startup-id".
...
When using an i3 config verbatim in sway this switch to exec or
exec_always might appear.
Before this patch the switch would be passed to /bin/sh, causing
an error, and the command would not be run.
9 years ago
S. Christoffer Eliesen
783290e81a
sway/ipc: Use sway_abort instead of returning NULL.
9 years ago
S. Christoffer Eliesen
7cb0732030
sway/ipc: ipc_user_sockaddr: Use sway_assert instead of assert.
9 years ago
S. Christoffer Eliesen
382b4e425a
sway/ipc: Fix whitespace.
9 years ago
S. Christoffer Eliesen
26beb66eb5
sway/ipc: Free ipc_sockaddr upon termination.
9 years ago
S. Christoffer Eliesen
f94f8fde7e
sway/ipc: Support multiple users.
9 years ago
S. Christoffer Eliesen
ae93c6e6fe
sway/ipc: Dynamically assign ipc_sockaddr.
9 years ago
taiyu
18f4905e62
#187 , let init handle child processes
9 years ago
Drew DeVault
5bcecbb751
Revert "#187 cleanup zombies properly"
9 years ago
taiyu
5539fd89be
#187 cleanup zombies properly using default
9 years ago
taiyu
c963aa7ced
return after disconnect ipc client and minor checks
9 years ago
taiyu
4944996170
Merge branch 'master' of https://github.com/taiyu-len/sway
...
merge
9 years ago
taiyu
6c33f8122a
#184
9 years ago
taiyu
72aaffcf5b
fix config search paths
9 years ago
taiyu
9fd2d635a1
container_move check
9 years ago
taiyu
7672886cb5
dont log empty config lines
9 years ago
taiyu
0d51f62224
merge + no c_extensions
9 years ago
taiyu
d2e2b04bfd
minor fix
9 years ago
Drew DeVault
318e1be240
Fix warnings introduced by prior commit
9 years ago
Drew DeVault
8e25ce4e57
Fix build for debian stretch
...
Fixes #182
9 years ago
taiyu
a04f645d7c
style, safer fork
9 years ago
taiyu
a18caf6706
nomacro
9 years ago
taiyu
0bea2e2122
multi command keybinds
9 years ago
Drew DeVault
e505abfe75
Revert "new_workspace null behavior + testmap functions + regex"
...
This reverts commit e1d18e42a8
.
Fixes #180
cc @taiyu-len
9 years ago
taiyu
2093d4ddee
cmd_for_window dummy function
9 years ago
taiyu
e1d18e42a8
new_workspace null behavior + testmap functions + regex
9 years ago
taiyu
aaa0923bc4
cmd status + workspace ws output op
9 years ago
taiyu
6388241abb
mode supports multi token names
9 years ago
taiyu
799ff640f8
remove old things
9 years ago
taiyu
aa22dc3113
var replacement changes
9 years ago
taiyu
fd6d06ff61
fix missing symbol bug
9 years ago
taiyu
da76ecb5f8
escape check fix
9 years ago
taiyu
d673a72705
set variable changes
9 years ago
Thomas Wouters
c3f76f8785
fix outut typo
9 years ago
taiyu
0de29d8247
prevent views from disappearing
9 years ago
taiyu
3eb29ea736
strdup + style
9 years ago
taiyu
47ff000697
put strip_whitespace back
9 years ago
taiyu
71af5b7dde
config modes
9 years ago
taiyu
3fb8397724
free config stuff
9 years ago
taiyu
b7de289332
free config when reloading
9 years ago
taiyu
5408d34c9c
config_path cleanup
9 years ago
taiyu
3e9cdfd6a3
man page
9 years ago
taiyu
f25c6b312b
gap resize
9 years ago
taiyu
afa6747145
enum for command type
9 years ago
taiyu
c5d0b5d437
style
9 years ago
taiyu
4cd18449d2
better handling of commands during config
9 years ago
taiyu
dbeca88dee
default gap value
9 years ago
taiyu
782729be13
properly free cmd_queue, should partially fix #165 from what i tell from its log.
9 years ago
Drew DeVault
1756a4f2da
fclose /proc/modules when we're done with it
9 years ago
Drew DeVault
4ef60e7c09
Add check for nvidia module and warn user
9 years ago
Drew DeVault
47c7ed9f3a
Do not set FD_CLOEXEC
9 years ago
Drew DeVault
eb003689a3
Log sway version on startup
9 years ago
Drew DeVault
930f42ae81
Remove stropts.h from ipc.c
...
Apparently it's not required, and for some reason Fedora doesn't have
it. Fixes #162
9 years ago
taiyu
972748e674
cleaned up leaky prev_workspace_name
9 years ago
taiyu
09c9ee76c3
properly remove children in loops
9 years ago
Luminarys
12e96f0f9e
Added in workspace_auto_back_and_forth
9 years ago
Luminarys
23f040133d
Removed unnecessary debug line
9 years ago
Luminarys
fe2ec8a676
Added in workspace back_and_forth
9 years ago
taiyu
7fbb8b785e
#154 destroy view handler properly destroys views
9 years ago
taiyu
f787fac8fc
#153 add "ctrl" and "alt" to modifiers struct
9 years ago
Luminarys
28e937020a
Made scratchpad handling identical to i3
9 years ago
taiyu
79da7f112a
#151 fix
9 years ago
Drew DeVault
6b962ebd22
Merge pull request #150 from Luminarys/master
...
Added in Scratchpad
9 years ago
taiyu
836f24b047
#149 change focus before pointer_mode
9 years ago
taiyu
9acd3d2068
#149 fix, reorder floating windows on click.
9 years ago
taiyu
1924399166
#148 fix, choose non-floating view for inserting container
9 years ago
Luminarys
167409702f
Fixed move scratchpad and added in scratchpad show
9 years ago
Luminarys
7eefecf479
Added in scratchpad adding
9 years ago
taiyu
63e735270c
move v3
9 years ago
taiyu
e0d5486957
default floating_mod
9 years ago
taiyu
da2d992563
style
9 years ago
taiyu
b359429e90
fix issue #140 , dont set pointer mode if no floating_mod
9 years ago
taiyu
28c22c8f80
style
9 years ago
taiyu
c9de300888
layout fix for a certain case
9 years ago
taiyu
076cf78d7c
dont move floating contaienrs
9 years ago
taiyu
1820b3f0bb
move function redone
9 years ago
taiyu
4757ea6a12
forgot visibility of floating containers
9 years ago
taiyu
5678d824e4
update visibility + container info functions
9 years ago
taiyu
dfe0dda8d0
proper visibility update
9 years ago
taiyu
da79bd65de
use previous outputs
9 years ago
Luminarys
acb3fbdfb5
Added in default_orientation handling
9 years ago
taiyu
0a74364656
update visibility for moved workspaces
9 years ago
taiyu
08faffdd76
dont swap floating containers
9 years ago
taiyu
d115335951
move workspace from dead output to other output
9 years ago
Luminarys
42de135c3a
Added in better versioning info
9 years ago
taiyu
4df64127e9
slight fix
9 years ago
taiyu
274e56a602
fixed move_container bug, log prints before aborting
9 years ago
minus
6bbfd65735
fixed container_map
...
applies to the passed in container now as well.
fixes workspaces staying always marked visible.
also set workspaces to not visible by default; happens when you move a
container to a new workspace that thus is not visible
9 years ago
minus
873a51f7e2
converted IPC to use json-c
...
get_workspaces and get_outputs
9 years ago
minus
2289029fab
added json-c lib and implemented IPC get_version
9 years ago
taiyu
357af228d6
some function documentation, fixed gaps on config reload
9 years ago
taiyu
1fa7a91bfb
move_container_to fixup
9 years ago
Drew DeVault
c4257055eb
Merge pull request #135 from Luminarys/master
...
Added in build version based on git hash
9 years ago
Drew DeVault
adcf89cfe4
Do not pass modifiers when getting keysyms from wlc
...
Fixes #124
Keyboard handling can likely be simplified after this change.
9 years ago
Luminarys
38cfdf99f4
Added in build version based on git hash
9 years ago
taiyu
e121258426
longopt minor fix
9 years ago
Drew DeVault
10eb58667b
Merge pull request #133 from minus7/wlc-keyboard-fix
...
fixed keyboard handling
9 years ago
minus
bfdff821c3
fixed keyboard handling
...
handle_key does not get the keysym from wlc anymore
9 years ago
taiyu
225c2fbe5b
fixed segfault on exit + a little fixup of that floatfocus pr
9 years ago
Drew DeVault
0bf380a0b1
Merge pull request #131 from nicklaswj/master
...
Focus floating window, if any, when the last tiling window has been closed
9 years ago
Nicklas Warming Jacobsen
227d5dbe08
code style clean up
9 years ago
minus
9535305137
fixed moving to other output and visibility
9 years ago
Nicklas Warming Jacobsen
a70b9a9a7a
removed stupid test code
9 years ago
Nicklas Warming Jacobsen
7a1c36716a
Focus floating window, if any, when the last tiling has been closed
9 years ago
minus
ca89ba83a8
changed view visibility to be bool
...
view_visibility enum remains with one constant that is the mask to wlc's view masking
9 years ago
minus
e533014201
added missing util.h/c stuff
9 years ago
minus
e854a54e96
changed workspace_{outout_,}{next,prev} to return workspace
...
so it can be reused for "move container to workspace next"
9 years ago
minus
03e4a97dbe
added "move container to workspace"
...
makes the previous commit actually testable
9 years ago
minus
f22c937953
refactored view visibility
...
- 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)
9 years ago
minus
1efda79bf2
refactored workspace_next/prev
9 years ago
Luminarys
7c5b6f8c52
Added in backtrace printing
9 years ago
taiyu
dbad30a409
add limit to swayc_in_direction
9 years ago
taiyu
b054ac9d49
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merge
9 years ago
taiyu
c8415d7fef
split_string memory leaks cleanedup
9 years ago
Drew DeVault
f30fb2452c
Minor fixes to keyboard handling
9 years ago
taiyu
51ab3c9180
merge
9 years ago
Drew DeVault
1ac0c8cd47
Refactor keyboard to consider modified keysyms
...
Press Shift
Press 0 # Reads as ')'
Release Shift
Release 0 # Reads as '0' but we now recognize it as the same
9 years ago
Drew DeVault
663f53b22a
Merge pull request #123 from Luminarys/master
...
Added in output disabling
9 years ago
Luminarys
7a21388997
Minor fix
9 years ago
Luminarys
5bfed9b213
Cleanup and minor adjustments to disabling
9 years ago
Drew DeVault
e78221e6a0
Prefix log events from wlc with [wlc]
9 years ago
Luminarys
e01cf0b566
Added in glitchy disabling
9 years ago
Luminarys
98fad060e2
Added in glitchy disabling
9 years ago
Drew DeVault
e232241466
Do not log with colors unless stdout is a tty
9 years ago
Drew DeVault
ac2034df99
Handle wlc log events
9 years ago
taiyu
d72cc92541
style
9 years ago
taiyu
299406a048
slight fix
9 years ago
taiyu
f53ce887e8
fixed container resize oddity
9 years ago
taiyu
f24b78898a
dont swap view with workspace...
9 years ago
taiyu
a4ded14991
small change
9 years ago
taiyu
f1e38be09f
no mode for fullscreen
9 years ago
taiyu
42d5d9a177
mouse tile resize mode done
9 years ago
taiyu
36cd180f02
fixed vanishing floating view
9 years ago
taiyu
e139de0857
floating/tiling move + floating resize cleaned and fixed
9 years ago
Drew DeVault
1fd5962aeb
Fix minor bug with output positioning
9 years ago
Drew DeVault
07229edfe6
Implement output positioning
...
🎉
9 years ago
Drew DeVault
eac0920f49
Set x/y positions for output containers
9 years ago
Drew DeVault
232940f813
Whoops
...
Regards to @Cloudef
9 years ago
Drew DeVault
b7f4607544
Implement output configuration through config
...
Do not use `output res WIDTHxHEIGHT` yet, wlc has issues with it (cc
@Cloudef)
9 years ago
Luminarys
c0b68aa6fc
Added in bspwm like view swapping
9 years ago
Luminarys
f6b16ca089
Refactored resizing functions into resize.c
9 years ago
Luminarys
ad1ca31dd5
Altered resize command to prevent resizing past min h/w
9 years ago
Luminarys
e067913fb8
More resize fixes
9 years ago
Luminarys
63a3236064
Fixed resizing
9 years ago
Drew DeVault
2a799a731f
Remove wlc logging stuff
9 years ago
Drew DeVault
39041d07b5
Merge remote-tracking branch 'taiyu-len/master'
9 years ago
Luminarys
f7a6dd7ce9
Minor fix to resizing with mouse
9 years ago
taiyu
b05317c3a6
style
9 years ago
taiyu
de5196dc1e
comments + fixed leak
9 years ago
taiyu
d2e1c660b1
swayc_is_fullscreen
9 years ago
taiyu
dde8bfe728
check floating mod for resizing windows, and dont send click
9 years ago
taiyu
5a67628ad9
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merge
9 years ago
taiyu
1a1ac64662
bugfixes, renames
9 years ago
Luminarys
ad72abb58f
Removed ugly intializer for pointer_state
9 years ago
Drew DeVault
1c38b7a8d2
Merge pull request #111 from Luminarys/master
...
Added in proper resize locking
9 years ago
Luminarys
a8eab5492a
Added in proper resize locking
9 years ago
minus
8dfaf6265b
fixed #108 signed/unsigned comparison
9 years ago
Luminarys
97bd548456
More minor fixes
9 years ago
Luminarys
de86c5f4ea
Cleanup and minor fixes
9 years ago
Drew DeVault
6278922f7a
Fix clang warnings
...
These particular warnings have always struck me as stupid
9 years ago
Drew DeVault
a436fc17ff
Merge pull request #105 from Half-Shot/master
...
Basic 'move' functionality.
9 years ago
Drew DeVault
0266b0666a
Fix compiler warnings (which were really errors)
9 years ago
Drew DeVault
464b49eda2
Merge pull request #101 from Luminarys/master
...
Added in basic resizing command.
9 years ago
Luminarys
96ab21b276
Fixes to resizing and added in resize lock once boundaries are exceeded
9 years ago
Luminarys
461da7f87f
Added in bspwm like mouse resizing
9 years ago
Luminarys
f589731f29
Rewrite of resize command to make it more sane
9 years ago
Half-Shot
68213d57c5
Fixed style errors
9 years ago
Drew DeVault
3a5fce339f
Reset key buffer on reload
...
To preserve my sanity
10 years ago
Half-Shot
713bf29ec9
Few stray bits
10 years ago
Half-Shot
5a9ba261bc
Merge branch 'master' of https://github.com/SirCmpwn/sway
10 years ago
Half-Shot
2a62c5c7fb
Basic left right move command implemented.
10 years ago
minus
754793aad4
added IPC messages get_workspaces and get_outputs
...
No escaping on container names is done yet, as well as some values are
hardcoded because they don't exist yet.
10 years ago
taiyu
36e07e9ebc
find_parent_by_type
10 years ago
Luminarys
c9935507f2
Style fixes
10 years ago
Luminarys
d06732e1a8
Altered incorrect comment
10 years ago
Luminarys
bc3babf566
Added in basic resize command
10 years ago
minus
4c56cd0ed6
set I3SOCK for i3-msg compatibility
10 years ago
minus
6ab968e63e
fixed formatting
10 years ago
minus
f26ed32e46
added sway_terminate to exit cleanly
10 years ago
minus
70f046c87a
set IPC client sockets to close on exec
10 years ago
minus
91c0877264
properly exit sway
...
- wlc_terminate() instead of exit(0)
- unlink IPC socket
10 years ago
minus
bfbadadf70
use env var SWAYSOCK if available
...
or fall back to /tmp/sway-ipc.sock
10 years ago
minus
773e85c681
properly handle IPC clients
10 years ago
minus
5d99215469
added i3-ipc support/parsing
10 years ago
minus
8981b48cd2
very basic IPC implementation
...
simply executes the received data as command
10 years ago
Drew DeVault
579fe70ed9
Add command line parsing
...
Closes #6
10 years ago
taiyu
927ef0a5ec
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
10 years ago
Drew DeVault
95f5660897
Merge pull request #97 from taiyu-len/master
...
setup for resizable windows, drop weight
10 years ago
taiyu
f5fde7c45c
style
10 years ago
taiyu
f6e002fb8b
small fix, default width/height 0
10 years ago
taiyu
b76dcf6e0f
unnessesary log
10 years ago
taiyu
fbaa9111a8
setup for resizable windows, drop weight
10 years ago
Drew DeVault
85ae987515
Fix compiler warning
10 years ago
Drew DeVault
14947c92aa
Merge pull request #94 from taiyu-len/master
...
input_state.ch, and command conflicts resolved
10 years ago
taiyu
ba6034e8c8
changes
10 years ago
KoffeinFlummi
3c124d9e7d
Change gap behaviour to more closely match i3-gaps
...
Previously, when only using inner gaps, the gap between a window at the
edge of the output was only half the size of the gaps between views.
Additionally, the gaps between the actual windows was twice as wide as
it was on i3-gaps.
10 years ago
taiyu
1d9b73ed67
remove debug message
10 years ago
taiyu
686780f12d
another small fix to move_focus
10 years ago
taiyu
66e82a68fc
small fix
10 years ago
taiyu
5ff0619ca1
input state, find_container_in_direction
10 years ago
taiyu
470b4dfbae
key_state.ch, and command conflicts resolved
10 years ago
Drew DeVault
4db89b5fe4
Deal with more xkb bullshit
10 years ago
Drew DeVault
e5d3074d70
Whitelist a handful of characters for keys
...
Ones that don't change when you hold shift
10 years ago
Luminarys
29b6b2f37b
Fixed mode_toggle
10 years ago
Drew DeVault
1d8591d902
Improve key handling somewhat
...
XKB is fucking bullshit
10 years ago
Drew DeVault
84a778b688
Improve key buffer handling
10 years ago
Drew DeVault
2dabca03f4
Remove logging of all key presess
...
This makes the logs a bit too hard to read
10 years ago
Drew DeVault
057d2e529d
Merge pull request #92 from z33ky/master
...
A couple of cppcheck issues
10 years ago
Alexander 'z33ky' Hirsch
f85d0740a8
Fix potential memory leak
10 years ago
Alexander 'z33ky' Hirsch
22675b0111
Minor style fix
10 years ago
Alexander 'z33ky' Hirsch
c068f47ce3
Fix potential crash when toggling fullscreen mode
10 years ago
Drew DeVault
74c9df0c07
Fix error with workspace/output name matching
10 years ago
taiyu
6f424ff6b8
fixed default active_workspace, and more use of set_focused_container_for(...)
10 years ago
taiyu
b79a49a394
use enums for pointer click names
10 years ago
taiyu
a31f23f90c
fixed active_workspace update on focus change
10 years ago
taiyu
269d6ba4ea
fixed
10 years ago
taiyu
48a983316c
floating mode_toggle
10 years ago
Luminarys
c29214f348
Minor style fix
10 years ago
Drew DeVault
4ac920827d
Merge pull request #89 from taiyu-len/master
...
reset floating view on floating_mod repress
10 years ago
taiyu
e53a95c60d
style
10 years ago
taiyu
7bbb102e2d
reset floating view on floating_mod repress
10 years ago
aouelete
acbcf17905
Fixed config path
10 years ago
taiyu
8f529536e3
pointer uses its own modifiers
10 years ago
Luminarys
daea22bc89
Resize lock fixes
10 years ago
Luminarys
9542f8746a
Added in resize locking
10 years ago
taiyu
289aab9f0a
removed debug which shouldnt be there
10 years ago
taiyu
8205a6fd3b
floating_modifier uses mod_keys instead of anykey
10 years ago
Luminarys
0e4df85ba1
Fixed config loading
10 years ago
Drew DeVault
0f29f04816
Set test to NULL when appropriate
...
Thanks @SyedAmerGilani
10 years ago
Drew DeVault
1ec8e082a2
Free environment vars after loading config
...
Thanks @SyedAmerGilani
10 years ago
Drew DeVault
79f9d93ef3
Refactor config file loading
10 years ago
Drew DeVault
8fb2e7e34e
Merge pull request #79 from taiyu-len/master
...
fixed floating_modifier related things
10 years ago
Drew DeVault
ae367c5af4
Merge pull request #80 from SyedAmerGilani/fix_memory_leaks
...
fix a few possible memory leaks
10 years ago
Syed Amer Gilani
ba5b451dd0
fixed string building for XDG_CONFIG_HOME config loading
10 years ago
Syed Amer Gilani
95517ac77e
fix a few possible memory leaks
10 years ago
taiyu
c5a6982893
fixed some more bugs, moved layout_log into log.ch, restored focus_parent
10 years ago
taiyu
e16a4015ff
fixed focus key handler
10 years ago
taiyu
1bf02144e5
fixed floating_modifier related things
10 years ago
taiyu
6dc1ae802b
focus to only child
10 years ago
Luminarys
774e594714
Fixed full screen workspace switch focusing
10 years ago
taiyu
2f40459de4
fixed focus on fullscreen view destroy
10 years ago
Luminarys
f718556a85
Removed debugging, added in proper gap resets for config reloads
10 years ago
Luminarys
ab43927a47
Minor fixes that might be helpful later
10 years ago
Luminarys
7137be9a3f
Fixes to make floating windows work better
10 years ago
Luminarys
3e950c2b1c
Basic fixes to floating movement
10 years ago
Drew DeVault
cf916bbf6f
Improvements to gaps
10 years ago
Drew DeVault
446d593b4c
Merge pull request #73 from KoffeinFlummi/gaps
...
Add support for gaps option
10 years ago
KoffeinFlummi
c75d5ceba4
Merge remote-tracking branch 'upstream/master' into gaps
10 years ago
Drew DeVault
8e201091a5
Fix indented comments being weird
10 years ago
KoffeinFlummi
4c688cba4e
Add support for gaps option
10 years ago
Drew DeVault
443ae9b89e
Merge pull request #72 from minus7/assert
...
added sway_assert function
10 years ago
minus
faccaf6112
added sway_assert function
...
returns false on a failed assertion in release mode and raises SIGABRT in debug mode
10 years ago
Luminarys
5b6e489872
More patches for wlc compat
10 years ago
Luminarys
a7c045a520
Patched for wlc updates
10 years ago
Half-Shot
f314d95103
Merge branch 'master' of https://github.com/SirCmpwn/sway
10 years ago
Will Hunt
d6ab5e481b
Beguin work on the move command.
...
Stubbed method.
10 years ago
Luminarys
7756f423c3
Removed unnecessary debugging lines
10 years ago
Luminarys
01c6caced6
Added in proper focus handling for floating windows
10 years ago
taiyu
03e83c7ef9
restored fullscreen/focus behavior
10 years ago
Luminarys
23b90d8e69
Fixed mouse clicks from triggering a segfault
10 years ago
Drew DeVault
85a573dab7
Revert "enhanced whitespace remover"
...
This reverts commit abd0afb03a
.
10 years ago
Drew DeVault
a64b10df83
Fix switching between focused outputs
10 years ago
Drew DeVault
868cb3ca71
Revert "config handles comments better"
...
This reverts commit e9c3a9016f
.
10 years ago
Drew DeVault
2139001c9f
Coding style enforcement
...
This was done by hand, so I might have missed things. If anyone knows of
a good C style enforcement tool, let me know.
10 years ago
taiyu
af1b3d9755
fixed floating window crashing bug
10 years ago
Drew DeVault
2f6dd0687b
Merge pull request #65 from taiyu-len/focus_v2
...
Focus v2
10 years ago
Drew DeVault
debb0d6bc1
Fix #64
10 years ago
taiyu
b132f67e7b
minor fixes
10 years ago
taiyu
abd0afb03a
enhanced whitespace remover
10 years ago
taiyu
e9c3a9016f
config handles comments better
10 years ago
taiyu
63bc0d3b54
more changes
10 years ago
taiyu
eff55d0de1
fixed doubling memory bug for config lines longer then 128
10 years ago
taiyu
4606fb1ee3
merged Luminarys resizing code
10 years ago
taiyu
f0fe4a346d
style
10 years ago
taiyu
11321ca2dd
changed handling of focus, handling of view by type
10 years ago
Luminarys
e541ba3d87
Added in basic, but semi-broken moving/resizing functionality to floating windows
10 years ago
Drew DeVault
780893a933
Add support for workspace [name] output [name]
10 years ago
Drew DeVault
3f3d1ffee4
Rearrange main.c some more
10 years ago
Luminarys
7427ce8930
Switched config loading order to prevent root access w/wlc
10 years ago
Luminarys
1781450e86
Typo fix and more clarification
10 years ago
Luminarys
b5f19f0fd3
View destroy handling clean up and clarifications
10 years ago
taiyu
199ba05ef1
put back
10 years ago
taiyu
0eed6a4f99
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
10 years ago
taiyu
d2995d1eb2
fixed handling of views with override_redirect (dmenu)
10 years ago
Drew DeVault
9835845e22
Fix segfault from focus_view
10 years ago
taiyu
f832c02065
fixed when views dont have names.
10 years ago
Luminarys
c9ce8bf1bd
Style and other minor fixes
10 years ago
Luminarys
3f475f5009
Minor fix to do proper floating refocuses
10 years ago
Luminarys
47ec999e71
Fixes to floating and umanaged views
10 years ago
Luminarys
da77dc45a9
Deleted file
10 years ago
Luminarys
05f969074e
Added in basic floating toggling
10 years ago
Drew DeVault
be2635daa6
Fix format warnings
10 years ago
taiyu
f1d5305dc6
fix
10 years ago
taiyu
4077238782
sends hidden views to back, visible view to front
10 years ago
taiyu
ffb3458322
focus changes when mouse moves over border instead of all mouse movement
10 years ago
taiyu
498cf268f7
unmanaged views handled better
10 years ago
taiyu
c024f06631
handle_view_state_request
10 years ago
Luminarys
6b80879ec9
Minor naming fix workspace changing commands
10 years ago
Drew DeVault
7f4529ec8b
Merge pull request #44 from Luminarys/master
...
Added in workspace next/prev and workspace output_next/prev
10 years ago
taiyu
5b860c67c3
fixed split [vh], small memory leak, unescape_strings handle \xnn
10 years ago
Drew DeVault
7514431836
Fix pointer events properly
10 years ago
Drew DeVault
7878490425
Revert "Return false from pointer events"
...
This reverts commit 981db16a8e
.
10 years ago
Drew DeVault
981db16a8e
Return false from pointer events
10 years ago
Luminarys
0a0fe18fd6
Added in workspace next/prev and workspace output_next/prev
10 years ago
Drew DeVault
4a5828370c
Log output name when added to tree
10 years ago
Drew DeVault
19c0ec6a08
Fix movement between outputs
10 years ago
Drew DeVault
5ff71c2d5c
Fix key handling from wlc
10 years ago
Drew DeVault
e64e61779e
Set C_OUTPUT name to name from wlc
10 years ago
Drew DeVault
a092df52da
Remove WLC_IDLE_TIME environment variable
10 years ago
Luminarys
dfaf3a059f
Added in better exit handling
10 years ago
Luminarys
c94c41d1db
Added in kill command
10 years ago
Drew DeVault
6e8280e7fd
Config errors should not be fatal
10 years ago
Drew DeVault
7f8ebb7d0d
Move headers to include/
10 years ago
Drew DeVault
360b3d67b0
Add split [h|v|horizontal|vertical] command
10 years ago
Drew DeVault
ae536c21d3
Revert "get/set_userdata stores swayc_t *, fixed memory leak, minor changes."
10 years ago
taiyu
eefc76b39e
set userdata for handler to swayc_t container
10 years ago
taiyu
e9e09d123c
reduced code duplication
10 years ago
taiyu
9d69d880e6
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merge
10 years ago
taiyu
083d1eed1f
fixed 2 small memory leaks & adds format attribute to log.
10 years ago
Luminarys
64a971882a
Minor fix to config loading
10 years ago
Drew DeVault
6cc8ea29e5
Merge pull request #36 from Luminarys/master
...
Added in config file loading from multiple sources
10 years ago
Luminarys
24231bef0e
Added in additional checks for i3 config paths
10 years ago
Luminarys
614393c09c
Added in config file loading from multiple sources
10 years ago
taiyu
2e92538d7f
style
10 years ago
taiyu
14b7755134
set maximize flag for handled views
10 years ago
taiyu
3a21ba020f
made better, reduced code duplication
10 years ago
taiyu
8752a166ed
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
10 years ago
taiyu
824a3d81aa
fixed fullscreen & focusing
10 years ago
Luminarys
56814310e0
Fixed reloading and arrange_windows
10 years ago
Drew DeVault
976e1b1c71
Merge branch 'master' of github.com:SirCmpwn/sway
10 years ago
Drew DeVault
0ed6501aa4
Set WLC_IDLE_TIME to 0
10 years ago
Luminarys
469579835b
Fixed output focusing for workspace switch
10 years ago
Drew DeVault
7f9ed880b0
Rename variable in workspace.c
10 years ago
Drew DeVault
f606508bcc
Fix switching focus between outputs
10 years ago
Drew DeVault
d5ff5e98fa
Fix build
10 years ago
Drew DeVault
8b90f283bc
Merge pull request #31 from Luminarys/master
...
Multi output fixes
10 years ago
Luminarys
b97d8756a8
Minor style fix
10 years ago
Luminarys
9ba914747e
Removed alignment
10 years ago
Luminarys
9b0196e7ed
Style fixes
10 years ago
Luminarys
618b3df051
Fixed workspace switching in multimonitor layouts
10 years ago
Luminarys
b01a04f22b
Added layout debugger back in and fixed mutlimonitor layout issues
10 years ago
taiyu
9bb2788768
fixed split
10 years ago
taiyu
f3a970e24e
fixed focus
10 years ago
taiyu
cd0cdc28aa
fixed focus
10 years ago
Taiyu
80ae2a7774
removed debug
10 years ago
Taiyu
60d840fe3f
style
10 years ago
Taiyu
b8cba33c01
changed swayc related functions, cleaned up some functions, moved wlc related things into handlers
10 years ago
Luminarys
ffe59b27a9
Style fix
10 years ago
Luminarys
ea9efc884d
Allowed for execd commands to be spawned after abort
10 years ago
Luminarys
d785cbd54c
Even more style fixes
10 years ago
Luminarys
7788aa4cbd
More style fixes
10 years ago
Luminarys
527288a826
fixes to cmd queue freeing, style
10 years ago
Luminarys
9a0a858d1e
Typo fix
10 years ago
Luminarys
d12a786160
Removed some unnecessary logs
10 years ago
Luminarys
3cdeb9bd5e
Minor fix to memory management
10 years ago
Luminarys
ab130fb56b
Added in command queue
10 years ago
Luminarys
2c9f5eca89
Fixes to workspace generation
10 years ago
Luminarys
8d63ac594b
Changed workspace name generation to try and use bindsyms when possible
10 years ago
Taiyu
7d294213d1
style
10 years ago
Taiyu
e3edab8a4c
change workspace layout when trying to split it
10 years ago
Taiyu
57c28f96fd
split workspace bug
10 years ago
Taiyu
0a205776d7
small change
10 years ago
Taiyu
ad21281540
style, spelling
10 years ago
Taiyu
5df5b00989
moved signal handling to main
10 years ago
Taiyu
f798e9bb0b
moved fd modifying stuff to log.c
10 years ago
Taiyu
ac1c2d31bf
no more output from programs called with exec, fixed focus return values
10 years ago
Taiyu
dc9efcd79f
better error handling
10 years ago
Taiyu
65406cb61b
safer forking, reduce duplicate code, cleanup zombie processes
10 years ago
Taiyu
0f387483fd
moving stuff around
10 years ago
Drew DeVault
fe9037ace3
Merge pull request #18 from taiyu-len/master
...
list_insert now works as it should
10 years ago
Taiyu
4c87498222
style
10 years ago
Drew DeVault
2839054d16
Add unnecessary log
10 years ago
Luminarys
a5b02791d4
Changed command handler to perform var subs on all cmd args
...
Fixed workspace_next_name to use the first workspace name it can find in the config
Minor fixes
Changed command handler to perform var subs on all portions of a command
Revert "Changed command handler to perform var subs on all portions of a command"
This reverts commit fcfcffa1ea9819bcada6e6c85b40b21bf1b3a96e.
Var sub fixes
Minor fixes
More minor fixes
10 years ago
Taiyu
0490988673
list_insert now works as it should
10 years ago
Taiyu
a22ba17621
added command repeat on keydown
10 years ago
Taiyu
5d5a20bf25
small fix
10 years ago
Taiyu
4e33a9b23c
define -> enum
10 years ago
Taiyu
5534edca6e
removed old code
10 years ago
Taiyu
66799480ff
removed old code
10 years ago
Taiyu
de9cec2e43
fixed bug
10 years ago
Taiyu
737a7421fd
added multikey handling for handle_key\(...\)
10 years ago
Drew DeVault
96d7ff1e19
Slightly better multihead support
10 years ago
Drew DeVault
dd115cece3
Prevent passing WM keys, improve multihead support
10 years ago
Taiyu
25a3aa6ed6
small change
10 years ago
Taiyu
2ac3535afe
silly mistake + style
10 years ago
Taiyu
beabb12d63
destroys empty workspace + minor bugfixes
10 years ago
Taiyu
f7cee6a1b9
fixed 'return NULL' in 'void continer_map(...)'
10 years ago
Luminarys
a386d98518
Changed cmd handlers to use bool instead of int
10 years ago
Drew DeVault
763c44fb85
Merge pull request #12 from taiyu-len/master
...
return 0 on success.
10 years ago
Taiyu
f62a700bc8
return 0 on success for cmd_fullscreen
10 years ago
Drew DeVault
c10fc5b526
Set view->visible to true when created
10 years ago
Taiyu
604be65625
make cmd_workspace return 0 on success
10 years ago
Jose Diez
8f19faf6e7
layout: fixed tabs
10 years ago
Jose Diez
d8f364a846
workspaces: follow_pointer_mouse doesn't follow hidden containers
10 years ago
Jose Diez
8cc2c6fa7a
Basic workspace functionality
10 years ago
Taiyu
820dda1be6
fixed small memory leak. v2
10 years ago
Drew DeVault
54374d81b5
Fix some errors with config loading
10 years ago
Luminarys
d570acd395
Changed cmd_reload to arrange windows post reload
10 years ago
Luminarys
88997bbfe6
Minor fix
10 years ago
Luminarys
508980e3ab
Abstracted load_config
10 years ago
Luminarys
7c02a1967b
Spaces to Tabs
10 years ago
Luminarys
68beabda03
Style fixes and slight reload command alteration
10 years ago
Luminarys
c0ee2a6406
Added in reload and exec_always handling
10 years ago
Drew DeVault
9c3a04b996
Focus unmanaged windows when created
10 years ago
Drew DeVault
06bca18a09
Fix issue with untitled windows
10 years ago
Drew DeVault
f9ae9ab6e3
Merge pull request #4 from taiyu-len/master
...
fixed focus_parent, moved into move_focus() function
10 years ago
Taiyu
f923c4e6b9
fixed style
10 years ago
Drew DeVault
c741de8ca4
Override WLC_DIM by default
10 years ago
Taiyu
b43161fd45
fixed focus_parent, moved into move_focus() function
10 years ago
Drew DeVault
6f0a1cdcd1
Or maybe do the exact opposite of that
10 years ago
Drew DeVault
f6e65b6bb2
Don't override keys if command fails
10 years ago
Drew DeVault
b49cfa0c16
Fix bug with focus parent
...
Thanks anon
10 years ago
Drew DeVault
c12d0f1a62
Finish up fullscreen command
10 years ago
Drew DeVault
0078a6fa36
Flesh out fullscreen support a bit
10 years ago
jdiez17
b922e1cb29
fullscreen: partially working
10 years ago
Drew DeVault
2b1a0728b8
Keep track of window names
10 years ago
jdiez17
56d29bbec5
log: add newline
10 years ago
Drew DeVault
8597c3c7e7
Implement focus parent
10 years ago
jdiez17
d62efd70e4
commands: re-add log_colors
10 years ago
Drew DeVault
ba14118f13
Fix focus follows mouse
10 years ago
Drew DeVault
9f091c7f82
Add movement support
10 years ago
Drew DeVault
1669da719c
Destroy containers when all views are removed
10 years ago
Drew DeVault
2231586569
Implement splith/splitv
...
Ref #2
10 years ago
jdiez17
69edcb88ea
style: More compliance
10 years ago
jdiez17
c688ff704d
log, commands: Add log_colors command
10 years ago
Drew DeVault
ec2fedf6d0
Implement layout [splith|splitv|toggle split]
10 years ago
Drew DeVault
b075b06478
Load config after xwayland is created
...
This lets us run x commands on startup
10 years ago
Drew DeVault
4924628ac2
Set DISPLAY to :1 automatically
10 years ago
Drew DeVault
ea9659f39c
Implement exec
10 years ago
Drew DeVault
bab080cea3
Fix up some issues with focus
10 years ago
Drew DeVault
f97a48d5b7
Implement focus_follows_mouse
10 years ago
Drew DeVault
086691016e
Handle unmanaged windows appropriately
10 years ago
Drew DeVault
a78b921803
Implement key bindings
10 years ago
Drew DeVault
4181c36862
Handle focus changes
...
And some simple refactoring
10 years ago
Drew DeVault
c7be30d912
Deny window resize requests
10 years ago
Drew DeVault
6066467dff
Tile some windows baby
10 years ago
Drew DeVault
148f59f3a6
Refactor in-memory tree
10 years ago
Drew DeVault
0427fddb5a
Add logging and new windows into layout tree
10 years ago
Drew DeVault
2786fa2215
Destroy outputs when appropriate
10 years ago
Drew DeVault
c102f18499
Add layout containers for new outputs
10 years ago
Drew DeVault
82bc36c681
Start to build out window management functions
10 years ago
Drew DeVault
47b28bd335
Clean up config loading and launch wayland
10 years ago
Drew DeVault
e7a8868514
Make main.c less stupid
10 years ago
Drew DeVault
a74268dfab
Add TODO so I don't forget later
10 years ago
Drew DeVault
254d0df3b2
Push the XKB key to the key list
...
Instead of the key name
10 years ago
Drew DeVault
5767dcc86e
Mostly implement bindsym command
10 years ago
Drew DeVault
d0f1fb71d1
Flesh out some command parsing
...
This implements the `set` command from i3
10 years ago
Drew DeVault
e07c77fbb7
Build out command subsystem
...
Everyone loves code stolen from your own projects
10 years ago
Drew DeVault
542ef0c777
Pull in some scas code and read i3 config file
10 years ago
Drew DeVault
6a33e1e3cd
Initial commit
10 years ago