This is for testing purposes only and I will release a “stable” version in the next 3-4 days with more themes. Actually the whole application is temporary made, till I deploy the server. When server is up, you will just download the themes you want, and not a huge bundle as now.
I can’t open the server yet ( it is pretty workable & I have a client that works with sockets), but it is a good chance to prototype the interface of the client.
Wheres the server?
We are in negotiations to sell it. I demonstrated it in an organization for startUp companies and I already have some pretty good offers. Even if I sell it, I will still make something similar. The point is that I have to wait a bit, mostly because they’re asking me to work in some parts of it.
This service can support GNOME, KDE, Ubuntu, Android.. pretty much everything. You can even change your GNOME Theme from your Android Phone, and the opposite :)
I was making an application for GNOME (which I lost in a format!), that would help users to discover various parts (app pages, git, bugzilla, docs, etc) of GNOME and I had name it GnomeFinder. My namespace was GF_, so I came with the idea of GNOME Friend, and then Girlfriend. In the memory of GF_ death, I gave this name to this one :)
It was a simple (7-8h) script, I will re-write it and I will include it in Girlfriend.
How it works
Very simple. It reads a database, and installs themes files in the appropriate paths. It will not ask you “root”, it won’t ask you install, it will not mess with your system at all.
I will add an automate installation in the next release. For now you have to do a couple of things manually.
You need GNOME Tweak Tool and to enable the user-theme extension. I also use the gtk3-widget-factory which is part of gtk-devel package ( not in all distros ), but isn’t really a requirement. You also need a GNOME 3.10 and 3.10 only. It will work in all distros.
You need to get it from Github
$ git clone https://github.com/alexis-diavatis/Girlfriend-App.git
2. Get Node-Webkit
I didn’t include it now, but I will include it on the next version and I will move “themes-bundle” in a separate repository.
Get it from: https://github.com/rogerwang/node-webkit
Download the binary of your arch (32/64) and place it inside the root of Girlfriend-App. It should looks like the following figure:
By the way I just give the bundle (app.nw) for make it easier. It is a zip file, you can unzip and get the source code.
3. Set the ILG_CLIENT_PATH Variable
Because there isn’t a 100% sure way to catch the installation path (can be different than process path), we need to create an environment variable.
$ gedit ~/.bashrc
In my case according to the above figure. Path must end with slash.
Open a new Terminal and test it.
$ echo $ILG_CLIENT_PATH
It should output
If you haven’t set the terminal as Login Shell, that might won’t work. In this case just source the file.
$ source ~/.bashrc
4. Get Node-Webkit
You can run it now. From the application root directory you can try something like
$ ./nw/nw ./app/app.nw
Of course you can make a desktop file as well and have this from Shell Overview.
Go to updates panel and click on Sync Themes.
That will copy the themes and it may take some time (5-30sec?) depending on your hardware. I will add some notification on this. From now on you can use it.
I think I know all the bugs, and I will fix them in the next 2 days. The most nasty bugs are:
Duplicate Themes in Tweak
Tweak Tool shows 2 times Girlfriend Themes. There is nothing I can do for it, but install the Themes system-wide.
To fix that, I have to either use root access, or GNOME should fix the GTK2 Theming. Probably neither will happen :)
I notice that in some case Girlfriend can give Zombie Processes. I will fix that, but it’s fine anyway, doesn’t really harm anything.
You need to file a bug only if something isn’t working. No need to request features or even debug the code, because everything is going to change.
That’s pretty much so far. If you can propose Themes in Github issues or report broken themes it will be really really great! New news, in 3-4 days!
A video from 2 days ago. A bit different than now.. but anyway ;)