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
9 years ago
Half-Shot
713bf29ec9
Few stray bits
9 years ago
Half-Shot
5a9ba261bc
Merge branch 'master' of https://github.com/SirCmpwn/sway
9 years ago
Half-Shot
2a62c5c7fb
Basic left right move command implemented.
9 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.
9 years ago
taiyu
36e07e9ebc
find_parent_by_type
9 years ago
Luminarys
c9935507f2
Style fixes
9 years ago
Luminarys
d06732e1a8
Altered incorrect comment
9 years ago
Luminarys
bc3babf566
Added in basic resize command
9 years ago
minus
4c56cd0ed6
set I3SOCK for i3-msg compatibility
9 years ago
minus
6ab968e63e
fixed formatting
9 years ago
minus
f26ed32e46
added sway_terminate to exit cleanly
9 years ago
minus
70f046c87a
set IPC client sockets to close on exec
9 years ago
minus
91c0877264
properly exit sway
...
- wlc_terminate() instead of exit(0)
- unlink IPC socket
9 years ago
minus
bfbadadf70
use env var SWAYSOCK if available
...
or fall back to /tmp/sway-ipc.sock
9 years ago
minus
773e85c681
properly handle IPC clients
9 years ago
minus
5d99215469
added i3-ipc support/parsing
9 years ago
minus
8981b48cd2
very basic IPC implementation
...
simply executes the received data as command
9 years ago
Drew DeVault
579fe70ed9
Add command line parsing
...
Closes #6
9 years ago
taiyu
927ef0a5ec
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
9 years ago
Drew DeVault
95f5660897
Merge pull request #97 from taiyu-len/master
...
setup for resizable windows, drop weight
9 years ago
taiyu
f5fde7c45c
style
9 years ago
taiyu
f6e002fb8b
small fix, default width/height 0
9 years ago
taiyu
b76dcf6e0f
unnessesary log
9 years ago
taiyu
fbaa9111a8
setup for resizable windows, drop weight
9 years ago
Drew DeVault
85ae987515
Fix compiler warning
9 years ago
Drew DeVault
14947c92aa
Merge pull request #94 from taiyu-len/master
...
input_state.ch, and command conflicts resolved
9 years ago
taiyu
ba6034e8c8
changes
9 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.
9 years ago
taiyu
1d9b73ed67
remove debug message
9 years ago
taiyu
686780f12d
another small fix to move_focus
9 years ago
taiyu
66e82a68fc
small fix
9 years ago
taiyu
5ff0619ca1
input state, find_container_in_direction
9 years ago
taiyu
470b4dfbae
key_state.ch, and command conflicts resolved
9 years ago
Drew DeVault
4db89b5fe4
Deal with more xkb bullshit
9 years ago
Drew DeVault
e5d3074d70
Whitelist a handful of characters for keys
...
Ones that don't change when you hold shift
9 years ago
Luminarys
29b6b2f37b
Fixed mode_toggle
9 years ago
Drew DeVault
1d8591d902
Improve key handling somewhat
...
XKB is fucking bullshit
9 years ago
Drew DeVault
84a778b688
Improve key buffer handling
9 years ago
Drew DeVault
2dabca03f4
Remove logging of all key presess
...
This makes the logs a bit too hard to read
9 years ago
Drew DeVault
057d2e529d
Merge pull request #92 from z33ky/master
...
A couple of cppcheck issues
9 years ago
Alexander 'z33ky' Hirsch
f85d0740a8
Fix potential memory leak
9 years ago
Alexander 'z33ky' Hirsch
22675b0111
Minor style fix
9 years ago
Alexander 'z33ky' Hirsch
c068f47ce3
Fix potential crash when toggling fullscreen mode
9 years ago
Drew DeVault
74c9df0c07
Fix error with workspace/output name matching
9 years ago
taiyu
6f424ff6b8
fixed default active_workspace, and more use of set_focused_container_for(...)
9 years ago
taiyu
b79a49a394
use enums for pointer click names
9 years ago
taiyu
a31f23f90c
fixed active_workspace update on focus change
9 years ago
taiyu
269d6ba4ea
fixed
9 years ago
taiyu
48a983316c
floating mode_toggle
9 years ago
Luminarys
c29214f348
Minor style fix
9 years ago
Drew DeVault
4ac920827d
Merge pull request #89 from taiyu-len/master
...
reset floating view on floating_mod repress
9 years ago
taiyu
e53a95c60d
style
9 years ago
taiyu
7bbb102e2d
reset floating view on floating_mod repress
9 years ago
aouelete
acbcf17905
Fixed config path
9 years ago
taiyu
8f529536e3
pointer uses its own modifiers
9 years ago
Luminarys
daea22bc89
Resize lock fixes
9 years ago
Luminarys
9542f8746a
Added in resize locking
9 years ago
taiyu
289aab9f0a
removed debug which shouldnt be there
9 years ago
taiyu
8205a6fd3b
floating_modifier uses mod_keys instead of anykey
9 years ago
Luminarys
0e4df85ba1
Fixed config loading
9 years ago
Drew DeVault
0f29f04816
Set test to NULL when appropriate
...
Thanks @SyedAmerGilani
9 years ago
Drew DeVault
1ec8e082a2
Free environment vars after loading config
...
Thanks @SyedAmerGilani
9 years ago
Drew DeVault
79f9d93ef3
Refactor config file loading
9 years ago
Drew DeVault
8fb2e7e34e
Merge pull request #79 from taiyu-len/master
...
fixed floating_modifier related things
9 years ago
Drew DeVault
ae367c5af4
Merge pull request #80 from SyedAmerGilani/fix_memory_leaks
...
fix a few possible memory leaks
9 years ago
Syed Amer Gilani
ba5b451dd0
fixed string building for XDG_CONFIG_HOME config loading
9 years ago
Syed Amer Gilani
95517ac77e
fix a few possible memory leaks
9 years ago
taiyu
c5a6982893
fixed some more bugs, moved layout_log into log.ch, restored focus_parent
9 years ago
taiyu
e16a4015ff
fixed focus key handler
9 years ago
taiyu
1bf02144e5
fixed floating_modifier related things
9 years ago
taiyu
6dc1ae802b
focus to only child
9 years ago
Luminarys
774e594714
Fixed full screen workspace switch focusing
9 years ago
taiyu
2f40459de4
fixed focus on fullscreen view destroy
9 years ago
Luminarys
f718556a85
Removed debugging, added in proper gap resets for config reloads
9 years ago
Luminarys
ab43927a47
Minor fixes that might be helpful later
9 years ago
Luminarys
7137be9a3f
Fixes to make floating windows work better
9 years ago
Luminarys
3e950c2b1c
Basic fixes to floating movement
9 years ago
Drew DeVault
cf916bbf6f
Improvements to gaps
9 years ago
Drew DeVault
446d593b4c
Merge pull request #73 from KoffeinFlummi/gaps
...
Add support for gaps option
9 years ago
KoffeinFlummi
c75d5ceba4
Merge remote-tracking branch 'upstream/master' into gaps
9 years ago
Drew DeVault
8e201091a5
Fix indented comments being weird
9 years ago
KoffeinFlummi
4c688cba4e
Add support for gaps option
9 years ago
Drew DeVault
443ae9b89e
Merge pull request #72 from minus7/assert
...
added sway_assert function
9 years ago
minus
faccaf6112
added sway_assert function
...
returns false on a failed assertion in release mode and raises SIGABRT in debug mode
9 years ago
Luminarys
5b6e489872
More patches for wlc compat
9 years ago
Luminarys
a7c045a520
Patched for wlc updates
9 years ago
Half-Shot
f314d95103
Merge branch 'master' of https://github.com/SirCmpwn/sway
9 years ago
Will Hunt
d6ab5e481b
Beguin work on the move command.
...
Stubbed method.
9 years ago
Luminarys
7756f423c3
Removed unnecessary debugging lines
9 years ago
Luminarys
01c6caced6
Added in proper focus handling for floating windows
9 years ago
taiyu
03e83c7ef9
restored fullscreen/focus behavior
9 years ago
Luminarys
23b90d8e69
Fixed mouse clicks from triggering a segfault
9 years ago
Drew DeVault
85a573dab7
Revert "enhanced whitespace remover"
...
This reverts commit abd0afb03a
.
9 years ago
Drew DeVault
a64b10df83
Fix switching between focused outputs
9 years ago
Drew DeVault
868cb3ca71
Revert "config handles comments better"
...
This reverts commit e9c3a9016f
.
9 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.
9 years ago
taiyu
af1b3d9755
fixed floating window crashing bug
9 years ago
Drew DeVault
2f6dd0687b
Merge pull request #65 from taiyu-len/focus_v2
...
Focus v2
9 years ago
Drew DeVault
debb0d6bc1
Fix #64
9 years ago
taiyu
b132f67e7b
minor fixes
9 years ago
taiyu
abd0afb03a
enhanced whitespace remover
9 years ago
taiyu
e9c3a9016f
config handles comments better
9 years ago
taiyu
63bc0d3b54
more changes
9 years ago
taiyu
eff55d0de1
fixed doubling memory bug for config lines longer then 128
9 years ago
taiyu
4606fb1ee3
merged Luminarys resizing code
9 years ago
taiyu
f0fe4a346d
style
9 years ago
taiyu
11321ca2dd
changed handling of focus, handling of view by type
9 years ago
Luminarys
e541ba3d87
Added in basic, but semi-broken moving/resizing functionality to floating windows
9 years ago
Drew DeVault
780893a933
Add support for workspace [name] output [name]
9 years ago
Drew DeVault
3f3d1ffee4
Rearrange main.c some more
9 years ago
Luminarys
7427ce8930
Switched config loading order to prevent root access w/wlc
9 years ago
Luminarys
1781450e86
Typo fix and more clarification
9 years ago
Luminarys
b5f19f0fd3
View destroy handling clean up and clarifications
9 years ago
taiyu
199ba05ef1
put back
9 years ago
taiyu
0eed6a4f99
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
9 years ago
taiyu
d2995d1eb2
fixed handling of views with override_redirect (dmenu)
9 years ago
Drew DeVault
9835845e22
Fix segfault from focus_view
9 years ago
taiyu
f832c02065
fixed when views dont have names.
9 years ago
Luminarys
c9ce8bf1bd
Style and other minor fixes
9 years ago
Luminarys
3f475f5009
Minor fix to do proper floating refocuses
9 years ago
Luminarys
47ec999e71
Fixes to floating and umanaged views
9 years ago
Luminarys
da77dc45a9
Deleted file
9 years ago
Luminarys
05f969074e
Added in basic floating toggling
9 years ago
Drew DeVault
be2635daa6
Fix format warnings
9 years ago
taiyu
f1d5305dc6
fix
9 years ago
taiyu
4077238782
sends hidden views to back, visible view to front
9 years ago
taiyu
ffb3458322
focus changes when mouse moves over border instead of all mouse movement
9 years ago
taiyu
498cf268f7
unmanaged views handled better
9 years ago
taiyu
c024f06631
handle_view_state_request
9 years ago
Luminarys
6b80879ec9
Minor naming fix workspace changing commands
9 years ago
Drew DeVault
7f4529ec8b
Merge pull request #44 from Luminarys/master
...
Added in workspace next/prev and workspace output_next/prev
9 years ago
taiyu
5b860c67c3
fixed split [vh], small memory leak, unescape_strings handle \xnn
9 years ago
Drew DeVault
7514431836
Fix pointer events properly
9 years ago
Drew DeVault
7878490425
Revert "Return false from pointer events"
...
This reverts commit 981db16a8e
.
9 years ago
Drew DeVault
981db16a8e
Return false from pointer events
9 years ago
Luminarys
0a0fe18fd6
Added in workspace next/prev and workspace output_next/prev
9 years ago
Drew DeVault
4a5828370c
Log output name when added to tree
9 years ago
Drew DeVault
19c0ec6a08
Fix movement between outputs
9 years ago
Drew DeVault
5ff71c2d5c
Fix key handling from wlc
9 years ago
Drew DeVault
e64e61779e
Set C_OUTPUT name to name from wlc
9 years ago
Drew DeVault
a092df52da
Remove WLC_IDLE_TIME environment variable
9 years ago
Luminarys
dfaf3a059f
Added in better exit handling
9 years ago
Luminarys
c94c41d1db
Added in kill command
9 years ago
Drew DeVault
6e8280e7fd
Config errors should not be fatal
9 years ago
Drew DeVault
7f8ebb7d0d
Move headers to include/
9 years ago
Drew DeVault
360b3d67b0
Add split [h|v|horizontal|vertical] command
9 years ago
Drew DeVault
ae536c21d3
Revert "get/set_userdata stores swayc_t *, fixed memory leak, minor changes."
9 years ago
taiyu
eefc76b39e
set userdata for handler to swayc_t container
9 years ago
taiyu
e9e09d123c
reduced code duplication
9 years ago
taiyu
9d69d880e6
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merge
9 years ago
taiyu
083d1eed1f
fixed 2 small memory leaks & adds format attribute to log.
9 years ago
Luminarys
64a971882a
Minor fix to config loading
9 years ago
Drew DeVault
6cc8ea29e5
Merge pull request #36 from Luminarys/master
...
Added in config file loading from multiple sources
9 years ago
Luminarys
24231bef0e
Added in additional checks for i3 config paths
9 years ago
Luminarys
614393c09c
Added in config file loading from multiple sources
9 years ago
taiyu
2e92538d7f
style
9 years ago
taiyu
14b7755134
set maximize flag for handled views
9 years ago
taiyu
3a21ba020f
made better, reduced code duplication
9 years ago
taiyu
8752a166ed
Merge branch 'master' of https://github.com/SirCmpwn/sway
...
merging
9 years ago
taiyu
824a3d81aa
fixed fullscreen & focusing
9 years ago
Luminarys
56814310e0
Fixed reloading and arrange_windows
9 years ago
Drew DeVault
976e1b1c71
Merge branch 'master' of github.com:SirCmpwn/sway
9 years ago
Drew DeVault
0ed6501aa4
Set WLC_IDLE_TIME to 0
9 years ago
Luminarys
469579835b
Fixed output focusing for workspace switch
9 years ago
Drew DeVault
7f9ed880b0
Rename variable in workspace.c
9 years ago
Drew DeVault
f606508bcc
Fix switching focus between outputs
9 years ago
Drew DeVault
d5ff5e98fa
Fix build
9 years ago
Drew DeVault
8b90f283bc
Merge pull request #31 from Luminarys/master
...
Multi output fixes
9 years ago
Luminarys
b97d8756a8
Minor style fix
9 years ago
Luminarys
9ba914747e
Removed alignment
9 years ago
Luminarys
9b0196e7ed
Style fixes
9 years ago
Luminarys
618b3df051
Fixed workspace switching in multimonitor layouts
9 years ago
Luminarys
b01a04f22b
Added layout debugger back in and fixed mutlimonitor layout issues
9 years ago
taiyu
9bb2788768
fixed split
9 years ago
taiyu
f3a970e24e
fixed focus
9 years ago
taiyu
cd0cdc28aa
fixed focus
9 years ago
Taiyu
80ae2a7774
removed debug
9 years ago
Taiyu
60d840fe3f
style
9 years ago
Taiyu
b8cba33c01
changed swayc related functions, cleaned up some functions, moved wlc related things into handlers
9 years ago
Luminarys
ffe59b27a9
Style fix
9 years ago
Luminarys
ea9efc884d
Allowed for execd commands to be spawned after abort
9 years ago
Luminarys
d785cbd54c
Even more style fixes
9 years ago
Luminarys
7788aa4cbd
More style fixes
9 years ago
Luminarys
527288a826
fixes to cmd queue freeing, style
9 years ago
Luminarys
9a0a858d1e
Typo fix
9 years ago
Luminarys
d12a786160
Removed some unnecessary logs
9 years ago
Luminarys
3cdeb9bd5e
Minor fix to memory management
9 years ago
Luminarys
ab130fb56b
Added in command queue
9 years ago
Luminarys
2c9f5eca89
Fixes to workspace generation
9 years ago
Luminarys
8d63ac594b
Changed workspace name generation to try and use bindsyms when possible
9 years ago
Taiyu
7d294213d1
style
9 years ago
Taiyu
e3edab8a4c
change workspace layout when trying to split it
9 years ago
Taiyu
57c28f96fd
split workspace bug
9 years ago
Taiyu
0a205776d7
small change
9 years ago
Taiyu
ad21281540
style, spelling
9 years ago
Taiyu
5df5b00989
moved signal handling to main
9 years ago
Taiyu
f798e9bb0b
moved fd modifying stuff to log.c
9 years ago
Taiyu
ac1c2d31bf
no more output from programs called with exec, fixed focus return values
9 years ago
Taiyu
dc9efcd79f
better error handling
9 years ago
Taiyu
65406cb61b
safer forking, reduce duplicate code, cleanup zombie processes
9 years ago
Taiyu
0f387483fd
moving stuff around
9 years ago
Drew DeVault
fe9037ace3
Merge pull request #18 from taiyu-len/master
...
list_insert now works as it should
9 years ago
Taiyu
4c87498222
style
9 years ago
Drew DeVault
2839054d16
Add unnecessary log
9 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
9 years ago
Taiyu
0490988673
list_insert now works as it should
9 years ago
Taiyu
a22ba17621
added command repeat on keydown
9 years ago
Taiyu
5d5a20bf25
small fix
9 years ago
Taiyu
4e33a9b23c
define -> enum
9 years ago
Taiyu
5534edca6e
removed old code
9 years ago
Taiyu
66799480ff
removed old code
9 years ago
Taiyu
de9cec2e43
fixed bug
9 years ago
Taiyu
737a7421fd
added multikey handling for handle_key\(...\)
9 years ago
Drew DeVault
96d7ff1e19
Slightly better multihead support
9 years ago
Drew DeVault
dd115cece3
Prevent passing WM keys, improve multihead support
9 years ago
Taiyu
25a3aa6ed6
small change
9 years ago
Taiyu
2ac3535afe
silly mistake + style
9 years ago
Taiyu
beabb12d63
destroys empty workspace + minor bugfixes
9 years ago
Taiyu
f7cee6a1b9
fixed 'return NULL' in 'void continer_map(...)'
9 years ago
Luminarys
a386d98518
Changed cmd handlers to use bool instead of int
9 years ago
Drew DeVault
763c44fb85
Merge pull request #12 from taiyu-len/master
...
return 0 on success.
9 years ago
Taiyu
f62a700bc8
return 0 on success for cmd_fullscreen
9 years ago
Drew DeVault
c10fc5b526
Set view->visible to true when created
9 years ago
Taiyu
604be65625
make cmd_workspace return 0 on success
9 years ago
Jose Diez
8f19faf6e7
layout: fixed tabs
9 years ago
Jose Diez
d8f364a846
workspaces: follow_pointer_mouse doesn't follow hidden containers
9 years ago
Jose Diez
8cc2c6fa7a
Basic workspace functionality
9 years ago
Taiyu
820dda1be6
fixed small memory leak. v2
9 years ago
Drew DeVault
54374d81b5
Fix some errors with config loading
9 years ago
Luminarys
d570acd395
Changed cmd_reload to arrange windows post reload
9 years ago
Luminarys
88997bbfe6
Minor fix
9 years ago
Luminarys
508980e3ab
Abstracted load_config
9 years ago
Luminarys
7c02a1967b
Spaces to Tabs
9 years ago
Luminarys
68beabda03
Style fixes and slight reload command alteration
9 years ago
Luminarys
c0ee2a6406
Added in reload and exec_always handling
9 years ago
Drew DeVault
9c3a04b996
Focus unmanaged windows when created
9 years ago
Drew DeVault
06bca18a09
Fix issue with untitled windows
9 years ago
Drew DeVault
f9ae9ab6e3
Merge pull request #4 from taiyu-len/master
...
fixed focus_parent, moved into move_focus() function
9 years ago
Taiyu
f923c4e6b9
fixed style
9 years ago
Drew DeVault
c741de8ca4
Override WLC_DIM by default
9 years ago
Taiyu
b43161fd45
fixed focus_parent, moved into move_focus() function
9 years ago
Drew DeVault
6f0a1cdcd1
Or maybe do the exact opposite of that
9 years ago
Drew DeVault
f6e65b6bb2
Don't override keys if command fails
9 years ago
Drew DeVault
b49cfa0c16
Fix bug with focus parent
...
Thanks anon
9 years ago
Drew DeVault
c12d0f1a62
Finish up fullscreen command
9 years ago
Drew DeVault
0078a6fa36
Flesh out fullscreen support a bit
9 years ago
jdiez17
b922e1cb29
fullscreen: partially working
9 years ago
Drew DeVault
2b1a0728b8
Keep track of window names
9 years ago
jdiez17
56d29bbec5
log: add newline
9 years ago
Drew DeVault
8597c3c7e7
Implement focus parent
9 years ago
jdiez17
d62efd70e4
commands: re-add log_colors
9 years ago
Drew DeVault
ba14118f13
Fix focus follows mouse
9 years ago
Drew DeVault
9f091c7f82
Add movement support
9 years ago
Drew DeVault
1669da719c
Destroy containers when all views are removed
9 years ago
Drew DeVault
2231586569
Implement splith/splitv
...
Ref #2
9 years ago
jdiez17
69edcb88ea
style: More compliance
9 years ago
jdiez17
c688ff704d
log, commands: Add log_colors command
9 years ago
Drew DeVault
ec2fedf6d0
Implement layout [splith|splitv|toggle split]
9 years ago
Drew DeVault
b075b06478
Load config after xwayland is created
...
This lets us run x commands on startup
9 years ago
Drew DeVault
4924628ac2
Set DISPLAY to :1 automatically
9 years ago
Drew DeVault
ea9659f39c
Implement exec
9 years ago
Drew DeVault
bab080cea3
Fix up some issues with focus
9 years ago
Drew DeVault
f97a48d5b7
Implement focus_follows_mouse
9 years ago
Drew DeVault
086691016e
Handle unmanaged windows appropriately
9 years ago
Drew DeVault
a78b921803
Implement key bindings
9 years ago
Drew DeVault
4181c36862
Handle focus changes
...
And some simple refactoring
9 years ago
Drew DeVault
c7be30d912
Deny window resize requests
9 years ago
Drew DeVault
6066467dff
Tile some windows baby
9 years ago
Drew DeVault
148f59f3a6
Refactor in-memory tree
9 years ago
Drew DeVault
0427fddb5a
Add logging and new windows into layout tree
9 years ago
Drew DeVault
2786fa2215
Destroy outputs when appropriate
9 years ago
Drew DeVault
c102f18499
Add layout containers for new outputs
9 years ago
Drew DeVault
82bc36c681
Start to build out window management functions
9 years ago
Drew DeVault
47b28bd335
Clean up config loading and launch wayland
9 years ago
Drew DeVault
e7a8868514
Make main.c less stupid
9 years ago
Drew DeVault
a74268dfab
Add TODO so I don't forget later
9 years ago
Drew DeVault
254d0df3b2
Push the XKB key to the key list
...
Instead of the key name
9 years ago
Drew DeVault
5767dcc86e
Mostly implement bindsym command
9 years ago
Drew DeVault
d0f1fb71d1
Flesh out some command parsing
...
This implements the `set` command from i3
9 years ago
Drew DeVault
e07c77fbb7
Build out command subsystem
...
Everyone loves code stolen from your own projects
9 years ago
Drew DeVault
542ef0c777
Pull in some scas code and read i3 config file
9 years ago
Drew DeVault
6a33e1e3cd
Initial commit
9 years ago