Commit graph

1696 commits

Author SHA1 Message Date
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
2016-01-08 03:03:55 +01:00
Mikkel Oscar Lyderik 32cd3f70eb Add function for duplication a sway_binding 2016-01-08 03:03:55 +01:00
Mikkel Oscar Lyderik dffacea831 Add function for getting list of modifier names.
Get an array of modifier names from modifier masks.
2016-01-08 03:03:40 +01:00
Drew DeVault 320c2915b0 Merge pull request #439 from mikkeloscar/bindsym-release
Implement bindsym --release
2016-01-07 16:38:33 -05:00
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.
2016-01-07 21:43:00 +01:00
Drew DeVault 8f5de70c93 Merge pull request #434 from mikkeloscar/detect-modifier
Send IPC modifier event on bar_modifier up/down
2016-01-06 07:26:54 -05:00
Mikkel Oscar Lyderik 18f8185011 Fix whitespaces in cmake config 2016-01-05 23:53:37 +01:00
Mikkel Oscar Lyderik 9186455a3c Merge branch 'master' of github.com:SirCmpwn/sway 2016-01-05 23:44:03 +01:00
Mikkel Oscar Lyderik 364e37a1eb Fix whitespace issues. 2016-01-05 23:42:40 +01:00
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`.
2016-01-05 23:18:59 +01:00
Drew DeVault e700e76d84 Merge pull request #436 from Kaligule/master
Clearer order of locations searched for config file.
2016-01-05 16:17:11 -05:00
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.
2016-01-05 22:06:02 +01:00
Mikkel Oscar Lyderik 2e0ef533f2 Init layout before checking config 2016-01-05 19:16:46 +01:00
Mikkel Oscar Lyderik a8402035e9 Add modifier key to bar_config json 2016-01-05 18:36:26 +01:00
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.
2016-01-05 18:36:24 +01:00
Drew DeVault caaff5ac54 Revert "Free wordexp_t in config.c:get_config_path"
This reverts commit 33b24736c7.
2016-01-04 23:00:56 -05:00
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"
    }
2016-01-05 02:25:56 +01:00
Drew DeVault 33b24736c7 Free wordexp_t in config.c:get_config_path
Thanks @jollywho
2016-01-04 19:39:33 -05:00
Mikkel Oscar Lyderik 5af4e747d3 Merge pull request #433 from crondog/issue431
Return focus to fullscreen view
2016-01-05 01:14:28 +01:00
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
2016-01-05 10:55:29 +11:00
Mikkel Oscar Lyderik 7727c9efbc Detect bar modifier pressed/released 2016-01-05 00:49:44 +01:00
Drew DeVault f9b92783c5 Merge pull request #432 from mikkeloscar/fix-sway-multikey
Fix overwriting current pressed keys.
2016-01-04 17:57:04 -05:00
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`.
2016-01-04 23:26:40 +01:00
Drew DeVault 27ab7d8982 Merge pull request #430 from crondog/swaybarlog
swaybar: fix logging
2016-01-03 22:55:43 -05:00
crondog 7f7e06d4c9 swaybar: fix logging
Optionally turn on debugging in swaybar. I acidentally introduced
persistent logging in a previous commit
2016-01-04 11:22:20 +11:00
Drew DeVault 7d5ef6bc84 Merge pull request #429 from mikkeloscar/bar-workspace-buttons
swaybar: Implement workspace_buttons yes|no
2016-01-03 16:46:18 -05:00
Mikkel Oscar Lyderik 576181ec09 swaybar: Implement workspace_buttons yes|no 2016-01-03 22:40:43 +01:00
Drew DeVault 2c12175672 Merge pull request #428 from mikkeloscar/bar-mode-indicator
swaybar: Implement binding_mode_indicator
2016-01-03 16:24:06 -05:00
Mikkel Oscar Lyderik aa2f754c64 swaybar: Implement binding_mode_indicator 2016-01-03 22:16:36 +01:00
Drew DeVault f2d519d0ba Merge pull request #427 from mikkeloscar/ipc-update
Refactor IPC server/client
2016-01-03 15:37:35 -05:00
Mikkel Oscar Lyderik 7298a9c67a Add type to returned response.
Makes `ipc_recv_response` return a struct with size, type and payload
rather than just the payload string.

This is useful if the type has to be checked on the client.
2016-01-03 20:40:50 +01:00
Mikkel Oscar Lyderik 19833fbc8b Add IPC event types
Adds custom IPC_EVENT_* types
2016-01-03 20:37:10 +01:00
Mikkel Oscar Lyderik a20226772e swaybar: rename ipc_listen_sock.. to ipc_event_sock.. 2016-01-03 18:52:53 +01:00
Drew DeVault 22592505b1 Merge pull request #425 from mikkeloscar/bar-strip-ws-num
Only strip when starting with a num
2016-01-03 11:50:34 -05:00
Mikkel Oscar Lyderik c2f3530fab Only strip when starting with a num
This makes sure the `:` isn't striped if you have a workspace named:
`:something`.
2016-01-03 17:48:47 +01:00
Drew DeVault f828065a54 Merge pull request #424 from mikkeloscar/bar-strip-ws-num
swaybar: Implement strip_workspace_numbers
2016-01-03 11:44:00 -05:00
Mikkel Oscar Lyderik ccdcdc3396 swaybar: Implement strip_workspace_numbers 2016-01-03 17:37:32 +01:00
Drew DeVault f69d765bbe Merge pull request #421 from crondog/splittoggle
split toggle
2015-12-30 20:34:04 -05:00
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
2015-12-31 11:14:06 +11:00
Drew DeVault b5a21a08c7 Merge pull request #419 from crondog/fullscreen
Dont try and fullscreen a workspace with no views
2015-12-29 22:19:28 -05:00
crondog 596c4d9428 Dont try and fullscreen a workspace with no views
Found this completely by accident
2015-12-30 13:50:50 +11:00
Drew DeVault 1f4a590c18 Merge pull request #417 from mikkeloscar/remove-log-line
saybar: remove stray logline
2015-12-29 08:22:39 -05:00
Drew DeVault 5292860b92 Merge pull request #418 from mikkeloscar/sway-handle-sigterm
Handle SIGTERM sent to sway
2015-12-29 08:22:32 -05:00
Mikkel Oscar Lyderik 16b8c2e915 Handle SIGTERM sent to sway
This makes sway handle and gracefully shut down everything when
receiving a SIGTERM.

Fix #416
2015-12-29 13:03:53 +01:00
Mikkel Oscar Lyderik 14dd358a55 saybar: remove stray logline 2015-12-29 12:01:26 +01:00
Drew DeVault d409620a55 Fix use-after-free when closing fullscreen views 2015-12-29 00:04:12 -05:00
Drew DeVault cf14f37ee2 Add bar to default config
Using somewhat saner colors than the i3 default
2015-12-28 21:39:16 -05:00
Drew DeVault 5060c72a54 Add default wallpaper
Closes #238
2015-12-28 21:32:22 -05:00
Drew DeVault 631f7e8500 Merge pull request #415 from mikkeloscar/bar-separator
swaybar: Add support for custom separator symbol
2015-12-28 17:02:05 -05:00
Mikkel Oscar Lyderik d72be6c0d5 swaybar: Add support for custom separator symbol 2015-12-28 22:45:13 +01:00