<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3681698562560630053</id><updated>2012-01-25T06:05:20.079-05:00</updated><category term='userscript'/><category term='greasemonkey'/><category term='konqueror'/><category term='khtml'/><category term='kde4'/><title type='text'>KDE Stuff</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-9202567173732760267</id><published>2010-02-22T10:43:00.002-05:00</published><updated>2010-02-22T10:48:53.433-05:00</updated><title type='text'>Plasma Javascript Contest.</title><content type='html'>I'd forgive you if you thought this blog was dead.&lt;br /&gt;&lt;br /&gt;(The Konqueror Userscript plugin is on standby, I do not have a KDE4 dev environment anymore and I do not really use Konqueror no more.)&lt;br /&gt;&lt;br /&gt;I am entering in the Plasma Javascript Contest, so the focus of this blog will be on discussions about various oddities and problems of the plasma javascript api&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-9202567173732760267?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/9202567173732760267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=9202567173732760267' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/9202567173732760267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/9202567173732760267'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2010/02/plasma-javascript-contest.html' title='Plasma Javascript Contest.'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-2975870838508968568</id><published>2007-11-30T22:32:00.000-05:00</published><updated>2007-11-30T23:52:21.240-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='userscript'/><category scheme='http://www.blogger.com/atom/ns#' term='greasemonkey'/><category scheme='http://www.blogger.com/atom/ns#' term='konqueror'/><category scheme='http://www.blogger.com/atom/ns#' term='khtml'/><category scheme='http://www.blogger.com/atom/ns#' term='kde4'/><title type='text'>Latest news from Konqueror Userscripts</title><content type='html'>Hi everyone. (anyone? :P)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Read on to see a video of the Konqueror Userscript Plugin in action...)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I spent some time today to fix a few issues to the khtml_userscript plugin for Konqueror (think of it as GreaseMonkey for KDE) and it now works to a point where I think its usable.&lt;br /&gt;&lt;br /&gt;The installer now works. It can be used with:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The builtin binary "khtml_userscript_installer"&lt;/li&gt;&lt;li&gt;Clicking the Tools =&amp;gt; User Scripts =&amp;gt; Install Script button in Konqueror&lt;/li&gt;&lt;li&gt;Double-clicking a *.user.js file in dolphin / konqueror&lt;/li&gt;&lt;/ul&gt;Also there is a &lt;span style="font-weight: bold;"&gt;very dumb&lt;/span&gt; greasemonkey compatibility script that gets installed. Right now it does *nothing* but provides the few functions GreaseMonkey provide. At least scripts that use the GM_log() function do not throw any errors anymore... (All other functions are likely to fail)&lt;br /&gt;&lt;br /&gt;Internally, we don't use KJS anymore. KHTMLPart now provides a very handy executeScript() function. Basically the Konqueror Userscript plugin is simply an UI on top of this method...&lt;br /&gt;&lt;br /&gt;Lots of issues remaining though: the status bar icon is not deleted so after browsing for a while you'll see 20 instances of the icon. Also the "Manage User Script" is still read-only (it shows the good information but no editing works).&lt;br /&gt;&lt;br /&gt;For those of you who wonder what exactly is  khtml_userscript, I made a small screencast that shows a few features. You can see it below, some explainations will follow...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Q7Jxs5l6Y8o"&gt;&lt;embed src="http://www.youtube.com/v/Q7Jxs5l6Y8o" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First I install a user script from the konqueror "Tools =&amp;gt; Konqueror UserScripts" menu. I install a script that was used in the previous example by neofreko. It highlights all link with a red border.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;// ==UserScript==&lt;br /&gt;// @name                KHTML Userscript (kuskus) Test&lt;br /&gt;// @version             0.1.1&lt;br /&gt;// @namespace           http://www.kde.org&lt;br /&gt;// @author              Akhmad Fathonih&lt;br /&gt;// @description         Change links in red, only for testing&lt;br /&gt;// @include             *.kde.org*&lt;br /&gt;// @exclude             *.google.com*&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;var elms = document.getElementsByTagName("a");&lt;br /&gt;//alert(elms.length);&lt;br /&gt;&lt;br /&gt;for(var i=0;i&amp;lt;elms.length;i++) {&lt;br /&gt;      elms[i].style.color="red";&lt;br /&gt;      elms[i].style.border="1px solid";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then I install another userscript that acts on planetkde.org. In this one, all the image of class "hackergotchi" are replaced with another image and I add a h1 element at top of the page that says "Planet Thumbs Up!"&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;// ==UserScript==&lt;br /&gt;// @name                KHTML Userscript Test in PlanetKDE&lt;br /&gt;// @version             0.1.1&lt;br /&gt;// @namespace           http://www.kde.org&lt;br /&gt;// @author              Mathieu Ducharme&lt;br /&gt;// @description&lt;br /&gt;// @include             *.planetkde.org*&lt;br /&gt;// ==/UserScript==&lt;br /&gt;&lt;br /&gt;var imgs = document.getElementsByTagName("img");&lt;br /&gt;//alert(elms.length);&lt;br /&gt;&lt;br /&gt;for(var i=0;i&amp;lt;imgs.length;i++) {&lt;br /&gt;     if(imgs[i].className == 'hackergotchi') {&lt;br /&gt;         imgs[i].src = 'http://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Thumbs_up.jpg/420px-Thumbs_up.jpg';&lt;br /&gt;     }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;var h2 = document.getElementsByTagName('h2')[4];&lt;br /&gt;var txt = document.createElement('h1');&lt;br /&gt;txt.innerHTML = 'Planet Thumbs Up';&lt;br /&gt;&lt;br /&gt;h2.parentNode.insertBefore(txt, h2);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-2975870838508968568?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/2975870838508968568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=2975870838508968568' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/2975870838508968568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/2975870838508968568'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/11/latest-news-from-konqueror-userscripts.html' title='Latest news from Konqueror Userscripts'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-4280486530292625467</id><published>2007-07-18T07:13:00.000-05:00</published><updated>2007-07-18T07:22:51.867-05:00</updated><title type='text'></title><content type='html'>Argh. I recently had to re-install my computer but totally forgot to backup the kde4 directory where I had a bit of uncommitted work.&lt;br /&gt;&lt;br /&gt;This is a shame because I was *this* close to having neat stuff to show. Live &amp; learn...&lt;br /&gt;&lt;br /&gt;However a new little feature has been saved since last post, that is a strigi line analyzer for userscript file. It is in the khtml_userscript svn repository. Strigi is really cool to work with, however I chose not to include any Qt stuff and I must say that I missed QString's functionality. Not having Qt I remembered why so many people hate C++ :)&lt;br /&gt;&lt;br /&gt;Still no work in the core, though. I had fixed the installer to actually work &amp;amp; be useful and started some work on the core / greasemonkey compat script but they're gone now :(&lt;br /&gt;&lt;br /&gt;I also wrote a .gp4 (Guitar Pro 4) strigi analyzers for use in KTabEdit (the new, improved KGuitar) that was lost. I wonder if KFileMetaInfo actually feeds automatically from Strigi. If yes we could delete all the custom file-metadata-loading code and simply feed from KFileMetaInfo. Something to look for...&lt;br /&gt;&lt;br /&gt;Sorry for the disorganized post, and lack of interesting updates.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-4280486530292625467?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/4280486530292625467/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=4280486530292625467' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/4280486530292625467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/4280486530292625467'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/07/argh.html' title=''/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-3380999913913146216</id><published>2007-06-19T09:00:00.000-05:00</published><updated>2007-06-18T16:25:43.843-05:00</updated><title type='text'>How to test strigi analyzers?</title><content type='html'>Yea, a call for help on a blog...&lt;br /&gt;&lt;br /&gt;If you remember the first post on this blog was about a nzb KFileMetaInfo plugin that I wrote. Lucky that I am, the entire KFileMetaInfo functions was dropped from KDE4 a few weeks later, superceded by &lt;span style="font-weight: bold;"&gt;strigi&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;I am currently in the process of converting this plugin to a strigi based plugin, as well as a few other file formats (more on those later).&lt;br /&gt;&lt;br /&gt;Although I would say the "barrier to entry" for strigi is a bit higher that for KFileMetaInfo, it is a very easy framework to work with. However, I expected metadata from strigi to be shown in &lt;span style="font-weight: bold;"&gt;dolphin&lt;/span&gt;, the new File Manager for KDE4.&lt;br /&gt;&lt;br /&gt;But it's not. So far the only way to test strigi analyzers in the "xmlindexer" binary, which works fine but doesn't give a real sense of the purpose of it all.&lt;br /&gt;&lt;br /&gt;So, where is strigi used in KDE4, and how do I see it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-3380999913913146216?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/3380999913913146216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=3380999913913146216' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/3380999913913146216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/3380999913913146216'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/06/how-to-test-strigi-analyzers.html' title='How to test strigi analyzers?'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-7233738920426807730</id><published>2007-06-18T16:04:00.000-05:00</published><updated>2007-06-18T16:15:29.106-05:00</updated><title type='text'>Konqueror Userscripts - Coming soon to a KDE4 desktop near you.</title><content type='html'>Well I'm not dead, but I would understand if you thought I was, given it's been 5 month since the last post on this blog.&lt;br /&gt;&lt;br /&gt;And (even better?), the KHTML Userscript plugin to provide Greasemonkey compatibility to Konqueror is not dead either. In fact, lots have happened since january.&lt;br /&gt;&lt;br /&gt;I'll post new screenshots and maybe a screencast (since those are all the rage in kde4 these days... which is cool). For now, just some instruction on how to build it.&lt;br /&gt;&lt;br /&gt;1. You should have a working KDE4 environment with kdebase, because you will obviously need konqueror.&lt;br /&gt;2. svn co svn://anonsvn.kde.org/home/kde/trunk/playground/utils/khtml_userscript&lt;br /&gt;3. cmake (cmakekde, if you run the scripts from techbase)&lt;br /&gt;&lt;br /&gt;Please play around with the installer and test as many scripts from userscripts.org as possible. Right now there is *NO* compatibility layer so every GM_* functions from the scripts are very likely to fail, as well as anything using firefox-only functions, such as xpath.&lt;br /&gt;&lt;br /&gt;If you want to help with these issues, let yourself known! :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-7233738920426807730?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/7233738920426807730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=7233738920426807730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/7233738920426807730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/7233738920426807730'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/06/konqueror-userscripts-coming-soon-to.html' title='Konqueror Userscripts - Coming soon to a KDE4 desktop near you.'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-5149439961016530905</id><published>2007-01-20T09:00:00.000-05:00</published><updated>2007-01-19T07:14:12.762-05:00</updated><title type='text'>More work on Konqueror's User Scripts</title><content type='html'>I'm currently reading as much doc as I can on KJS, KHTML and related parts so I can evaluate what's needed for full GreaseMonkey support in the &lt;a href="http://namshub-kde.blogspot.com/2007/01/userscript-for-kde4.html"&gt;Konqueror User Script Plugin&lt;/a&gt;. I won't attack the "core" until I know exactly what I'm doing so I worked a bit on the "shell" (namely, the user interface)&lt;br /&gt;&lt;br /&gt;Since the goal of this plugin (code named &lt;a href="http://blog.neofreko.com/index.php/2007/01/13/qregexp-greedy-non-greedy/"&gt;Kuskus&lt;/a&gt;, btw) is to replicate GreaseMonkey's functionality, the first step was to replicate its UI. GM basically offers 2 things:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A Script Manager&lt;/li&gt;&lt;li&gt;A Status Bar icon (which duplicates the "Tools" menu entry)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;I thought the preferred KDE way of designing dialogs was to create .ui files, so I did. Here's the (final?) mockup:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PRXyKIJc60c/RbCySPInt4I/AAAAAAAAAAk/rqwL3dD9QP8/s1600-h/userscript-manager-mockup.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_PRXyKIJc60c/RbCySPInt4I/AAAAAAAAAAk/rqwL3dD9QP8/s400/userscript-manager-mockup.png" alt="" id="BLOGGER_PHOTO_ID_5021709610888181634" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I think it looks a bit more tidy than the original GM dialog. That's subjective, of course.&lt;br /&gt;&lt;br /&gt;I also added a menu entry under "Tools". Right now it shows the script(s) that were activated for the page as well as the option to enable/disable the plugin.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_PRXyKIJc60c/RbC1KPInt5I/AAAAAAAAAAw/k-aZg1LaSec/s1600-h/userscript-menu.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_PRXyKIJc60c/RbC1KPInt5I/AAAAAAAAAAw/k-aZg1LaSec/s400/userscript-menu.png" alt="" id="BLOGGER_PHOTO_ID_5021712771984111506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So although it still is as dumb as before (only execute scripts) at least the UI front is progressing.&lt;br /&gt;&lt;br /&gt;Next steps: the status bar icon, manager integration, and GHNS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-5149439961016530905?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/5149439961016530905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=5149439961016530905' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/5149439961016530905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/5149439961016530905'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/01/more-work-on-konquerors-user-scripts.html' title='More work on Konqueror&apos;s User Scripts'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_PRXyKIJc60c/RbCySPInt4I/AAAAAAAAAAk/rqwL3dD9QP8/s72-c/userscript-manager-mockup.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-7396644132238171994</id><published>2007-01-19T09:00:00.000-05:00</published><updated>2007-01-18T11:06:38.231-05:00</updated><title type='text'>Userscript for KDE4</title><content type='html'>I love KDE. I use it every day, at home, at work, on the laptop, everywhere I can. The desktop feels right, Kate, Quanta, Amarok and others are just the best of their categories, and it's suuuper fast.&lt;br /&gt;&lt;br /&gt;However I must admit Firefox is still my web browser of choice. I actually do prefer *using* Konqueror (faster, better UI imho), but when it comes to HTML/CSS rendering and JavaScript parsing, sometimes I just need to use Firefox. 3 reasons, really&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Better rendering of websites. I'm not saying Konqueror sucks, I'm just saying that web designers do not target or test for Konq.&lt;/li&gt;&lt;li&gt;Better JavaScript parsing. While rendering feels much faster in Konqueror, JS code execution feels waaaayy faster in FF. Also, many scripts just work better. FCKEditor, amongst others&lt;/li&gt;&lt;li&gt;Extensions. I actually don't care that Firefox has a million extensions, but three of them are now essential:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;AdBlock&lt;/li&gt;&lt;li&gt;FireBug&lt;/li&gt;&lt;li&gt;GreaseMonkey&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;Since 3.5, there is now an ad blocker plugin for Konqueror. Works great so far, hopefully the KDE4 version will support FilterSet.G -- Not a reason to use FF anymore&lt;br /&gt;&lt;br /&gt;As a web developer, FireBug is a god-send. It turns Firefox in a very nice Javascript/CSS debugging environment. The next version will be absolutely amazing. Nothing close exists for Konqueror. Seriously, this is the best plugin ever. -- Until there is a similar tool, I will need to use Firefox at work.&lt;br /&gt;&lt;br /&gt;Coincidentally, GreaseMonkey is also the best plugin ever. All it does is allow to run custom scripts on a given website. Why is that great? All those annoying behaviors on certain websites can be fixed with custom javascript, and their features can be extended. A gigantic amount of cool scripts already exists on &lt;a href="http://www.userscripts.org"&gt;http://www.userscripts.org&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So I was *very* happy when I saw a &lt;a href="http://www.kde-apps.org/content/show.php?content=51482"&gt;small plugin appears on kde-apps.org&lt;/a&gt; that runs custom user scripts. &lt;a href="http://blog.neofreko.com"&gt;Neofreko&lt;/a&gt; did a very cool job laying out the concept, for KDE3. Basically, a khtml plugin scans for js file in a given directory, parses their metadata and attaches the javascript to the page. Quite different from the actual GreaseMonkey plugin (which is written in XUL/JavaScript) but works none the less.&lt;br /&gt;&lt;br /&gt;In all honesty, I couldn't compile it because of my broken Kubuntu installation so I thought, hey, why don't I just port this to KDE4/Qt4/CMake? Since the script was only a few lines it was quite easy and fast, and now there is hope for user script support in KDE4.&lt;br /&gt;&lt;br /&gt;Here's a first screenshot of Konqueror (KDE4) running neofreko's sample script&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Cu_Int3I/AAAAAAAAAAY/LjNDFbQUQz8/s1600-h/kde4-khtml-userscript.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Cu_Int3I/AAAAAAAAAAY/LjNDFbQUQz8/s400/kde4-khtml-userscript.png" alt="" id="BLOGGER_PHOTO_ID_5021235115786221426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sample script:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;var elms = document.getElementsByTagName("a");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;for(var i=0;i&lt;elms.length;i++)&gt;&lt;/elms.length;i++)&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    elms[i].style.color="red";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    elms[i].style.border="1px solid";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is still in "Proof Of Concept" stage; right now it simply executes any script matching the domain, it does not offer any of the GreaseMonkey functions (mostly, the cross-site XMLHttpRequest object) and is not optimized or secured in any form. But I believe both neofreko and I are committed to delivering this plugin and adjusting it to meet KDE's quality.&lt;br /&gt;&lt;br /&gt;Our goal for now is full compatibility with existing GM scripts. It remains to be seen if it can be achieved.&lt;br /&gt;&lt;br /&gt;It should appeared in KDE svn soon (watch for it in trunk/playground/base). Stay tuned!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-7396644132238171994?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/7396644132238171994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=7396644132238171994' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/7396644132238171994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/7396644132238171994'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/01/userscript-for-kde4.html' title='Userscript for KDE4'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Cu_Int3I/AAAAAAAAAAY/LjNDFbQUQz8/s72-c/kde4-khtml-userscript.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3681698562560630053.post-986812737850336662</id><published>2007-01-17T07:36:00.001-05:00</published><updated>2007-01-18T00:14:54.906-05:00</updated><title type='text'>nzb support for KDE</title><content type='html'>A few days ago I hacked a very simple plugin for KDE to provide support for .nzb files meta-information. It is a small kfile-plugin which I based on mpyne's torrent plugin (only mine is much, much simpler since the file itself is a simple xml)&lt;br /&gt;&lt;br /&gt;It also meant that I created a small .desktop file to create the application/x-nzb mimetype so nzb file actually gets recognized as such by konqueror.&lt;br /&gt;&lt;br /&gt;I basically took the nzb xml parser from klibido and adjusted it to parse only the info needed. It's not fast or optimized but I don't think it needs to be. The following (meta) information is retrieved from the file:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Number of files&lt;/li&gt;&lt;li&gt;Total Size&lt;/li&gt;&lt;li&gt;Oldest File&lt;/li&gt;&lt;li&gt;Group(s)&lt;/li&gt;&lt;/ul&gt;Here is a screenshot: wooooohaa.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Bo_Int2I/AAAAAAAAAAM/Q35MoAgnBz8/s1600-h/kde4-kfile_nzb.png"&gt;&lt;img style="display:block;margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Bo_Int2I/AAAAAAAAAAM/Q35MoAgnBz8/s320/kde4-kfile_nzb.png" alt="" id="BLOGGER_PHOTO_ID_5021233913195378530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll be commiting those changes in trunk/kdenetwork/kfile-plugins in the next days.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What are NZB files?&lt;/span&gt;&lt;br /&gt;.nzb are "NewzBin Usenet  Index" file. They are meant to reference usenet posting. Good tools for linux that supports nzb files are KLibido, nzbperl and hellanzb.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What's next?&lt;/span&gt;&lt;br /&gt;Hopefully, support for those files in KNode as well as KGet... (?)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3681698562560630053-986812737850336662?l=namshub-kde.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://namshub-kde.blogspot.com/feeds/986812737850336662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3681698562560630053&amp;postID=986812737850336662' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/986812737850336662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3681698562560630053/posts/default/986812737850336662'/><link rel='alternate' type='text/html' href='http://namshub-kde.blogspot.com/2007/01/nzb-support-for-kde.html' title='nzb support for KDE'/><author><name>NamShub</name><uri>http://www.blogger.com/profile/17964780621543446539</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_PRXyKIJc60c/Ra8Bo_Int2I/AAAAAAAAAAM/Q35MoAgnBz8/s72-c/kde4-kfile_nzb.png' height='72' width='72'/><thr:total>6</thr:total></entry></feed>
