// Depeche View configuration file, http://stahlworks.com/ config-version 170 // Every line starting with "//" is a remark, and ignored by dview. // Every text block surrounded by /* and */ is a remark block. /* This file must be placed in the same directory as dview.exe, especially when running dview from an USB stick. Alternatively, it may be placed in one of the directories specified in the PATH environment variable. When this file is edited via setup/edit, DView tries to reload changes as soon as its window is reactivated. Subsequent changes may require to select setup/reload, or a SHIFT click on the setup button. Some settings may require a restart of the tool. Some settings can also be set via environment variable DVIEW_CONFIG, e.g. SET DVIEW_CONFIG=maxload:200,case:no,searchseq:yes,autoreload:no If present, env. variables have priority over config file settings. To activate a setting prefixed by "// ", remove the "// " (including the blank character). NOTE: empty lines are allowed, but they may NOT contain any whitespace. NOTE: any whitespace before the start of a command is not allowed. Most settings can be changed directly within DView, in the Setup dialog, and are written into this file automatically on CTRL+S or program exit. Some settings can be changed only by editing this file. If dview.exe is renamed to DepecheViewPortable.exe then it behaves like a PortableApps application: it expects the config file in a data/ folder parallel to itself and will create that folder if required. */ // select fonts for Linux WINE? linux default // as given on cmdline or environment // by default, dview writes the config file on program exit // and whenever CTRL+s is pressed. if save at program exit // produces problems, it can be disabled here. saveConfigOnExit yes // or "no" to disable // if save config on CTRL+S produces problems, disable here. // you then have to select "Settings/Save Config Now", // or press CONTROL+SHIFT+S whenever the config should be saved. saveConfigOnCtrlS yes // or "no" to disable // if there is only one view, may ESCAPE key close the application? // if "no" is set, SHIFT+ESCAPE or clicking on close is required. esccloseapp yes // no matter how, ask whenever closing the whole application: appexitask no // load ask limit: // amount of memory that dview may use for loading text before // a warning pops up. by default, dview tries to calculate // this value automatically, therefore set it only if required. maxload default // else no. of megabytes, e.g. 200 // amount of additional cache memory that can be used temporarily // while loading. furthermore, zip file contents with a size // beyond this value may be skipped. if the cache is too small, // the loading time can increase dramatically, therefore the // minimum is 200 (megabytes). default is 300. maxcache default // else no. of megabytes, e.g. 500 // what window frame mode should be active from start? // available are: master, isolated, overscan framemode default // should the initial window show up non-maximized and centered? // this setting is ignored while master frame mode is active. // while there is only one window, use F1 to toggle lean mode. startlean no // use file mask during load? usefilemask no filemask .txt .cpp .hpp !.bak !.tmp // use subdir mask during load? usedirmask no dirmask !\tmp !\save // on drag+drop from explorer, pressing CTRL will // append the contents instead opening them. // you may also configure to always append here: appenddragdrop no // default setting for case sensitive search mode casesearch no // default setting for punctuation sensitive search mode: // change this to no to treat slashes "/" and "\" as equal, // as well as some other unifications (read the help for more). // can also be toggled by SHIFT+case button. punctsearch yes // default setting for accent and umlaut sensitive search mode: // change this to no find the "a accent" char by just typing "a", // according to ISO 8859-1 character mapping. // can also be toggled by CTRL+case button. // also influences selection of filenames containing those chars. accentsearch yes // when searching foo*bar, shall the sequence "bar after foo" // be enforced in search results or not? searchseq yes // enter filtered result view whenever you search something? autofilter yes // reset the find mask after some time of inactivity? // NOTE: specified in milliseconds here, although toggling // with the PAUSE key shows only a rougher seconds value. // value "0" means inactive. autoresetfind 0 // in msec // check and autoreload loaded files whenever the window is reactivated? autoreload no // limit autoreload to a given list of directories? limitautoreload no // default content of autoreload limit list: autoreloadmask mydir1 mydir2 mydir3 // delay auto reload of files beyond a certain size? reloaddelayonsize off // on to activate reloaddelaysizemb 10 // in mbytes // if a snapfile is loaded on startup, should its contents // be scanned for changes immediately after loading? snapautoreload no // with autoload, on reactivation of its window, dview scans all files // for changes. with an overloaded system, this can take rather long, // blocking dview itself. therefore there is a default limit of 15 sec // for such scans, which can be changed here. this value is not valid // for manual reloads (by clicking reload button or pressing F5). reload-scan-max-time 15 // seconds // default for load sub directory contents button loadsub yes // default for load hidden files button loadhidden no // default for load zipfile contents button loadzips no // default for load binary file contents button loadbin no // load text also from 16 bit wide-character files? // this is experimental and only extracts ASCII chars // (no UTF-16 conversion). this field was named "loadutf" // before release 1.6.2. loadwchar no // enable one click edit or not from startup. // cannot be used together with one click search. oneclickedit yes // if within editor, you may save and stop editing // by a double click on blank space, by activating this: doubleclicksave no // enable one click search or not from startup. // cannot be used together with one click edit. oneclicksearch no // with one click search, there is a delay before the // search is started, to allow detection of double clicks. // you may reduce this to speed up one click search, but // then entering edit mode requires a faster double click. oneclicksearchdelay 300 // msec // if you want to disable one click resize, change to no oneclickresize yes // highlight whole line when stepping through search results: highresultline no // text editor: always insert blanks when pressing TAB? // otherwise editor auto detects mode by file content. blanktabs no // text editor: auto indentation when pressing ENTER? autoindent no // text editor: cursor blinking speed (1000 ... 5000 msec) cursorblinkspeed 1000 // msec // gray out text file contents excluded by path mask (CTRL+B) markexcluded no // enable user defined hotkeys from startup userkeys yes // by default, changes in the configuration file are reloaded // whenever the window is reactivated. this can be changed here. autoloadconfig yes // however, if the config file does not exist, or is unreadable, // the config autoreload is always stopped. // maximum delay after typing before search starts (CTRL+P). // by default, CTRL+P toggles between 200, 400, 800 and 1200 // milliseconds. when changing the default value below, // it will replace the extended user search delay (1200). searchdelay 800 // milliseconds // while the mouse cursor is in the bookmark area, search delay // is changed temporarily to the following value, to allow a // pre-search of phrases within bookmarks (default=3000). // set this to -1 to block searches completely while mouse on bookmarks. // set this to 0 to disable any search delay while mouse on bookmarks. mousebookdelay 3000 // milliseconds // the window size defaults to nearly the whole desktop. // if you want to change this to a fixed size and location, use: // area xpos:ypos:width:height // area 20:20:800:500 // if you want to change this to the whole desktop minus some border space, use: // space bordersize // space vertical:horizontal // space top:horizontal:bottom // space top:right:bottom:left space 16:60:56:75@1 // disable support for german umlauts when selecting words for search noumlauts no // by default, dview tries to identify the correct tab size automatically. // to disable this automated detection, set a default tab size here: tabsize default // or 2,3,4,8 ... // by default, bookmarks (re)store the tab size at the // referenced area of text. this can be changed here. bookmarktabsize on // which bookmark set should be opened on startup? startbmset 1 // by default, text display is blocked by visible bookmarks. // press CTRL+SHIFT+Q or set the following to allow text // being displayed over bookmarks. bookmark display is then // controlled by mouse gestures: leave bookmarks to the left // or bottom to show them permanently or not. textoverbook no // time that $mouseword in a script is highlighted: wordshowtime 1500 // msec, 0=off // alt over highlight activation: // on activation of the following, keeping alt pressed // highlights the word under cursor temporarily. wordshowdelay 0 // msec, <= 0 means off // case sensitive word highlighting markcase no // shall a global dictionary be created during load? // may need 10 to 30 percent of additional memory. // can also be toggled by left click on the dictionary // button (small round button below "mode") before load. globaldict off // use on,off // shall auto suggest be active from start? // can also be toggled by right click on the dictionary // button (small round button below "mode"). autosuggest on // use on,off // by default, favourite search terms are saved // whenever bookmarks are saved, in a .dvdb file. // to disable any creation of .dvdb files, set this to off. // your search terms will then be kept in memory only, // as long as dview is running. savesuggest on // use on,off // when loading folders below DView's startup directory, // DView tries to show relative names (without C:\ etc.) // where possible. to force always absolute filenames, // set this to off. loadrelnames on // use on,off // exit filter view if there is only one hit: // exitfilteronsinglehit no // default is yes // jump to next/previous search result by CTRL+CursorDown/Up? // jumpresultsbyctrlcursor no // default is yes // jump to next/previous search result by SHIFT+MouseWheel? // may conflict with notebook touchpads, when touching // the mouse wheel emulation accidentally while editing. // jumpresultsbyshiftmwheel yes // default is no // jump to next/previous search result by LButton+MouseWheel? // may cause unexpected jumps when pressing these accidentally. // jumpresultsbylbuttonmwheel yes // default is no // clipboard append separator line separatorline ---------------------------------------- /* Experimental, Unsupported Clipboard Automation: requires Setup / General / enable clipboard automation */ view1clipfind $clipline view1clippath view2clipfind class *$clipline NOT ; view2clippath view3clipfind ::$clipline view3clippath /* automated clipboard reading delay: some external applications that write to the clipboard are buggy, producing MANY clipboard change events on a SINGLE clipboard write. this leads to the same data being appended many times, and/or clipboard access conflicts. if dview detects such a conflict, it solves it by WAITING until the buggy application stops to shout. the wait time can be configured here with three values: - first, the initial delay, used as long as there are no conflicts. by default, this is 0, meaning the clip is read immediately. - second, the fallback delay, used after the first conflict was detected, until dview is closed. - third, the maximum delay, used if the fallback doesn't help. also, if dview detects no conflict, but an external app shows errors during clipboard access, it may help to activate the following line. */ clipautodelay default // in msec, default is 0,200,500 // clipboard auto append: allow duplicate content to be appended? clipallowdups no // clipboard auto append: append only text with >= lines clipminlines 1 // scan the clipboard if it contains absolute filenames or url's? scanclipurl no // by default, with three views, double click on blank space // in the middle view will expand it if all views are fully // visible and not maximized. this can be disabled here: // doubleclickexpand no // default is yes // by default, double click on blank space will expand the // middle view by 20 percent. this can be changed here: // expandweight 30 // percent from 10 to 50 // top right sidebar buttons for narrow or global search // can be displayed with a different transparency // sidebartrans 50 // percent from 0 to 85 // --------------- font configuration ---------------- /* font used for main text display: mainfont name,width,height,weight,linespacing[,...] name = any name like Courier, Arial etc. width = width of characters, usually between 6 and 20. 0 means a default width should be used. height = of characters, usually between 10 and 30 weight = from 400 for normal chars to 1200 for bold linespacing = space between lines, -10 to 10 further optional parms: pitch and family - see Windows' LOGONT definition. quality - these parms may have little outprecision - or no effect, but are stored charset - to describe a font completely. for the main font, only FIXED PITCH fonts are allowed, i.e. all characters must have the same width. Windows defaults: mainfont Fixedsys,8,12,400,0 mainfont2 Courier New,0,19,700,0 bookfont Arial,7,10,500,-1 bookfont2 Courier New,0,13,500,0 menufont Arial,8,18,800,0 Linux mode defaults: mainfont Courier New,8,18,600,-2 */ mainfont default // or Fixedsys,8,12,400,0 /* second font used for main text display: use CTRL+J within dview to toggle between them. */ mainfont2 default // the default mainfont2 is much larger then the primary font. // it can be selected automatically on startup window sizes // of >= n pixels with this: autoselectfont2 off // or specify pixel width // is mainfont2 in use? usemainfont2 no // bookfont is a small font used for bookmarks, as well as right bottom log // and error messages. it can be selected in dview by right-click on "font". // for bookmarks, variable-width fonts are also possible. bookfont default // second font used for bookmarks: // use CTRL+SHIFT+J within dview to toggle between them. bookfont2 default // is bookfont2 in use? usebookfont2 no // menus under the open and mode button use this font menufont default // default command to run an external editor by CTRL+E. // this can only be a single line, starting with "runeditor", // for example: // runeditor "c:\Program Files\myeditor\myeditor.exe" "$absfile" runeditor notepad "$absfile" // Pro: syntax highlighting color definitions: // colorname RRGGBB keyword group color shl-keys1 0000D0 // group 1, user extension, 0000D0 = blue color shl-keys2 0000D0 // group 2, user extension color shl-keys3 0000D0 // group 3, user extension color shl-keys4 0000D0 // group 4, user extension color shl-keys5 0000D0 // group 5, default hightlighting, blue color shl-keys6 F06000 // group 6, default hightlighting, orange color shl-remarks 008060 // remark lines and blocks color shl-strings 707070 // string literals /* Depeche View comes with simple built-in syntax highlighting (SHL) for the following languages: "cpp" for file extensions "h hpp c cpp cc cxx c++" "java" for file extensions "jav java jsp" "xml" for file extensions "html xml php shtml jsp" "sql" for file extensions "sql" "css" for file extensions "css" You may add SHL for additional languages within this config file. Formal syntax per language: word1 word2 word3 ... word7 word8 word9 ... ... Where can you get read-to-use SHL definitions? Unfortunately, there is no standard; an SHL definition always consists of two parts: 1) heuristic logic programmed within a tool. for example, a rule like "lines starting with # in c++ code are no remark but should still be shown in a different color". 2) keyword lists and options, used by that logic. for example: if else endif for while return ... Part 1) cannot be copied from somewhere else. Part 2) can be taken from other tools with some conversion effort. Depeche View Pros language highlighting definition syntax looks similar to a Notepad++ "langs.xml" file, but using keyword lists from such a file may produce incomplete highlighting. they contain rather simple keywords, requiring much additional logic NOT given in the langs.xml. So if you copy stuff from langs.xml, always expect much manual rework. The commercial texteditor UltraEdit uses word lists that require few additional logic. Just google for "UltraEdit wordfiles". It shouldn't be too difficult to manually convert a few of those definitions (remove all options not supported by dview, like delimiters or indent strings). // syntax highlighting example: own "cpp" definition (overrides dview built-in default) // NOTE: you MUST remove the blank in "/ *" and "* /" to make this example work. class delete friend inline new operator private protected public this virtual if else switch case default break goto return for while do continue typedef sizeof NULL try catch throw namespace operator true false void struct union enum char short int long double float signed unsigned const static extern auto register volatile bool friend inline template #define #defined #error #include #elif #if #line #else #ifdef #pragma #endif #ifndef #undef // example: register .foo and .bar file extensions to use the built-in XML highlighting. // Note that the blocks accept some kind of relaxed XML, meaning you can // even write keyword lists like " " within the block, // as long as the phrase "" does not appear in your actual keywords contents. < > */ autoinsert yes assist no dvctxpath .cpp .cxx dvctxfind /[1.100 chars of a-z0-9_][0.10 white]*::[.100 bytes]([.500 bytes not {])[.300 bytes not ;}]{/[all]/ dvctxpath .c* dvctxfind /[1.100 chars of a-z0-9_][1 byte of \r\n \t][1.100 bytes of a-z0-9_\r\n\t *](**)/ dvctxpath .h* .c dvctxfind /struct [1.30 chars of a-z]**{/ dvctxpath .h* .cpp .cxx dvctxfind /class [1.30 chars of a-z]**{/ dvctxpath .js dvctxfind /[white]* = function*/[parts 2-4]/ dvctxpath .java dvctxfind /[white][1.30 chars of a-z][white][1.30 chars of a-z]([0.300 bytes of a-z0-9., \r\n\t\0])[0.100 bytes of a-z0-9 \r\n\t\0]{/ dvctxpath .php dvctxfind /class[white][1.500 bytes]{/ dvctxpath .php dvctxfind /function[white][1.500 bytes]{/ dvctxpath dvctxfind dvctxpath dvctxfind dvctxpath "// help" dvctxfind /chapter *:*/