Emmanuel Lepage Vallee
2a8cc08ca1
awful.rules: Make adding new properties easier.
...
This commit also add a 3 step process to apply rules.
Testing showed that many rules are currently broken because
of execution races.
Create a new dynamic tag for the client.
2016-04-20 00:02:01 -04:00
Daniel Hahler
761e244b32
Handle `awful.util.deprecate('Use …')` style ( #837 )
2016-04-19 22:37:14 +02:00
Emmanuel Lepage Vallee
fe8beaeaac
placement: Fix incorect use of the border_width
...
The code and tests assumed the border was equaly applied around
the geometry while the {x,y} pair of the geometry include the
border.
2016-04-18 23:56:23 -04:00
Emmanuel Lepage Vallee
bfc8f35fb9
placement: Support composition.
...
Multiple placement function can now be daisy chained like
in gears.matrix. This is useful for building rules.
2016-04-18 23:55:52 -04:00
Emmanuel Lepage Vallee
2b5d918a8d
awful.placement: Add a memento system.
...
It is used by the ewmh methods.
2016-04-18 23:55:52 -04:00
Emmanuel Lepage Vallee
fcd320c7f6
Make awful.rules mandatory
...
There was many unfixable race conditions that could only be
solved by better integrating the request:: system and
awful.rules. This has the side effect to make rules mandatory.
2016-04-18 23:55:52 -04:00
Daniel Hahler
473df11e1f
Streamline/cleanup util.deprecate calls
2016-04-18 23:20:16 +02:00
Emmanuel Lepage Vallée
bc2ddfe82d
Merge pull request #820 from Elv13/layout_tests
...
tests: Test all client layouts
2016-04-18 04:27:11 -04:00
Emmanuel Lepage Vallee
7654abcedc
layout.tile: Avoid negative geometries
2016-04-18 04:20:23 -04:00
Emmanuel Lepage Vallee
b938a99e1e
layout: Avoid creating negative geometries when adding gaps
2016-04-18 04:20:22 -04:00
Abdo Roig-Maranges
3c3e2daeb2
fix deprecation warning
2016-04-17 16:35:08 +02:00
Uli Schlachter
79e16cf950
awful.rules.execute: Make for loop easier to read
...
Signed-off-by: Uli Schlachter <uli.schlachter@informatik.uni-oldenburg.de>
2016-04-12 09:33:39 +02:00
Uli Schlachter
fb8c70b07d
awful.rules: Fix switchtotag with tag names
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:32:32 +02:00
Uli Schlachter
65fa565cef
Update awful.rules tag-related examples
...
Fixes: https://github.com/awesomeWM/awesome/issues/799
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:31:46 +02:00
Uli Schlachter
9cc28a8da5
awful.rules: Allow specifying tags by name
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:31:46 +02:00
Uli Schlachter
7d5e80a8ee
Add awful.tag.find_by_name
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:30:52 +02:00
Uli Schlachter
53bebfde02
awful.rules: Add support for screen names
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:27:37 +02:00
Uli Schlachter
2fe9a6dfdf
awful.rules: Fix a typo in the docs
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-12 09:26:21 +02:00
Emmanuel Lepage Vallee
f9add1c49a
awful.tag: Rename nmaster to master_count
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
e8908e2c62
awful.tag: Rename mwfact to master_width_factor
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
ff9e74ac0b
awful.tag: Remove the old dynamic property system
...
It is no longer relevant.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
dd52f1ce86
awful.tag: Move functions to awful.client and screen
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
493684a5c0
awful.tag: Merge API documentation with tag
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
eb133175ba
awful.screen: Add some client getter properties
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
00d782f3d3
awful.screen: Deprecate functions, add methods
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
a4bc49b540
awful.screen: Merge screen and awful.screen API doc
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
16fe91d5f3
awful.client: Add a new section for layout related functions
...
The new stateful layout system try to avoid coupling and therefor
doesn't use these methods. It is not planned to deprecate the
stateless layout API, so these functions are just kept as-is with
the old naming convention.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
d44d83fdb6
awful.client: Refactor all marked function into a property
...
This is unused internally since Awesome 3.2. There is probably 0 users
of this left, but I don't want to break the API.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
43f1561f26
awful.client: Convert all remaining functions to methods.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee
e15fea6a46
awful.client: Use the explicit @function tag for each helpers
...
This allow them to be placed in the right category.
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
0c1e4e3a2b
awful.client: Move `urgent` in their own submodule
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
587fc1fbb4
awful.client.shape: Turn into a client submodule.
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
608f3eb7cf
awful.client: Add an is_fixed property
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
dfdb6aedf7
awful.client: Document the new signals.
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
9027cabd8c
awful.client: Move `dockable` to the property system
...
Note that the setter is no longer necessary and is implicitly
generated.
2016-04-11 23:54:27 -04:00
Emmanuel Lepage Vallee
fad55a868b
awful.client: Move the focus related methods into a submodule
2016-04-11 23:54:22 -04:00
Emmanuel Lepage Vallee
29feceb80d
documentation: Merge awful.client and client pages
...
ldoc doesn't allow to specify fields from class "A" into class "B",
so the only solution is to merge the 2.
Also, one of the most common complain on IRC since Awesome 3.0 is
that the client API doc is confusing since it is in 2 different files.
Also restore the `awful.client` doc link, point to `client`
This will avoid broken links.
2016-04-11 23:46:10 -04:00
Emmanuel Lepage Vallee
82342f055c
awful.client: Deprecate .floating.get/set
...
Begin to formalize the getter/setter syntax into a coherent one
2016-04-11 23:46:10 -04:00
Emmanuel Lepage Vallee
11f0620d7c
awful.key: Add a function to execute keybindings
2016-04-11 23:46:10 -04:00
Emmanuel Lepage Vallee
8d95610363
placement: Fix a minor issue with closest_corner
...
It was using the wrong matrix in 2x2 mode.
2016-04-10 03:27:20 -04:00
Emmanuel Lepage Vallee
8a0738a4bc
gears.screen: Merge into awful.screen
...
gears modules usually don't depend on Awesome C-API. This code has
been placed there for unclear reasons.
Also, there is ongoing work to unify each "concepts" API into one
single page. Having `gears.screen` go against this effort.
2016-04-06 23:32:44 -04:00
Daniel Hahler
742717ec22
doc: improve doc for awful.screen.focused
2016-04-04 23:49:43 +02:00
Daniel Hahler
c86c873779
minor: clarify mod-ctrl-shift-X comment; fix typo
2016-04-04 20:30:48 +02:00
Daniel Hahler
df21a85a9a
doc: fixes for spawn.with_line_callback
2016-04-04 20:30:48 +02:00
Daniel Hahler
5db280ab73
minor: doc / formatting
2016-04-04 20:30:44 +02:00
Daniel Hahler
0f615670e3
Merge pull request #787 from awesomeWM/lgi-stream-end
...
awful.spawn: Reliably detect end-of-file
2016-04-03 18:34:04 +02:00
Emmanuel Lepage Vallee
f7b5240571
awful.placement: Improve documentation
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
12c80e3977
awful.placement: Add `maximize` aliases
...
Use the same conventions as `align` and `stretch` aliases
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
7ab83afbbc
tests: Test `awful.placement.maximize`
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
59b24cbd35
awful.placement: Add a `maximize` method
...
It should eventually be re-used by ewmh.lua
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
19913ba62d
awful.placement: Add various `stretch` aliases
...
Use the same convention as `align` aliases
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
b4d2a5c541
awful.placement: Add a `stretch` method
...
This will eventually be re-used by `awful.wibox`
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
d85b7eb3e5
awful.placement: Add aliases for the `align` method
...
This re-use the `align` code for the existing `centered`,
`center_horizontal` and `center_vertical` methods. It also
add all the other edges and corners alias.
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
456f0bb70c
awful.placement: Add `align` method
...
This allow to place a client, wibox or cursor at the
edges, corners or center of the parent geometry.
This also add code from `awful.wibox` to ajust the workarea.
Future commit will use `awful.placement` to place `awful.wibox`.
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallee
5a5f0167cf
awful.placement: Add `closest_corner`
...
This commit also add many local helper functions. They will be
re-used by the next few commits.
2016-03-31 05:04:24 -04:00
Emmanuel Lepage Vallée
fdc25bbb99
Merge pull request #789 from aroig/gh/layout-names
...
fixes to keyboard layout names
2016-03-31 00:30:35 -04:00
Emmanuel Lepage Vallée
0953db56d8
Merge pull request #757 from Elv13/properties
...
C-API objects properties
2016-03-30 23:32:12 -04:00
Emmanuel Lepage Vallee
3322a17182
screen: Support property fallback
2016-03-30 23:25:44 -04:00
Emmanuel Lepage Vallee
89a1dab845
client: Support property fallback
2016-03-30 23:25:44 -04:00
Emmanuel Lepage Vallee
e0897cf170
tag: Support property fallback
2016-03-30 23:25:44 -04:00
Abdo Roig-Maranges
cb46f09361
make keyboard layout naming function easily overridable
2016-03-30 15:41:30 +02:00
Abdo Roig-Maranges
1879966556
handle layout names like us(altgr-intl)
2016-03-30 14:45:48 +02:00
Abdo Roig-Maranges
af7495de5a
fix number check for the screen argument
...
The check was not done for the elseif case, and caused a comparison
runtime error.
2016-03-29 17:03:07 +02:00
Uli Schlachter
c04718a150
Fix awful.spawn to work with more LGI versions
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-28 17:53:52 +02:00
Emmanuel Lepage Vallee
995361449a
awful.screen: Fix addition between object and number
...
Fix #784
2016-03-28 04:39:19 -04:00
Emmanuel Lepage Vallee
a3542c638a
awful.layout: Use awful.screen to compute geometry
2016-03-26 03:37:04 -04:00
Emmanuel Lepage Vallee
83df30d3a4
awful.screen.focused: Fix documentation and make more flexible.
...
Telling the user a method can be monkeypatched is **not** a good
idea.
2016-03-26 03:37:04 -04:00
Emmanuel Lepage Vallee
e66166ccee
awful.screen: Add a method to apply various paddings.
...
This avoid code duplications.
2016-03-26 03:37:04 -04:00
Emmanuel Lepage Vallee
9fd329c449
awful.screen.padding: Always return a valid table.
...
This also fix a bug when the user edit the table. In that case,
the padding was (accidentally) changed without the correct
signals.
2016-03-26 03:15:00 -04:00
Emmanuel Lepage Vallee
242652be94
awful.screen.padding: Support padding number value
2016-03-26 03:14:42 -04:00
Emmanuel Lepage Vallee
d2c5e36294
Fix a documentation typo
2016-03-23 18:12:04 -04:00
Daniel Hahler
491f17f32b
Merge pull request #732 from psychon/nicer-tooltip
...
Nicer tooltip API
2016-03-16 03:09:56 +01:00
Emmanuel Lepage Vallee
3d660ba37e
awful.tag: Add "volatile" property
...
Useful when using dynamic tags. The tags will be closed once
it is empty. This was part of Tyrannical for many years, but is
generally useful for other workflows too.
local t = awful.tag.add("my_tag",{volatile=true, screen=2})
awful.spawn("ayapp", {tag=t})
2016-03-11 01:10:13 -05:00
Daniel Hahler
c5526ca336
Merge pull request #746 from psychon/indexless-screen-iteration
...
Indexless screen iteration
2016-03-07 00:26:22 +01:00
Daniel Hahler
8966c73599
Minor doc fixes
2016-03-06 14:46:13 +01:00
Uli Schlachter
95e5bdf5d2
Use the new way to iterate over screens in Lua
...
This gets us one step closer to removing screen indices.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-06 14:05:28 +01:00
Uli Schlachter
dd78f8e6f2
Remove another useless iteration over screens
...
Any signal on a screen instance is also emitted on the screen class, so the here
can just connect to the screen class.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-06 11:38:52 +01:00
Uli Schlachter
8b65bad3fc
Remove useless iteration over screens
...
Signals on instances are also emitted on the class and thus we can just connect
to the signal on the class here.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-06 11:37:38 +01:00
Uli Schlachter
8fd801a6f4
awful.util.get_rectangle_in_direction(): Use pairs
...
This code works just fine with non-integer table keys. Also, this is used by
awful.screen.focus_bydirection() and thus will be used with screen objects
instead of screen indicies when we get rid of screen indicies.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-06 11:34:44 +01:00
Uli Schlachter
7739a6a7ed
Add a property::visible signal to tooltips
...
As requested here:
b4224a651f (commitcomment-16402861)
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-05 12:32:24 +01:00
Uli Schlachter
e347f7191c
awful.tooltip: Use metatable magic to create wiboxes lazily
...
This might make the code a bit easier to follow. Unless you want to know where
the wibox is created...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-03-05 12:31:03 +01:00
Daniel Hahler
ef19a8213a
awful.client.jumpto: un-minimize clients
...
Fixes https://github.com/awesomeWM/awesome/issues/472 .
Closes https://github.com/awesomeWM/awesome/pull/729 .
2016-03-03 22:09:10 +01:00
Daniel Hahler
68bde9d584
Merge pull request #717 from blueyed/callback-for-client.jumpto
...
Add callback support for client.jumpto
2016-03-01 23:01:32 +01:00
Emmanuel Lepage Vallée
512e966be7
Merge pull request #721 from Elv13/fix_awful_screen
...
awful.screen: Fix regression
2016-02-29 04:29:22 -05:00
Emmanuel Lepage Vallee
924e889271
awful.screen: Fix regression
2016-02-29 04:21:10 -05:00
Emmanuel Lepage Vallée
b010849c3c
Merge pull request #722 from Elv13/expose_graph
...
awful.widget.graph: Expose private data
2016-02-29 04:16:17 -05:00
Emmanuel Lepage Vallee
19f874a73f
awful.widget.graph: Expose private data
2016-02-29 03:12:08 -05:00
Emmanuel Lepage Vallee
07631ccc9a
awful.layout: Allow parameters to be called when no tags is selected
...
There seem to be a little race condition (either in my layout code or
elsewhere) when playing with multiple screens. As most properties do
not depend on the tag, there is no point in returning early anyway.
2016-02-29 02:49:20 -05:00
Daniel Hahler
0278d5f123
Add callback support for client.jumpto
...
Instead of true/false `merge` can be a callback now, which allows for
more dynamic handling of the client not being visible, e.g. moving it to
the current tag, instead of merging.
2016-02-28 22:45:15 +01:00
Daniel Hahler
9503110e44
Merge pull request #714 from psychon/tooltip-windows
...
Less tooltip windows
2016-02-28 22:21:18 +01:00
Daniel Hahler
f874b0ad2e
Merge pull request #712 from psychon/protected_calls
...
Protected calls (gears.protected_call)
2016-02-28 22:16:13 +01:00
Daniel Hahler
2bcff5af27
Merge pull request #708 from psychon/less_screen_indicies2
...
Less screen indicies
2016-02-28 22:15:37 +01:00
Daniel Hahler
b84f214144
Merge pull request #706 from psychon/maximized-workarea-changed
...
Maximized workarea changed
2016-02-28 22:09:51 +01:00
Uli Schlachter
e49b1de0b2
awful.tooltip: Some minor optimizations
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-28 15:49:50 +01:00
Uli Schlachter
b4224a651f
awful.tooltip: Create wibox lazily
...
This makes awful.tooltip create its tooltip lazily when it is first needed
instead of immediately when the tooltip is created.
Fixes: https://github.com/awesomeWM/awesome/issues/591
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-28 15:49:50 +01:00
Uli Schlachter
1578957355
awful.tooltip: Inline place() into set_geometry()
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-28 14:43:40 +01:00
Uli Schlachter
8560c6d2af
Use gears.protected_call where applicable
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-28 12:28:55 +01:00
actionless
504c105cba
feat(awful: widgets): add 'watch' widget
2016-02-28 12:11:57 +01:00
Uli Schlachter
d56b5c031b
Remove some now unnecessary uses of s.index
...
Because all our Lua code can now work with screen objects, most of the uses of
s.index that the previous patches added for reaching this goal can be removed
again.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-27 09:24:19 +01:00
Uli Schlachter
5fd47e508f
Support screen objects in awful.client
...
This commit makes the code in awful.client work with screen objects where
possible (which is not possible in awful.client.movetoscreen() because it uses
screen_idx + 1).
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-02-26 20:16:07 +01:00