More columns in Speed Dial

The SpeedDialPatch utility patches Opera Developer builds to support more speed dial columns and smaller/larger preview images, set custom thumbnails and injects custom CSS styles into internal pages. …


The SpeedDialPatch utility patches Opera Developer builds to support more speed dial columns and smaller/larger preview images, set custom thumbnails and injects custom CSS styles into internal pages.

Because SpeedDialPatch modifies the opera.pak file, you must run it after each Opera update.

Opera 15, 16 and 17
Not supported.

Opera 18
All developer builds are supported, and at the time writing this text all next builds also.

Opera 19
19.0.1326.0 is supported. I will try to support all future Opera Developer builds until built-in Speed Dial customization will be supported. Opera Next and Opera Stable builds will not be supported (I am using developer stream builds only and binary patching takes a lot of time). Because this tool has to patch opera.exe also, you have to wait for me to update the tool after each Opera Developer update.

Requirements:

  • .NET Framework 2.0 (preinstalled in Vista or above)

Usage:

  1. exit Opera
  2. run SpeedDialPatch.exe
  3. locate your Opera installation folder containing launcher.exe
  4. enter Speed Dial configuration values
  5. run Opera again

You have to delete and add again default speed dial entries (like Facebook, YouTube, etc.) if you disable built-in speed dial thumbnail images.

If you want to use a custom thumbnail for site www.something.com, something.com or anything.something.com, create something.com.png image file with the desired resolution in the sdimages folder. Using a lot of custom thumbnail may slow down Speed Dial.

I known that cropped thumbnails are blurred, but I cannot do anything against it, Opera 12 had a nicer thumbnail generation algorithm. Using cropping may increase Opera memory consumption.

Changes on 2013-11-24

  • Updated patching mechanism (calculating modified opera.pak hash and patching data instead of patching x86 code)

Changes on 2013-10-25

  • Updated for Opera 19.0.1300.0 (thanks to Izer0 for the executable patch, you saved me at least an hour)
  • Added PatchOperaExe flag to the configuration file to patch only opera.pak (and leave opera.exe untouched)

Changes on 2013-10-19

  • Added new CSS files to hide speed dial labels
  • Added an option to modify vertical and horizontal spacing between thumbnails
  • Added an option to create cropped thumbnail images like in Opera 12 instead of scaled ones (see note)
  • Added default search engine editor

Changes on 2013-10-16

  • Updated for Opera 18.0.1284.5
  • Dropped support for Opera 15, 16 and 17
  • Added custom speed dial thumbnails

Changes on 2013-09-29

  • Updated for Opera 18.0.1274.0.8
  • Added heuristics to for patching unknown versions
  • Added program icon
  • Code refactoring, sources transformed into a VS2010 project

Changes in 1.7.0 (2013-09-23)

  • Updated for Opera 18.0.1271.0

Changes in 1.6.0 (2013-09-19)

  • Updated for Opera 18.0.1267.0

Changes in 1.5.0 (2013-09-16)

  • Updated for Opera 18.0.1264.0

Changes in 1.4.0 (2013-09-15)

  • Updated for Opera 18.0.1258.1 (thanks to Izer0 for the executable patch)
  • Patching opera.exe if necessary

Changes in 1.3.0 (2013-08-22)

  • updated for Opera 15.0.1147.153, Opera 16.0.1196.55 and Opera 17.0.1232.0
  • stricter Opera version checking
  • added CSS injection with some sample scripts

Changes in 1.2.0 (2013-08-13)

  • updated for Opera 16.0.1196.41

Changes in 1.1.0 (2013-08-08)

  • updated for Opera 17.0.1224.1

Thanks
Thanks to Izer0 for the patches, to dAKirby309 and to Klukeart for the icons.

Download: SpeedDialPatch.zip
Source code: GitHub repository

155 Replies to “More columns in Speed Dial”

  1. Note: the Speed dial columns option doesn’t work since 19.1310.0, use the new power user setting instead of it. If its maximal value (7 columns) is not enough for somebody, then contact me to update this tool (yes, I’m too lazy .:ko: ).

  2. or…at the end of the preferences file in profile folder,there is a “speeddial”: { “column_count”: 9, “disable_animations”: falsecolumn count is ofc. number of columnsif some1 wants to change thatbut make sure to have enough space for more then 7 columns (zoom out!)

  3. Opera 19.0.1324.0 Dev. causes again an error message.That means, I can not edit the size of the speed dials and so I can only get 6 speed dials in a row, even if I select 7 in the settings or edit the preferences file to 8 or whatever.

  4. Where and what was he posting? I don’t find him.If I want to find a code in an exe file I open it either with something like notepad++ or with UltraEdit.

  5. how to find a code to be replaced in exe file?by keywords “speed_dial”? or something like that…?that thing Lzer0 was posting….

  6. btw. if I understand it correctly, patch replace code in exe file (based on:new OperaPatch(“19.0.1300.0”, “19.0.1300.0”, 43020, 43515, 43026, 43021, 41010, 41008, new ExePatch(0x0073f48e, “0F 85 CA 00 00 00”, “E9 CB 00 00 00 90”))…..etc)and inject code for SD costumizing and so on….So, we only need hex code in exe file which needs to be replaced (added in OperaPatches.cs file)….Am I right?

  7. eg. this posthttp://my.opera.com/dqdb1/blog/show.dml/73270802?startidx=50#comment113011812how to find correct string in exe file with hexeditor?

  8. It was described by dqdb1 a little further down:dqdb1 # Freitag, 25. Oktober 2013 11:59:58Download this fileOpen master.zip and extract all files from opera-tools-masterpatch-speed-dial folderOpen OperaPatches.cs in NotepadUpdate values in lines 42-44 to 84 C0 0f 85 ca 00 00 00 8D 8D 3A, 0f 85 CA 00 00 00, and E9 CB 00 00 00 90run deploybuild.batit will fail after compiling deploytempSpeedDialPatch.exe (unless you have pkzip25.exe in the PATH), but you can use the compiled executableBut I think this will not help today, he already had posted the ne patch file. Now we need a new one.

  9. Originally posted by vux777:how to find a code to be replaced in exe file?That’s the tricky part 😀 You have to find a conditional jump in debugger and replace it with a simple jump (and with a nop for space filling). Unfortunately the code to be replaced has changed again. I was too busy this week, but tonight or tomorrow night I’ll add support for 1324.

  10. Originally posted by dqdb1:I was too busy this week, but tonight or tomorrow night I’ll add support for 1324. nop is NoOperation, right?… that I know from my young days (16-17 y ago), when I was trying to disable shareware limitations….unsuccessfully 😆 😆 😆

  11. I’ve hidden the Google search field using the super-user setting (KONAMI code on the prefs page), changed the maximum number of columns, zoomed out the Speeddial page and now I’m using Opera 19 more than ever. 🙂 And, though it would be nice to make some modifications, I don’t really have to wait for a new version of this patch.

  12. Yes, in a way you are right. But I would like to change a little more in an easy way. For example the big “+”-button and my Google standard search string.

  13. I think today is Wednesday. Or maybe Thursday. Sunday? No way, you are watching a wrong calendar 😀 Sorry for the late, I’ve had an unplanned Windows reinstall.Some thoughts:my x86 assembly skills are rustedOllyDbg is a great and easy-to-use tool after 2 hours. In the first 20 minutes it’s rather frightening :)if you start opera.exe, then it will start launcher.exe and the original process terminates. launcher.exe will start a new opera.exe instance using launcher_lib.dll with –ran-launcher parameteropera.pak protection is a simple unsalted SHA1 hash verification. ssAR/c6+aC3C2wPePGVNtudSrwA= looked like a base64 string, I’ve decoded it, the output was 20 bytes long which equals to the SHA1 block size. I’ve hashed original opera.pak and the hashes match without any salting, yupee :yes:I’ve introduced a new updating method: no more searching for JNZ, instead of it I calculate the hash of the modified opera.pak and update it in opera.exe. This method requires less effort on each Opera update (I don’t have to update this tool after every update unless Opera changes the verification scheme).

  14. Yes, it means (unless they change the validation scheme).Opera verifies the integrity of opera.pak and other .pak files at startup using a hash algorithm and comparing the result with the expected value.Previous versions of this tool modified the opera.exe to ignore the result of the comparision (replace JNZ instruction with JMP), but code position and relative jump offsets frequently changes (that changes cause the delays after some updates).Current version calculates the hash of the modified opera.pak and replaces the expected value in opera.exe. Because comparision will always succeed, I don’t have to patch x86 code, so it will work until verification scheme remains unchanged.

  15. nice…thanx again for your workthis looks much more relaxingthan a mess of all pages previews :yes:….if someone could inject sidebar placeholder in window side border…. with a toggling button…ehhhh :whistle: :whistle:

  16. Doh, I forgot that column count doesn’t work since 19.0.1324.0 and I have to update this part of the code :doh: I’ve tested the margins yesterday and this feature seemed to be correct. I will do some investigation tonight, but there will be no release until tomorrow (it’s snowing outside, so biking home with the work laptop is too risky and I haven’t installed development tools on my home machine since reinstall yet).

  17. Hmm, something is wrong and I don’t find the mistake. The patch runs, but the distance between the Speed dial folders is bigger than before. I have only 6 in a row. I want to have 8. With the old version of Opera and of the patch it worked.The config file contents: C:Program Files (x86)Opera True 8 200 150 8 24 False False False 25 startpage_hidegooglesearchbar startpage_hideplusbutton True https://google.de/search?q=%s%hl=de&num=100&as_qdr=all Google g http://redir.opera.com/favicons/google/favicon.ico https://www.google.de/search?q={searchTerms}&{google:sourceId}&hl=de&num=100&as_qdr=all

  18. Enable super user settings in O19, set speed dial columns to 7 and exit Opera. Open Preferences in your profile folder with Notepad, search for “column_count” and modify 7 to 8, save it and start Opera. I will remove the now obsolete Columns in the next release (yes I know what is the title of this post :D). It requires more investigation but now I see the possibility to make most of the options of the tool configurable anytime through Opera settings page by extending it (except custom CSS injection and custom thumbnails). I will wait for the second build of O20 before taking any action (waiting hoping for the long time ago announced new SD features).

  19. Originally posted by dqdb1:I will wait for the second build of O20 before taking any action (waiting hoping for the long time ago announced new SD features).It seems it was a good decision to wait.

  20. Originally posted by dqdb1:It seems it was a http://blogs.opera.com/desktop/2013/11/opera-developer-update-day-19-0-1326-0/#comment-1143167359%5Dgood%5B/URL%5D decision to wait.Why did I not see this comment before? I have set the comment status to “newest”, but it seems, that I still miss a lot of comments with this new disqus system. I would like it to see “ALL” and than be able to change the order to “NEWEST FIRST” or “OLDEST FIRST”.

  21. IMHO Disqus is a disaster. I tried to follow Desktop Team Blog posts and I gave up. Now I’m waiting a few days before reading any of the comments because it is more simple than constantly scrolling up and down and up and down …I don’t know why is this service so popular.

  22. Originally posted by dqdb1:IMHO Disqus is a disaster.agreeOriginally posted by Ralf-Brinkmann:Why did I not see this comment before? I have set the comment status to “newest”, but it seems, that I still miss a lot of comments with this new disqus system.when I click comment link from my email notification, and it takes me to article and particular comment, it shows comments ONLY!!! to that point in thread. Any later comment that is added won’t be shown. (also other streams in that thread)It’s really hard to follow some discussion (ironically on service called Disqus). Many times I was repeating stuff/thoughts already written by others. Ofc. I didn’t see them. Very annoying :smurf:

  23. Originally posted by Ralf-Brinkmann:Yes, but this shows only comments as answer to your own comments, I think. Not to comments of others.no if you can subscibe to post and you will get all comments by email…

  24. Is somebody using this tool? If yes I have some time this weekend and some question also:should I remove column count and thumbnail size settings or update to modify the values in Preferences file?should I add an option to power user settings to remove + button (yes, an option)I haven’t tested yet all options in O20, did you find any bugs?

  25. Originally posted by dqdb1:….or update to modify the values in Preferences file?probably easier to do (and for future builds)but pls don’t remove spacing between thumbnails, it’s very useful :)Originally posted by dqdb1:should I add an option to power user settings to remove + button (yes, an option)YESbut not just hide it, can you completely remove it?because it still there and takes space. Best example is when last row is filled wit thumbnails to the end, one additional row is created with invisible [+] button (scroll bars are shown even there is no need for them)

  26. Originally posted by vux777:but pls don’t remove spacing between thumbnails, it’s very useful :)I will remove only those features which Opera starts to support.Originally posted by vux777:but not just hide it, can you completely remove it?I will look at it thoroughly. Btw: hiding search bar option in Opera removes the search bar and not hides it. I think I can create easily a similar solution.

  27. I agree with both of you. It would be nice, if we could remove all the unwanted stuff and change the size and distance of the speed dials, the room between them and the width of the border. And change the standard search string.

  28. Thanks for the info, you saved me a lot of timehttp://vietpages.com.vn/1/3693/Khach-san-vung-tau-hotel-Hoa-Bao-vung-tau.aspx

  29. Eeeh, I forgot not to promise exact deadlines :DI’ve already created two small tools, but I didn’t uploaded them yet. The first one extracts opera.pak (and creates a backup copy of it), the other one builds a new opera.pak and updates the hash in opera.exe. This will help you (and me) to edit manually the contents of opera.pak, but I didn’t find out how the patching phase between this two tools will work.Originally posted by bibeo6868:Thanks for the info, you saved me a lot of timeNice places and of course nice avatar 🙂

  30. Originally posted by vux777:Can you also remove restrictions for extension not working on SD?No, it’s almost impossible.But using my planned patching solution you will be able to inject custom JS and CSS code into any HTML page in opera.pak (for example I’m almost ready with working Ctrl+number shortcuts on SD).

  31. Originally posted by dqdb1:But using my planned patching solution you will be able to inject custom JS and CSS code into any HTML page in opera.pak:up: I was hoping for something like that 🙂

  32. Originally posted by vux777:you developing new extension for img properties or singing in Hungarian state opera? :smurf: The second one, of course :Dhttps://github.com/dqdb/opera-extensions/tree/master/image-propertiesI’ve finished coding metainfo acquisition, but the fancy UI has to be done.

Leave a Reply

Your email address will not be published. Required fields are marked *