Commit Graph

7405 Commits

Author SHA1 Message Date
Emmanuel Lepage Vallée ae96ed0827 Merge pull request #790 from Elv13/client_properties
Client, tag and screen API cleanup.
2016-04-11 23:58:22 -04: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 194720c821 tests: Test awesomerc keybindings 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee 5e7b1bf507 tests: Test awful.tag against regressions 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee c7fb00dd47 tests: Test awful.screen against regressions 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee f8fc0e27bf tests: Test awful.client against regressions
This make sure the property system did not introduce infinite
dependency loops.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee bfccd1c467 luaobject: Make the miss_handlers documentation private
As the code is now reliant on a single implementation, it cannot
be replaced by the users anymore without breaking Awesome.
2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee 7772386f23 tag: Add better documentation 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 643e35af22 tag: Use the new property ldoc syntax 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 fda5802498 mouse: Fix ldoc 2016-04-11 23:54:28 -04:00
Emmanuel Lepage Vallee 1bbdbc7053 screen: Add more documentation 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 5927c1ceed screen: Update the documentation 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 828543c838 gears.object.properties: Support 'obj.is_something'
Used when there a property is set by mutators instead of accessors.
2016-04-11 23:46:10 -04:00
Emmanuel Lepage Vallee 5655521ec3 client: Use the new @property and @beautiful tags.
Also improve the documentation.
2016-04-11 23:46:10 -04:00
Emmanuel Lepage Vallee e5f7a27860 documentation: Add various tags and fix section order.
Previously, the `Signals` section was shown before the `Functions`.
This was confusing and different from other framework documentation.

It partially work. Not all ldoc output display the functions at the
top, but some does. Previously, none did.

This commit also add 3 new sections:

 * property: For object properties, replacing the "fields" table
   from the current documentations.
 * deprecated: For deprecated methods
 * beautiful: For widgets theme options
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
Uli Schlachter cf9e45e5d9 Merge branch 'randr-stuff' 2016-04-10 11:46:06 +02: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
Uli Schlachter 8a63c589a6 Update root window size on RandR notify
The code that claims to do what XRRUpdateConfiguration() would do was actually
wrong. That function does not send any requests to the X11 server, but it just
updates the local, in-memory state.

This commit makes us do the same: We update the size of the root window if it
changed. The code is directly inspired from the code in libXrandr.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-09 16:06:21 +02:00
Uli Schlachter cb46a1163e Update root window size on ConfigureNotify
This commit copies part of what XRRUpdateConfiguration() would do. When the root
window is resized, we update the information that the X11 server sent to us when
we connected to it to contain the new size of the root window.

This is 50% ugly, but having our own copy of the root window size would be 51%
ugly, so it's better to write to the XCB-owned structure.

Right now this is all dead code anyway, because we restart anyway, but since the
goal is to get rid of that restart, this is a step in the right direction (e.g.
root.size() will automatically return the new size).

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-09 15:56:44 +02:00
Uli Schlachter 80a6f2f510 Clean up static variables in event_handle
This function needs the event numbers for events from some extensions. These are
assigned dynamically by the server. Right now, this is done by having a bunch of
static variables that are initialized when needed.

Refactor this to have a function event_init() instead that sets variable in
globalconf (where all of our state should be saved). Also, a preprocessor macro
is introduced to handle event dispatch which also looks a bit nicer.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-09 15:44:54 +02:00
Uli Schlachter 7863a5e65b gears.wallpaper: Use root.size()
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-09 15:19:46 +02:00
Uli Schlachter fe11c5abbf Add root.size()
This function returns the size of the root window.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-04-09 15:14:48 +02:00
Emmanuel Lepage Vallée 6e8337e26a Merge pull request #810 from Elv13/del_gears_screen
gears.screen: Merge into awful.screen
2016-04-06 23:44:44 -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 5eec87e043 Travis: move BUILD_APIDOC=true (Lua 5.2) to the beginning 2016-04-06 02:12:48 +02:00
Daniel Hahler 7116fda78d Travis: cleanup LGIVER matrix assignment 2016-04-06 02:06:35 +02:00
Daniel Hahler 7cbbfdf181 Travis: move luarocks install into single block 2016-04-06 02:06:35 +02:00
Daniel Hahler 9c76d2dbb6 Travis: build luajit from source (2.0.4 as of now) 2016-04-06 02:06:35 +02:00
Daniel Hahler b6810576b0 tests/run.sh: display number of errors [ci skip] 2016-04-06 01:54:18 +02:00
Uli Schlachter 9ea207afaa Revert "Only define screens after the config is loaded"
This reverts commit e6037b4738. It causes many
issues with non-trivial solutions that we first need to come up with. As a
middle ground, we will for now only emit signals if something changes after the
config is loaded.

See https://github.com/awesomeWM/awesome/issues/799.
2016-04-05 08:53:14 +02:00