Commit graph

99 commits

Author SHA1 Message Date
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
8b48ff50a3 Add an option to rule -a: --focus 2013-08-06 11:26:51 +02:00
Bastien Dejean
3941e01076 Optimize the last selector 2013-07-19 10:45:55 +02:00
Bastien Dejean
7606b0bb72 Add new selector modifiers: urgent and nonurgent 2013-07-19 10:13:22 +02:00
Steven Allen
a61f4a32ab Add mode modifier
Allows selecting windows based on their mode (manual/automatic).  This
is useful for duplicating the old shift-can-be-transplant behavior.

    # Usage: squish DIR
    squish() {
        dir=$1
        bspc window -w ${dir}.manual || bspc window -s ${dir}
    }
2013-07-14 15:48:08 -04: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
4e4d312ba5 New option for cancel: --all 2013-06-27 19:25:55 +02:00
Bastien Dejean
a6e90f472a Make split mode and direction local 2013-06-27 17:26:52 +02:00
Bastien Dejean
d5d8805ad2 New setting: history_aware_focus 2013-06-24 16:25:50 +02:00
Bastien Dejean
962280b72d New message: send_desktop_to 2013-06-02 11:15:19 +02:00
Bastien Dejean
44534985ea Consolidate monitor disconnection handling 2013-05-31 16:10:54 +02:00
Bastien Dejean
896e220e48 New options for swap: --{keep,swap}-focus 2013-05-30 13:20:34 +02:00
Bastien Dejean
eafc112ca2 New message: biggest 2013-05-30 12:14:22 +02:00
Bastien Dejean
38b3f3531a Handle monitors via RandR 2013-05-29 08:35:13 +02:00
Bastien Dejean
82bd5644cb The birth_rotation attribute replaces birth_mode
The `birth_mode` was not sufficient for properly unrotate the brother of
a removed node. The `birth_rotation` stores the rotation applied to the
brother subtree when the node was inserted.

This should help to enforce that (L + n) - n = L in every possible
cases. Which means that adding a node and removing it should leave the
layout unchanged.
2013-05-08 14:10:53 +02:00
Bastien Dejean
a56e5ddfe6 Handle the node's birth mode consistently 2013-05-08 11:05:48 +02:00
Bastien Dejean
2b2175103c Add a few comments regarding the latest state 2013-05-07 14:29:17 +02:00
Bastien Dejean
6c7d7d9444 Stack tiling windows via focus history 2013-05-06 18:31:53 +02:00
Bastien Dejean
06065f0cf5 Merge branch 'master' into history
Conflicts:
	messages.c
	tree.c
2013-05-06 11:36:12 +02:00
Bastien Dejean
d533b704e4 New setting: split_ratio 2013-04-03 12:19:01 +02:00
Bastien Dejean
f97d35cd96 New arguments for swap: biggest and smallest 2013-04-02 15:02:45 +02:00
Bastien Dejean
b273b9c9bd New argument for the rule message: follow 2013-03-12 10:56:45 +01:00
Bastien Dejean
fbd397b986 Remove all references in history_remove 2013-03-03 12:41:29 +01:00
Bastien Dejean
409aad038f Merge branch 'master' into focus-history 2013-03-03 10:44:13 +01:00
Bastien Dejean
0f6f533a87 Unify tiled and floating pointer actions
The following 'grab_pointer' arguments are removed: 'move_tiled',
'resize_tiled'. The regular 'move' and 'resize_*' arguments shall be
used instead. The 'fence_grip' parameter is no longer meaningful and
has been removed. Moving and resizing now behaves the same for tiled and
floating windows.
2013-02-28 15:04:14 +01:00
Bastien Dejean
2d860de977 New 'grab_pointer' argument: 'resize_side'
The 'resize' argument is now called 'resize_corner'.
2013-02-28 12:27:26 +01:00
Bastien Dejean
df928c7053 New message: 'flip' 2013-02-26 12:54:01 +01:00
Bastien Dejean
7741295902 Add tiled move/resize pointer actions
New arguments for `grab_pointer`: `{move,resize}_tiled`.
New setting: `fence_grip`.
2013-02-04 14:22:41 +01:00
Bastien Dejean
890c4a1f3b Merge branch 'master' into focus-history 2013-01-19 21:45:05 +01:00
Bastien Dejean
6873053bbb New messages: 'drop_to{,monitor}'
'send_to' was broken, '--next' and '--prev' can't be options, and I
don't want to restrain the name of the desktops with 'send_to
DESKTOP_NAME|next|prev [--follow]' or handle multiple options: 'send_to
(DESKTOP_NAME|(next|prev --relative)) [--follow]' so I just created new
messages.
2013-01-13 11:10:15 +01:00
Bastien Dejean
5d3d5c5338 Don't start actions via unmanaged windows 2013-01-10 20:26:00 +01:00
Bastien Dejean
240b6798b0 New messages: '{grab,track,ungrab}_pointer' 2013-01-08 15:52:20 +01:00
Bastien Dejean
ee633beda8 Merge pull request #21 from ThomasAdam/ta/send-to-monitor
Add --next/--prev options to 'send_to_monitor'
2013-01-07 02:38:32 -08:00
Thomas Adam
b6d70deff4 Add --next/--prev options to 'send_to_monitor'
This teaches the send_to_monitor command to send a client to either the
next/prev monitor rather than having to always specify a named monitor.
Such options are useful to be able to send clients to monitors relative to
their own position.
2013-01-07 09:18:41 +00:00
Bastien Dejean
45ef3b78cc New message: 'mouse'
The code related to mouse buttons handling is gone.
Mouse bindings must now be created via sxhkd.
2013-01-06 18:04:55 +01:00
Bastien Dejean
85c2983df2 New message: 'restore' 2012-12-27 22:36:06 +01:00
Bastien Dejean
e016b801f0 Relieve tree.c from non tree related functions 2012-12-26 22:48:07 +01:00
Bastien Dejean
92c52517da More informative output for 'list*' messages
It will facilitate debugging and also provide an exhaustive
representation of the current state that might be used to reconstruct
the layout of each desktops. While doing so, it occurred to me that the
*born_as* attribute of the *node_t* structure was only used for leaves,
so I changed it into a *client_t* attribute.
2012-12-26 21:19:10 +01:00
Bastien Dejean
b693e7dda9 Cleanup before leaving 2012-12-26 14:39:46 +01:00
Bastien Dejean
6b2d8152ca New message: 'list_rules' 2012-12-25 19:03:35 +01:00
Bastien Dejean
b8bd68b533 Add '--follow' option to 'send_to*' messages 2012-12-23 13:14:33 +01:00
Bastien Dejean
171e9b382a New message: "pad" 2012-12-09 12:01:45 +01:00
Bastien Dejean
675d5aee2f New rule effect: move to the given desktop 2012-11-11 18:40:55 +01:00
Bastien Dejean
0772e7d99c Focus history: initial attempt 2012-11-04 12:27:39 +01:00
Bastien Dejean
c28eceb152 New message: 'circulate' 2012-11-01 22:47:03 +01:00
Bastien Dejean
243f1245e7 Options for 'cycle_desktop': --skip-{free,occupied} 2012-10-23 13:31:11 +02:00
Bastien Dejean
379099ee65 Fix wrong assumption regarding window id 2012-10-23 12:48:10 +02:00
Bastien Dejean
f0ab3e390e Merge branch 'develop' 2012-10-23 12:17:19 +02:00