A minor question I have is why "libunity" vs. "unity" is chosen in different contexts; all external references seem to have no "lib" prefix.
I haven't tested the code but it looks ok--a nitpick on naming is that the function name "update_dock_item" is not very descriptive of how it works; to me it seems like "add/increase_dock_item_count" would explain the behavior of its parameter.
A minor question I have is why "libunity" vs. "unity" is chosen in different contexts; all external references seem to have no "lib" prefix.
I haven't tested the code but it looks ok--a nitpick on naming is that the function name "update_dock_item" is not very descriptive of how it works; to me it seems like "add/increase_ dock_item_ count" would explain the behavior of its parameter.