package Kephra::Config::Default::GlobalSettings;
our $VERSION = '0.16';
use strict;
use warnings;
sub get {
return {
about => {
purpose => 'build in global settings',
version => $Kephra::VERSION || 'no',
},
app => {
app_data_sub_dir => 'interface',
cache => {
file => 'commands.yaml',
sub_dir => 'cache',
use => 1,
},
commandlist => {
file => 'interface/commands.conf',
node => 'commandlist',
},
contextmenu => {
defaultfile => 'interface/contextmenus.yml',
id => {
document_context => 'editpanel_contextmenu',
document_list => '&document_change',
document_selection => 'textselection_contextmenu',
file_history => '&file_history',
insert_templates => '&insert_templates',
marker_margin => 'markermargin_contextmenu',
status_eol => 'status_lineendchar_contextmenu',
status_encoding => 'status_encoding_contextmenu',
status_info => 'status_info_contexmenu',
status_syntaxmode => 'status_syntaxstyle_contextmenu',
status_tab => 'status_whitespace_contextmenu',
toolbar_search => 'searchbar_contextmenu',
},
},
error_output => 'panel', # (dialog|console|panel|none)
iconset_path => 'interface/icon/set/jenne', # rootpath for all icons
localisation => {
directory => 'localisation',
file => 'english.conf', # file relative to the localisation directory, defines language of the texts in the program
},
menubar => {
file => 'interface/mainmenu.yml',
node => 'full_menubar',
responsive => 1, # (0|1) 0 prevent menubar item shading
visible => 1,
},
panel => {
notepad => {
content_file => 'global/data/notepad_content.txt',
eval_with => 'eval',
font_family => 'Courier New',
font_size => 10,
size => 180,
splitter_pos => 300,
visible => 0,
},
output => {
append => 0,
back_color => '000022',
font_family => 'Arial',
font_size => 10,
fore_color => 'ffffff',
interpreter_path => 'perl',
size => 100,
visible => 0,
},
},
searchbar => {
autofocus => 0,
autohide => 0,
contextmenu => 'toolbar_search',
contextmenu_visible => 1,
file => 'interface/appbars.conf',
node => 'searchbar',
position => 'below', # (above|below|bottom)
visible => 1,
},
statusbar => {
contextmenu_visible => 1,
file => 'interface/appbars.yml',
interactive => 1,
node => 'statusbar',
msg_nr => 0,
visible => 1,
},
tabbar => {
close_button => 'current' ,# (all|current|active|one|right|no) current = active
# one = right, on right border
contextmenu => 'document_list',# -NI id of connected context menu
contextmenu_visible => 1, # (0|1) enable conextmenu over tabbar
file_info => 'file_name', # (file_name|firstname) which part of filename to show
info_symbol => 1, # (0|1) show *(unsaved) and #(write protected) symbols on end of tabs
insert_new_tab => 'rightmost', # (left|right[most]) tab position of opened file
mark_configs => 1, # (0|1) set configfile names in square brackets
max_tab_width => 25, # max tab width in chars, longer filenames will be cut and ... added
middle_click => 'file-close-current',# -NI command that is performed when middle click over tabbar
movable_tabs => 1, # (0|1) if 0 tabs can't moved by mouse or key
number_tabs => 0, # (0|1) display a number before the file name in the tabs
switch_back => 1, # -NI (0|1) switch back if you klick on current tab
tablist_button => 1, # (0|1)
visible => 1, # (0|1)
},
toolbar => {
contextmenu => 0,
file => 'interface/appbars.yml',
node => 'main_toolbar',
responsive => 1,
size => 16,
visible => 1,
},
window => {
default => {
position_x => 0,
position_y => 0,
size_x => 800,
size_y => 600,
},
fullscreen => 0,
icon => 'interface/icon/app/proton.xpm',
max_number => 1,
maximize_editpanel => 0,
position_x => 10,
position_y => 10,
save_position => 1,
size_x => 660,
size_y => 531,
stay_on_top => 0,
title => '$filepath - $appname $version',
# $filepath - path of current file
# $filename - just the name.exe
# $docnr - nr of current file
# $doccount - nr of all opened files
# $appname - name of this programm
# $version - version of this programm
transparency => 0.2, # how much transparent if active, 1 = 100% = invisible
transparent => 0, # (0|1) trancparency active ?
},
xp_style => 1,
},
dialog => {
button_handing => 'right',
config => {
save_position => 1,
position_y => 100,
position_x => 100,
tooltips => 1,
},
search => {
save_position => 1,
position_y => 100,
position_x => 100,
tooltips => 1,
transparency => 0.2, # 0 - full visible .. 1 - invisible
width => 436,
},
},
editpanel => {
DND_mode => 'copy',
auto => {
brace => {
glue_tangent => 0,
indention => 1,# indet after opening braces 1 tab more
join => 1, # deletes closing bracket if there are 2 and 1 has no matching partner
make => 1, # generates closing bracket for ne blocks
},
focus => 0, # set focus on editpanel while onmouseover
indention => 1, # indents new lines like previous
},
contextmenu => {
ID_margin => 'marker_margin',
ID_normal => 'document_context',
ID_selection => 'document_selection',
visible => 'custom',
margin => 1,
},
control => {
mouse => {
'left-selection' => 'edit-copy',
'left-middle' => 'edit-paste',
'left-right' => 'edit-cut',
'middle-selected' => 'edit-insert-selection-at-cursor',
'middle-selection' => 'find-selection, find-next',
'middle' => 'goto-last-edit',
},
use_advanced_mouse_functions => 1,
},
font => {
family => 'Courier New',
size => 10,
style => 'normal',
weight => 'normal',
},
history => {
fast_undo_steps => '7',
},
indicator => {
bracelight => {
back_color => '99ff99',
bad_color => 'ff0000',
good_color => '0000ff',
mode => 'adjacent',
visible => 1,
},
caret => {
color => '0000ff',
period => 500,
width => 2
},
caret_line => {
color => 'f5f5a5',
visible => 1,
},
end_of_line_marker => 0,
indent_guide => {
visible => 1,
color => 'bbbbbb',
},
right_margin => {
color => 'ccccff',
position => 80,
style => 1,
},
selection => {
back_color => '001177',
fore_color => 'f3f3f3'
},
whitespace => {
color => 'cccc99',
visible => 1,
},
},
line_wrap => 0,
margin => {
fold => {
back_color => 'fff5f5',
fore_color => 'aa9977',
flag_line => 1,
keep_caret_visible => 1,
style => 'boxes', # (boxes|arrows) apearance of the fold marker
visible => 1,
},
linenumber => {
autosize => 1,
back_color => 'd8d8d4',
fore_color => '777788',
min_width => 3,
visible => 1,
},
marker => {
back_color => '0022ff',
fore_color => '000055',
visible => 1
},
text => 2
},
scroll_width => '640',
word_chars => '$%-@_abcdefghijklmnopqrstuvwxyzäöüßABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ0123456789',
},
file => {
current => {
directory => '',
},
defaultsettings => {
new => { # defaults for new docs
EOL => 'OS', # (OS|auto|cr|lf|cr+lf) end of line character, OS means current OS standart -NI auto means take setting of the last touched file
codepage => 'ascii', # (8bit|utf8) codepage, used for charset
cursor_pos => 0,
readonly => 'no', # (0|1|2|on|off|protect) if =1 it set a write protection on readonly files
syntaxmode => 'perl', # (auto|none|lang_id) which syntaxstyle on new files
tab_size => '4', # (0..n) how much (white)spaces equals one tab?
tab_use => '1', # (0|1) use of tab chars
},
open => { # defaults for opened files
EOL => 'auto',# (auto|cr+lf|cr|lf) EOL of opened files, if not set to auto,
# the file automaticly will converted to set value
codepage => 'auto',# (ascii|utf8) codepage, used for charset
cursor_pos => 0,
readonly => 'protect', # (0|1|2|on|off|protect) if =1 it set a write protection on readonly files
syntaxmode => 'auto', # (auto|none|lang_id) which syntaxstyle on new files
tab_size => '4', # (0..n) how much (white)spaces equals one tab?
tab_use => 'auto', # (auto|0|1) use of tab chars
},
},
endings => {
ada => 'ada ads adb',
as => 'as',
asm => 's asm',
ave => 'ave',
baan => 'bc cln',
batch => 'bat cmd nt',
conf => 'conf',
context => 'tuo sty',
cpp => 'c cc cpp cxx h',
cs => 'cs',
css => 'css',
diff => 'diff patch',
err => 'err errorlist',
eiffel => 'e',
forth => 'forth',
fortran => 'f for f77 f90 f95 f2k',
haskell => 'hs',
html => 'htm html ssi shtml xhtml tag stag',
java => 'jav java',
js => 'js',
idl => 'idl odl',
latex => 'aux toc idx',
lisp => 'el jl lsp lisp',
lua => 'lua',
make => 'makefile Makefile mak configure',
matlab => 'm octave',
nsis => 'nsi nsh',
perl => 'pl ple plx plex pm pod cgi',
php => 'php php3 php4 phtml',
property => 'properties session ini inf reg url cfg cnf aut',
ps => 'ps',
pascal => 'pas dpr dpk dfm inc pp',
python => 'py pyw',
ruby => 'rb',
scheme => 'scm smd ss',
sh => 'bsh sh',
sql => 'sql',
tcl => 'tcl tk itk',
tex => 'tex sty',
text => 'txt nfo',
vb => 'vb bas frm cls ctl pag dsr dob',
vbs => 'vbs dsm',
xml => 'xml xsl svg xul xsd dtd xslt axl xrc rdf',
yaml => 'yaml yml',
},
group => {
config => 'conf',
perl => 'perl',
text => 'text',
web => 'css html php perl js',
},
open => {
dir_recursive => 1, # opens dirs recursive
each_once => 1, # opens each file only once
in_current_dir => 1, # opens dialog with the directory of current file
into_empty_doc => 0, # replacing new empty documents while opening a file
into_only_empty_doc => 1, # replacing new empty doc if the empty is the only one
notify_change => 30,# (0..n) timer executed check if file has changed in sec
only_text => 0, # to open only text files
single_doc => 0, # opens only 1 document at once, enables an single document editor
},
save => {
auto_save => 30, # -NI(0|n) timer executed save after n sec
b4_quit => 'ask', # (yes|no|ask) filesaving before closing a file
b4_close => 'ask', # (yes|no|ask) filesaving before closing the progr
change_doc => 0, # saves everytime you change document
empty => 0, # -NI saves (restore) automaticly also empty files
on_leave => 0, # -NI save on leaving focus of current document
overwrite => 'ask', # (yes|no|ask) before overwriting files
reload_config => 1, # reload config automatic after saving it
tilde_backup => 0, # creates UNIX backup files with filename+~
unchanged => 0, # saves (touches) automaticly also unchanged files
},
session => {
auto => {
file => 'current.yaml',
node => '',
save => 1,
},
backup => 'backup.yaml',
directory => 'session', # subdir of config where to look for session files
history => {
file => 'history.yml',
length => 13,
node => '',
save => 1,
},
},
templates => {
directory => 'template',
file => 'perl.conf',
},
},
search => {
attribute => {
auto_wrap => 1,
fast_steps => 7,
in => 'document',
incremental => 1,
match_case => 0,
match_regex => 0,
match_whole_word => 0,
match_word_begin => 0,
},
data_file => 'global/data/search.yml',
history => {
length => 12,
remember_only_matched => 1,
save => 1,
use => 1,
},
marker => {
any => 1,
wrap => 1,
},
},
texts => {
special => 'english/special_feature.txt',
credits => 'english/license/credits.txt',
feature => 'english/all_feature.txt',
keymap => 'english/keymap.txt',
license => 'english/license/gpl.txt',
navigation => 'english/navigation.txt',
version => 'english/this_version.txt',
welcome => 'english/welcome.txt',
}
}
}
1;