Between Linux and Anime

Kind of like Schrodinger's Cat

Tag: Planet KDE (Page 1 of 2)

Nextcloud Plugin for QuickShare

So after a long hiatus I chose the Plasma QuickShare applet (which is sort of the Plasma5 replacement for the old Pastebin Plasmoid) as my point of re-entry into KDE code work. There was after all a deal of itches there I wanted scratched. It’s been quite a bit of fun figuring out the various interesting frameworks QuickShare is connected to at the backend. Anyways, some days ago I got a rudimentary Nextcloud plugin past review and pushed it, which should mean it’ll soon be coming to a 5.10-powered desktop near you :)

  • Let’s you upload files/text snippets/clipboard data onto your Nextcloud directly from your Plasma Desktop!
  • Uploads to the root folder by default “/”, but it’s possible to specify another folder by typing.
  • Supports all types of files/contents that the QuickShare applet currently supports, though raw clipboard data (like image data) don’t work too well because it doesn’t get the right file extension on server.
  • Automatically appends numbers to the filename to avoid overwriting an identically named file in the target location

It uses the KAccounts framework so you’ll need to create an ‘owncloud’ account in the “Online Accounts” settings module in order to use it (you can click the button on the applet to open the settings module). So far it’s been tested to work with a Nextcloud 11 instance, though it’s mostly WebDAV so it should work for previous versions as well.

Uploaded items should be private by default for now as it does not create shares out of them. This is probably what I’ll look into working on next.

If you’re not familiar with QuickShare, it’s a Plasma Applet that sits on your desktop and lets you share/move a file, or multiple files, or arbitrary clipboard contents, to various places (eg Pastebin, your mobile device via KDE Connect, Imgur, Youtube – and now Nextcloud!). You could either drag and drop the items you want shared onto the applet, or you could copy and paste.

Apart from fixing some crash situations and HiDPI hijinks with the applet, I also improved QuickShare’s keyboard navigation support, so it should be overall more friendly come 5.10. Notably, the keyboard shortcut setting actually does activate the plasmoid now, and the plugin list is now navigable with keyboard arrow keys.

To share a file from Dolphin, say, it is now possible to, with the file selected on Dolphin, ctrl+c, hit QuickShare’s keyboard shortcut binding to show the share plugin list, choose one with the keyboard arrow keys, and select by hitting enter.

Rate this post
An error occurred!

Anime and the Nepomuk Metadata Extractor

Here’s a long-procrastinated update on my endeavors re: Nepomuk and Anime, first introduced here. I mentioned then that the way forward would be to create a plugin-based framework so one could fetch anime metadata from different online sources. Well, as it turned out, I found out that Joerg’s Nepomuk Metadata Extractor can already do that, so I scurried over and grabbed the sources and did my subsequent work on top of Joerg’s program. The anime use-case is now in a fairly workable state. Basically, what the program does is it lets you manually or automatically source for meta information (series title, episode number, synopsis etc) from online sources for anime video files you have on your disk, and write all that to file as Nepomuk metadata.

Read More

Rate this post
An error occurred!

Associating Firefox Profiles with KDE Activities

As a heavy user of the Activities feature, I’ve always had two major itches. One was addressed when KDE 4.9 finally brought the ability to set activity window rules. The other was how only some applications had the necessary (XSMP) compliance to work properly with activities and its session restoring – in particular, a lack of compliant web browsers.

Read More

Rate this post
An error occurred!

K4DirStat – KDirStat has a platform 4 port!

Interestingly enough, in the wake of the recent spark of talk on “missing” KDE 3 apps that never made it to platform 4, I’ve discovered that an app I had always assumed was “missing” (or at least late-to-the-party-and-we’re-still-waiting) is in fact, not. Well, not really.

KDirStat is this really great disk usage analyser that I’ve used all the way since I was on Gnome in my early Linux days. An extremely handy utility for figuring out what is using how much of your disk during hard disk spring cleaning operations, and one that is so good at its job that I haven’t been able to find a replacement. And it’s a KDE 3 app. One of those awesome KDE 3 apps (actually, by now, the only one remaining) that I use and still use even though I have never run KDE 3 (and even though KDE 3 apps look even worse than gtk apps on the Plasma Desktop these days). So imagine my surprise when I discovered that KDirStat, in spite of its “in progress” status in the KDE 3 Application Porting Status page, actually has a KDE platform 4 port called K4DirStat:

And indeed not one that is buried in the danger-fraught lands of developer previews, but one that has apparently been packaged and released by Fedora since Fedora 13, which likely means it does not in fact eat babies and is deemed suitable for general consumption.

The catch, of course, is that it is only currently packaged for Fedora, to the best of my knowledge.

A shame really! It’d be great to get this reviewed and eventually integrated into upstream KDE, since it doesn’t look like the original developers or anyone else is presently working on a port (are they?). This doesn’t look like it’s gonna happen anytime soon though, considering it hasn’t happened in the whole year since the port became available, and considering how the last post on the author’s blog is dated early August last year. I wonder how much of the KDE community is even aware that this port exists. That last at least should hopefully be fixed now :P

Well, some voices and hands will probably be needed to make things happen. Of course, those voices and hands could be mine, but I’m a little tied down at the moment. We’ll see =/

Oh, in the meantime interested users on non-Fedora platforms can just build it on your own. Quoting instructions from the author’s blog:

The source is being tracked with git. You can get an up-to-date copy with the command

git clone

To install, simply run:

cd kdirstat
mkdir build
cd build
cmake ..
sudo make install

OpenSUSE users can also add this repo to install it via Yast.

Rate this post
An error occurred!

The Rise of Plasma Activities and What it can do for You

So having been kept away from KDE-land for some while, I innocently but excitedly pushed the upgrade button when I saw that 4.6 was out, and ran immediately smack into the huge forward leap that plasma activities has made this release. I have always been a big fan of activities and this is really exciting stuff for me, so I made a quick visit down to Chani’s blog for a quick-tour of what’s new and what’s good, but while I personally found her screencasts illuminating, a quick skim through the blog comments quickly revealed that many people remain more perplexed about activities than ever.

I’m gonna spend some hours on the keyboard here and see if I can fix some of that :)

Read More

Rate this post
An error occurred!

Hiding Kate Session Applet Items

I put my Kate Session Applets at the corners of my programming-related activities, and they are usually little. So it always annoyed me that the three default items that I cared little about were at the top and had to stay at the top, forcing me to scroll to load the kate sessions I’m actually regularly interested in.

Well, I recently scratched that itch:

All items in the applet, including the default three, can now be hidden by unchecking it in the new configuration interface. And what’s more, different applet instances can hide and show different items too.

Rate this post
An error occurred!

GSoC wrapup for Plasma Mobile System Tray

I know the pencils down was a week (plus?) ago, but I did a fresh upgrade of my system (to OpenSUSE 11.3, then to KDE SC 4.5.0) and then realized to my horror that there was obviously no way I could make a screencast or even take screenshots for this post until I’ve rebuilt trunk and plasma-mobile. So I frantically spent the past week doing exactly that, and now without further ado, the screencast:

OGG here

My trunk kdebase is still a little screwy at the moment, in case you noticed the extreme ugliness of that context menu there. Also, somehow the sizing and position of the icons have gone a little off between the end of GSoC and now (Damn).

Anyway as you can see, nothing much has changed in the high-level ideas of the system tray I described in my previous post. Most of the work I put in since the mid-term had been in the way of improving the implementation strategy – cutting most of the harder ties between the system tray and the mobile shell, and getting the system tray to update its behavior based on loose events like resizing instead of specific events like Qt signals. All this of course to fit into the Plasma philosophy of creating loosely coupled independent parts – so that for instance we could put in a replacement tray without needing to change the shell code – since the shell only knows it is given a containment that it needs to resize – and we could also easily put my systray elsewhere as long as it knows to resize the tray the right way.

There is also of course noticeable change in the look and feel. The tray containment paints its own background now, and the icons now resize along with the containment instead of disappearing and reappearing at the ends of the animation – so that we don’t need extra signals to indicate when those ends occur. I’ve also thrown a couple of “fake” plasmoids in – a fake battery indicator and a fake service signal indicator – since both of these things apparently require hardware-specific treatment. Unlike the desktop system tray, the mobile version only supports the plasmoid and dbus system tray protocols – xembed isn’t supported. Iirc those aren’t resizable anyway :)

It’s been fun. I have always loved Plasma for the sheer sensibility and elegance of its software architecture, and its really nice to be given a chance to gain a deeper understanding of it and experience it for myself. It was also great to be forced to crunch through a bunch of documentation for all kinds of QGraphicsObject derivatives – and have a brief tantalizing tango with QML while I was at it. It was a great GSoC, and I’d like to thank my mentor Alexis and the ever helpful (some say omnipotent) Marco for making this possible for me.

Oh, and I plan to be hanging around of course. I forsee my school final year project crashing down on me tsunami-style very soon, but I still hope to get a couple of things done before 4.6 gets out. Will blog about those when the time comes ;)

Rate this post
An error occurred!

GSoC Mobile Systemtray Update

Had been holding off posting on this until I have something reasonably pretty to show for it, but damn, said pretty thing sure took its time. Anyway, GSoC mid-term evaluations just ended, and I finally managed to hack up something that looks somewhat presentable. Here’s a short screencast of it.

EDIT: Oops forgot the ogg here

Some key ideas of the current implementation:

  • The tray lives in it’s own containment separate from the main activities/launchers.
  • There is a passive “shrunken” form and an active “enlarged” form.
  • The passive form is not interactive and click/tapping it simply switches it to the active form (with a simple QML animation thrown in). It shows a number of defined “always-show” applets and a limited number of the other applets, prioritized by recent activity.
  • The active form shows all available applets in large, finger-friendly sizes, and is scrollable in case it doesn’t fit the screen (hello Plasma::ScrollWidget!). It behaves more or less like one would expect a systray to behave.

Not a lot to show for one month plus worth of development I admit :( This is actually my third implementation attempt. In the first attempt there were two “trays” – one small and one large, and taking hints from the comic plasmoid, I put the large one on a full-screen transparent QGraphicsView which covers the small one when activated – but this isn’t nice since it, in notmart’s words, relies on compositing being available to not look like crap. So the second implementation gets rid of the QGraphicsView and instead positions the large tray relative to the parent containment, but then there was another problem: we can only have one set of plasmoid applets running to save memory, and there was no way to display one set of applets in two trays. So I gutted the thing again and did this third attempt where there is only one tray which shrinks and expands accordingly… and that’s what you see in the screencast :)

This is far from finished of course – if nothing else that “cancel” button probably doesn’t quite belong there :P Iirc I should also be thinking about doing notifications for my GSoC, so there’s plenty more to do for the rest of the GSoC period. Fun stuff. Alright, think it’s time I wrapped this post up and go clean up my code and commit it – and pray I don’t get torn to bits by darktears and notmart for some terrible mistake or design flaw I made :)

Rate this post
An error occurred!

Loser no more!

And here’s a dramatic turnaround from the solemn nature of my previous post. *Ahem* excuse me while I get this one out of my system…


My Summer of Code application this year made it! Exultation! All the more sweet after the vivid bitterness of last year’s failure. So I shall be working this summer towards the conceptualization and creation of a sensible system tray for Plasma Mobile, and the excitement I feel, at being allowed the chance of contributing to the ongoing work to bring KDE to the mobile space, could hardly be overstated. Needless to say, this will be an awesome summer for me :)

Another cool fact: all the (other two) Plasmaters also landed their respective projects this year. Congratz guys! (Yes I spontaneously coined the term “Plasmaters”. I think I like it though)

And a final not so cool fact: Plasmate has been piling dusts of neglect ever since school started going crazy on me. Apparently the others have been busy too – I just went and did an update but it didn’t pull any changes. So much for a beta in April. I guess Plasmate’s gonna need a little summer love too alongside my cool GSoC project :)

Rate this post
An error occurred!

Holy, (IMO) Apple did the iPad right

So all this jumble of talk on Apple’s latest gadget-child has been buzzing around the fringes of my consciousness for a good while now without me stopping to pay attention and actually seeing what all the hype is about. After all, I was (and still am) pretty convinced that I am simply not going to get an iPad. And then today, feeling somewhat unable to work, I decided out of curiosity to finally bring up Mr Job’s little keynote in which he introduced the iPad, and gave it a watch-over.

And damn, I gotta say. Apple really has this one nailed.

Read More

Rate this post
An error occurred!

Page 1 of 2

Powered by WordPress & Theme by Anders Norén