Great news! The sharing functionality I have been
lately working on, have been
merged into Cheese master! Now, users will be able to share pictures and videos within different technologies! This needs some improvement though.
First of all, nautilus-sendto needs a good check in the configure.ac file. We are talking here about a runtime dependency, and it would be really nice to have a hint for the user in the form of a message at configure time if nautilus-sendto is not installed on their system or they have the wrong version of it. I already tried something, but it is not completely working, and therefore had to be dropped from the patch for the merge:
# Check for nautilus-sendto runtime dependency.
NAUTILUS_SENDTO_DEP_MSG="This is a runtime dependency just needed for using the sharing functionality in Cheese."
NAUTILUS_SENDTO_REQUIRED=2.91.0
AC_PATH_PROGS([NAUTILUS_SENDTO], [nautilus-sendto], [notfound])
AS_IF([test "x$NAUTILUS_SENDTO" = "xnotfound"],
[AC_MSG_WARN([Unable to find nautilus-sendto >= $NAUTILUS_SENDTO_REQUIRED in the path. $NAUTILUS_SENDTO_DEP_MSG])],
[NAUTILUS_SENDTO_SYSTEM=`nautilus-sendto --version | $SED 's/nautilus-sendto //g'`
AS_VERSION_COMPARE([$NAUTILUS_SENDTO_SYSTEM], [$NAUTILUS_SENDTO_REQUIRED],
[NS_VERSION_COMPARE=0],
[NS_VERSION_COMPARE=1],
[NS_VERSION_COMPARE=1])
AS_IF([test $NS_VERSION_COMPARE = 0],
[AC_MSG_WARN([Unable to check the version of nautilus-sendto, it is probably too old. At least $NAUTILUS_SENDTO_REQUIRED is required. $NAUTILUS_SENDTO_DEP_MSG])])])
The problem with this solution, is that it will only work for those versions of
nautilus-sendto that include support for the
--version argument, currently just
nautilus-sendto master, since this is a
feature I also worked on during the
nautilus-sendto integration, and was merged about a week ago. This means, that old versions of
nautilus-sendto will not recognize this argument, and therefore return an error message ("
Could not parse command-line options: Unknown option --version"), that
AS_VERSION_COMPARE will use, comparing a version number with a string, instead of a version number with another version number, which will of course make the check useless. In the meantime, while I work on finding an improved solution, the user will be informed in two ways in case they hit this problem: through the UI by an insensitive '
Share' action and through the
README file.
There are other bits that also need some improvement. As I already explained
a few blog posts ago, for accomplishing this task, I used
nautilus-sendto, that internally uses
libsocialweb, which needs to have some
libsocialweb accounts first set up for working. Right now, the only way for setting those accounts up is using
Bisho, that is also giving some problems. The idea now and next challenge, is to use
GOA (GNOME Online Accounts) in libsocialweb instead, at least, and just for the moment, for the Google services, so my next tasks will be to focus on porting the current
libsocialweb YouTube service to use
GOA, and to fix all of those underlying bits that are not working correctly, to make the sharing functionality work really well!
As you can see, I do not get bored. I will be back soon with more news!