Commit graph

322 commits

Author SHA1 Message Date
Bastien Dejean
30eb9598b8 Extract pointer functions from events.c 2013-09-25 18:00:01 +02:00
Bastien Dejean
16eae53e56 New setting: honor_ewmh_focus 2013-09-23 11:45:00 +02:00
Bastien Dejean
c026b3baa1 New setting: growth_factor 2013-09-23 10:53:21 +02:00
Bastien Dejean
70c6cada07 Make focus_follows_pointer work on empty desktops 2013-09-22 11:16:06 +02:00
Bastien Dejean
80caab4445 Make sure strings are null-terminated 2013-09-21 12:39:59 +02:00
Bastien Dejean
85f67b2164 Remove a few useless header inclusion via deheader 2013-09-19 15:38:22 +02:00
Bastien Dejean
d168e919e3 Split types.c into {monitor,desktop,history}.c 2013-09-19 15:02:49 +02:00
Bastien Dejean
5e00bfe688 Add --fullscreen and --locked to rule -a 2013-09-18 11:42:20 +02:00
Bastien Dejean
c491b21e22 Add head/tail keywords for rule removal 2013-09-17 18:17:11 +02:00
Bastien Dejean
9a0f6ba8eb Use --remove consistently 2013-09-17 17:55:37 +02:00
Bastien Dejean
cc4492d9ca Remove --float-upcoming from control
The following:
    bspc control --float-upcoming
can now be expressed as:
    bspc rule -a \* --floating --one-shot
2013-09-17 11:40:18 +02:00
Bastien Dejean
30ceb5dd71 New option for rule -a: --one-shot 2013-09-17 11:30:25 +02:00
Bastien Dejean
d174bb8db6 Remove the --padding option from monitor
*_padding settings are sufficient.
2013-09-17 11:02:52 +02:00
Bastien Dejean
9a9693545d Add new option for control: --float-upcoming 2013-09-16 13:36:52 +02:00
Bastien Dejean
c45e01f8ed Add monitor padding settings 2013-09-15 11:51:12 +02:00
Bastien Dejean
c17f9b779e New option for the rule command: --unmanage
This is useful for clients similar to Screenkey.
2013-09-13 11:57:59 +02:00
Bastien Dejean
a0b9199df5 Stack in terms of relative actions
This rewrite is based on a TODO comment for the *stack_refresh*
function of *awesome*:
    It might be worth stopping to restack everyone and only stack `c'
    relatively to the first matching in the list.

And on the concept of relative stacking (via XDG_CONFIG_WINDOW_SIBLING).

Additionally the `adaptative_raise` setting was removed because it
became obsolete when the choice was made of not raising windows when
focusing via `focus_follows_pointer`.

Windows of type *desktop* are now supported (but not managed).
2013-09-12 16:26:01 +02:00
Bastien Dejean
758f5e6392 *window_gap* is now a desktop setting
The *config* command was generalized to handle desktop and monitor
settings.
2013-09-11 21:19:59 +02:00
Bastien Dejean
c5673cd65e Add a --swap option to the desktop command 2013-09-10 11:45:46 +02:00
Bastien Dejean
f6eacc06e8 Add a --swap option to the monitor command 2013-09-09 22:27:27 +02:00
Bastien Dejean
387ece3688 Implement ICCCM's WM_TAKE_FOCUS behavior
Additionally, the `apply_shadow_property` was renamed to
`apply_floating_atom`.
2013-09-05 15:37:54 +02:00
Bastien Dejean
824ee423c9 Remove setting: wm_name
The above setting's purpose was to replace `wmname` but it appears that
it can't be done without violating the EWMH standards and creating bad
side effects.
2013-09-05 11:09:24 +02:00
Bastien Dejean
ea49ed35d7 Compute colors on the fly
When drawing window borders, we must consider the color map of the
window to compute the correct color *pixel*.
2013-09-04 21:57:26 +02:00
Bastien Dejean
e2f085815a Add index selector for desktops and monitors 2013-09-02 21:03:59 +02:00
Bastien Dejean
6cbd905520 Rotate the given edge, not the brother subtree 2013-08-28 12:56:04 +02:00
Bastien Dejean
111680a48b Add a --rotate option to the window command 2013-08-27 23:48:50 +02:00
Bastien Dejean
2cee7ad3a9 Fail when there's no edge in all cases 2013-08-10 19:37:49 +02:00
Bastien Dejean
8b48ff50a3 Add an option to rule -a: --focus 2013-08-06 11:26:51 +02:00
Bastien Dejean
e5c2c2524b Don't increment rule counter when failing 2013-07-30 09:23:18 +02:00
Bastien Dejean
7f4c33eec9 Check the number of arguments for all the messages 2013-07-30 09:12:39 +02:00
Bastien Dejean
9b7baf86a8 A random pointer is not a desktop 2013-07-27 14:48:28 +02:00
Bastien Dejean
e562c62b07 Only remove empty desktops 2013-07-24 14:30:02 +02:00
Bastien Dejean
07f9f2d6d5 Reject invalid ratios 2013-07-24 14:12:35 +02:00
Bastien Dejean
de1aa71a37 Fix potential leak and null pointer dereference 2013-07-20 21:22:26 +02:00
Bastien Dejean
e28581baf3 Show monitor padding information via query -T 2013-07-15 20:40:29 +02:00
Steven Allen
04919868b9 Eat padding arguments. 2013-07-14 16:45:13 -04:00
Bastien Dejean
74deafbf77 Remove the *_padding settings
Setting and getting the monitor padding is now handled by the `-p`
option of the monitor command.
2013-07-14 21:29:30 +02:00
Steven Allen
4783c03bd1 Don't assume command arguments. 2013-07-14 12:24:43 -04:00
Bastien Dejean
209784dfd0 Merge pull request #36 from Stebalien/fix-monitor-selection
Call `monitor_from_desc` in `monitor -f <mon>`
2013-07-13 13:31:27 -07:00
Bastien Dejean
64cde67dc2 Remove setting: focus_by_distance
The removal is motivated by the following example:

+-------+-------+
|       |       |
|       |   b   |
|       |       |
|       |_______|
|   a   |       |
|   *   |   c   |
|       |       |
|       |_______|
|       |       |
|       |   d   |
|       |       |
+-------+-------+

Bellow is a summary of the number of steps required to reach *b*, *c* and *d* with *a* as a starting point with the associated mean and variance:

focus_by_distance         steps           mean         variance
---------------------------------------------------------------
  false                   1, 2, 3           2            2/3
  true                    2, 1, 2          5/3           2/9
2013-07-13 22:23:13 +02:00
Steven Allen
a782c1e927 Call monitor_from_desc in monitor -f <mon> 2013-07-13 16:17:59 -04:00
Bastien Dejean
1f83706ab5 Don't transplant when swapping
The new syntax provides a separate transplantation option.
2013-07-13 09:40:19 +02:00
Bastien Dejean
7073f88479 Remove setting: monitor_focus_fallback
“There's only one way to do it.”

And a window selection shall always return a node.
2013-07-13 09:32:38 +02:00
Bastien Dejean
8fd8521322 Rewrite message handling
The new message syntax:
- Provides 10 commands instead of 60.
- Allows multiple actions to be applied in one call.

The client now returns an non zero exit code when a message fails.

The `is_adjacent` function now handles vacant nodes.
2013-07-12 21:52:02 +02:00
Bastien Dejean
7cb638e1d4 Follow nodes transfered via shift 2013-07-05 12:30:39 +02:00
Bastien Dejean
d7e364d183 Don't try to send/drop a NULL node 2013-07-04 12:20:40 +02:00
Bastien Dejean
16e73b6342 New setting: auto_cancel 2013-07-04 12:14:47 +02:00
Bastien Dejean
714fb8d504 Remove message: ungrab_pointer
The above message was only needed for ending the `move` pointer action
on a floating window. It rendered the `move` pointer action finicky
because the floating rectangle of the floating windows was not updated
in real time.
2013-07-04 11:04:28 +02:00
Bastien Dejean
addd537eb8 Prevent node transplantation for circulate 2013-07-02 21:33:33 +02:00
Bastien Dejean
e8b5ca6de8 Merge pull request #31 from Stebalien/arrange-after-kill
Arrange after killing a window
2013-06-30 04:56:19 -07:00