- Handle lack of GSettings gracefully.
- Still requires sugar-datastore.
- Supports avoiding X11 docks/panels.
- Provides icons for Activity windows.
Try it outside Sugar. Go to an Activity directory and run 'sugar-activity'.
Tested it with Terminal, Finance, Write, Browse, Memorize under XFCE4.
Tested in Gnome under OLPC-OS.
Also works from Sugar Terminal Activity.
Does not affect regular Sugar operation.
This is patch v.2 -
Addresses most concerns:
- Removed commented code, sorry.
- Changed code to use profile.get_nickname and get_color where possible.
Couldn't the launcher just pass this info?
Maybe the launcher could set the activity root as well?
- It is intended to be usable from the command line also.
Should put sugar version in the environment
- It is intended to work even without Sugar Shell installed.
Why don't we always set the icon?
- On XO it might use some memory. I was concerned to degrade
performance.
Also, imports should be at the top of the file?
- Also a concern about performance on XO.
This way it is only loaded in this use case.
Maybe it is insignificant -moved as requested.
It would be nice if the changes to the POT for sugar-toolkit-gtk3
could be incorporated in this pull request, please.
- There were no changes to POT files as part of this patch. Maybe
it is worth translating low level command line tools, not sure.
Suggest packaged activities might also provide .desktop files.
- Intriguing but not sure within scope of this patch. You mean generate
a .desktop file automatically as an option? Sounds nice!
Suggest sugar-activity might also accept path to unpacked bundle.
- Implemented!
Sugar depended on Rainbow for clearing the activity instance/ and tmp/
directories. But Rainbow is no longer used downstream.
- remove support for Rainbow,
- avoid race when creating directories; don't check they exist before we
create.
CHANNEL_TYPE_TUBES was deprecated since telepathy-gabble 0.17.25 and
is no longer present on modern distributions. This breaks collaboration
for _all_ activities, regardless if they use tubes or not.
Therefore, check if the channel creation failed due to support and allow
channel creation process to continue.
This patch fixes collaboration for the activities that do not use tubes
channel in modern distributions, but also allow to use tubes when running
on older distributions.
Signed-off-by: Martin Abente Lahaye <tch@sugarlabs.org>
In Gtk+ 3.20, you need to use the css name to select elements,
rather than the gtype name. Therefore, these must be added.
The css name must be set before the class instances are created, as
it effects the class rather than the instance. This is why it must
be places after the class definition.
A rework of the TreeViewInvoker used by the journal and activity list.
Fixes a persistent journal entry palette that reappears in journal or
home view. https://bugs.sugarlabs.org/ticket/4918
Also fixes an over-sensitive journal icon; with the journal mostly
empty, rapidly move the mouse from the bottom of the screen into the
lowest icon and then out again. Before this patch, the palette was
shown. After this patch, the mouse must rest in the icon.
Changes made:
- override _ensure_palette_exists in parent class Invoker,
- remove reference to MouseSpeedDetector, it is no longer required,
- remove enter and leave events; they are for the TreeView as a whole,
and are not required,
- properly detect that None is returned by get_path_at_pos, when the
coordinates are outside the TreeView cells.
Not fixed:
- moving the mouse out of the journal icon invoker does not popdown the
palette, but it does when moving the mouse out of the activity icon in
the activity list; so this is a problem beyond the invoker,
Tested on Fedora 18 and Ubuntu 15.10.
Test cases:
- check a click will activate item,
- check a right-click will show palette,
- check a mouse hover will show palette,
- check a brief mouse passing will not show palette,
- check if mouse leaving palette will popdown.