Daniel Eklöf
1cce649f06
Reduce header intra-dependencies
2019-01-13 19:42:16 +01:00
Daniel Eklöf
4a26664d8d
particles: remove config-verify.h from particle.h
2019-01-13 17:41:39 +01:00
Daniel Eklöf
07b1615a41
particles: get rid of struct particle_info
...
Since this struct only contained function pointers, make all particles
export those functions directly.
The plugin manager now defines a particle interface struct, and fills
it it by dlsym:ing the functions that used to be in particle_info.
2019-01-13 17:03:35 +01:00
Daniel Eklöf
d35695e98a
particle: we no longer count the attributes
...
Since the attribute lists are now NULL-terminated.
2019-01-13 16:50:16 +01:00
Daniel Eklöf
8dc278aaf2
config: pass a struct with inheritable values
...
For now, font and foreground color
2019-01-13 14:13:14 +01:00
Daniel Eklöf
7776135454
particles: caller of from_conf() must provide base particle instance
2019-01-13 13:25:14 +01:00
Daniel Eklöf
8bc6a0b783
oarticles: don't assume particle content is a dictionary
...
This is done by having each particle implement a top-level verifier
function.
2019-01-13 12:47:20 +01:00
Daniel Eklöf
71515e4079
config: conf_verify_dict() now assumes attr list is NULL-terminated
2019-01-13 11:37:05 +01:00
Daniel Eklöf
307a1f5ec8
particles: all particles can have a decoration
2019-01-13 11:16:52 +01:00
Daniel Eklöf
21e28315e3
particle/progress-bar: expose info through the new struct particle_info struct
2019-01-13 10:38:25 +01:00
Daniel Eklöf
c2db518a4f
particle: fix from_conf() function pointer prototype
...
and add macro for common attributes (shared by all particles)
2019-01-12 22:47:46 +01:00
Daniel Eklöf
f34a341c33
particle: add struct particle_info definition
2019-01-12 22:36:26 +01:00
Daniel Eklöf
558f75a54b
module/particle: remove cairo context from begin_expose()
2019-01-09 18:50:26 +01:00
Daniel Eklöf
22507ae26c
particle: add utility function to render a particle's decoration
2018-12-29 21:00:03 +01:00
Daniel Eklöf
5164d1d6ea
particle: add an 'on_click_template' to base constructor.
...
This is intended to be a format-like string, with the possibility to
use tag formatters.
The expanded string will later be passed to the system() call.
2018-12-29 14:36:18 +01:00
Daniel Eklöf
1cb268f2e7
exposable: define an 'on_mouse' interface function
2018-12-29 12:55:51 +01:00
Daniel Eklöf
e8d8bf70d3
exposable: add a "common" constructor and default destructor
2018-12-29 12:51:31 +01:00
Daniel Eklöf
4d173326e4
particle: remove 'parent' (it wasn't used anyway)
2018-12-29 12:49:00 +01:00
Daniel Eklöf
1427d6a98b
particle: provide a default destroy() function
...
This allows us to destroy the associated decoration.
2018-12-26 21:34:19 +01:00
Daniel Eklöf
ce68bdb59d
exposable: add a 'width' member, set (at latest) in begin_expose()
2018-12-26 16:37:11 +01:00
Daniel Eklöf
0094cc1269
config: load decorations. All particles may have one
2018-12-26 15:31:16 +01:00
Daniel Eklöf
8bf8a398b9
initial commit: wip
2018-11-17 11:30:33 +01:00