Commit graph

2585 commits

Author SHA1 Message Date
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
Drew DeVault e363546b69 Merge pull request #414 from sce/fix_layout_calc
Fix layout calculations
2015-12-28 09:14:46 -05:00
S. Christoffer Eliesen b18f004210 handlers: geometry_request: Better debug output.
Previous output was confusing.
2015-12-28 14:58:17 +01:00
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.
2015-12-28 14:58:17 +01:00
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).
2015-12-28 01:14:48 +01:00
Drew DeVault 97a4f7ceac Merge pull request #409 from mikkeloscar/bar-airblade-features
swaybar: Add support for Airblade i3bar extensions
2015-12-27 11:10:41 -05:00
Drew DeVault a67832ab11 Update README 2015-12-27 11:09:28 -05:00
Drew DeVault 82aca85cf8 Merge pull request #410 from mikkeloscar/free-ipc-response
swaybar: Free unused IPC response
2015-12-27 11:06:22 -05:00
Mikkel Oscar Lyderik 8955e5f1ad swaybar: Free unused IPC response 2015-12-27 13:45:22 +01:00
Mikkel Oscar Lyderik e7aef1e23c swaybar: if-else style fixes 2015-12-27 13:26:37 +01:00
Mikkel Oscar Lyderik d21b15a4be swaybar: Add support for Airblade i3bar extensions
This extends the i3bar protocol implementation with the following
features from @Airblade/i3:

* background
* border
* border_top, border_bottom, border_left, border_right

A block will now be rendered like this:

```
(border_left + margin) + width + (margin + border_right) + sep
```

Where `border_left/border_right` and their related margin is only drawn
if the `border` is specified and the border has a width > 0 (default is
1).

`border_top` and `border_bottom` does not affect the height of the bar
(no margin is added), thus it will be drawn behind the text if it is too
big. The user should specify a bar height if more space between
top/bottom borders are required.
2015-12-27 13:18:55 +01:00
Drew DeVault 33a74bfb93 Merge pull request #408 from mikkeloscar/add-focus-sibling
Focus new sibling added to container
2015-12-25 14:52:14 -07:00