Daniel Eklöf
6bba9200cf
particles: use calloc() instead of malloc()
...
In cases where it makes sense, use calloc() instead of malloc():
* When allocating large objects with many members, many for which
NULL/0 is a good default value.
* Arrays etc where we explicitly initialize to NULL anyway.
2019-02-09 11:05:12 +01:00
Daniel Eklöf
452c4b6015
plugins: export a const function pointer interface struct
2019-01-26 18:32:04 +01:00
Daniel Eklöf
c868a4ac46
particle/list: disable debug
2019-01-15 19:15:57 +01:00
Daniel Eklöf
0d591fe5a1
allow plugins to be compiled into the f00bar main binary
2019-01-14 20:57:03 +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
74b0722d2f
particles: remove header files
2019-01-13 16:49:46 +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
47018104da
particles: compile as shared libraries (plugins)
2019-01-13 11:13:47 +01:00
Daniel Eklöf
6379b1939f
particle/list: expose info through the new struct particle_info struct
2019-01-12 22:56:00 +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
5fc29f7bbe
particles: name private structs and variables consistently
2018-12-29 20:40:25 +01:00
Daniel Eklöf
bd365405d7
particle/list: remove excessive debug output
2018-12-29 17:14:49 +01:00
Daniel Eklöf
6857b99c56
particle/list: tags_expand_template() now returns NULL if template is NULL
2018-12-29 17:11:54 +01:00
Daniel Eklöf
aee4805df8
particle/list: expand on_click handler before passing to exposable
2018-12-29 17:09:57 +01:00
Daniel Eklöf
88bcf425bf
particle/list: on_click handler
2018-12-29 16:15:37 +01:00
Daniel Eklöf
36e3bdd9fd
particle/list: override on_mouse()
...
If we have our own on_click handler, call the default
implementation. Otherwise, check which sub-particle the mouse is over,
and delegate the on_mouse() call.
2018-12-29 14:46:29 +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
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
f5123afc72
particle/list: call particle_default_destroy()
2018-12-26 21:34:53 +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
6bd698fbc8
Revert "particle/list: optionally destroy sub particles"
...
This reverts commit c5d3e934b4
.
2018-11-17 22:43:11 +01:00
Daniel Eklöf
c5d3e934b4
particle/list: optionally destroy sub particles
...
This was always done before. Now that it is optional, one can for
example generate lists dynamically, using the same set of base
particles over and over again.
2018-11-17 17:13:45 +01:00
Daniel Eklöf
8bf8a398b9
initial commit: wip
2018-11-17 11:30:33 +01:00