Commit graph

255 commits

Author SHA1 Message Date
Bastien Dejean
7fa6d76fc0 Remove extra empty line 2013-12-16 12:04:00 +01:00
Bastien Dejean
1379e6fbdf Change edge position via window -e DIR ±PIXELS 2013-12-16 11:50:17 +01:00
Bastien Dejean
f3f344fccd Remove obsolete debug messages 2013-12-13 10:40:44 +01:00
Bastien Dejean
cd97a3290a Reinstate the *rule* command
External rules are truly optional. At last.
2013-12-12 14:38:48 +01:00
Bastien Dejean
f7ece4f494 Reorder desktops via monitor -o 2013-11-19 15:25:49 +01:00
Bastien Dejean
1cc2eed330 New setting: remove_disabled_monitor 2013-11-10 12:07:14 +01:00
Bastien Dejean
493eaa78aa Print status informations via control --subscribe 2013-11-07 14:28:39 +01:00
Bastien Dejean
948b8046f7 Externalize rules 2013-11-05 20:09:24 +01:00
Bastien Dejean
de281a4356 Reject unknown states in window -t ... 2013-11-03 23:15:24 +01:00
Bastien Dejean
de94ecb267 Add a floating state to desktops
Modifying the floating state of a desktop doesn't change the floating
state of the existing windows.
2013-11-03 23:01:31 +01:00
Bastien Dejean
c989aa7efc Merge translate_position and translate_client
- Expand `underlying_monitor` into `monitor_from_client` to avoid
  passing a NULL pointer to `translate_client`.
- Remove the `fit_monitor` setting (use the `--center` rule effect
  instead).
- Don't remap a window in it's last location (node invisibility would be
  the proper way to do this).
- Call `translate_client` after configure requests.
2013-10-27 11:25:34 +01:00
Bastien Dejean
b3b331a57d By default, honor EWMH focus requests 2013-10-26 17:54:44 +02:00
Bastien Dejean
ae1ed3b795 New setting: fit_monitor 2013-10-23 22:20:34 +02:00
Bastien Dejean
dc805f9a6a Consolidate fit_monitor 2013-10-20 20:33:34 +02:00
Bastien Dejean
08e1c85ce0 Remove tags
Tags should generalize desktops.

To accomplish this, the main node attributes: (type, ratio) would have
to become a dictionary: ((tf1, (type1, ratio1)), (tf2, (type2, ratio2),
...). (`tf<n>` being a tag field.).
2013-10-19 10:56:34 +02:00
Bastien Dejean
7334277454 Implement private windows 2013-10-12 21:16:51 +02:00
Bastien Dejean
abe5f8a84e Remove redundant piece of code 2013-10-11 10:14:31 +02:00
Bastien Dejean
6bc128554e Implement frames 2013-10-10 18:24:21 +02:00
Bastien Dejean
15695c066b Add copyright header 2013-10-08 21:05:56 +02:00
Bastien Dejean
759b87bb66 Add the older/newer selectors to all the objects
But also:
- Add a new modifier: `local`.
- Remove useless modifiers.
2013-10-08 17:47:00 +02:00
Bastien Dejean
ecb1b72263 Add history navigation selectors 2013-10-08 13:59:17 +02:00
Bastien Dejean
752e87b7da Enhance and clarify rule interface 2013-10-06 18:35:08 +02:00
Bastien Dejean
35e9927ed9 Make sticky windows stick to their monitor 2013-10-06 16:58:02 +02:00
Bastien Dejean
7a40791021 Provide a visible state to show and hide windows 2013-10-06 10:59:20 +02:00
Bastien Dejean
a7b42fad6e A vacant node can be visible 2013-10-06 10:20:37 +02:00
Bastien Dejean
a75979be62 Implement tags 2013-10-05 22:32:40 +02:00
Bastien Dejean
0f1316e9e9 Don't try to merge the focused monitor into itself 2013-10-02 10:14:26 +02:00
Bastien Dejean
a76c52e3d7 Rename, add or remove desktops with monitor -d 2013-10-01 23:14:57 +02:00
Bastien Dejean
2566dfccb3 Fix auto_alternate for desktop -f 2013-10-01 22:05:13 +02:00
Bastien Dejean
8f95e5102f Update node coordinates after swap/transplant 2013-10-01 20:45:27 +02:00
Bastien Dejean
ce25529e5c Implement sticky windows 2013-10-01 18:04:18 +02:00
Bastien Dejean
f2a578de2b Make the window border width a desktop setting 2013-10-01 14:15:50 +02:00
Bastien Dejean
bfded1effc History is global and stacking is independent
The last desktop and monitor are now deduced from the history.

The stacking order is now independent from the history of the focused
nodes: this prevents hacks on both sides.

All windows are now considered in the stacking algorithm: it prevents
tiled windows from one monitor to appear above the floating windows of
another monitor.

Transfered windows are stacked below the windows of the same kind.
2013-10-01 10:48:03 +02:00
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