Uli Schlachter
2d511e2ab5
gears.object.properties: Implement read-only properties
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-08 20:28:31 +02:00
Uli Schlachter
cdf16d4660
awful.mouse: Implement read-only properties
...
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-08 20:28:30 +02:00
Uli Schlachter
6956b9f6fa
gears.object: Implement read-only properties
...
If a getter exists, but there is no setter, then this means that the property is
read-only.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-08 20:28:30 +02:00
Daniel Hahler
d9cd0a4f0e
Merge pull request #948 from psychon/deprecate-add-signal
...
Deprecate add_signal
2016-06-07 22:58:14 +02:00
Daniel Hahler
efb8e65b15
Merge pull request #886 from psychon/fake-screen-resize
...
Fake screen resize
2016-06-07 21:13:35 +02:00
Emmanuel Lepage Vallee
a057718d4d
mouse: Fix moving clients between screens
...
Reported on IRC. I am not sure why swap() is not enough, but the
old code removed before the mouse refactor did this, so apparently
it is necessary.
The fix has been reported to work by spyroboy on IRC, thanks!
2016-06-06 00:23:48 -04:00
Uli Schlachter
b84b03f15d
Fix client snapping ( #951 )
...
First some reminder on how client geometries works (in X11, awesome just copied
that!):
- The position (x,y) defines where the border of the client begins
- This means that the content starts at (x+border_width,y+border_width)
- However, the size is the size of the client without border
- Thus, the client covers the rectangle from (x,y) to (x+2*bw,y+2*bw)
The client snapping code got this wrong. It only deals with rectangles and thus
for things to work as expected, the width/height have to be increased by two
times the border width. When snapping a client against other visible clients,
the geometry of the client to snap against wasn't calculated correctly.
This was apparently noticed at one point and worked around by decreasing the
position by two times the border width. While this is terribly wrong, it
actually makes things work correctly when snapping to the right or bottom edge
of a client, but breaks for the other edges.
Fix this by just calculating things correctly.
This is based on a patch from jk411.
Fixes: https://github.com/awesomeWM/awesome/issues/928
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-05 22:00:11 +02:00
Max
8ff60f034f
Try menu_* colors before regular normal/focus ( #949 )
2016-06-05 17:08:43 +02:00
Uli Schlachter
0857f6f1b5
Lua: Remove calls to add_signal()
...
The requirement to call add_signal() was added to catch typos. However, this
requirement became increasingly annoying with property::<name> signals and e.g.
gears.object allowing arbitrary properties to be changed.
All of this ended up in a single commit because tests/examples fails if I first
let add_signal() emit a deprecation warning.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-04 18:23:48 +02:00
Uli Schlachter
a7f7cab564
wibox: Remember the screen that was assigned
...
If screens overlap, the wibox should still remember which of the possible
screens it is assigned to.
Signed-off-by: Uli Schlachter <psychon@znc.in>
2016-06-04 17:39:51 +02:00
Daniel Hahler
51ce375f01
tooltip: improve doc, call self.timer_function with self ( #381 )
2016-06-03 00:40:02 +02:00
Emmanuel Lepage Vallee
36bb9b4476
menu: Fix regression
...
There was already a bug, as self.active_child.visible
was used instead of self.active_child.wibox.visible
This caused some confusion that this attribute was a widget.
It wasn't.
2016-05-31 14:32:07 -04:00
Emmanuel Lepage Vallee
756862dff6
systray: Use table.crush
2016-05-30 23:12:49 -04:00
Emmanuel Lepage Vallee
cbe046b0db
progressbar: Add theme options
2016-05-30 23:10:03 -04:00
Emmanuel Lepage Vallee
7c00b2a55a
graph: Add theme options
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
f9ff2f4909
stack: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
23729b6296
flex: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
eddbbf7aca
ratio: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
0a8bc8156d
align: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
b89fbcf940
fixed: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
18500838d9
textclock: Add missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
c62ca6c665
imagebox: Enable the property system
...
And add the missing documentation
2016-05-30 23:10:02 -04:00
Emmanuel Lepage Vallee
584a48db2f
titlebar: Use _private
2016-05-30 23:09:50 -04:00
Emmanuel Lepage Vallee
5a0f7b7efe
textbox: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
ea16481228
graph: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
03e2310c54
scroll: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
4ffbff3a5f
rotate: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
bf74ca8a8c
mirror: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
8869257940
margin: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
832e9ed054
constraint: Enable the property system
...
And add the missing documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
a5edff396c
background: Add the common object documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
9630f3c3ed
widget: Move the identifier index into _private
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
fdf86ba84d
widget: Move height and width into _private
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
c0eabf9d8f
widget: Move 'visible' into _private
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
afa17fd8f9
widget: Move 'widget_buttons' into _private
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
c828e56b57
widget: Fix documentation
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
542070205f
widget: Add proper accessors for the 'opacity' property
...
To avoid collision with the property system and comply with the
API guidelines.
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
eb79b3262d
background: Enable the property system
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
c9dd32424f
doc: Fix wibox.widget.base documentation
...
It was set as `module` instead of `class` because ldoc was confused
set shown the methods as functions and functions as methods.
This commit set the explicit section so ldoc don't gress (wrongly)
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
f9e82c1f57
background: Move all private attributes into _private
...
So there is no collision when properties are enabled
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
adb2f88383
objects: Add a table for private elements
...
Provide a standardized place for them rather than having each
widgets use their own conventions.
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
efcbda0a78
widget.base: Add property support
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
a8505ed019
doc: Add an imagebox widget default screenshot
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
83a9a9e67a
doc: Add a progressbar widget default screenshot
2016-05-30 18:00:59 -04:00
Emmanuel Lepage Vallee
f29eeed82e
doc: Add a graph widget default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
ec2cfc7be2
doc: Add a textbox widget default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
ab40a342af
doc: Add a stack layout default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
163748c782
doc: Add a ratio layout default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
7fa56cb94c
doc: Add a flex layout default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
150026690c
doc: Add a fixed layout default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
5ba7af2be2
doc: Add an align layout default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
490306a5fc
shape: Add default rounded_rect radius
...
Add an arbitrary value to avoid all caller setting extra arguments.
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
47a471072a
doc: Add a `margin` default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
26cf28b23b
doc: Add a `constraint` default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
de7ae79c6c
doc: Add a `background` default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
46c83b4001
doc: Add a `mirror` default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
ab0a9a077e
doc: Add a `rotate` default screenshot
2016-05-30 18:00:58 -04:00
Emmanuel Lepage Vallee
bc2c0cfcb0
doc: Add a wibox.container.rotate example
...
Also fix the documentation
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
3c2aa09b86
doc: Document the beautiful vars used by the systray and textbox
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
9d0693ce3a
doc: Do not export draw, fit and layout methods
...
They are used internally, users should never call them.
This will make the API documentation cleaner.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
be23bf0f15
widget: Fix documentation
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
fd3e27c38b
containers: Fix documentation
...
local functions and metatable based constructors are not
documented unless an explicit @function is added.
Also add missing return values and fix formatting.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
f9c9e11d11
graph: Move to wibox.widget
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
6493cbee76
progressbar: Move to `wibox.widget`
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
ae0d306114
textclock: Move to wibox.widget
...
It doesn't depend on `awful`, so it doesn't belong in `awful`.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
44a4eca40e
doc: Port the shape images to the doc example system
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
feb3833fd1
doc: Move the background examples to the container suit
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
d85588babe
wibox: Create a container module
...
Previously, the "containers" were placed in layout or widget.
They all have similar APIs and usage, so lets bring them together.
2016-05-30 17:51:19 -04:00
Emmanuel Lepage Vallee
990beef9d0
util: Add a class deprecation function.
2016-05-30 17:51:18 -04:00
Emmanuel Lepage Vallee
3f0d218f72
util.table.crush: Optionally use rawset
2016-05-30 17:51:18 -04:00
Emmanuel Lepage Vallee
dbcb850de9
wibar: Restore previous behavior
...
The behavior was changed during the rewrite. This was a mistake
as it was assumed (wrongly) that nobody used this function with
wiboxes other than "wibars" (awful.wibox).
Fixes #917
2016-05-19 13:27:46 -04:00
Emmanuel Lepage Vallee
cc5e78ff55
wibar: Improve constructor documentation
2016-05-19 01:27:05 -04:00
Emmanuel Lepage Vallee
4d45063adb
wibox: Add constructor documentation
...
The leading point is on purpose. It work around a ldoc bug and is
already used elsewhere (like signals without a ::)
2016-05-19 01:27:05 -04:00
Emmanuel Lepage Vallee
f26fa5e099
wibox: Add more constructor arguments
...
Fixes #916
2016-05-19 01:27:05 -04:00
actionless
938de72ba7
fix(awful: wibar): visible arg was ignored
2016-05-19 00:21:22 +02:00
Emmanuel Lepage Vallée
3fd292e1ff
Merge pull request #912 from Elv13/fix_tag_delete_race
...
tag: Avoid a race condition when deleting tags.
2016-05-18 16:01:30 -04:00
Emmanuel Lepage Vallee
6e6c4c3a5d
tag: Avoid a race condition when deleting tags.
...
Since the screen removal patchset, the tags properties were
cleaned too early. This caused code connecting to "property::activated"
to be called with the tag already partially deleted. For code depending
on those properties, such as radical.impl.taglist, this caused errors.
2016-05-18 15:46:09 -04:00
Emmanuel Lepage Vallée
c1d3f291fe
Merge pull request #913 from Elv13/gear_obj_props
...
Gear.object properties
2016-05-18 15:20:43 -04:00
Emmanuel Lepage Vallee
bb5ee50de9
layoutbox: Revert 25f4f24791
...
Apparently, there is such thing as not leaking enough...
Also try to clear the widgets from mywibox. This seem to help.
Time will tell.
Fixes #914 , unfixes #808
2016-05-18 01:45:21 -04:00
Emmanuel Lepage Vallee
d6a7b6c645
object: Add a dynamic property example
2016-05-18 01:23:53 -04:00
Emmanuel Lepage Vallee
f810d78e7b
object: Add a signal example
2016-05-18 01:23:53 -04:00
Emmanuel Lepage Vallee
adebef629b
object: Add an header description
2016-05-18 01:23:53 -04:00
Emmanuel Lepage Vallee
b1c33fbd09
object: Add type information to documentation
2016-05-18 01:23:53 -04:00
Emmanuel Lepage Vallee
4b21ca9184
object: Add dynamic properties support.
...
Similar systems already exist un luaobject, wibox and the declarative
widget system. This close the gap and also bring the property based
syntax to wibox and other gears.object users.
While this need to be enabled explicitly for legacy reasons, it
doesn't break the API.
Once widespread, this implementation will replace the one found
in wibox.widget.base_widget.
2016-05-18 01:23:53 -04:00
Emmanuel Lepage Vallée
32eeaa9513
Merge pull request #878 from Elv13/geometry_overhaul_p3.02
...
Geometry overhaul part 3.02: Wibars
2016-05-16 14:13:38 -04:00
Emmanuel Lepage Vallee
11e77d5191
gears: Remove `screen`
...
It has been deprecated for a while and was never part of a release.
2016-05-16 14:03:00 -04:00
Emmanuel Lepage Vallee
aa46b96369
gears.geometry: Add area_remove
2016-05-16 14:03:00 -04:00
Emmanuel Lepage Vallee
1ce92bb550
get_rect_by_dir: Move to `gears.geometry`
...
Begin to break down `awful.util`
2016-05-16 14:03:00 -04:00
Emmanuel Lepage Vallee
1a05d53cab
screen: Use `gears.geometry`
2016-05-16 14:03:00 -04:00
Emmanuel Lepage Vallee
dd121623b5
gears.geometry: Mutualize getbycoord
2016-05-16 14:03:00 -04:00
Emmanuel Lepage Vallee
251614afff
wibox: Remove the dependency on `awful`
2016-05-16 01:18:28 -04:00
Emmanuel Lepage Vallee
9d13e08c63
gears: Add a geometry modules
...
Add an abstract geometry module to `gears`
2016-05-16 01:18:19 -04:00
Daniel Hahler
eea8de5057
Merge pull request #899 from Jajauma/naughty-action-text
...
naughty: display improvement of the notification client actions
2016-05-16 03:08:22 +02:00
Emmanuel Lepage Vallee
4b395bea81
mouse: Port wibox.move to the placement API
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
38185b161a
wibar: Add a remove function
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
dafd29f2a3
awful.wibox: Rename to awful.wibar
...
Why:
* Two different (but related) concepts had the same name
* Users were confused for years on IRC
* The wibar name was already in use in some doc to avoid confusion
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
7d390a91f1
awful.wibox: Import some wibox documentation.
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
77380eb121
wibox: Move the documentation to a shared file
...
To be re-used by wibars, tooltips and menus
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
833ad952f6
awful.wibox: Port to the placement API
2016-05-15 17:17:12 -04:00
Emmanuel Lepage Vallee
50c97ed167
placement: Add a callback to detach the placement function
2016-05-15 17:17:12 -04:00