Haavard elindított egy sorozatot a blogján, ahol a személyes áttérésének fázisait írja le. Ezek egyike volt a billentyűparancsok konfigurálhatósága, a többi eléggé PR bullshitre sikeredett, de nézzük el neki, elvégre alkalmazott. :)
Ahogy már dqdb is rávilágított, van egy billentyűkombinációkra utaló rész az opera.pak
fájlban. Mivel ilyen mélyen gondolom senki nem szeretne belemenni, legyen elég annyi, hogy a most következő fájlban lévő részt hozzácsapva a Preferences
nevű JSON formátumú (amúgy kiterjesztés nélküli) fájlhoz, kedvünkre módosíthatjuk a billentyűparancsokat, valamint a
"Settings": {
"AdvancedEnabled": true
}
hozzáadásával (Ezt a beállítások alatt is bekapcsolhatjuk GUI alól egy checkbox-szal) előcsalogathatjuk az egygombos billentyűparancsokat is.
{
"Keybindings": {
"Settings": { "AdvancedEnabled": false },
"Basic": {
"AccessKeyToggle": ["Esc+Shift"],
"AddBlankTab": ["Ctrl+T"],
"AddToBookmarks": ["Ctrl+Shift+D", "Ctrl+D"],
"Back": ["Alt+Left","Ctrl+Left"],
"Bookmarks": ["Ctrl+Shift+B", "Ctrl+B", "Ctrl+Shift+2"],
"CloseActiveTab": ["Ctrl+W","Ctrl+F4"],
"ClosePrivateWindow": ["Ctrl+Shift+Q"],
"CloseWindow": ["Ctrl+Shift+W","Alt+F4"],
"Copy": ["Ctrl+C","Ctrl+Ins"],
"Cut": ["Ctrl+X", "Shift+Del"],
"CycleBackwardInActivationList": ["Ctrl+F2"],
"CycleForwardInActivationList": ["Ctrl+F1"],
"Delete": ["Del"],
"DevTools": ["Ctrl+Shift+I"],
"DevToolsConsole": ["Ctrl+Shift+J"],
"DevToolsInspect": ["Ctrl+Shift+C"],
"EditProperties" : ["Alt+Enter"],
"ErrorConsole": ["Ctrl+Shift+O"],
"Exit": ["Ctrl+Shift+X"],
"Extension": ["Ctrl+Shift+E"],
"Find": ["Ctrl+F", "OemSlash"],
"FindInline": ["OemPeriod","OemComma"],
"FindNext": ["Ctrl+G","F3"],
"FindPrevious": ["Ctrl+Shift+G","Shift+F3"],
"FitToWidth" : ["F11+Ctrl"],
"FocusAddressbar" : ["Ctrl+L","Alt+D","Ctrl+E","F8"],
"FocusNextWidget": ["Tab"],
"FocusPage" : ["F9"],
"ForceReload": ["Shift+F5","Ctrl+F5"],
"Forward": ["Shift+Backspace","Alt+Right","Ctrl+Right"],
"GoToEnd": ["End","Ctrl+End"],
"GoToPage" : ["F2"],
"GoToSpeedDial_1" : ["Ctrl+1"],
"GoToSpeedDial_2" : ["Ctrl+2"],
"GoToSpeedDial_3" : ["Ctrl+3"],
"GoToSpeedDial_4" : ["Ctrl+4"],
"GoToSpeedDial_5" : ["Ctrl+5"],
"GoToSpeedDial_6" : ["Ctrl+6"],
"GoToSpeedDial_7" : ["Ctrl+7"],
"GoToSpeedDial_8" : ["Ctrl+8"],
"GoToSpeedDial_9" : ["Ctrl+9"],
"GoToTop": ["Home","Ctrl+Home"],
"HideOpera": ["Ctrl+Shift+H"],
"History": ["Ctrl+H", "Ctrl+Shift+8"],
"Homepage" : ["Ctrl+Space", "Alt+Home"],
"NavigateDown": ["Down"],
"NavigateLeft": ["Left"],
"NavigateRight": ["Right"],
"NavigateUp": ["Up"],
"NavStop": ["Esc"],
"OpenDocument" : ["Ctrl+O"],
"OpenLinkInBackground": ["Ctrl+Shift+Enter"],
"OpenLinkInNewPage": ["Shift+Enter"],
"OpenMenu" : ["Alt+F"],
"OpenPrivateWindow": ["Ctrl+Shift+N"],
"OpenWindow": ["Ctrl+N"],
"PageDown" : ["PageDown","Space"],
"PageLeft" : ["PageUp+Ctrl"],
"PageRight" : ["PageDown+Ctrl"],
"PageUp" : ["PageUp"],
"ParentDirectory": ["Ctrl+Backspace"],
"Paste": ["Ctrl+V", "Shift+Ins"],
"PasteAndGo": ["Ctrl+Shift+V"],
"PastePassword": ["Enter+Ctrl"],
"Preferences": ["Ctrl+F12","Alt+P"],
"Print" : ["Ctrl+P"],
"PrintPreview": ["Ctrl+Shift+P"],
"QuickPreferences": ["F12"],
"Redo": ["Ctrl+Y","Ctrl+Shift+Z"],
"Reload": ["F5","Ctrl+R"],
"ReloadFrame": ["Alt+F5"],
"ReopenLastClosedTab": ["Ctrl+Shift+T"],
"ResetZoom" :["Mul","Ctrl+0"],
"Save" : ["Ctrl+S"],
"SelectAll": ["Ctrl+A"],
"SelectPreviouslyActiveTab": ["Ctrl+Grave"],
"SelectTabToTheRight": ["Ctrl+Tab"],
"SelectTabToTheLeft": ["Ctrl+Shift+Tab"],
"ShowContextMenu": ["Shift+F10"],
"ShowHelp" : ["F1"],
"SwitchToNextPage": ["Ctrl+F6"],
"SwitchToPreviousPage": ["Ctrl+Shift+F6"],
"ToggleFullscreen": ["F11"],
"ToggleKeyboardSelection" : ["F7"],
"ToggleOverstrike": ["Ins"],
"Transfers": ["Ctrl+Shift+7", "Ctrl+J"],
"Undo": ["Ctrl+Z", "Alt+Backspace"],
"ValidateSource": ["Ctrl+Shift+U"],
"ViewSource": ["Ctrl+U"],
"ZoomIn" : ["Ctrl+OemPlus"],
"ZoomOut" : ["Ctrl+OemMinus"]
},
"Advanced": {
"Back": ["Z"],
"FastForward": ["Shift+X"],
"FocusNextFrame": ["3"],
"FocusPreviousFrame": ["Shift+3"],
"Forward": ["X"],
"LoadAllImages" : ["I"],
"ResetZoom": ["6"],
"Rewind": ["Shift+Z"],
"SelectNextElement" : ["D"],
"SelectNextHeading" : ["S"],
"SelectNextLink" : ["A"],
"SelectPrevElement" : ["E"],
"SelectPrevHeading" : ["W"],
"SelectPrevLink" : ["Q"],
"ShowAddressDropdown" : ["H"],
"ShowImagesToggle": ["Shift+I"],
"ZoomIn": ["0"],
"ZoomInMore": ["8"],
"ZoomOut": ["9"],
"ZoomOutMore": ["7"]
},
"ImportantCommands": [
"AddBlankTab",
"CloseActiveTab",
"CloseWindow",
"CycleBackwardInActivationList",
"CycleForwardInActivationList",
"Exit",
"FindNext",
"FindPrevious",
"OpenPrivateWindow",
"OpenWindow",
"ReopenLastClosedTab",
"SelectPreviouslyActiveTab",
"SelectTabToTheRight",
"SelectTabToTheLeft",
"ToggleFullscreen"
]
}
}
Jó hír, hogy egy action-höz tetszőleges mennyiségű billentyűparancsot társíthatunk, illetve ugyanazt a billentyűparancsot is társíthatjuk több action-höz, amennyiben nem ütköznek. Értelemszerűen nem adhatjuk meg ugyanazt fül bezárásának, amit új tab nyitásának. :) De ha a Ctrl+B-t szeretnénk Paste and Go
-ra, akkor is előtte ki kell törölnünk a Bookmarks-hoz társított Ctrl+B-t. (Csak azt, a többit nem).
Rossz hír azonban, hogy egyelőre semmi jele, hogy a jövőben kombinálhatnánk több action-t egy billentyűparancs alá. Így például nem hozhatunk létre a olyan parancsokat, mint Focus address field & Copy & Paste and go background & Focus next widget
vagy Focus page & Highlight previous URL & Open link
, de még olyan egyszerűeket sem, hogy Close page & Switch to next page
, vagy a Linuxon nagyon hasznos Paste & Go & Close page
parancsot. Nem beszélve a bookmarkletekről.
A szerkesztés során először rosszul jártam, ugyanis egy vesszőhiba miatt legenerált a jelenlegi Preferences
fájlból egy Preferences.bad
nevűt, ezzel egyidőben pedig létrejött egy új Preferences
fájl. Ezzel önmagában még nem lett volna semmi baj, mert kitörölve a Preferences-t, a Preferences.bad
-et pedig visszanevezve Preferences
-re elvileg vissza kéne állnia mindennek. Elvileg. Ugyanis gyakorlatilag (nem tudom, bug-e vagy feature) a kiegészítők megszűntek működni és többségük helyén csak puzzle ikon volt.
Éppen emiatt ajánlok egy Cobalt által ajánlott JSON validatort. Másoljátok be előtte a Preferences
fájlotok szövegét és ellenőrizzétek le, hogy ne fussatok bele ugyanebbe a hibába.
Ezzel a tippel újabb pipát tehetünk az Opera mellé az "Opera 15 vs. Chrome" versenyben, de sajnos az "Opera 12 vs Opera 15" versenynél még nagyon sok ilyen pipa kéne az Opera 15 oldalára. További jó bütykölést mindenkinek.