Commit Graph

120 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallee 4095eb91a8 Move util.spawn to a new module, add ability to spawn with properties
* This commit add a new module to avoid a (4 level) loop dependency
* It is now possible to call awful.spawn() with a table of properties
* awful.rules is used to execute the rules.

* Everything is public to allow alternative workflow modules such as
    Tyrannical to use their own callback implementation.
2015-09-29 18:05:56 -04:00
Uli Schlachter a71d12f07b awful.client.cycle: Fix API docs
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-09-29 00:28:26 +02:00
Abdo Roig-Maranges 57755b3db2 Add missing hints argument in `awful.movetoscreen`
Closes https://github.com/awesomeWM/awesome/pull/441.
2015-09-11 22:30:47 +02:00
Daniel Hahler 52154d0f15 Fix client.cycle's screen param handling
Broken since fc950f6.

Closes https://github.com/awesomeWM/awesome/pull/443.
2015-09-10 20:43:52 +02:00
Daniel Hahler fbc72624d7 Activate focused client with `awful.client.movetoscreen`
The default config has this:

    awful.key({ modkey, }, "o", awful.client.movetoscreen                        ),

This moves the client to the next screen and focuses that screen.

But it does not ensure that the client is raised above any existing
windows, e.g. when moving a floating client.

This patch emits the `request::activate` signal if the client is
currently focused, but only if the screen property actually has changed.

Closes https://github.com/awesomeWM/awesome/pull/98.
2015-09-09 13:29:09 +02:00
Daniel Hahler 1aa1c8052d Add client.get_transient_for_matching and .is_transient_for 2015-08-12 14:31:16 +02:00
Abdo Roig-Maranges 3942672d31 Fix missing parenthesis to a call of screen.focused
Closes https://github.com/awesomeWM/awesome/pull/370.
2015-07-29 18:47:34 +02:00
Uli Schlachter 0713e2e50d Add a missing "_" in "__newindex"
Signed-off-by: Uli Schlachter <psychon@znc.in>
2015-07-28 21:29:05 +02:00
Daniel Hahler fc950f6921 Fixes to awful.client's lazy-loading of awful.screen
At least awful.client.getmaster was broken:

> lib/awful/client.lua:450: attempt to index global 'awful' (a nil value)

This uses a metatable to simplify handling the cyclic dependency to
`awful.screen`.

Follow-up to cbe684e (https://github.com/awesomeWM/awesome/pull/94).
Closes https://github.com/awesomeWM/awesome/pull/334.
2015-07-27 13:59:47 +02:00
Daniel Hahler 6d323e7c04 doc: distinguish between client.object and client.class
Instead of `client.client`, the client object is now referred to as
`client.object` and the client class as `client.class`.

This moves the documentation of `client.focus` to the class.

Closes https://github.com/awesomeWM/awesome/pull/349.
2015-07-26 00:45:38 +02:00
Daniel Hahler 0af7ce375a awful.client: add support for stacking order
This adds a `stacked` boolean argument to `awful.client.visible`, and
(relevant) callers of it.

This can be used with e.g. `awful.client.swap.bydirection` to swap clients
based on their stacking order.

Fixes https://github.com/awesomeWM/awesome/issues/178.
2015-07-25 18:55:36 +02:00
Daniel Hahler cbe684efd1 Add awful.screen.focused [FS#1029]
This allows to configure / override what gets considered to be the
"focused screen".

Ref: https://awesome.naquadah.org/bugs/index.php?do=details&task_id=1029

Closes https://github.com/awesomeWM/awesome/pull/94.
2015-07-21 12:51:45 +02:00
Emmanuel Lepage Vallee 18e9bfbcfa client: Do not assume the wfact exist
Since the call can now be delayed, "windowfact" may not exist yet.

Regression from 74106462ac
2015-07-14 01:39:03 -04:00
Daniel Hahler d5cf6e0272 Add client.first_tag, as a shortcut for `c:tags()[1]`
This is meant to be a faster alternative in case only the first tag is
relevant/used.

Closes https://github.com/awesomeWM/awesome/pull/294.
2015-07-14 01:20:39 +02:00
Daniel Hahler bd885f59f5 awful.client.property.set: emit property:: signals only on change
Emit "propery::" signals and call `c:set_xproperty` only if the
properties new value has changed.
2015-07-09 13:04:29 +02:00
Daniel Hahler cb7f4b06eb Use `hints` table argument with `request::activate` signal 2015-06-25 06:47:39 +02:00
Daniel Hahler 2e2d60a1f9 client.focus.byidx: handle raising in the function itself 2015-06-25 06:47:39 +02:00
Daniel Hahler ed09d8ed4f Use request::activate with raise=false instead
Ref: https://github.com/awesomeWM/awesome/pull/224#issuecomment-101790416
2015-06-25 06:47:39 +02:00
Daniel Hahler 401f21f8e2 Add request::focus signal, with ewmh.focus being the default handler
This still does `client.focus = c` by default, but allows to customize
it.

This was initially suggested in #194, but by using `request::activate`
instead, which would not be the same.  Therefore a new signal is being
used instead.

Helped-by: Samir Benmendil <samir.benmendil@gmail.com>
2015-06-25 06:47:39 +02:00
Julian Wollrath 6cc7be512c Remove the *.in from all files.
Signed-off-b: Julian Wollrath <jwollrath@web.de>
2015-06-19 22:33:32 +02:00