Commit Graph
100 Commits
Author SHA1 Message Date
Guido Günther 14ffd9722d libfeedback: Allow to set important hint 2024-04-20 13:21:56 +00:00
Guido Günther e6845a52d3 feedback-manager: Use MIN()
A bit easier to read
2024-04-20 13:21:56 +00:00
Guido Günther 6a5d558a83 fbcli: Allow to override app-id
Useful for testing
2024-04-20 13:21:56 +00:00
Guido Günther 7640a73e82 data/schema: Add 'allow-override' gsetting
This allows to list apps that can override the currently
effective feedback level by setting the 'impotant' hint in
the event.
2024-04-20 13:21:56 +00:00
Guido Günther f71ece5d8b data/dbus: Document important hint
The important hint can be used by apps to override the current per app
or system wide feedback level (if the feedback server allows it).
2024-04-20 13:21:56 +00:00
Guido Günther 106663e41c data/dbus: Document current flags 2024-04-20 13:21:56 +00:00
Guido Günther d73677dfff build: Validate schema file 2024-04-20 13:21:56 +00:00
Guido Günther bf52369e68 README: Note what's the preferred way to specify a theme 2024-04-20 13:21:56 +00:00
Guido Günther 673d5df9fd packaging: Add libgirepository1.0-dev 2024-04-20 13:21:56 +00:00
Guido Günther 72ef71a01b build: Allow to use shared gmobile 2024-04-15 10:06:05 +00:00
Guido Günther 8d4fe9f902 build: Switch to gmobile 0.1.0 2024-04-15 10:06:05 +00:00
Guido Günther e656775409 Draft: ci: Add rules for format-check 2024-04-15 09:46:44 +00:00
Guido Günther 0dbbc93adc fbd-dev-led-multicolor: Make it a derivable type
This will allow hw-pattern classes to derive from it.
2024-04-09 15:43:03 +00:00
Guido Günther aa96b064b1 fbd-dev-led-multicolor: Drop unused variable 2024-04-09 15:43:03 +00:00
Guido Günther 987e6371f9 fbd-dev-led-multicolor: Fix indentation 2024-04-09 15:43:03 +00:00
Guido Günther 8020ccc65c ci: Run style checks on merge requests 2023-11-14 17:26:07 +01:00
Guido Günther ba4576d490 ci: Add uncrustify config and checker
Based on what we added to phoc recently
2023-11-14 17:26:07 +01:00
Guido Günther 6c9cadc009 ci: Switch to trixie 2023-11-14 17:26:07 +01:00
Guido Günther d83397279f build: Switch gmobile to 0.0.4
We switch to a wrap which helps us to avoid the submodule
2023-11-14 17:26:07 +01:00
Guido Günther fea20a73d4 packaging: Use meson's default wrap mode
ci should be allowed to download gmobile
2023-11-14 17:26:07 +01:00
Guido Günther 3b970ef34b debian: Install NEWS 2023-09-01 13:06:08 +02:00
Guido Günther 708abf1e4a debian: Fix nodoc build
Don't try to install the dev docs in that case.
2023-09-01 13:06:08 +02:00
Guido Günther b20f08c030 debian: Update from the current packaging in Debian
- Validate fbd-theme-validate
- Add Build-dep to symbols file
- Add doc-base registration
- Use dh_installman to fix nodoc build
- Update debian/copyright
- Improve Recommends: and multi arch annotations
- Add lintian overrides
2023-09-01 13:06:08 +02:00
Guido Günther 48b5ca547f manpages: Fix whatis entry 2023-09-01 13:06:08 +02:00
Guido Günther 93dab70f24 manpages: Improve references 2023-09-01 13:00:49 +02:00
Guido Günther b96a25394b feedback-themes: Improve wording 2023-09-01 13:00:49 +02:00
Guido Günther 5f9d576de8 gitignore gir package 2023-09-01 13:00:48 +02:00
Guido Günther 7521e5b5db NEWS: Add missing contributors for 0.2.1 2023-09-01 13:00:47 +02:00
Guido Günther 9316426225 Document changes and release 0.2.1 2023-08-29 18:32:34 +02:00
Guido Günther 154701fee6 doc: Add manpage for feedback themes
This should direct users to the documentation.

Prompted by https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1050762
2023-08-29 12:19:54 +02:00
Guido Günther 2ca7a329b7 doc: Better cross reference manpages 2023-08-29 12:14:11 +02:00
Guido Günther 65fa915184 treewide: Drop superfluous '()' after functions in doc strings
Otherwise we have that doubled in the docs
2023-08-29 12:14:11 +02:00
Guido Günther fd28bfd78e event: Fix doc link 2023-08-29 12:14:11 +02:00
Guido Günther b3758dee3d Update NEWS 2023-04-24 10:54:44 +02:00
Guido Günther 8d4b1a09ab Document changes and release 0.2.0 2023-04-17 13:33:08 +02:00
Guido Günther 08ee0daa12 debian/symbols: Update with new API 2023-04-17 13:32:21 +02:00
Guido Günther f9aae0b689 build: Bump version to 0.2.0
We have a slight api change
2023-04-17 13:32:21 +02:00
Guido Günther 2de190fb09 lfb-event: Add getter and setter for app-id
For applications this is figured out automatically but notification
daemons and portal implementations might want to override it to have the
per-app feedback profile picked up automatically.
2023-04-17 13:32:21 +02:00
Guido Günther a58b47e1eb tests: Get properties all at once 2023-04-17 12:21:06 +02:00
Guido Günther 1a5cd090de lfb-event: Avoid allocation when getting profile
We can return the const *. This makes it consistent with other getters.

This is an API change we didn't find any users and the API is declared
unstable.
2023-04-17 12:21:06 +02:00
Guido Günther 31a592e18e debian/symbols: Bump all symbol dependencies to 0.1.1
We want to make sure apps run against a recent version even on
partial upgrades.
2023-04-17 12:21:06 +02:00
Guido Günther 40e1c58de1 Document changes and release 0.1.1 2023-03-23 10:38:30 +01:00
Guido Günther f9c65381db tests/profile: Don't leak json node 2023-03-13 15:26:20 +01:00
Guido Günther 3d7c4b376a feedback-theme: Don't leak parent name 2023-03-13 15:26:18 +01:00
Guido Günther 7becab3346 feedback-theme: Don't leak json array when serializing profile
json_array_add_element doesn't transfer ownership.
2023-03-13 15:26:15 +01:00
Guido Günther 5206c3aae5 feedback-profile: Don't leak json array when serializing profile
json_array_add_element doesn't transfer ownership
2023-03-13 15:26:10 +01:00
Guido Günther 1933a23172 tests: Don't leak profiles and test that
We finalize the theme first so the last reference is dropped when
finalizing the profiles.
2023-03-13 15:26:07 +01:00
Guido Günther 460985cfa0 tests: Don't leak json string 2023-03-13 15:26:04 +01:00
Guido Günther 03b0f4c2aa fbd-event: Make sure we iterate the list safely
When all feedbacks are done the event signals "feedbacks-ended" which
lets the manager dispose the feedback. When all feedbacks end instantly
and synchronously (as is the case with the dummy feedback) this triggers
the disposal of the event within the loop leading to a crash.

Make sure the object doesn't go away be referencing it during the loop
iteration.

We didn't see this before as glib's slice allocator for lists papered
over this for us.

Closes: https://source.puri.sm/Librem5/feedbackd/-/issues/69
2023-03-13 15:25:41 +01:00
Guido Günther 64076e5ad0 fbd-event: Simplify
Gbp-Dch: Ignore
2023-03-13 15:25:37 +01:00
Guido Günther 847c21d78e build: Avoid meson deprecation warning 2023-03-13 15:25:31 +01:00
Guido Günther f50db727a1 Document changes and release 0.1.0 2023-02-25 14:07:09 +01:00
Guido Günther b76e7f775f d/gbp.conf: Be less strict when matching the meson version field 2023-02-25 14:04:09 +01:00
Guido Günther 995d21b587 fbd-dev-led: Move multicolor handling to separate class
Everything related to multicolor moves into the new class and we add the
necessary getters and setters so derived classes can access the parent
classes attributes where needed.
2023-02-10 15:15:12 +00:00
Guido Günther ca712e9a32 fbd-dev-led: Add class methods so derived classes can override functionality 2023-02-10 15:15:12 +00:00
Guido Günther ac0516329c fbd-dev-led: Use GInitable
Use default GObject patterns instead of stuffing things into the
fbd_dev_led_new () so derived classes can override it.
2023-02-10 15:15:12 +00:00
Guido Günther f7ec08497e fbd-dev-led: Turn into a GObject
This is just the minimal changes to switch to a derivable GObject
2023-02-10 15:15:12 +00:00
Guido Günther f17ca72c1b fbd-dev-led: Make structure opaque
This will allow us to turn it into a GObject
2023-02-10 15:15:12 +00:00
Guido Günther 5d8b2e5fe4 fbd-dev-led: Allow to lookup color
This allows us to make the led structure into an opaque in
the next commit
2023-02-10 15:15:12 +00:00
Guido Günther 8ad1c43ff1 fbd-dev-leds: Move pattern trigger into fbd-dev-led 2023-02-10 15:15:12 +00:00
Guido Günther fd852c6f69 fbd-dev-leds: Move led creation into fbd-dev-led
This will allow us to separate the different led types
2023-02-10 15:15:12 +00:00
Guido Günther 5fc0372b45 Move LED device to separate file
We separate out the led as different LED types have different
ways to set patterns, etc
2023-02-10 15:15:12 +00:00
Guido Günther 253d178cfc fbd-dev-leds: Use gi-docgen compatible format
We don't document the server classes via gi-docgen atm but
as we use it for the lib update classes we touch.
2023-02-10 15:15:12 +00:00
Guido Günther 1013974958 theme: Fix some indentation 2023-02-10 15:15:12 +00:00
Guido Günther 4ea946b059 debian: Drop obsolete conf file
As this is now handled via udev's kmod builtin we can drop this.
2023-02-09 13:56:08 +01:00
Guido Günther 45bc7bc417 Document changes and release 0.0.3 2023-02-02 13:49:09 +01:00
Guido Günther 4822be0f7c Update to gmobile 0.0.1
Adjust to the one API change. We do it all in one commit to keep
bisectability. We use a slightly newer commit than 0.0.1 to include
build fixes for older glib (as required on PureOS Byzantium).
2023-02-02 13:04:48 +01:00
Guido Günther 769fda1c68 ci: Update submodule strategy 2023-02-02 13:04:48 +01:00
Guido Günther 88cc9a2d54 libfeedback: Fix link to specs
Since we now have them as part of the API docs we can avoid any
remote URLs
2023-01-06 15:04:29 +00:00
Guido Günther ae85ac15d5 doc: Fix link to spec in manpage 2023-01-06 15:04:29 +00:00
Guido Günther d7eed4fd52 lfb-event: Fix docstring
This allows gi-docgen to pick it up
2023-01-06 15:04:29 +00:00
Guido Günther 0d50276f94 feedback-theme: Add screen-shot event
Used to indicate that a screen shot is being taken.
2023-01-02 11:45:11 +01:00
Guido Günther b09f37b065 event-naming-spec: Separate application and system events
Make it obvious which events are meant to be used by "normal" GUI
applications in contrast to system components like desktop shells or
components monitoring the battery, etc.

This was prompted by
https://github.com/flatpak/xdg-desktop-portal/issues/929
2023-01-02 11:39:27 +01:00
Guido Günther b10e699efa build: Add dbus sources to the lib dependency
Otherwise we might fail to generate it for the executables
2022-12-15 17:54:08 +01:00
Guido Günther 42e9f38cc5 Add NEWS file 2022-12-15 11:52:25 +01:00
Guido Günther 089769bbcb d/gbp.conf: Bump meson version automatically 2022-12-15 11:29:03 +01:00
Guido Günther 0e98a51a5d Document changes and release 0.0.2 2022-12-15 11:29:03 +01:00
Guido Günther c26eaa88b7 d/rules: Don't build tests with nocheck 2022-12-15 10:11:05 +00:00
Guido Günther f2d02050d1 d/rules: Fix nodoc build profile usage
We were checking for the wrong option
2022-12-15 10:11:05 +00:00
Guido Günther 49f697b232 doc: Add manual page for fbd-theme-validate 2022-12-13 13:47:18 +01:00
Guido Günther 584d4ddb6f doc: Convert manpages to rst
This will make it more fun to add details and more manpages.
2022-12-13 13:47:18 +01:00
Guido Günther 2e7483c775 ci: Use bookworm image for package build too
No need to fight against old glib and friends in PureOS
2022-12-13 13:47:18 +01:00
Guido Günther b64ce1290c Add theme validator
Recursively loads a given theme file.
2022-12-12 16:13:38 +01:00
Guido Günther ef5dd5abca theme-expander: Also log initial theme file 2022-12-12 16:13:38 +01:00
Guido Günther 9e13793bbe tests: Help old glib on PureOS along 2022-12-11 17:34:38 +01:00
Guido Günther 9824d1cfc6 README: Document custom themes 2022-12-11 17:34:38 +01:00
Guido Günther 83091be25d feedback-manager: Handle theme gsetting
Update the theme when the gsetting changes
2022-12-11 17:34:38 +01:00
Guido Günther f5757045aa manager: Don't load theme in constructor
Loading the theme can trigger calls to
fbd_feedback_manager_get_default() which then results in an endless look
as the object isn't fully initialized in constructed. Instead do
the setup in main() which has the advantage that the manager's life
cycle becomes more obvious too.
2022-12-11 17:34:38 +01:00
Guido Günther c3beac7d41 data: Allow to set feedback theme 2022-12-11 17:34:38 +01:00
Guido Günther a75cdbbc59 theme-expander: Allow to set the theme to expand 2022-12-11 17:34:38 +01:00
Guido Günther 242519498a Recursively load themes
Themes (other than the default theme) can specify a `parent-name` in the
json file. This theme will be used as a base for the theme. Events and
profiles of the children override those in the parents.

For this we move the lookup code into it's separate class and also add
tests.

Closes: #38
2022-12-11 17:34:38 +01:00
Guido Günther 34f8733b2b build: Don't include main in lib
For that move the error quark to a separate file.
2022-12-08 10:05:47 +01:00
Guido Günther ba91939c85 Add gmobile library 2022-12-08 10:05:47 +01:00
Guido Günther 4c75f42c7e ci: Install git
Needed for the submodule
2022-12-08 10:05:47 +01:00
Guido Günther ada82a0ed1 feedback-theme: Allow to get and set parent theme name
If set the parent theme's feedbackd and profiles should be merged into
this theme.
2022-12-08 10:05:47 +01:00
Guido Günther e10b2cc150 feedback-theme: Allow to update theme
New profiles are added, existing profiles updated. This will
allow to merge themes.
2022-12-08 10:05:47 +01:00
Guido Günther d7f97dca51 feedback-profile: Allow to update profiles
Allow to add feedbacks from a profile to another one
2022-12-08 10:05:47 +01:00
Guido Günther 29bbe38fb3 feedback-dummy: Add getter for duration
Useful in tests
2022-12-08 10:05:47 +01:00
Guido Günther 53677e29ef feedback-profile: Document hash types 2022-12-08 10:05:47 +01:00
Guido Günther 82a8b91096 feedback-theme: Allow to set name 2022-12-08 10:05:47 +01:00